routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
// Utilities
|
||||
import { effectScope, onScopeDispose, watch } from 'vue';
|
||||
|
||||
// Types
|
||||
|
||||
export function useToggleScope(source, fn) {
|
||||
let scope;
|
||||
function start() {
|
||||
scope = effectScope();
|
||||
scope.run(() => fn.length ? fn(() => {
|
||||
scope?.stop();
|
||||
start();
|
||||
}) : fn());
|
||||
}
|
||||
watch(source, active => {
|
||||
if (active && !scope) {
|
||||
start();
|
||||
} else if (!active) {
|
||||
scope?.stop();
|
||||
scope = undefined;
|
||||
}
|
||||
}, {
|
||||
immediate: true
|
||||
});
|
||||
onScopeDispose(() => {
|
||||
scope?.stop();
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=toggleScope.js.map
|
||||
Reference in New Issue
Block a user