@jucie.io/reactive 1.0.33 → 1.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
- function T(t){return typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback(t,{timeout:100}):typeof window<"u"?window.requestAnimationFrame?window.requestAnimationFrame(()=>{setTimeout(t,0)}):setTimeout(t,0):(typeof t=="function"&&t(),null)}var y=class{constructor(){this.roots=new Map,this.pending=new Set,this.onCompleteCallbacks=new Set,this.onNextIdle=new Set,this.idleScheduled=!1}markAsDirty(e){if(!e.isDirty&&(e.isDirty=!0,e.isAsync||e.immediate||e.effects&&e.effects.size>0?this.scheduleRecomputation(e):(this.onNextIdle.add(e),this.idleScheduled||(this.idleScheduled=!0,T(()=>{for(let i of this.onNextIdle)this.pending.add(i);this.flush(null),this.onNextIdle.clear(),this.idleScheduled=!1}))),e.dependants&&e.dependants.size>0)){let i=[],s=new Set;e.dependants.forEach(r=>{let n=r.deref();n?(this.markAsDirty(n),s.add(n.id)):i.push(r)}),i.forEach(r=>e.dependants.delete(r)),e.dependantIds=s}}scheduleRecomputation(e){if(!e.debounce)return this.recompute(e);let i=Date.now(),s=e.lastComputeTime?i-e.lastComputeTime:1/0;return!e.hasPendingDebounce||s>=e.debounce?(clearTimeout(e.debounceTimer),e.hasPendingDebounce=!0,e.lastComputeTime=i,e.debounceTimer=setTimeout(()=>{e.hasPendingDebounce=!1,e.debounceTimer=null},e.debounce),this.recompute(e)):e.cachedValue}removeReactive(e){this.pending.delete(e),this.onNextIdle.delete(e)}recompute(e){return this.pending.add(e),this.flush(e)}flush(e){let i=Array.from(this.pending);this.pending.clear();let s=this.sortByDependencies(i);for(let r of s)this.onNextIdle.delete(r),r.compute();for(let r of this.onCompleteCallbacks)try{r()}catch(n){console.error("Error in batch completion callback:",n)}if(e)return s.includes(e)||e.compute(),e.cachedValue}sortByDependencies(e){let i=[],s=new Set,r=new Set,n=o=>{if(r.has(o)||s.has(o))return;r.add(o);let u=o.dependants;u&&u.size>0&&u.forEach(d=>{let h=d.deref();h&&e.includes(h)&&n(h)}),r.delete(o),s.add(o),i.unshift(o)};for(let o of e)s.has(o)||n(o);return i}};var I=Symbol.for("@jucie.io/reactive/system");globalThis[I]||(globalThis[I]={computationManager:new y,awaitingRecomputation:new Set,reactives:new WeakMap,subscribers:new Set,currentlyComputing:null,computationStack:[],currentDepth:0,effectsCache:new Set,processingEffects:!1,_nextId:1,config:{maxDepth:2e3},ctx:{}});var c=class t{static get system(){return globalThis[I]}static nextId(){return t.system._nextId++}static addReactive(e,i){t.system.reactives.set(e,i),t.system.subscribers.add(e)}static addSubscriber(e,i){return t.system.reactives.set(e,i),t.system.subscribers.add(e),()=>t.removeSubscriber(e)}static removeSubscriber(e){t.system.subscribers.delete(e),t.system.reactives.delete(e)}static addContext(e,i){if(!e||typeof e!="string")throw new Error("Invalid context key");if(typeof i>"u")throw new Error("Invalid context value");if(e in t.system.ctx)throw new Error("Context key already exists");t.system.ctx[e]=i}static useContext(e){if(!e||e.length===0)return t.system.ctx;if(e.length===1)return t.system.ctx[e[0]];let i=new Array(e.length);for(let s=0;s<e.length;s++)i[s]=t.system.ctx[e[s]];return i}static hasContext(e){if(!e||e.length===0)return Object.keys(t.system.ctx).length>0;if(e.length===1)return e[0]in t.system.ctx;for(let i of e)if(!(i in t.system.ctx))return!1;return!0}static clearContext(){t.system.ctx={}}static resetSystem(){t.system.awaitingRecomputation.clear(),t.system.currentlyComputing=null,t.system.computationStack=[],t.system.currentDepth=0,t.system.effectsCache.clear(),t.system.processingEffects=!1,t.system.ctx={}}static addDependant(e,i){let s=t.system.reactives.get(e);s&&(s.dependants.add(new WeakRef(i)),s.dependantIds.add(i.id))}static addEffect(e,i){let s=t.system.reactives.get(e);return s.isDirty&&t.system.computationManager.scheduleRecomputation(s),s.effects||(s.effects=new Set),s.effects.add(i),t.system.subscribers.add(e),()=>t.removeEffect(e,i)}static removeEffect(e,i){let s=t.system.reactives.get(e);t.system.subscribers.delete(e),s&&s.effects&&s.effects.delete(i)}static processEffectsCache(){let e=new Set(t.system.effectsCache);t.system.effectsCache.clear();for(let i of e)try{(i.effects||new Set).forEach(r=>{r&&r(i.cachedValue)})}catch(s){console.error(`Error in reactive ${i.id} effect:`,s)}t.system.effectsCache.size>0&&setTimeout(()=>{t.processEffectsCache()},0)}static destroy(e){t.system.subscribers.has(e)&&t.system.subscribers.delete(e);let i=t.system.reactives.get(e);i&&t.system.computationManager.removeReactive(i),t.system.reactives.delete(e)}constructor(){this.id=t.nextId(),this.isDirty=!0,this.dependants=new Set,this.dependantIds=new Set}begin(){t.system.awaitingRecomputation.has(this)&&t.system.awaitingRecomputation.delete(this);let e=t.system.computationStack.indexOf(this);if(e!==-1){let i=t.system.computationStack.slice(e).concat(this),s=new Error(`Circular dependency detected: ${i.map(r=>r).join(" -> ")}`);throw s.name="CircularDependencyError",s.displayed=!1,s}if(t.system.currentDepth>=t.system.config.maxDepth)throw new Error(`Maximum reactive depth of ${t.system.config.maxDepth} exceeded`);t.system.computationStack.push(this),t.system.currentlyComputing=this,t.system.currentDepth++}end(){t.system.computationStack.pop(),t.system.currentlyComputing=t.system.computationStack[t.system.computationStack.length-1]||null,t.system.currentDepth--}recompute(){return t.system.awaitingRecomputation.has(this)||t.system.awaitingRecomputation.add(this),t.system.computationManager.scheduleRecomputation(this)}callEffects(){t.system.effectsCache.add(this),t.system.processingEffects||(t.system.processingEffects=!0,setTimeout(()=>{t.processEffectsCache(),t.system.processingEffects=!1},0))}markAsDirty(){if(!this.isDirty){this.isDirty=!0,(this.immediate||this.effects&&this.effects.size>0)&&t.system.computationManager.scheduleRecomputation(this);let e=[],i=new Set;this.dependants.forEach(s=>{let r=s.deref();r?(r.markAsDirty(),i.add(r.id)):e.push(s)}),e.forEach(s=>this.dependants.delete(s)),this.dependantIds=i}}};var p=t=>c.system.reactives.has(t),F=t=>p(t)&&c.system.reactives.get(t)?.isDirty||!1,f=(t,e)=>{if(!p(t))throw new Error("Invalid effect getter");if(!e||typeof e!="function")throw new Error("Invalid effect function");return c.addEffect(t,e)},M=(t,e)=>{if(p(t))return c.removeEffect(t,e)};var N=(t,e)=>c.addContext(t,e),W=(...t)=>t.length===0?c.system.ctx:t.length===1?c.system.ctx[t[0]]:t.map(e=>c.system.ctx[e]),q=(...t)=>c.hasContext(t),Q=(t,e=[])=>{if(!p(t))throw new Error("Invalid adapter getter");let i,s=null,r=new Set,n=()=>{if(i!==void 0)return i;let u=e&&e.length>0?traverse(t(),e):t();if(Array.isArray(u))i=u.slice();else if(typeof u=="object"&&u!==null){let d=Object.create(Object.getPrototypeOf(u));Object.defineProperties(d,Object.getOwnPropertyDescriptors(u)),i=Object.freeze(d)}else i=u;return i};return[n,u=>(s||(s=f(t,()=>{i=void 0;for(let d of r)d(n)})),r.add(u),()=>{r.delete(u),r.size===0&&(s(),s=null)})]};var b=class t extends c{static create(e,i={}){let s=new t(e,i);return c.addReactive(s.getter,s),s.getter}constructor(e,i={}){if(i.context&&typeof i.context!="function")throw new Error("Computed context must be a function");super(),this.fn=e,this.effects=new Set(Array.isArray(i.effects)?i.effects:[]),this.cachedValue=i.initialValue||void 0,this.isDirty=i.initialValue===void 0,this.debounce=i.debounce||0,this.onAccess=i.onAccess||void 0,this.detatched=i.detatched||!1,this.immediate=i.immediate||!1,this.useContext=i.context||(c.hasContext()?()=>c.useContext():()=>{}),this.lastComputeTime=void 0,this.hasPendingDebounce=!1,this.debounceTimer=void 0,this.computationId=0,this.getter=this.#e.bind(this),this.immediate&&this.compute()}compute(){this.begin();try{let e=this.useContext?this.useContext():void 0;return this.cachedValue=this.fn(e,this.cachedValue),this.isDirty=!1,this.cachedValue}finally{this.end(),this.callEffects()}}#e(){try{return!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),this.isDirty?this.recompute():this.cachedValue}catch(e){throw e}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},x=(t,e={})=>b.create(t,e),O=t=>{g(t)&&c.destroy(t)},g=t=>{let e=c.system.reactives.get(t);return e?e instanceof b:!1},G=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var w=class t extends c{static create(e,i={}){let s=new t(e,i);return c.addReactive(s.getter,s),s.getter}constructor(e,i={}){super(),this.cachedValue=void 0,this.roots=new Set,this.effects=new Set(Array.isArray(i.effects)?i.effects:[]),this.debounce=i.debounce||0,this.onAccess=i.onAccess||null,this.detatched=i.detatched||!1,this.immediate=i.immediate||!1,this.pendingChange=e,this.lastComputeTime=null,this.hasPendingDebounce=!1,this.debounceTimer=null,this.getter=(...s)=>this.#e(...s)}compute(){this.begin();try{return this.cachedValue=this.pendingChange,this.pendingChange=void 0,this.isDirty=!1,this.cachedValue}finally{this.end(),this.callEffects()}}#e(...e){try{if(!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),e.length>0){let i=e[0];this.pendingChange=typeof i=="function"?i(this.cachedValue):i,this.markAsDirty();return}return this.isDirty?this.recompute():this.cachedValue}catch(i){throw i}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},C=(t,e={})=>w.create(t,e),Y=t=>{S(t)&&c.destroy(t)},S=t=>{let e=c.system.reactives.get(t);return e?e instanceof w:!1},H=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var D=class t extends c{static create(e,i,s={}){let r=new t(e,i,s);return c.system.reactives.set(r.getter,r),c.system.subscribers.add(r.getter),()=>c.destroy(r.getter)}constructor(e,i,s={}){super(),this.getter=e,this.isDirty=!1,this.subscriber=i,this.debounce=s.debounce||0,this.onAccess=s.onAccess||null,this.immediate=!0,this.hasPendingDebounce=!1,this.lastComputeTime=null,this.debounceTimer=null,this.begin(),this.cachedValue=this.getter(),this.subscriber(this.cachedValue),this.end()}compute(){try{this.cachedValue=this.getter(),this.subscriber(this.cachedValue),this.isDirty=!1}catch(e){throw e}}},K=(t,e,i={})=>D.create(t,e,i),J=t=>{k(t)&&c.destroy(t)},k=t=>{let e=c.system.reactives.get(t);return e?e instanceof D:!1};var z=t=>typeof t=="function"&&(t.constructor.name==="AsyncFunction"||t.constructor.name==="AsyncGeneratorFunction");var j=class t extends c{static create(e,i=[],s={}){let r=new t(e,i,s);return c.addReactive(r.getter,r),r.getter}constructor(e,i=[],s={}){if(s.context&&typeof s.context!="function")throw new Error("Binding context must be a function");super(),this.fn=e,this.isAsync=z(e),this.pendingResolve=void 0,this.effects=new Set(Array.isArray(s.effects)?s.effects:[]),this.cachedValue=s.initialValue||void 0,this.isDirty=s.initialValue===void 0,this.debounce=s.debounce||0,this.onAccess=s.onAccess||void 0,this.detatched=s.detatched||!1,this.immediate=s.immediate||!1,this.useContext=s.context||(c.hasContext()?()=>c.useContext():()=>{}),this.resolvers=[],this.rejectors=[],this.lastComputeTime=void 0,this.hasPendingDebounce=!1,this.debounceTimer=void 0,this.computationId=0,this.getter=this.#e.bind(this);for(let r of i)c.addDependant(r,this);this.immediate&&this.compute()}compute(){try{if(!this.isAsync){let s=this.useContext?this.useContext():void 0;return this.cachedValue=this.fn(s,this.cachedValue),this.isDirty=!1,this.cachedValue}this.computationId=(this.computationId||0)+1;let e=this.computationId,i=this.useContext?this.useContext():void 0;return this.pendingResolve=this.fn(i,this.cachedValue),this.pendingResolve.then(s=>(this.computationId===e&&(this.resolvers.forEach(r=>r(s)),this.resolvers=[],this.cachedValue=s,this.isDirty=!1),s)).catch(s=>{this.computationId===e&&(this.rejectors.forEach(r=>r(s)),this.rejectors=[])}).finally(()=>{this.pendingResolve=null,this.computationId===e&&this.callEffects()}),this.cachedValue=new Promise((s,r)=>{this.resolvers.push(s),this.rejectors.push(r)}),this.cachedValue}finally{this.isAsync||this.callEffects()}}#e(){try{return!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),this.isDirty?this.recompute():this.isAsync?Promise.resolve(this.cachedValue):this.cachedValue}catch(e){throw e}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},P=(t,e=[],i={})=>j.create(t,e,i),L=t=>{E(t)&&c.destroy(t)},E=t=>{let e=c.system.reactives.get(t);return e?e instanceof j:!1},U=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var l=[null,null,(t,e)=>t?.[e[0]]?.[e[1]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]]?.[e[6]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]]?.[e[6]]?.[e[7]]];function X(t){let i="obj"+Array.from({length:t},(r,n)=>`?.[path[${n}]]`).join(""),s=new Function("obj","path",`return ${i}`);return l[t]=s,s}function B(t,e){let i=e.length;return i===0?t:i===1?t[e[0]]:i<l.length&&l[i]||l[i]?l[i](t,e):X(i)(t,e)}function a(t){return typeof t=="number"?[]:{}}var A=[null,null,(t,e,i)=>{let[s,r]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=i,i},(t,e,i)=>{let[s,r,n]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=i,i},(t,e,i)=>{let[s,r,n,o]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=i,i},(t,e,i)=>{let[s,r,n,o,u]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=i,i},(t,e,i)=>{let[s,r,n,o,u,d]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=i,i},(t,e,i)=>{let[s,r,n,o,u,d,h]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=d in t[s][r][n][o][u]?t[s][r][n][o][u][d]:a(h),t[s][r][n][o][u][d][h]=i,i},(t,e,i)=>{let[s,r,n,o,u,d,h,$]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=d in t[s][r][n][o][u]?t[s][r][n][o][u][d]:a(h),t[s][r][n][o][u][d][h]=h in t[s][r][n][o][u][d]?t[s][r][n][o][u][d][h]:a($),t[s][r][n][o][u][d][h][$]=i,i}];function Z(t){let e=Array.from({length:t},(o,u)=>`v${u}`),s=`const [${e.join(", ")}] = path;
1
+ function T(t){return typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback(t,{timeout:100}):typeof window<"u"?window.requestAnimationFrame?window.requestAnimationFrame(()=>{setTimeout(t,0)}):setTimeout(t,0):(typeof t=="function"&&t(),null)}var y=class{constructor(){this.roots=new Map,this.pending=new Set,this.onCompleteCallbacks=new Set,this.onNextIdle=new Set,this.idleScheduled=!1}markAsDirty(e){if(!e.isDirty&&(e.isDirty=!0,e.isAsync||e.immediate||e.effects&&e.effects.size>0?this.scheduleRecomputation(e):(this.onNextIdle.add(e),this.idleScheduled||(this.idleScheduled=!0,T(()=>{for(let i of this.onNextIdle)this.pending.add(i);this.flush(null),this.onNextIdle.clear(),this.idleScheduled=!1}))),e.dependants&&e.dependants.size>0)){let i=[],s=new Set;e.dependants.forEach(r=>{let n=r.deref();n?(this.markAsDirty(n),s.add(n.id)):i.push(r)}),i.forEach(r=>e.dependants.delete(r)),e.dependantIds=s}}scheduleRecomputation(e){if(!e.debounce)return this.recompute(e);let i=Date.now(),s=e.lastComputeTime?i-e.lastComputeTime:1/0;return!e.hasPendingDebounce||s>=e.debounce?(clearTimeout(e.debounceTimer),e.hasPendingDebounce=!0,e.lastComputeTime=i,e.debounceTimer=setTimeout(()=>{e.hasPendingDebounce=!1,e.debounceTimer=null},e.debounce),this.recompute(e)):e.cachedValue}removeReactive(e){this.pending.delete(e),this.onNextIdle.delete(e)}recompute(e){return this.pending.add(e),this.flush(e)}flush(e){let i=Array.from(this.pending);this.pending.clear();let s=this.sortByDependencies(i);for(let r of s)this.onNextIdle.delete(r),r.compute();for(let r of this.onCompleteCallbacks)try{r()}catch(n){console.error("Error in batch completion callback:",n)}if(e)return s.includes(e)||e.compute(),e.cachedValue}sortByDependencies(e){let i=[],s=new Set,r=new Set,n=o=>{if(r.has(o)||s.has(o))return;r.add(o);let u=o.dependants;u&&u.size>0&&u.forEach(d=>{let h=d.deref();h&&e.includes(h)&&n(h)}),r.delete(o),s.add(o),i.unshift(o)};for(let o of e)s.has(o)||n(o);return i}};var I=Symbol.for("@jucie.io/reactive/system");globalThis[I]||(globalThis[I]={computationManager:new y,awaitingRecomputation:new Set,reactives:new WeakMap,subscribers:new Set,currentlyComputing:null,computationStack:[],currentDepth:0,effectsCache:new Set,processingEffects:!1,_nextId:1,config:{maxDepth:2e3},ctx:{}});var c=class t{static get system(){return globalThis[I]}static nextId(){return t.system._nextId++}static addReactive(e,i){t.system.reactives.set(e,i),t.system.subscribers.add(e)}static addSubscriber(e,i){return t.system.reactives.set(e,i),t.system.subscribers.add(e),()=>t.removeSubscriber(e)}static removeSubscriber(e){t.system.subscribers.delete(e),t.system.reactives.delete(e)}static addContext(e,i){if(!e||typeof e!="string")throw new Error("Invalid context key");if(typeof i>"u")throw new Error("Invalid context value");if(e in t.system.ctx)throw new Error("Context key already exists");t.system.ctx[e]=i}static useContext(e){if(!e||e.length===0)return t.system.ctx;if(e.length===1)return t.system.ctx[e[0]];let i=new Array(e.length);for(let s=0;s<e.length;s++)i[s]=t.system.ctx[e[s]];return i}static hasContext(e){if(!e||e.length===0)return Object.keys(t.system.ctx).length>0;if(e.length===1)return e[0]in t.system.ctx;for(let i of e)if(!(i in t.system.ctx))return!1;return!0}static clearContext(){t.system.ctx={}}static resetSystem(){t.system.awaitingRecomputation.clear(),t.system.currentlyComputing=null,t.system.computationStack=[],t.system.currentDepth=0,t.system.effectsCache.clear(),t.system.processingEffects=!1,t.system.ctx={}}static addDependant(e,i){let s=t.system.reactives.get(e);s&&(s.dependants.add(new WeakRef(i)),s.dependantIds.add(i.id))}static addEffect(e,i){let s=t.system.reactives.get(e);return s.isDirty&&t.system.computationManager.scheduleRecomputation(s),s.effects||(s.effects=new Set),s.effects.add(i),t.system.subscribers.add(e),()=>t.removeEffect(e,i)}static removeEffect(e,i){let s=t.system.reactives.get(e);t.system.subscribers.delete(e),s&&s.effects&&s.effects.delete(i)}static processEffectsCache(){let e=new Set(t.system.effectsCache);t.system.effectsCache.clear();for(let i of e)try{(i.effects||new Set).forEach(r=>{r&&r(i.cachedValue)})}catch(s){console.error(`Error in reactive ${i.id} effect:`,s)}t.system.effectsCache.size>0&&setTimeout(()=>{t.processEffectsCache()},0)}static destroy(e){t.system.subscribers.has(e)&&t.system.subscribers.delete(e);let i=t.system.reactives.get(e);i&&t.system.computationManager.removeReactive(i),t.system.reactives.delete(e)}constructor(){this.id=t.nextId(),this.isDirty=!0,this.dependants=new Set,this.dependantIds=new Set}begin(){t.system.awaitingRecomputation.has(this)&&t.system.awaitingRecomputation.delete(this);let e=t.system.computationStack.indexOf(this);if(e!==-1){let i=t.system.computationStack.slice(e).concat(this),s=new Error(`Circular dependency detected: ${i.map(r=>r).join(" -> ")}`);throw s.name="CircularDependencyError",s.displayed=!1,s}if(t.system.currentDepth>=t.system.config.maxDepth)throw new Error(`Maximum reactive depth of ${t.system.config.maxDepth} exceeded`);t.system.computationStack.push(this),t.system.currentlyComputing=this,t.system.currentDepth++}end(){t.system.computationStack.pop(),t.system.currentlyComputing=t.system.computationStack[t.system.computationStack.length-1]||null,t.system.currentDepth--}recompute(){return t.system.awaitingRecomputation.has(this)||t.system.awaitingRecomputation.add(this),t.system.computationManager.scheduleRecomputation(this)}callEffects(){t.system.effectsCache.add(this),t.system.processingEffects||(t.system.processingEffects=!0,setTimeout(()=>{t.processEffectsCache(),t.system.processingEffects=!1},0))}markAsDirty(){if(!this.isDirty){this.isDirty=!0,(this.immediate||this.effects&&this.effects.size>0)&&t.system.computationManager.scheduleRecomputation(this);let e=[],i=new Set;this.dependants.forEach(s=>{let r=s.deref();r?(r.markAsDirty(),i.add(r.id)):e.push(s)}),e.forEach(s=>this.dependants.delete(s)),this.dependantIds=i}}},F=t=>{if(f(t)){let e=c.system.reactives.get(t);if(e)return e.markAsDirty()}},f=t=>c.system.reactives.has(t),M=t=>f(t)&&c.system.reactives.get(t)?.isDirty||!1,l=(t,e)=>{if(!f(t))throw new Error("Invalid effect getter");if(!e||typeof e!="function")throw new Error("Invalid effect function");return c.addEffect(t,e)},N=(t,e)=>{if(f(t))return c.removeEffect(t,e)};var W=(t,e)=>c.addContext(t,e),q=(...t)=>t.length===0?c.system.ctx:t.length===1?c.system.ctx[t[0]]:t.map(e=>c.system.ctx[e]),Q=(...t)=>c.hasContext(t),G=(t,e=[])=>{if(!f(t))throw new Error("Invalid adapter getter");let i,s=null,r=new Set,n=()=>{if(i!==void 0)return i;let u=e&&e.length>0?traverse(t(),e):t();if(Array.isArray(u))i=u.slice();else if(typeof u=="object"&&u!==null){let d=Object.create(Object.getPrototypeOf(u));Object.defineProperties(d,Object.getOwnPropertyDescriptors(u)),i=Object.freeze(d)}else i=u;return i};return[n,u=>(s||(s=l(t,()=>{i=void 0;for(let d of r)d(n)})),r.add(u),()=>{r.delete(u),r.size===0&&(s(),s=null)})]};var b=class t extends c{static create(e,i={}){let s=new t(e,i);return c.addReactive(s.getter,s),s.getter}constructor(e,i={}){if(i.context&&typeof i.context!="function")throw new Error("Computed context must be a function");super(),this.fn=e,this.effects=new Set(Array.isArray(i.effects)?i.effects:[]),this.cachedValue=i.initialValue||void 0,this.isDirty=i.initialValue===void 0,this.debounce=i.debounce||0,this.onAccess=i.onAccess||void 0,this.detatched=i.detatched||!1,this.immediate=i.immediate||!1,this.useContext=i.context||(c.hasContext()?()=>c.useContext():()=>{}),this.lastComputeTime=void 0,this.hasPendingDebounce=!1,this.debounceTimer=void 0,this.computationId=0,this.getter=this.#e.bind(this),this.immediate&&this.compute()}compute(){this.begin();try{let e=this.useContext?this.useContext():void 0;return this.cachedValue=this.fn(e,this.cachedValue),this.isDirty=!1,this.cachedValue}finally{this.end(),this.callEffects()}}#e(){try{return!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),this.isDirty?this.recompute():this.cachedValue}catch(e){throw e}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},x=(t,e={})=>b.create(t,e),O=t=>{g(t)&&c.destroy(t)},g=t=>{let e=c.system.reactives.get(t);return e?e instanceof b:!1},Y=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var w=class t extends c{static create(e,i={}){let s=new t(e,i);return c.addReactive(s.getter,s),s.getter}constructor(e,i={}){super(),this.cachedValue=void 0,this.roots=new Set,this.effects=new Set(Array.isArray(i.effects)?i.effects:[]),this.debounce=i.debounce||0,this.onAccess=i.onAccess||null,this.detatched=i.detatched||!1,this.immediate=i.immediate||!1,this.pendingChange=e,this.lastComputeTime=null,this.hasPendingDebounce=!1,this.debounceTimer=null,this.getter=(...s)=>this.#e(...s)}compute(){this.begin();try{return this.cachedValue=this.pendingChange,this.pendingChange=void 0,this.isDirty=!1,this.cachedValue}finally{this.end(),this.callEffects()}}#e(...e){try{if(!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),e.length>0){let i=e[0];this.pendingChange=typeof i=="function"?i(this.cachedValue):i,this.markAsDirty();return}return this.isDirty?this.recompute():this.cachedValue}catch(i){throw i}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},C=(t,e={})=>w.create(t,e),H=t=>{S(t)&&c.destroy(t)},S=t=>{let e=c.system.reactives.get(t);return e?e instanceof w:!1},K=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var D=class t extends c{static create(e,i,s={}){let r=new t(e,i,s);return c.system.reactives.set(r.getter,r),c.system.subscribers.add(r.getter),()=>c.destroy(r.getter)}constructor(e,i,s={}){super(),this.getter=e,this.isDirty=!1,this.subscriber=i,this.debounce=s.debounce||0,this.onAccess=s.onAccess||null,this.immediate=!0,this.hasPendingDebounce=!1,this.lastComputeTime=null,this.debounceTimer=null,this.begin(),this.cachedValue=this.getter(),this.subscriber(this.cachedValue),this.end()}compute(){try{this.cachedValue=this.getter(),this.subscriber(this.cachedValue),this.isDirty=!1}catch(e){throw e}}},J=(t,e,i={})=>D.create(t,e,i),L=t=>{k(t)&&c.destroy(t)},k=t=>{let e=c.system.reactives.get(t);return e?e instanceof D:!1};var z=t=>typeof t=="function"&&(t.constructor.name==="AsyncFunction"||t.constructor.name==="AsyncGeneratorFunction");var j=class t extends c{static create(e,i=[],s={}){let r=new t(e,i,s);return c.addReactive(r.getter,r),r.getter}constructor(e,i=[],s={}){if(s.context&&typeof s.context!="function")throw new Error("Binding context must be a function");super(),this.fn=e,this.isAsync=z(e),this.pendingResolve=void 0,this.effects=new Set(Array.isArray(s.effects)?s.effects:[]),this.cachedValue=s.initialValue||void 0,this.isDirty=s.initialValue===void 0,this.debounce=s.debounce||0,this.onAccess=s.onAccess||void 0,this.detatched=s.detatched||!1,this.immediate=s.immediate||!1,this.useContext=s.context||(c.hasContext()?()=>c.useContext():()=>{}),this.resolvers=[],this.rejectors=[],this.lastComputeTime=void 0,this.hasPendingDebounce=!1,this.debounceTimer=void 0,this.computationId=0,this.getter=this.#e.bind(this);for(let r of i)c.addDependant(r,this);this.immediate&&this.compute()}compute(){try{if(!this.isAsync){let s=this.useContext?this.useContext():void 0;return this.cachedValue=this.fn(s,this.cachedValue),this.isDirty=!1,this.cachedValue}this.computationId=(this.computationId||0)+1;let e=this.computationId,i=this.useContext?this.useContext():void 0;return this.pendingResolve=this.fn(i,this.cachedValue),this.pendingResolve.then(s=>(this.computationId===e&&(this.resolvers.forEach(r=>r(s)),this.resolvers=[],this.cachedValue=s,this.isDirty=!1),s)).catch(s=>{this.computationId===e&&(this.rejectors.forEach(r=>r(s)),this.rejectors=[])}).finally(()=>{this.pendingResolve=null,this.computationId===e&&this.callEffects()}),this.cachedValue=new Promise((s,r)=>{this.resolvers.push(s),this.rejectors.push(r)}),this.cachedValue}finally{this.isAsync||this.callEffects()}}#e(){try{return!this.detatched&&c.system.currentlyComputing&&c.system.currentlyComputing!==this&&!this.dependantIds.has(c.system.currentlyComputing.id)&&(this.dependantIds.add(c.system.currentlyComputing.id),this.dependants.add(new WeakRef(c.system.currentlyComputing))),this.isDirty?this.recompute():this.isAsync?Promise.resolve(this.cachedValue):this.cachedValue}catch(e){throw e}finally{this.onAccess&&this.onAccess(this.cachedValue)}}},P=(t,e=[],i={})=>j.create(t,e,i),U=t=>{E(t)&&c.destroy(t)},E=t=>{let e=c.system.reactives.get(t);return e?e instanceof j:!1},X=t=>{let e=c.system.reactives.get(t);return e?e.isDirty:!1};var m=[null,null,(t,e)=>t?.[e[0]]?.[e[1]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]]?.[e[6]],(t,e)=>t?.[e[0]]?.[e[1]]?.[e[2]]?.[e[3]]?.[e[4]]?.[e[5]]?.[e[6]]?.[e[7]]];function Z(t){let i="obj"+Array.from({length:t},(r,n)=>`?.[path[${n}]]`).join(""),s=new Function("obj","path",`return ${i}`);return m[t]=s,s}function B(t,e){let i=e.length;return i===0?t:i===1?t[e[0]]:i<m.length&&m[i]||m[i]?m[i](t,e):Z(i)(t,e)}function a(t){return typeof t=="number"?[]:{}}var A=[null,null,(t,e,i)=>{let[s,r]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=i,i},(t,e,i)=>{let[s,r,n]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=i,i},(t,e,i)=>{let[s,r,n,o]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=i,i},(t,e,i)=>{let[s,r,n,o,u]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=i,i},(t,e,i)=>{let[s,r,n,o,u,d]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=i,i},(t,e,i)=>{let[s,r,n,o,u,d,h]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=d in t[s][r][n][o][u]?t[s][r][n][o][u][d]:a(h),t[s][r][n][o][u][d][h]=i,i},(t,e,i)=>{let[s,r,n,o,u,d,h,$]=e;return t[s]=s in t?t[s]:a(r),t[s][r]=r in t[s]?t[s][r]:a(n),t[s][r][n]=n in t[s][r]?t[s][r][n]:a(o),t[s][r][n][o]=o in t[s][r][n]?t[s][r][n][o]:a(u),t[s][r][n][o][u]=u in t[s][r][n][o]?t[s][r][n][o][u]:a(d),t[s][r][n][o][u][d]=d in t[s][r][n][o][u]?t[s][r][n][o][u][d]:a(h),t[s][r][n][o][u][d][h]=h in t[s][r][n][o][u][d]?t[s][r][n][o][u][d][h]:a($),t[s][r][n][o][u][d][h][$]=i,i}];function _(t){let e=Array.from({length:t},(o,u)=>`v${u}`),s=`const [${e.join(", ")}] = path;
2
2
  `,r="state";for(let o=0;o<t-1;o++){let u=e[o],d=e[o+1];s+=`${r}[${u}] = (${r}[${u}] !== undefined && typeof ${r}[${u}] === 'object') ? ${r}[${u}] : createNodeType(${d});
3
3
  `,r+=`[${u}]`}s+=`${r}[${e[t-1]}] = value;
4
- return state;`;let n=new Function("state","path","value","createNodeType",s);return A[t]=(o,u,d)=>n(o,u,d,a),A[t]}function R(t,e,i){let s=e.length;return s===0?Object.assign(t,i):s===1?t[e[0]]=i:A[s]?A[s](t,e,i):Z(s)(t,e,i)}var v=Symbol(),m=class t{static stores=new WeakMap;static plugins=new Map;static registerPlugin(e,i){if(t.plugins.has(e))throw new Error(`Plugin "${e}" already registered`);t.plugins.set(e,i())}static resetPlugins(){t.plugins.clear()}static create(e,i={}){let s=new t(i),r=s.setup(e);return t.stores.set(r,s),r}static createPlugin(e,i,s={}){let r=t.create(i,s);return t.registerPlugin(e,r),r}#e=new Set;#t=new Set;#s=new Set;constructor(e={}){this.options=e,this.setupFn=null,this.subscribers=new Set,this.subscribersQueued=!1,this.destroyCallback=null,this.actions=new Set,this.extensions=new Set,this.snapshotCache=v,this.store=this.#u(),this.useStore=()=>this.store}setup(e){if(e=e??this.setupFn,!e)return null;this.setupFn=e,this.reset();try{let i;if(typeof e=="function")i=this.#d(e);else if(typeof e=="object"&&e!==null)i=this.#f(e);else throw new Error("setupFn must be a function or object configuration");return this.#w(i),this.#c(),this.#p(),this.useStore}catch(i){throw console.error("Error in setup function",i),i}}reset(){this.subscribers.clear(),this.subscribersQueued=!1,this.actions.clear(),this.extensions.clear(),this.snapshotCache=v,this.#t.clear(),this.#s.clear(),this.store=this.#u()}createAction(e){let i=e.bind(this.store,this.store);return this.actions.add(i),i}extend(e){if(!e)throw new Error("No source store provided");if(!V(e))throw new Error("Cannot extend non-store");let i=e();return this.extensions.add(i),i}#d(e){return e({signal:(i=void 0)=>C(i),computed:(i=()=>{})=>x(i,{context:()=>this.store}),binding:(i=()=>{},s=[])=>P(i,s,{context:()=>this.store}),action:(i=()=>{})=>this.createAction(i),extend:i=>this.extend(i),destroy:()=>this.#a(),...Object.fromEntries(t.plugins.entries())})||{}}#h(e,i,s){if(typeof e!="object"||e===null)return typeof e=="function"?e():e;if(!("default"in e))return i&&"dummy"in e&&console.warn(`State "${s}" has dummy value but no default value`),typeof e=="function"?e():e;let r=i&&"dummy"in e?e.dummy:e.default;return typeof r=="function"?r():r}#f(e){let i={},s=this.options.mode==="development"||this.options.mode==="dev";if(e.extend&&Array.isArray(e.extend))for(let r of e.extend)this.extend(r);if(e.state&&typeof e.state=="object")for(let[r,n]of Object.entries(e.state)){let o=this.#h(n,s,r);i[r]=C(o)}if(e.computed&&typeof e.computed=="object")for(let[r,n]of Object.entries(e.computed))typeof n=="function"&&(i[r]=x(n,{context:()=>this.store}));if(e.actions&&typeof e.actions=="object")for(let[r,n]of Object.entries(e.actions))typeof n=="function"&&(i[r]=this.createAction(n));return e.onInit&&typeof e.onInit=="function"&&Promise.resolve().then(()=>{try{e.onInit(this.store)}catch(r){console.error("Error in onInit callback",r)}}),e.onDestroy&&typeof e.onDestroy=="function"&&(this.destroyCallback=e.onDestroy),i}#l(){return[()=>this.#i(),e=>this.#o(e)]}#i(){if(this.snapshotCache!==v)return this.snapshotCache;let e=Object.create(Object.getPrototypeOf(this.store));return Object.defineProperties(e,Object.getOwnPropertyDescriptors(this.store)),this.snapshotCache=Object.freeze(e),this.snapshotCache}#o(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}#m(e){for(let i of this.subscribers)i(e)}#c(){this.subscribers.size===0||this.subscribersQueued||(this.subscribersQueued=!0,Promise.resolve().then(()=>{this.subscribersQueued=!1,this.snapshotCache=v,this.#m(this.#i())}))}#u(e=Object.create(null)){return Object.defineProperty(e,"$get",{value:i=>this.#b(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$set",{value:(i,s)=>this.#x(i,s),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$dispatch",{value:i=>this.#g(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$inject",{value:i=>Object.assign({},this.store,i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$snapshot",{value:()=>this.#i(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$subscribe",{value:i=>this.#o(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$adapter",{value:()=>this.#l(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$destroy",{value:()=>this.#a(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onRefresh",{value:i=>this.#y(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onAccess",{value:i=>(this.#s.add(i),()=>this.#s.delete(i)),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onChange",{value:i=>(this.#t.add(i),()=>this.#t.delete(i)),writable:!1,enumerable:!1,configurable:!1}),e}#p(){if(this.#e.size!==0)for(let e of this.#e)e(this.store)}#r(e,i){if(this.#s.size!==0)for(let s of this.#s)s(e,i)}#n(e,i){if(this.#t.size>0)for(let s of this.#t)s(e,i);this.#c()}#y(e){return this.#e.add(e),()=>this.#e.delete(e)}#a(){if(this.destroyCallback&&typeof this.destroyCallback=="function")try{this.destroyCallback(this.store)}catch(i){console.error("Error in onDestroy callback",i)}let e=this.storeComputed;this.storeComputed=null,t.stores.delete(e),O(e)}#b(e=[]){return B(this.store,e)}#x(e,i){e=e.slice();let s=e.shift();if(!(s in this.store))return this.store;if(e.length===0)return this.store[s]=i,this.store;let r=this.store[s];if(r==null){let n=typeof e[0]=="number"?[]:{};R(n,e,i),this.store[s]=n}else if(typeof r=="object")R(r,e,i),this.store[s]=r;else return console.warn(`[Store] Cannot set nested path on "${s}": expected object or array, got ${typeof r}`),this.store;return this.store}#g(e,...i){let s=this.actions.has(e)?this.actions.get(e):this.store[e];return typeof s=="function"?s(...i):this.storeComputed()}#w(e={}){let i=Object.keys(this.store);for(;i.length>0;){let r=i.shift();r in this.store&&delete this.store[r]}for(let[r,n]of t.plugins)Object.defineProperty(this.store,r,{value:n});for(let r of this.extensions){let n=Object.getOwnPropertyDescriptors(r),o=Object.fromEntries(Object.entries(n).filter(([u])=>!u.startsWith("$")));Object.defineProperties(this.store,o)}let s=Object.entries(e);for(let[r,n]of s){if(S(n)){f(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},set:o=>n(o),enumerable:!0});continue}if(g(n)){f(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},enumerable:!0});continue}if(E(n)){f(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},enumerable:!0});continue}if(this.actions.has(n)){Object.defineProperty(this.store,r,{value:n,enumerable:!0});continue}this.store[r]=n}return this.store}},_=(...t)=>m.create(...t),ee=t=>{if(V(t)){let e=m.stores.get(t);e&&e.setup()}},te=(...t)=>m.createPlugin(...t),V=t=>m.stores.has(t);export{c as Reactive,N as addContext,f as addEffect,Q as createAdapter,P as createBinding,x as createComputed,C as createSignal,K as createSubscriber,te as definePlugin,_ as defineStore,L as destroyBinding,O as destroyComputed,Y as destroySignal,J as destroySubscriber,q as hasContext,E as isBinding,g as isComputed,F as isDirty,U as isDirtyBinding,G as isDirtyComputed,H as isDirtySignal,p as isReactive,S as isSignal,V as isStore,k as isSubscriber,ee as refreshStore,M as removeEffect,W as useContext};
4
+ return state;`;let n=new Function("state","path","value","createNodeType",s);return A[t]=(o,u,d)=>n(o,u,d,a),A[t]}function R(t,e,i){let s=e.length;return s===0?Object.assign(t,i):s===1?t[e[0]]=i:A[s]?A[s](t,e,i):_(s)(t,e,i)}var v=Symbol(),p=class t{static stores=new WeakMap;static plugins=new Map;static registerPlugin(e,i){if(t.plugins.has(e))throw new Error(`Plugin "${e}" already registered`);t.plugins.set(e,i())}static resetPlugins(){t.plugins.clear()}static create(e,i={}){let s=new t(i),r=s.setup(e);return t.stores.set(r,s),r}static createPlugin(e,i,s={}){let r=t.create(i,s);return t.registerPlugin(e,r),r}#e=new Set;#t=new Set;#s=new Set;constructor(e={}){this.options=e,this.setupFn=null,this.subscribers=new Set,this.subscribersQueued=!1,this.destroyCallback=null,this.actions=new Set,this.extensions=new Set,this.snapshotCache=v,this.store=this.#u(),this.useStore=()=>this.store}setup(e){if(e=e??this.setupFn,!e)return null;this.setupFn=e,this.reset();try{let i;if(typeof e=="function")i=this.#d(e);else if(typeof e=="object"&&e!==null)i=this.#f(e);else throw new Error("setupFn must be a function or object configuration");return this.#w(i),this.#c(),this.#p(),this.useStore}catch(i){throw console.error("Error in setup function",i),i}}reset(){this.subscribers.clear(),this.subscribersQueued=!1,this.actions.clear(),this.extensions.clear(),this.snapshotCache=v,this.#t.clear(),this.#s.clear(),this.store=this.#u()}createAction(e){let i=e.bind(this.store,this.store);return this.actions.add(i),i}extend(e){if(!e)throw new Error("No source store provided");if(!V(e))throw new Error("Cannot extend non-store");let i=e();return this.extensions.add(i),i}#d(e){return e({signal:(i=void 0)=>C(i),computed:(i=()=>{})=>x(i,{context:()=>this.store}),binding:(i=()=>{},s=[])=>P(i,s,{context:()=>this.store}),action:(i=()=>{})=>this.createAction(i),extend:i=>this.extend(i),destroy:()=>this.#a(),...Object.fromEntries(t.plugins.entries())})||{}}#h(e,i,s){if(typeof e!="object"||e===null)return typeof e=="function"?e():e;if(!("default"in e))return i&&"dummy"in e&&console.warn(`State "${s}" has dummy value but no default value`),typeof e=="function"?e():e;let r=i&&"dummy"in e?e.dummy:e.default;return typeof r=="function"?r():r}#f(e){let i={},s=this.options.mode==="development"||this.options.mode==="dev";if(e.extend&&Array.isArray(e.extend))for(let r of e.extend)this.extend(r);if(e.state&&typeof e.state=="object")for(let[r,n]of Object.entries(e.state)){let o=this.#h(n,s,r);i[r]=C(o)}if(e.computed&&typeof e.computed=="object")for(let[r,n]of Object.entries(e.computed))typeof n=="function"&&(i[r]=x(n,{context:()=>this.store}));if(e.actions&&typeof e.actions=="object")for(let[r,n]of Object.entries(e.actions))typeof n=="function"&&(i[r]=this.createAction(n));return e.onInit&&typeof e.onInit=="function"&&Promise.resolve().then(()=>{try{e.onInit(this.store)}catch(r){console.error("Error in onInit callback",r)}}),e.onDestroy&&typeof e.onDestroy=="function"&&(this.destroyCallback=e.onDestroy),i}#l(){return[()=>this.#i(),e=>this.#o(e)]}#i(){if(this.snapshotCache!==v)return this.snapshotCache;let e=Object.create(Object.getPrototypeOf(this.store));return Object.defineProperties(e,Object.getOwnPropertyDescriptors(this.store)),this.snapshotCache=Object.freeze(e),this.snapshotCache}#o(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}#m(e){for(let i of this.subscribers)i(e)}#c(){this.subscribers.size===0||this.subscribersQueued||(this.subscribersQueued=!0,Promise.resolve().then(()=>{this.subscribersQueued=!1,this.snapshotCache=v,this.#m(this.#i())}))}#u(e=Object.create(null)){return Object.defineProperty(e,"$get",{value:i=>this.#b(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$set",{value:(i,s)=>this.#x(i,s),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$dispatch",{value:i=>this.#g(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$inject",{value:i=>Object.assign({},this.store,i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$snapshot",{value:()=>this.#i(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$subscribe",{value:i=>this.#o(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$adapter",{value:()=>this.#l(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$destroy",{value:()=>this.#a(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onRefresh",{value:i=>this.#y(i),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onAccess",{value:i=>(this.#s.add(i),()=>this.#s.delete(i)),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(e,"$onChange",{value:i=>(this.#t.add(i),()=>this.#t.delete(i)),writable:!1,enumerable:!1,configurable:!1}),e}#p(){if(this.#e.size!==0)for(let e of this.#e)e(this.store)}#r(e,i){if(this.#s.size!==0)for(let s of this.#s)s(e,i)}#n(e,i){if(this.#t.size>0)for(let s of this.#t)s(e,i);this.#c()}#y(e){return this.#e.add(e),()=>this.#e.delete(e)}#a(){if(this.destroyCallback&&typeof this.destroyCallback=="function")try{this.destroyCallback(this.store)}catch(i){console.error("Error in onDestroy callback",i)}let e=this.storeComputed;this.storeComputed=null,t.stores.delete(e),O(e)}#b(e=[]){return B(this.store,e)}#x(e,i){e=e.slice();let s=e.shift();if(!(s in this.store))return this.store;if(e.length===0)return this.store[s]=i,this.store;let r=this.store[s];if(r==null){let n=typeof e[0]=="number"?[]:{};R(n,e,i),this.store[s]=n}else if(typeof r=="object")R(r,e,i),this.store[s]=r;else return console.warn(`[Store] Cannot set nested path on "${s}": expected object or array, got ${typeof r}`),this.store;return this.store}#g(e,...i){let s=this.actions.has(e)?this.actions.get(e):this.store[e];return typeof s=="function"?s(...i):this.storeComputed()}#w(e={}){let i=Object.keys(this.store);for(;i.length>0;){let r=i.shift();r in this.store&&delete this.store[r]}for(let[r,n]of t.plugins)Object.defineProperty(this.store,r,{value:n});for(let r of this.extensions){let n=Object.getOwnPropertyDescriptors(r),o=Object.fromEntries(Object.entries(n).filter(([u])=>!u.startsWith("$")));Object.defineProperties(this.store,o)}let s=Object.entries(e);for(let[r,n]of s){if(S(n)){l(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},set:o=>n(o),enumerable:!0});continue}if(g(n)){l(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},enumerable:!0});continue}if(E(n)){l(n,o=>this.#n(r,o)),Object.defineProperty(this.store,r,{get:()=>{let o=n();return this.#r(r,o),o},enumerable:!0});continue}if(this.actions.has(n)){Object.defineProperty(this.store,r,{value:n,enumerable:!0});continue}this.store[r]=n}return this.store}},ee=(...t)=>p.create(...t),te=t=>{if(V(t)){let e=p.stores.get(t);e&&e.setup()}},se=(...t)=>p.createPlugin(...t),V=t=>p.stores.has(t);export{c as Reactive,W as addContext,l as addEffect,G as createAdapter,P as createBinding,x as createComputed,C as createSignal,J as createSubscriber,se as definePlugin,ee as defineStore,U as destroyBinding,O as destroyComputed,H as destroySignal,L as destroySubscriber,Q as hasContext,E as isBinding,g as isComputed,M as isDirty,X as isDirtyBinding,Y as isDirtyComputed,K as isDirtySignal,f as isReactive,S as isSignal,V as isStore,k as isSubscriber,F as markAsDirty,te as refreshStore,N as removeEffect,q as useContext};
5
5
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/nextIdleTick.js", "../src/ComputationManager.js", "../src/Reactive.js", "../src/Computed.js", "../src/Signal.js", "../src/Subscriber.js", "../src/utils/isAsync.js", "../src/Binding.js", "../src/lib/traverse.js", "../src/lib/mutate.js", "../src/Store.js"],
4
4
  "sourcesContent": ["export function nextIdleTick(callback) {\n if (typeof window !== 'undefined' && window.requestIdleCallback) {\n return window.requestIdleCallback(callback, { timeout: 100 });\n }\n\n // Fallback for browsers without requestIdleCallback (Safari/WebKit)\n if (typeof window !== 'undefined') {\n // Use requestAnimationFrame + setTimeout for better idle approximation\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(() => {\n setTimeout(callback, 0);\n });\n }\n // Final fallback to setTimeout\n return setTimeout(callback, 0);\n }\n\n // Server-side or no window object - execute immediately\n if (typeof callback === 'function') {\n callback();\n }\n return null;\n}\n", "import { nextIdleTick } from './utils/nextIdleTick.js';\n\nexport class ComputationManager {\n constructor() {\n this.roots = new Map();\n this.pending = new Set();\n this.onCompleteCallbacks = new Set();\n this.onNextIdle = new Set();\n this.idleScheduled = false;\n }\n\n markAsDirty(reactive) {\n if (!reactive.isDirty) {\n reactive.isDirty = true;\n \n if (reactive.isAsync || reactive.immediate || (reactive.effects && reactive.effects.size > 0)) {\n this.scheduleRecomputation(reactive);\n } else {\n this.onNextIdle.add(reactive);\n\n if (!this.idleScheduled) {\n this.idleScheduled = true;\n nextIdleTick(() => {\n for (const reactive of this.onNextIdle) {\n this.pending.add(reactive);\n }\n this.flush(null);\n this.onNextIdle.clear();\n this.idleScheduled = false; // \u2190 Reset flag\n });\n }\n }\n\n if (reactive.dependants && reactive.dependants.size > 0) {\n // Process WeakRefs and rebuild ID set with only alive IDs\n const deadRefs = [];\n const ids = new Set();\n reactive.dependants.forEach(weakRef => {\n const dependant = weakRef.deref();\n if (dependant) {\n this.markAsDirty(dependant);\n ids.add(dependant.id);\n } else {\n deadRefs.push(weakRef);\n }\n });\n // Clean up dead WeakRefs and sync IDs\n deadRefs.forEach(ref => reactive.dependants.delete(ref));\n reactive.dependantIds = ids;\n }\n }\n }\n\n scheduleRecomputation(reactive) {\n if (!reactive.debounce) {\n return this.recompute(reactive);\n }\n\n // Check if we can recompute (either first time or cooldown expired)\n const now = Date.now();\n const timeElapsed = reactive.lastComputeTime ? now - reactive.lastComputeTime : Infinity;\n const canRecompute = !reactive.hasPendingDebounce || timeElapsed >= reactive.debounce;\n\n if (canRecompute) {\n // Clear any existing timer and set up new cooldown period\n clearTimeout(reactive.debounceTimer);\n reactive.hasPendingDebounce = true;\n reactive.lastComputeTime = now;\n \n reactive.debounceTimer = setTimeout(() => {\n reactive.hasPendingDebounce = false;\n reactive.debounceTimer = null;\n }, reactive.debounce);\n \n return this.recompute(reactive);\n }\n\n // Still in cooldown period, return cached value\n return reactive.cachedValue;\n }\n\n removeReactive(reactive) {\n this.pending.delete(reactive);\n this.onNextIdle.delete(reactive);\n }\n\n recompute(reactive) {\n this.pending.add(reactive);\n return this.flush(reactive);\n }\n\n flush(reactive) {\n const reactives = Array.from(this.pending);\n this.pending.clear();\n\n // Sort by dependencies\n const sortedReactives = this.sortByDependencies(reactives);\n \n // Process in reverse order (dependencies first)\n for (const reactive of sortedReactives) {\n this.onNextIdle.delete(reactive);\n reactive.compute()\n }\n\n // Notify completion callbacks\n for (const callback of this.onCompleteCallbacks) {\n try {\n callback();\n } catch (error) {\n console.error('Error in batch completion callback:', error);\n }\n }\n\n // If we have a target ID, ensure it's computed and return its value\n if (reactive) {\n // Make sure the target computed is evaluated if it wasn't in the batch\n if (!sortedReactives.includes(reactive)) {\n reactive.compute();\n }\n return reactive.cachedValue;\n }\n \n return undefined;\n }\n\n sortByDependencies(reactives) {\n const sorted = [];\n const visited = new Set();\n const visiting = new Set();\n\n const visit = (reactive) => {\n if (visiting.has(reactive)) return;\n if (visited.has(reactive)) return;\n\n visiting.add(reactive);\n\n // Get dependant computed values (handle WeakRefs)\n const dependants = reactive.dependants;\n if (dependants && dependants.size > 0) {\n dependants.forEach(weakRef => {\n const dependant = weakRef.deref();\n if (dependant && reactives.includes(dependant)) {\n visit(dependant); // Visit dependants first\n }\n });\n }\n\n visiting.delete(reactive);\n visited.add(reactive);\n sorted.unshift(reactive); // Add to start of array instead of end\n };\n\n // Process all nodes\n for (const reactive of reactives) {\n if (!visited.has(reactive)) {\n visit(reactive);\n }\n }\n\n return sorted;\n }\n}", "import { ComputationManager } from './ComputationManager.js';\n\nconst REACTIVE_SYSTEM = Symbol.for('@jucie.io/reactive/system');\n\nif (!globalThis[REACTIVE_SYSTEM]) {\n globalThis[REACTIVE_SYSTEM] = {\n computationManager: new ComputationManager(),\n awaitingRecomputation: new Set(),\n reactives: new WeakMap(),\n subscribers: new Set(),\n currentlyComputing: null,\n computationStack: [],\n currentDepth: 0,\n effectsCache: new Set(),\n processingEffects: false,\n _nextId: 1,\n config: {\n maxDepth: 2000,\n },\n ctx: {},\n };\n}\n\nexport class Reactive {\n static get system() {\n return globalThis[REACTIVE_SYSTEM];\n }\n\n static nextId() {\n return Reactive.system._nextId++;\n }\n\n static addReactive(getter, reactive) {\n Reactive.system.reactives.set(getter, reactive);\n Reactive.system.subscribers.add(getter);\n }\n\n static addSubscriber(getter, subscriber) {\n Reactive.system.reactives.set(getter, subscriber);\n Reactive.system.subscribers.add(getter);\n return () => Reactive.removeSubscriber(getter);\n }\n\n static removeSubscriber(getter) {\n Reactive.system.subscribers.delete(getter);\n Reactive.system.reactives.delete(getter);\n }\n\n static addContext(key, value) {\n if (!key || typeof key !== 'string') {\n throw new Error('Invalid context key');\n }\n \n if (typeof value === 'undefined') {\n throw new Error('Invalid context value');\n }\n \n if (key in Reactive.system.ctx) {\n throw new Error('Context key already exists');\n }\n \n Reactive.system.ctx[key] = value;\n }\n\n static useContext(keys) { \n if (!keys || keys.length === 0) return Reactive.system.ctx;\n if (keys.length === 1) return Reactive.system.ctx[keys[0]];\n\n const out = new Array(keys.length);\n for (let i = 0; i < keys.length; i++) {\n out[i] = Reactive.system.ctx[keys[i]];\n }\n return out;\n }\n\n static hasContext(keys) {\n if (!keys || keys.length === 0) return Object.keys(Reactive.system.ctx).length > 0;\n if (keys.length === 1) return keys[0] in Reactive.system.ctx;\n for (const key of keys) {\n if (!(key in Reactive.system.ctx)) return false;\n }\n return true;\n }\n\n static clearContext() {\n Reactive.system.ctx = {};\n }\n \n static resetSystem() {\n // Reset all system state (useful for testing)\n Reactive.system.awaitingRecomputation.clear();\n Reactive.system.currentlyComputing = null;\n Reactive.system.computationStack = [];\n Reactive.system.currentDepth = 0;\n Reactive.system.effectsCache.clear();\n Reactive.system.processingEffects = false;\n Reactive.system.ctx = {};\n // Note: We don't reset reactives WeakMap, subscribers Set, or _nextId as they may be in use\n }\n\n static addDependant(getter, dependant) {\n const reactive = Reactive.system.reactives.get(getter);\n if (reactive) {\n reactive.dependants.add(new WeakRef(dependant));\n reactive.dependantIds.add(dependant.id);\n }\n }\n\n static addEffect(getter, effect) {\n const reactive = Reactive.system.reactives.get(getter);\n \n // Compute if needed and notify with current value\n if (reactive.isDirty) {\n Reactive.system.computationManager.scheduleRecomputation(reactive);\n }\n \n if (!reactive.effects) {\n reactive.effects = new Set();\n }\n \n // Store the WeakRef instead of the raw effect\n reactive.effects.add(effect);\n Reactive.system.subscribers.add(getter);\n \n // Return unsubscribe function\n return () => Reactive.removeEffect(getter, effect);;\n }\n\n static removeEffect(getter, effect) {\n const reactive = Reactive.system.reactives.get(getter);\n Reactive.system.subscribers.delete(getter);\n if (reactive && reactive.effects) {\n reactive.effects.delete(effect);\n }\n }\n\n static processEffectsCache() {\n const reactives = new Set(Reactive.system.effectsCache);\n Reactive.system.effectsCache.clear();\n \n for (const reactive of reactives) {\n try {\n // Process effects using WeakRefs\n const effects = reactive.effects || new Set();\n effects.forEach(effect => {\n if (effect) {\n effect(reactive.cachedValue);\n }\n });\n } catch (error) {\n console.error(`Error in reactive ${reactive.id} effect:`, error);\n }\n }\n \n // If new effects were added during processing, schedule another batch\n if (Reactive.system.effectsCache.size > 0) {\n setTimeout(() => {\n Reactive.processEffectsCache();\n }, 0);\n }\n }\n\n static destroy(getter) {\n if (Reactive.system.subscribers.has(getter)) {\n Reactive.system.subscribers.delete(getter);\n }\n const reactive = Reactive.system.reactives.get(getter);\n if (reactive) {\n Reactive.system.computationManager.removeReactive(reactive);\n }\n Reactive.system.reactives.delete(getter);\n }\n \n constructor() {\n this.id = Reactive.nextId();\n this.isDirty = true;\n this.dependants = new Set();\n this.dependantIds = new Set();\n }\n \n begin() {\n if (Reactive.system.awaitingRecomputation.has(this)) {\n Reactive.system.awaitingRecomputation.delete(this);\n }\n\n const reactorIndex = Reactive.system.computationStack.indexOf(this);\n\n if (reactorIndex !== -1) {\n const cycle = Reactive.system.computationStack.slice(reactorIndex).concat(this);\n const error = new Error(`Circular dependency detected: ${cycle.map(r => r).join(' -> ')}`);\n error.name = 'CircularDependencyError';\n error.displayed = false;\n throw error;\n }\n \n if (Reactive.system.currentDepth >= Reactive.system.config.maxDepth) {\n throw new Error(`Maximum reactive depth of ${Reactive.system.config.maxDepth} exceeded`);\n }\n \n Reactive.system.computationStack.push(this);\n Reactive.system.currentlyComputing = this;\n Reactive.system.currentDepth++;\n }\n \n end() {\n Reactive.system.computationStack.pop();\n Reactive.system.currentlyComputing = Reactive.system.computationStack[Reactive.system.computationStack.length - 1] || null;\n Reactive.system.currentDepth--;\n }\n\n recompute() {\n if (!Reactive.system.awaitingRecomputation.has(this)) {\n Reactive.system.awaitingRecomputation.add(this);\n }\n\n \n return Reactive.system.computationManager.scheduleRecomputation(this);\n }\n\n callEffects() { \n Reactive.system.effectsCache.add(this);\n \n // Use a single setTimeout for batching\n if (!Reactive.system.processingEffects) {\n Reactive.system.processingEffects = true;\n setTimeout(() => {\n Reactive.processEffectsCache();\n Reactive.system.processingEffects = false;\n }, 0);\n }\n }\n\n markAsDirty() {\n if (!this.isDirty) {\n this.isDirty = true;\n \n if (this.immediate || (this.effects && this.effects.size > 0)) {\n Reactive.system.computationManager.scheduleRecomputation(this);\n }\n \n // Process WeakRefs and clean up dead ones\n const deadRefs = [];\n const ids = new Set();\n this.dependants.forEach(weakRef => {\n const dependant = weakRef.deref();\n if (dependant) {\n dependant.markAsDirty();\n ids.add(dependant.id);\n } else {\n deadRefs.push(weakRef);\n }\n });\n // Clean up dead WeakRefs and sync IDs\n deadRefs.forEach(ref => this.dependants.delete(ref));\n this.dependantIds = ids;\n }\n }\n}\n\nexport const markAsDirty = (getter) => {\n if (isReactive(getter)) {\n const reactiveInstance = Reactive.system.reactives.get(getter);\n if (reactiveInstance) {\n return reactiveInstance.markAsDirty();\n }\n }\n}\n\nexport const isReactive = (getter) => {\n return Reactive.system.reactives.has(getter);\n}\n\nexport const isDirty = (getter) => {\n if (isReactive(getter)) {\n return Reactive.system.reactives.get(getter)?.isDirty || false;\n }\n return false;\n}\n\nexport const addEffect = (getter, effect) => {\n if (!isReactive(getter)) {\n throw new Error('Invalid effect getter');\n \n }\n\n if (!effect || typeof effect !== 'function') {\n throw new Error('Invalid effect function');\n }\n\n return Reactive.addEffect(getter, effect);\n}\n\nexport const removeEffect = (getter, effect) => {\n if (isReactive(getter)) {\n return Reactive.removeEffect(getter, effect);\n }\n}\n\nexport const destroyReactive = (getter) => {\n if (isReactive(getter)) {\n return Reactive.destroy(getter);\n }\n}\n\nexport const addContext = (key, value) => Reactive.addContext(key, value)\n\nexport const useContext = (...keys) => {\n if (keys.length === 0) return Reactive.system.ctx;\n if (keys.length === 1) return Reactive.system.ctx[keys[0]];\n return keys.map(key => Reactive.system.ctx[key]);\n}\n\nexport const hasContext = (...keys) => Reactive.hasContext(keys)\n\nexport const createAdapter = (getter, path = []) => {\n if (!isReactive(getter)) {\n throw new Error('Invalid adapter getter');\n }\n\n let snapshotCache = undefined;\n let unsubscribeAll = null;\n const subscribers = new Set();\n\n const getSnapshot = () => {\n if (snapshotCache !== undefined) {\n return snapshotCache;\n }\n\n const value = path && path.length > 0 ? traverse(getter(), path) : getter();\n\n if (Array.isArray(value)) {\n snapshotCache = value.slice();\n } else if (typeof value === 'object' && value !== null) {\n const clone = Object.create(Object.getPrototypeOf(value));\n Object.defineProperties(clone, Object.getOwnPropertyDescriptors(value));\n snapshotCache = Object.freeze(clone);\n } else {\n snapshotCache = value;\n }\n \n return snapshotCache;\n };\n\n const subscribe = (listener) => {\n if (!unsubscribeAll) {\n unsubscribeAll = addEffect(getter, () => {\n snapshotCache = undefined;\n for (const subscriber of subscribers) {\n subscriber(getSnapshot);\n }\n });\n }\n \n subscribers.add(listener);\n return () => {\n subscribers.delete(listener);\n if (subscribers.size === 0) {\n unsubscribeAll();\n unsubscribeAll = null;\n }\n };\n };\n\n return [getSnapshot, subscribe];\n}", "import { Reactive } from './Reactive.js';\n\nexport class Computed extends Reactive {\n static create(fn, config = {}) {\n const computed = new Computed(fn, config);\n Reactive.addReactive(computed.getter, computed);\n return computed.getter;\n }\n\n // Super\n // props: id, isDirty, dependants, dependantIds\n // methods: begin(), end(), recompute(), callEffects(), addDependant(), markAsDirty()\n\n constructor(fn, config = {}) {\n // Validate context must be a function if provided\n if (config.context && typeof config.context !== 'function') {\n throw new Error('Computed context must be a function');\n }\n super(); // Sets id, isDirty, dependants, dependantIds\n \n this.fn = fn;\n this.effects = new Set(Array.isArray(config.effects) ? config.effects : []);\n this.cachedValue = config.initialValue || undefined;\n this.isDirty = config.initialValue === undefined;\n this.debounce = config.debounce || 0;\n this.onAccess = config.onAccess || undefined;\n this.detatched = config.detatched || false;\n this.immediate = config.immediate || false; \n this.useContext = config.context || (Reactive.hasContext() ? () => Reactive.useContext() : () => undefined);\n this.lastComputeTime = undefined;\n this.hasPendingDebounce = false;\n this.debounceTimer = undefined;\n this.computationId = 0; // Track computation version\n this.getter = this.#getter.bind(this);\n \n\n if (this.immediate) {\n this.compute();\n }\n }\n\n compute() {\n this.begin();\n try { \n const contextValue = this.useContext ? this.useContext() : undefined;\n this.cachedValue = this.fn(contextValue, this.cachedValue);\n this.isDirty = false;\n return this.cachedValue;\n } finally {\n this.end();\n this.callEffects();\n }\n }\n\n #getter() {\n try {\n if (!this.detatched && Reactive.system.currentlyComputing && Reactive.system.currentlyComputing !== this && !this.dependantIds.has(Reactive.system.currentlyComputing.id)) {\n this.dependantIds.add(Reactive.system.currentlyComputing.id);\n this.dependants.add(new WeakRef(Reactive.system.currentlyComputing));\n }\n\n return !this.isDirty ? this.cachedValue : this.recompute();\n } catch (error) {\n throw error;\n } finally {\n if (this.onAccess) {\n this.onAccess(this.cachedValue);\n }\n }\n }\n}\n\nexport const createComputed = (fn, config = {}) => Computed.create(fn, config);\n\nexport const destroyComputed = (target) => {\n if (isComputed(target)) {\n Reactive.destroy(target);\n }\n}\n\nexport const isComputed = (getter) => {\n const computed = Reactive.system.reactives.get(getter);\n if (!computed) {\n return false;\n }\n\n return computed instanceof Computed;\n}\n\nexport const isDirtyComputed = (getter) => {\n const computed = Reactive.system.reactives.get(getter);\n if (!computed) {\n return false;\n }\n\n return computed.isDirty;\n}\n", "import { Reactive } from './Reactive.js';\n\nexport class Signal extends Reactive {\n static create(initialValue, config = {}) {\n const signal = new Signal(initialValue, config);\n Reactive.addReactive(signal.getter, signal);\n return signal.getter;\n }\n\n constructor(initialValue, config = {}) {\n super(); // Sets id, isDirty, dependants, dependantIds\n this.cachedValue = undefined;\n // dependants and dependantIds set by super()\n this.roots = new Set();\n this.effects = new Set(Array.isArray(config.effects) ? config.effects : []);\n // isDirty set by super()\n this.debounce = config.debounce || 0;\n this.onAccess = config.onAccess || null;\n this.detatched = config.detatched || false;\n this.immediate = config.immediate || false;\n this.pendingChange = initialValue;\n this.lastComputeTime = null;\n this.hasPendingDebounce = false;\n this.debounceTimer = null;\n this.getter = (...args) => this.#getter(...args);\n }\n\n compute() {\n this.begin();\n try {\n this.cachedValue = this.pendingChange;\n this.pendingChange = undefined;\n this.isDirty = false;\n return this.cachedValue;\n } finally {\n this.end();\n this.callEffects();\n }\n }\n\n #getter(...args) {\n try {\n if (!this.detatched && Reactive.system.currentlyComputing && Reactive.system.currentlyComputing !== this && !this.dependantIds.has(Reactive.system.currentlyComputing.id)) {\n this.dependantIds.add(Reactive.system.currentlyComputing.id);\n this.dependants.add(new WeakRef(Reactive.system.currentlyComputing));\n }\n\n if (args.length > 0) {\n const signal = args[0];\n this.pendingChange = typeof signal === 'function' ? signal(this.cachedValue) : signal;\n this.markAsDirty();\n return;\n }\n\n if (this.isDirty) {\n return this.recompute();\n }\n\n return this.cachedValue;\n \n } catch (error) {\n throw error;\n } finally {\n if (this.onAccess) {\n this.onAccess(this.cachedValue);\n }\n }\n }\n}\n\nexport const createSignal = (initialValue, config = {}) => Signal.create(initialValue, config);\n\nexport const destroySignal = (getter) => {\n if (isSignal(getter)) {\n Reactive.destroy(getter);\n }\n}\n\nexport const isSignal = (getter) => {\n const signal = Reactive.system.reactives.get(getter);\n if (!signal) {\n return false;\n }\n\n return signal instanceof Signal;\n}\n\nexport const isDirtySignal = (getter) => {\n const signal = Reactive.system.reactives.get(getter);\n if (!signal) {\n return false;\n }\n\n return signal.isDirty;\n}", "import { Reactive } from './Reactive.js';\n\nexport class Subscriber extends Reactive {\n static create(getter, fn, config = {}) {\n const subscriber = new Subscriber(getter, fn, config);\n Reactive.system.reactives.set(subscriber.getter, subscriber);\n Reactive.system.subscribers.add(subscriber.getter);\n return () => Reactive.destroy(subscriber.getter);\n }\n\n constructor(getter, subscriber, config = {}) {\n super(); // Sets id, isDirty, dependants, dependantIds\n this.getter = getter;\n this.isDirty = false; // Override base class default\n this.subscriber = subscriber;\n this.debounce = config.debounce || 0;\n this.onAccess = config.onAccess || null;\n this.immediate = true;\n this.hasPendingDebounce = false;\n this.lastComputeTime = null;\n this.debounceTimer = null;\n // dependants and dependantIds set by super()\n this.begin();\n this.cachedValue = this.getter();\n this.subscriber(this.cachedValue); // Call subscriber with initial value\n this.end();\n }\n\n compute() {\n try {\n this.cachedValue = this.getter();\n this.subscriber(this.cachedValue);\n this.isDirty = false;\n } catch (error) {\n throw error;\n }\n }\n}\n\nexport const createSubscriber = (getter, fn, config = {}) => Subscriber.create(getter, fn, config);\n\nexport const destroySubscriber = (getter) => {\n if (isSubscriber(getter)) {\n Reactive.destroy(getter);\n }\n}\n\nexport const isSubscriber = (getter) => {\n const subscriber = Reactive.system.reactives.get(getter);\n if (!subscriber) {\n return false;\n }\n\n return subscriber instanceof Subscriber;\n}", "export const isAsyncFunction = fn =>\n typeof fn === 'function' &&\n (fn.constructor.name === 'AsyncFunction' ||\n fn.constructor.name === 'AsyncGeneratorFunction');\n", "import { Reactive } from './Reactive.js';\nimport { isAsyncFunction } from './utils/isAsync.js';\n\nexport class Binding extends Reactive {\n static create(fn, dependencies = [], config = {}) {\n const binding = new Binding(fn, dependencies, config);\n Reactive.addReactive(binding.getter, binding);\n return binding.getter;\n }\n\n constructor(fn, dependencies = [], config = {}) {\n // Validate context must be a function if provided\n if (config.context && typeof config.context !== 'function') {\n throw new Error('Binding context must be a function');\n }\n super(); // Sets id, isDirty, dependants, dependantIds\n \n this.fn = fn;\n this.isAsync = isAsyncFunction(fn);\n this.pendingResolve = undefined;\n this.effects = new Set(Array.isArray(config.effects) ? config.effects : []);\n this.cachedValue = config.initialValue || undefined;\n this.isDirty = config.initialValue === undefined;\n this.debounce = config.debounce || 0;\n this.onAccess = config.onAccess || undefined;\n this.detatched = config.detatched || false;\n this.immediate = config.immediate || false; \n this.useContext = config.context || (Reactive.hasContext() ? () => Reactive.useContext() : () => undefined);\n this.resolvers = [];\n this.rejectors = [];\n this.lastComputeTime = undefined;\n this.hasPendingDebounce = false;\n this.debounceTimer = undefined;\n this.computationId = 0; // Track computation version\n this.getter = this.#getter.bind(this);\n\n for (const dependency of dependencies) {\n Reactive.addDependant(dependency, this);\n }\n \n if (this.immediate) {\n this.compute();\n }\n }\n\n compute() {\n try { \n if (!this.isAsync) {\n // Call context function if provided, otherwise use useContext\n const contextValue = this.useContext ? this.useContext() : undefined;\n this.cachedValue = this.fn(contextValue, this.cachedValue);\n this.isDirty = false;\n return this.cachedValue;\n }\n\n // Track this specific computation\n this.computationId = (this.computationId || 0) + 1;\n const computationId = this.computationId;\n\n const contextValue = this.useContext ? this.useContext() : undefined;\n this.pendingResolve = this.fn(contextValue, this.cachedValue);\n this.pendingResolve.then(value => {\n // Only update if this is still the latest computation\n if (this.computationId === computationId) {\n this.resolvers.forEach(resolve => resolve(value));\n this.resolvers = [];\n this.cachedValue = value;\n this.isDirty = false;\n }\n return value;\n }).catch(error => {\n if (this.computationId === computationId) {\n this.rejectors.forEach(reject => reject(error));\n this.rejectors = [];\n }\n }).finally(() => {\n this.pendingResolve = null; // Always clear pending promise\n // Only call end/effects if this is still the latest computation\n if (this.computationId === computationId) {\n this.callEffects();\n }\n });\n\n this.cachedValue = new Promise((resolve, reject) => {\n this.resolvers.push(resolve);\n this.rejectors.push(reject);\n });\n \n return this.cachedValue;\n } finally {\n if (!this.isAsync) {\n this.callEffects();\n }\n }\n }\n\n #getter() {\n try {\n if (!this.detatched && Reactive.system.currentlyComputing && Reactive.system.currentlyComputing !== this && !this.dependantIds.has(Reactive.system.currentlyComputing.id)) {\n this.dependantIds.add(Reactive.system.currentlyComputing.id);\n this.dependants.add(new WeakRef(Reactive.system.currentlyComputing));\n }\n \n if (!this.isDirty) {\n if (this.isAsync) {\n return Promise.resolve(this.cachedValue);\n }\n\n return this.cachedValue;\n }\n\n // If dirty, always start new computation (even if previous pending)\n return this.recompute();\n } catch (error) {\n throw error;\n } finally {\n if (this.onAccess) {\n this.onAccess(this.cachedValue);\n }\n }\n }\n}\n\nexport const createBinding = (fn, dependencies = [], config = {}) => Binding.create(fn, dependencies, config);\n\nexport const destroyBinding = (target) => {\n if (isBinding(target)) {\n Reactive.destroy(target);\n }\n}\n\nexport const isBinding = (getter) => {\n const binding = Reactive.system.reactives.get(getter);\n if (!binding) {\n return false;\n }\n\n return binding instanceof Binding;\n}\n\nexport const isDirtyBinding = (getter) => {\n const binding = Reactive.system.reactives.get(getter);\n if (!binding) {\n return false;\n }\n return binding.isDirty;\n}", "const traversalFunctions = [\n null, // index 0 (unused)\n null, // index 1 (single property access doesn't need optimization)\n (obj, path) => obj?.[path[0]]?.[path[1]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]]?.[path[4]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]]?.[path[4]]?.[path[5]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]]?.[path[4]]?.[path[5]]?.[path[6]],\n (obj, path) => obj?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]]?.[path[4]]?.[path[5]]?.[path[6]]?.[path[7]]\n]\n\nfunction createTraversalFunction(length) {\n const accessors = Array.from({ length }, (_, i) => `?.[path[${i}]]`);\n const expr = \"obj\" + accessors.join(\"\");\n const fn = new Function(\"obj\", \"path\", `return ${expr}`);\n traversalFunctions[length] = fn;\n return fn;\n}\n\nexport function traverse(state, path) {\n const len = path.length;\n if (len === 0) return state;\n if (len === 1) return state[path[0]];\n \n // Use existing function if available\n if (len < traversalFunctions.length && traversalFunctions[len]) {\n return traversalFunctions[len](state, path);\n }\n \n // Create and cache new function if needed\n if (!traversalFunctions[len]) {\n return createTraversalFunction(len)(state, path);\n }\n \n return traversalFunctions[len](state, path);\n}\n", "// Helper function to create appropriate container type\nfunction createNodeType (a) {\n return typeof a === 'number' ? [] : {};\n}\n\n\nconst graftFunctions = [\n null, // index 0\n null, // index 1\n (state, path, value) => {\n const [a, b] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c, d] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = c in state[a][b] ? state[a][b][c] : createNodeType(d);\n state[a][b][c][d] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c, d, e] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = c in state[a][b] ? state[a][b][c] : createNodeType(d);\n state[a][b][c][d] = d in state[a][b][c] ? state[a][b][c][d] : createNodeType(e);\n state[a][b][c][d][e] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c, d, e, f] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = c in state[a][b] ? state[a][b][c] : createNodeType(d);\n state[a][b][c][d] = d in state[a][b][c] ? state[a][b][c][d] : createNodeType(e);\n state[a][b][c][d][e] = e in state[a][b][c][d] ? state[a][b][c][d][e] : createNodeType(f);\n state[a][b][c][d][e][f] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c, d, e, f, g] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = c in state[a][b] ? state[a][b][c] : createNodeType(d);\n state[a][b][c][d] = d in state[a][b][c] ? state[a][b][c][d] : createNodeType(e);\n state[a][b][c][d][e] = e in state[a][b][c][d] ? state[a][b][c][d][e] : createNodeType(f);\n state[a][b][c][d][e][f] = f in state[a][b][c][d][e] ? state[a][b][c][d][e][f] : createNodeType(g);\n state[a][b][c][d][e][f][g] = value;\n return value;\n },\n (state, path, value) => {\n const [a, b, c, d, e, f, g, h] = path;\n state[a] = a in state ? state[a] : createNodeType(b);\n state[a][b] = b in state[a] ? state[a][b] : createNodeType(c);\n state[a][b][c] = c in state[a][b] ? state[a][b][c] : createNodeType(d);\n state[a][b][c][d] = d in state[a][b][c] ? state[a][b][c][d] : createNodeType(e);\n state[a][b][c][d][e] = e in state[a][b][c][d] ? state[a][b][c][d][e] : createNodeType(f);\n state[a][b][c][d][e][f] = f in state[a][b][c][d][e] ? state[a][b][c][d][e][f] : createNodeType(g);\n state[a][b][c][d][e][f][g] = g in state[a][b][c][d][e][f] ? state[a][b][c][d][e][f][g] : createNodeType(h);\n state[a][b][c][d][e][f][g][h] = value;\n return value;\n }\n];\n\nfunction createGraftFunction(depth) {\n // Instead of alphabet, use numbered variables\n const names = Array.from({ length: depth }, (_, i) => `v${i}`);\n const args = names.join(', ');\n let body = `const [${args}] = path;\\n`;\n\n let pathSoFar = 'state';\n for (let i = 0; i < depth - 1; i++) {\n const current = names[i];\n const next = names[i + 1];\n body += `${pathSoFar}[${current}] = (${pathSoFar}[${current}] !== undefined && typeof ${pathSoFar}[${current}] === 'object') ? ${pathSoFar}[${current}] : createNodeType(${next});\\n`;\n pathSoFar += `[${current}]`;\n }\n\n body += `${pathSoFar}[${names[depth - 1]}] = value;\\nreturn state;`;\n\n const fn = new Function('state', 'path', 'value', 'createNodeType', body);\n graftFunctions[depth] = (state, path, value) => fn(state, path, value, createNodeType);\n return graftFunctions[depth];\n}\n\nexport function graft(state, path, value) {\n const len = path.length;\n\n if (len === 0) {\n return Object.assign(state, value);\n }\n\n if (len === 1) {\n return state[path[0]] = value;\n }\n \n // Use or create cached function\n if (!graftFunctions[len]) {\n return createGraftFunction(len)(state, path, value);\n }\n \n return graftFunctions[len](state, path, value);\n}", "// Store.js\nimport { createComputed, isComputed, destroyComputed } from './Computed.js';\nimport { addEffect } from './Reactive.js';\nimport { createSignal, isSignal } from './Signal.js';\nimport { createBinding, isBinding } from './Binding.js';\nimport { traverse } from './lib/traverse.js';\nimport { graft } from './lib/mutate.js';\n\nconst EMPTY_CACHE = Symbol();\n\nexport class Store {\n static stores = new WeakMap();\n static plugins = new Map();\n\n static registerPlugin(name, plugin) {\n if (Store.plugins.has(name)) {\n throw new Error(`Plugin \"${name}\" already registered`);\n }\n Store.plugins.set(name, plugin());\n }\n\n static resetPlugins() {\n Store.plugins.clear();\n }\n\n static create(setupFn, options = {}) {\n const instance = new Store(options);\n const useStore = instance.setup(setupFn);\n Store.stores.set(useStore, instance);\n return useStore;\n }\n\n static createPlugin(name, fn, options = {}) {\n const plugin = Store.create(fn, options);\n Store.registerPlugin(name, plugin);\n return plugin;\n }\n\n #refreshSubscribers = new Set();\n #changeSubscribers = new Set();\n #accessSubscribers = new Set();\n\n constructor(options = {}) {\n this.options = options;\n this.setupFn = null;\n this.subscribers = new Set();\n this.subscribersQueued = false;\n this.destroyCallback = null;\n\n this.actions = new Set();\n this.extensions = new Set();\n\n this.snapshotCache = EMPTY_CACHE;\n this.store = this.#createStore();\n this.useStore = () => this.store;\n }\n\n setup(setupFn) {\n setupFn = setupFn ?? this.setupFn;\n if (!setupFn) {\n return null;\n }\n\n this.setupFn = setupFn;\n this.reset();\n\n try {\n let result;\n \n if (typeof setupFn === 'function') {\n result = this.#setupFromFunction(setupFn);\n } else if (typeof setupFn === 'object' && setupFn !== null) {\n result = this.#setupFromObject(setupFn);\n } else {\n throw new Error('setupFn must be a function or object configuration');\n }\n \n this.#bindStore(result);\n this.#queueSubscribers();\n this.#callRefreshSubscribers();\n return this.useStore;\n } catch (error) {\n console.error('Error in setup function', error);\n throw error;\n }\n }\n\n reset() {\n this.subscribers.clear();\n this.subscribersQueued = false;\n this.actions.clear();\n this.extensions.clear();\n this.snapshotCache = EMPTY_CACHE;\n this.#changeSubscribers.clear();\n this.#accessSubscribers.clear();\n this.store = this.#createStore();\n }\n\n createAction(fn) {\n const action = fn.bind(this.store, this.store)\n this.actions.add(action);\n return action;\n }\n\n extend(useStore) {\n \n if (!useStore) throw new Error('No source store provided');\n \n if (!isStore(useStore)) {\n throw new Error('Cannot extend non-store');\n }\n const store = useStore();\n this.extensions.add(store);\n return store;\n }\n\n #setupFromFunction(setupFn) {\n return setupFn({\n signal: (initial = undefined) => createSignal(initial),\n computed: (fn = () => {}) => createComputed(fn, { context: () => this.store }),\n binding: (fn = () => {}, dependencies = []) => createBinding(fn, dependencies, { context: () => this.store }),\n action: (fn = () => {}) => this.createAction(fn),\n extend: (useStore) => this.extend(useStore),\n destroy: () => this.#destroy(),\n ...Object.fromEntries(Store.plugins.entries())\n }) || {};\n }\n\n #processStateValue(stateConfig, isDev, key) {\n // Support shorthand: state: { count: 0 } instead of { count: { default: 0 } }\n if (typeof stateConfig !== 'object' || stateConfig === null) {\n return typeof stateConfig === 'function' ? stateConfig() : stateConfig;\n }\n \n // If it's an object but doesn't have 'default', treat as shorthand\n if (!('default' in stateConfig)) {\n // Validate state config in dev mode\n if (isDev && 'dummy' in stateConfig) {\n console.warn(`State \"${key}\" has dummy value but no default value`);\n }\n return typeof stateConfig === 'function' ? stateConfig() : stateConfig;\n }\n \n // Full config with default/dummy\n let value = isDev && 'dummy' in stateConfig ? stateConfig.dummy : stateConfig.default;\n return typeof value === 'function' ? value() : value;\n }\n\n #setupFromObject(config) {\n const result = {};\n const isDev = this.options.mode === 'development' || this.options.mode === 'dev';\n\n // 1. Process extend array first (so extended properties are available)\n if (config.extend && Array.isArray(config.extend)) {\n for (const useStore of config.extend) {\n this.extend(useStore);\n }\n }\n\n // 2. Process plugins (if specified) - handled in #bindStore via Store.plugins\n // Note: Plugins are automatically added to all stores, so we don't need to add them to result\n // If you want selective plugin inclusion, you'd need to modify #bindStore\n\n // 3. Process state definitions\n if (config.state && typeof config.state === 'object') {\n for (const [key, stateConfig] of Object.entries(config.state)) {\n const initialValue = this.#processStateValue(stateConfig, isDev, key);\n result[key] = createSignal(initialValue);\n }\n }\n\n // 4. Process computed properties\n if (config.computed && typeof config.computed === 'object') {\n for (const [key, fn] of Object.entries(config.computed)) {\n if (typeof fn === 'function') {\n result[key] = createComputed(fn, { context: () => this.store });\n }\n }\n }\n\n // 5. Process actions\n if (config.actions && typeof config.actions === 'object') {\n for (const [key, fn] of Object.entries(config.actions)) {\n if (typeof fn === 'function') {\n result[key] = this.createAction(fn);\n }\n }\n }\n\n // 6. Handle lifecycle hooks\n if (config.onInit && typeof config.onInit === 'function') {\n // Execute after setup is complete\n Promise.resolve().then(() => {\n try {\n config.onInit(this.store);\n } catch (error) {\n console.error('Error in onInit callback', error);\n }\n });\n }\n\n if (config.onDestroy && typeof config.onDestroy === 'function') {\n // Store for later execution\n this.destroyCallback = config.onDestroy;\n }\n\n return result;\n }\n\n #createAdapter () { \n return [() => this.#getSnapshot(), (subscriber) => this.#subscribe(subscriber)];\n }\n\n #getSnapshot() {\n if (this.snapshotCache !== EMPTY_CACHE) {\n return this.snapshotCache;\n }\n\n const clone = Object.create(Object.getPrototypeOf(this.store));\n Object.defineProperties(clone, Object.getOwnPropertyDescriptors(this.store));\n this.snapshotCache = Object.freeze(clone);\n \n return this.snapshotCache;\n };\n\n #subscribe(listener) {\n this.subscribers.add(listener);\n return () => this.subscribers.delete(listener);\n }\n\n #callSubscribers(snapshot) {\n for (const subscriber of this.subscribers) {\n subscriber(snapshot);\n }\n }\n\n #queueSubscribers() {\n if (this.subscribers.size === 0 || this.subscribersQueued) return;\n this.subscribersQueued = true;\n Promise.resolve().then(() => {\n this.subscribersQueued = false;\n this.snapshotCache = EMPTY_CACHE;\n this.#callSubscribers(this.#getSnapshot());\n });\n }\n\n #createStore(store = Object.create(null)) {\n Object.defineProperty(store, '$get', {\n value: (path) => this.#get(path),\n writable: false,\n enumerable: false,\n configurable: false\n });\n \n Object.defineProperty(store, '$set', {\n value: (path, newValue) => this.#set(path, newValue),\n writable: false,\n enumerable: false,\n configurable: false\n });\n \n Object.defineProperty(store, '$dispatch', {\n value: (path) => this.#dispatch(path),\n writable: false,\n enumerable: false,\n configurable: false\n });\n \n Object.defineProperty(store, '$inject', {\n value: (overrides) => Object.assign({}, this.store, overrides),\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$snapshot', {\n value: () => this.#getSnapshot(),\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$subscribe', {\n value: (listener) => this.#subscribe(listener),\n writable: false,\n enumerable: false,\n configurable: false\n });\n \n Object.defineProperty(store, '$adapter', {\n value: () => this.#createAdapter(),\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$destroy', {\n value: () => this.#destroy(),\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$onRefresh', {\n value: (fn) => this.#onRefresh(fn),\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$onAccess', {\n value: (callback) => {\n this.#accessSubscribers.add(callback);\n return () => this.#accessSubscribers.delete(callback);\n },\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n Object.defineProperty(store, '$onChange', {\n value: (callback) => {\n this.#changeSubscribers.add(callback);\n return () => this.#changeSubscribers.delete(callback);\n },\n writable: false,\n enumerable: false,\n configurable: false\n });\n\n return store;\n }\n\n #callRefreshSubscribers() {\n if (this.#refreshSubscribers.size === 0) return;\n for (const fn of this.#refreshSubscribers) {\n fn(this.store);\n }\n }\n\n #valueAccessed(key, value) {\n if (this.#accessSubscribers.size === 0) return;\n for (const fn of this.#accessSubscribers) fn(key, value);\n }\n\n #onChange(key, value) {\n if (this.#changeSubscribers.size > 0) {\n for (const fn of this.#changeSubscribers) fn(key, value);\n }\n this.#queueSubscribers();\n }\n\n #onRefresh(fn) {\n this.#refreshSubscribers.add(fn);\n return () => this.#refreshSubscribers.delete(fn);\n }\n\n #destroy() {\n // Call onDestroy callback if defined\n if (this.destroyCallback && typeof this.destroyCallback === 'function') {\n try {\n this.destroyCallback(this.store);\n } catch (error) {\n console.error('Error in onDestroy callback', error);\n }\n }\n \n const storeComputed = this.storeComputed;\n this.storeComputed = null;\n Store.stores.delete(storeComputed);\n destroyComputed(storeComputed);\n }\n\n #get(path = []) {\n return traverse(this.store, path);\n }\n\n #set(path, newValue) {\n path = path.slice();\n const key = path.shift();\n\n if (!(key in this.store)) return this.store;\n\n if (path.length === 0) {\n this.store[key] = newValue;\n return this.store;\n }\n\n const current = this.store[key];\n\n if (current === null || current === undefined) {\n const container = typeof path[0] === 'number' ? [] : {};\n graft(container, path, newValue);\n this.store[key] = container;\n } else if (typeof current === 'object') {\n graft(current, path, newValue);\n this.store[key] = current;\n } else {\n console.warn(`[Store] Cannot set nested path on \"${key}\": expected object or array, got ${typeof current}`);\n return this.store;\n }\n\n return this.store;\n }\n\n #dispatch(name, ...args) {\n const action = this.actions.has(name)\n ? this.actions.get(name)\n : this.store[name];\n\n if (typeof action === 'function') {\n return action(...args);\n }\n return this.storeComputed();\n }\n\n #bindStore(result = {}) {\n const oldKeys = Object.keys(this.store);\n\n while (oldKeys.length > 0) {\n const key = oldKeys.shift();\n if (key in this.store) {\n delete this.store[key];\n }\n }\n\n for (const [key, plugin] of Store.plugins) {\n Object.defineProperty(this.store, key, {\n value: plugin\n });\n }\n\n for (const extension of this.extensions) {\n const descriptors = Object.getOwnPropertyDescriptors(extension);\n // Filter out the special $ methods if you don't want to inherit those\n const filteredDescriptors = Object.fromEntries(\n Object.entries(descriptors).filter(([key]) => !key.startsWith('$'))\n );\n Object.defineProperties(this.store, filteredDescriptors);\n }\n\n const entries = Object.entries(result);\n \n for (const [key, value] of entries) {\n // Signals - add getter/setter\n if (isSignal(value)) {\n addEffect(value, (current) => this.#onChange(key, current));\n Object.defineProperty(this.store, key, {\n get: () => {\n const current = value();\n this.#valueAccessed(key, current);\n return current;\n },\n set: (newValue) => value(newValue),\n enumerable: true\n });\n continue;\n }\n\n // Computeds - add getter only\n if (isComputed(value)) {\n addEffect(value, (current) => this.#onChange(key, current));\n Object.defineProperty(this.store, key, {\n get: () => {\n const current = value();\n this.#valueAccessed(key, current);\n return current;\n },\n enumerable: true\n });\n continue;\n }\n \n // Bindings - add getter only (returns promise or value)\n if (isBinding(value)) {\n addEffect(value, (current) => this.#onChange(key, current));\n Object.defineProperty(this.store, key, {\n get: () => {\n const current = value();\n this.#valueAccessed(key, current);\n return current;\n },\n enumerable: true\n });\n continue;\n }\n \n // Actions - just assign\n if (this.actions.has(value)) {\n Object.defineProperty(this.store, key, { value, enumerable: true });\n continue;\n }\n\n // Everything else - assign as-is\n this.store[key] = value;\n }\n\n return this.store;\n }\n}\n\nexport const defineStore = (...args) => Store.create(...args);\nexport const refreshStore = (storeComputed) => {\n if (isStore(storeComputed)) {\n const storeInstance = Store.stores.get(storeComputed);\n if (storeInstance) {\n storeInstance.setup();\n }\n }\n}\nexport const definePlugin = (...args) => Store.createPlugin(...args);\nexport const isStore = (storeComputed) => Store.stores.has(storeComputed);\n\nexport const destroyStore = (storeComputed) => {\n if (isStore(storeComputed)) {\n Store.stores.delete(storeComputed);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["nextIdleTick", "callback", "ComputationManager", "reactive", "nextIdleTick", "deadRefs", "ids", "weakRef", "dependant", "ref", "now", "timeElapsed", "reactives", "sortedReactives", "callback", "error", "sorted", "visited", "visiting", "visit", "dependants", "REACTIVE_SYSTEM", "ComputationManager", "Reactive", "_Reactive", "getter", "reactive", "subscriber", "key", "value", "keys", "out", "i", "dependant", "effect", "reactives", "error", "reactorIndex", "cycle", "deadRefs", "ids", "weakRef", "ref", "isReactive", "getter", "Reactive", "isDirty", "addEffect", "effect", "removeEffect", "addContext", "key", "value", "Reactive", "useContext", "keys", "hasContext", "createAdapter", "getter", "path", "isReactive", "snapshotCache", "unsubscribeAll", "subscribers", "getSnapshot", "clone", "listener", "addEffect", "subscriber", "Computed", "_Computed", "Reactive", "fn", "config", "computed", "#getter", "contextValue", "error", "createComputed", "destroyComputed", "target", "isComputed", "getter", "isDirtyComputed", "Signal", "_Signal", "Reactive", "initialValue", "config", "signal", "args", "#getter", "error", "createSignal", "destroySignal", "getter", "isSignal", "isDirtySignal", "Subscriber", "_Subscriber", "Reactive", "getter", "fn", "config", "subscriber", "error", "createSubscriber", "destroySubscriber", "isSubscriber", "isAsyncFunction", "fn", "Binding", "_Binding", "Reactive", "fn", "dependencies", "config", "binding", "isAsyncFunction", "#getter", "dependency", "contextValue", "computationId", "value", "resolve", "error", "reject", "createBinding", "destroyBinding", "target", "isBinding", "getter", "isDirtyBinding", "traversalFunctions", "obj", "path", "createTraversalFunction", "length", "expr", "_", "i", "fn", "traverse", "state", "len", "createNodeType", "a", "graftFunctions", "state", "path", "value", "b", "c", "d", "e", "f", "g", "h", "createGraftFunction", "depth", "names", "_", "i", "body", "pathSoFar", "current", "next", "fn", "graft", "len", "EMPTY_CACHE", "Store", "_Store", "name", "plugin", "setupFn", "options", "instance", "useStore", "fn", "#refreshSubscribers", "#changeSubscribers", "#accessSubscribers", "#createStore", "result", "#setupFromFunction", "#setupFromObject", "#bindStore", "#queueSubscribers", "#callRefreshSubscribers", "error", "action", "isStore", "store", "initial", "createSignal", "createComputed", "dependencies", "createBinding", "#destroy", "#processStateValue", "stateConfig", "isDev", "key", "value", "config", "initialValue", "#createAdapter", "#getSnapshot", "subscriber", "#subscribe", "clone", "listener", "#callSubscribers", "snapshot", "path", "#get", "newValue", "#set", "#dispatch", "overrides", "#onRefresh", "callback", "#valueAccessed", "#onChange", "storeComputed", "destroyComputed", "traverse", "current", "container", "graft", "args", "oldKeys", "extension", "descriptors", "filteredDescriptors", "entries", "isSignal", "addEffect", "isComputed", "isBinding", "defineStore", "refreshStore", "storeInstance", "definePlugin"]
5
+ "mappings": "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",
6
+ "names": ["nextIdleTick", "callback", "ComputationManager", "reactive", "nextIdleTick", "deadRefs", "ids", "weakRef", "dependant", "ref", "now", "timeElapsed", "reactives", "sortedReactives", "callback", "error", "sorted", "visited", "visiting", "visit", "dependants", "REACTIVE_SYSTEM", "ComputationManager", "Reactive", "_Reactive", "getter", "reactive", "subscriber", "key", "value", "keys", "out", "i", "dependant", "effect", "reactives", "error", "reactorIndex", "cycle", "deadRefs", "ids", "weakRef", "ref", "markAsDirty", "isReactive", "reactiveInstance", "isDirty", "addEffect", "removeEffect", "addContext", "key", "value", "Reactive", "useContext", "keys", "hasContext", "createAdapter", "getter", "path", "isReactive", "snapshotCache", "unsubscribeAll", "subscribers", "getSnapshot", "clone", "listener", "addEffect", "subscriber", "Computed", "_Computed", "Reactive", "fn", "config", "computed", "#getter", "contextValue", "error", "createComputed", "destroyComputed", "target", "isComputed", "getter", "isDirtyComputed", "Signal", "_Signal", "Reactive", "initialValue", "config", "signal", "args", "#getter", "error", "createSignal", "destroySignal", "getter", "isSignal", "isDirtySignal", "Subscriber", "_Subscriber", "Reactive", "getter", "fn", "config", "subscriber", "error", "createSubscriber", "destroySubscriber", "isSubscriber", "isAsyncFunction", "fn", "Binding", "_Binding", "Reactive", "fn", "dependencies", "config", "binding", "isAsyncFunction", "#getter", "dependency", "contextValue", "computationId", "value", "resolve", "error", "reject", "createBinding", "destroyBinding", "target", "isBinding", "getter", "isDirtyBinding", "traversalFunctions", "obj", "path", "createTraversalFunction", "length", "expr", "_", "i", "fn", "traverse", "state", "len", "createNodeType", "a", "graftFunctions", "state", "path", "value", "b", "c", "d", "e", "f", "g", "h", "createGraftFunction", "depth", "names", "_", "i", "body", "pathSoFar", "current", "next", "fn", "graft", "len", "EMPTY_CACHE", "Store", "_Store", "name", "plugin", "setupFn", "options", "instance", "useStore", "fn", "#refreshSubscribers", "#changeSubscribers", "#accessSubscribers", "#createStore", "result", "#setupFromFunction", "#setupFromObject", "#bindStore", "#queueSubscribers", "#callRefreshSubscribers", "error", "action", "isStore", "store", "initial", "createSignal", "createComputed", "dependencies", "createBinding", "#destroy", "#processStateValue", "stateConfig", "isDev", "key", "value", "config", "initialValue", "#createAdapter", "#getSnapshot", "subscriber", "#subscribe", "clone", "listener", "#callSubscribers", "snapshot", "path", "#get", "newValue", "#set", "#dispatch", "overrides", "#onRefresh", "callback", "#valueAccessed", "#onChange", "storeComputed", "destroyComputed", "traverse", "current", "container", "graft", "args", "oldKeys", "extension", "descriptors", "filteredDescriptors", "entries", "isSignal", "addEffect", "isComputed", "isBinding", "defineStore", "refreshStore", "storeInstance", "definePlugin"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jucie.io/reactive",
3
- "version": "1.0.33",
3
+ "version": "1.0.34",
4
4
  "description": "Fine-grained reactivity with signals, computed values, and effects (includes core + extensions)",
5
5
  "type": "module",
6
6
  "main": "./dist/main.js",