@cran/vue.use
Version:
Cranberry Vue Use Utilities
27 lines (26 loc) • 872 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLifecycle = void 0;
const runtime_dom_1 = require("@vue/runtime-dom");
const lifecycle_1 = require("../utility/lifecycle");
function useLifecycle(onActive, onInactive) {
const active = (0, runtime_dom_1.ref)(false);
function doOnActive() {
if (!(0, runtime_dom_1.unref)(active)) {
onActive();
active.value = true;
}
}
function doOnInctive() {
if ((0, runtime_dom_1.unref)(active)) {
onInactive();
active.value = false;
}
}
(0, lifecycle_1.tryOnMounted)(doOnActive);
(0, lifecycle_1.tryOnDeactivated)(doOnInctive);
(0, lifecycle_1.tryOnActivated)(doOnActive);
(0, lifecycle_1.tryOnUnmounted)(doOnInctive);
return { active, };
}
exports.useLifecycle = useLifecycle;