UNPKG

woby

Version:

A high-performance framework with fine-grained observable/signal-based reactivity for building rich applications.

37 lines (36 loc) 1.01 kB
"use strict"; const setters = require("./setters-CMvyty0B.cjs"); class Root extends setters.Owner { /* CONSTRUCTOR */ constructor(register) { super(); this.parent = setters.OWNER; this.context = setters.OWNER.context; if (register) { const suspense = this.get(setters.SYMBOL_SUSPENSE); if (suspense) { this.registered = true; setters.lazySetAdd(this.parent, "roots", this); } } } /* API */ dispose(deep) { if (this.registered) { setters.lazySetDelete(this.parent, "roots", this); } super.dispose(deep); } wrap(fn, owner, observer, stack) { const dispose = (disposeStack) => this.dispose(true); const wrapper = (callStack) => fn(callStack, dispose); return super.wrap(wrapper, this, void 0, stack); } } const root = (fn) => { const stack = setters.callStack(); return new Root(true).wrap(fn, void 0, void 0, stack); }; exports.Root = Root; exports.root = root; //# sourceMappingURL=root-B1uuIGIw.cjs.map