UNPKG

woby

Version:

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

37 lines (36 loc) 994 B
"use strict"; const setters = require("./setters-CyO2VUT6.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 = () => this.dispose(true); const fnWithDispose = () => fn(stack, dispose); return super.wrap(fnWithDispose, 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-D1a_tPqg.cjs.map