mutts 1.0.3 → 1.0.4
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/chunks/{index-DzUDtFc7.esm.js → index-79Kk8D6e.esm.js} +67 -51
- package/dist/chunks/index-79Kk8D6e.esm.js.map +1 -0
- package/dist/chunks/{index-HNVqPzjz.js → index-GRBSx0mB.js} +67 -50
- package/dist/chunks/index-GRBSx0mB.js.map +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/mutts.umd.js +1 -1
- package/dist/mutts.umd.js.map +1 -1
- package/dist/mutts.umd.min.js +1 -1
- package/dist/mutts.umd.min.js.map +1 -1
- package/dist/reactive.d.ts +2 -1
- package/dist/reactive.esm.js +1 -1
- package/dist/reactive.js +2 -1
- package/dist/reactive.js.map +1 -1
- package/package.json +1 -1
- package/src/reactive/effects.ts +63 -51
- package/src/reactive/index.ts +1 -0
- package/src/reactive/proxy.ts +5 -1
- package/dist/chunks/index-DzUDtFc7.esm.js.map +0 -1
- package/dist/chunks/index-HNVqPzjz.js.map +0 -1
package/dist/mutts.umd.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Mutts={})}(this,function(t){"use strict";const e=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function n(t){return t&&"function"==typeof t&&(e.has(t)||t.toString?.().startsWith("class "))}function r(t,e){return Object.defineProperties(t,{name:{value:e}})}function o(t,e,n){return"undefined"!=typeof Node&&t instanceof Node?t[e]:Reflect.get(t,e,n)}function s(t,e,n,r){return"undefined"!=typeof Node&&t instanceof Node?(t[e]=n,!0):t instanceof Object||Reflect.has(t,e)?Reflect.set(t,e,n,r):(Object.defineProperty(t,e,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)}function i(t,e){const n=Object.getOwnPropertyDescriptor(t,e);return!(!n?.get&&!n?.set)}class c extends Error{constructor(t){super(t),this.name="DecoratorException"}}function a(t){return function(e,r,o,...s){if(void 0===r){if(n(e)){if(!("class"in t))throw new Error("Decorator cannot be applied to a class");return t.class(e)}}else if("object"==typeof e&&["string","symbol"].includes(typeof r)){if(!o)throw new Error("Decorator cannot be applied to a field");if("object"==typeof o&&"configurable"in o){if("get"in o||"set"in o){if(!("getter"in t)&&!("setter"in t))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in t){const e=t.getter(o.get,r);e&&(o.get=e)}if("setter"in t){const e=t.setter(o.set,r);e&&(o.set=e)}return o}if("function"==typeof o.value){if(!("method"in t))throw new Error("Decorator cannot be applied to a method");const e=t.method(o.value,r);return e&&(o.value=e),o}}}if(!("default"in t))throw new Error("Decorator do not have a default implementation");return t.default.call(this,e,r,o,...s)}}function f(t){return function(e,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in t))throw new Error("Decorator do not have a default implementation");return t.default.call(this,e,n,...r)}switch(n.kind){case"class":if(!("class"in t))throw new Error("Decorator cannot be applied to a class");return t.class(e);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in t))throw new Error("Decorator cannot be applied to a getter");return t.getter(e,n.name);case"setter":if(!("setter"in t))throw new Error("Decorator cannot be applied to a setter");return t.setter(e,n.name);case"method":if(!("method"in t))throw new Error("Decorator cannot be applied to a method");return t.method(e,n.name);case"accessor":{if(!("getter"in t)&&!("setter"in t))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in t){const o=t.getter(e.get,n.name);o&&(r.get=o)}if("setter"in t){const o=t.setter(e.set,n.name);o&&(r.set=o)}return r}}}}const l=t=>{const e=f(t),n=a(t);return(t,r,...o)=>{const s=function(t,e){return"object"==typeof e&&null!==e&&"string"==typeof e.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?e(t,r,...o):n(t,r,...o)}},u=new FinalizationRegistry(t=>t()),h=Symbol("destructor"),d=Symbol("allocated");class p extends Error{static throw(t){return()=>{throw new p(t)}}constructor(t){super(`Object is destroyed. ${t}`),this.name="DestroyedAccessError"}}const g={[Symbol.toStringTag]:"MutTs Destroyable",get:p.throw("Cannot access destroyed object"),set:p.throw("Cannot access destroyed object")};const y=l({setter:(t,e)=>function(n){return this[d][e]=n,t.call(this,n)}});function m(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function b(t,e,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(t,n):o?o.value=n:e.set(t,n),n}var w,v;"function"==typeof SuppressedError&&SuppressedError;w=new WeakMap,v=new WeakMap;const S=Symbol("getAt"),k=Symbol("setAt");function j(t,e){t&&"function"!=typeof t&&(e=t,t=void 0),t||(t=class{}),e||(e={get(t){if("function"!=typeof this[S])throw new Error("Indexable class must have an [getAt] method");return this[S](t)},set(t,e){if("function"!=typeof this[k])throw new Error("Indexable class has read-only numeric index access");this[k](t,e)}});class n extends t{}return Object.setPrototypeOf(n.prototype,new Proxy(t.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(t,n,r){if(n in t){const e=Object.getOwnPropertyDescriptor(t,n)?.get;return e?e.call(r):t[n]}if("string"==typeof n){if("length"===n&&e.getLength)return e.getLength.call(r);const t=Number(n);if(!Number.isNaN(t))return e.get.call(r,t)}},set(t,n,r,o){if(n in t){const e=Object.getOwnPropertyDescriptor(t,n)?.set;return e?e.call(o,r):t[n]=r,!0}if("string"==typeof n){if("length"===n&&e.setLength)return e.setLength.call(o,r),!0;const t=Number(n);if(!Number.isNaN(t)){if(!e.set)throw new Error("Indexable class has read-only numeric index access");return e.set.call(o,t,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0}})),n}const O=Symbol("forwardArray");class E{get[O](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[O].length}[Symbol.iterator](){return this[O][Symbol.iterator]()}map(t,e){return this[O].map(t,e)}filter(t,e){return this[O].filter(t,e)}reduce(t,e){return void 0!==e?this[O].reduce(t,e):this[O].reduce(t)}reduceRight(t,e){return void 0!==e?this[O].reduceRight(t,e):this[O].reduceRight(t)}forEach(t,e){this[O].forEach(t,e)}find(t,e){return this[O].find(t,e)}findIndex(t,e){return this[O].findIndex(t,e)}findLast(t,e){return this[O].findLast(t,e)}findLastIndex(t,e){return this[O].findLastIndex(t,e)}includes(t,e){return this[O].includes(t,e)}indexOf(t,e){return this[O].indexOf(t,e)}lastIndexOf(t,e){return this[O].lastIndexOf(t,e)}slice(t,e){return this[O].slice(t,e)}concat(...t){return this[O].concat(...t)}every(t,e){return this[O].every(t,e)}some(t,e){return this[O].some(t,e)}join(t){return this[O].join(t)}keys(){return this[O].keys()}values(){return this[O].values()}entries(){return this[O].entries()}toString(){return this[O].toString()}toLocaleString(t,e){return this[O].toLocaleString(t,e)}at(t){return this[O].at(t)}flat(t){return this[O].flat(t)}flatMap(t,e){return this[O].flatMap(t,e)}toReversed(){return this[O].toReversed?.()??[...this[O]].reverse()}toSorted(t){return this[O].toSorted?.(t)??[...this[O]].sort(t)}toSpliced(t,e,...n){return void 0===e?this[O].toSpliced(t):this[O].toSpliced(t,e,...n)}with(t,e){return this[O].with(t,e)}get[Symbol.unscopables](){return this[O][Symbol.unscopables]}}var x,M;class R{constructor(t){if(this.uuids=new WeakMap,this.refs={},this[x]="IterableWeakMap",this.registry=new FinalizationRegistry(t=>{delete this.refs[t]}),t)for(const[e,n]of t)this.set(e,n)}createIterator(t){const{refs:e}=this;return function*(){for(const n of Object.keys(e)){const[r,o]=e[n],s=r.deref();s?yield t(s,o):delete e[n]}}()}clear(){for(const t of Object.keys(this.refs)){const e=this.refs[t][0].deref();e&&this.registry.unregister(e)}this.uuids=new WeakMap,this.refs={}}delete(t){const e=this.uuids.get(t);return!!e&&(delete this.refs[e],this.uuids.delete(t),this.registry.unregister(t),!0)}forEach(t,e){for(const[n,r]of this)t.call(e??this,r,n,e??this)}get(t){const e=this.uuids.get(t);if(e)return this.refs[e][1]}has(t){return this.uuids.has(t)}set(t,e){let n=this.uuids.get(t);return n?this.refs[n][1]=e:(n=crypto.randomUUID(),this.uuids.set(t,n),this.refs[n]=[new WeakRef(t),e],this.registry.register(t,n,t)),this}get size(){return[...this].length}entries(){return this.createIterator((t,e)=>[t,e])}keys(){return this.createIterator((t,e)=>t)}values(){return this.createIterator((t,e)=>e)}[Symbol.iterator](){return this.entries()}}x=Symbol.toStringTag;class A{constructor(t){if(this.uuids=new WeakMap,this.refs={},this[M]="IterableWeakSet",this.registry=new FinalizationRegistry(t=>{delete this.refs[t]}),t)for(const e of t)this.add(e)}createIterator(t){const{refs:e}=this;return function*(){for(const n of Object.keys(e)){const r=e[n].deref();r?yield t(r):delete e[n]}}()}clear(){for(const t of Object.keys(this.refs)){const e=this.refs[t].deref();e&&this.registry.unregister(e)}this.uuids=new WeakMap,this.refs={}}add(t){let e=this.uuids.get(t);return e||(e=crypto.randomUUID(),this.uuids.set(t,e),this.refs[e]=new WeakRef(t),this.registry.register(t,e,t)),this}delete(t){const e=this.uuids.get(t);return!!e&&(delete this.refs[e],this.uuids.delete(t),this.registry.unregister(t),!0)}forEach(t,e){for(const n of this)t.call(e??this,n,n,e??this)}has(t){return this.uuids.has(t)}get size(){return[...this].length}entries(){return this.createIterator(t=>[t,t])}keys(){return this.createIterator(t=>t)}values(){return this.createIterator(t=>t)}[Symbol.iterator](){return this.keys()}union(t){const e={[Symbol.iterator]:()=>t.keys()},n=this;return new Set(function*(){yield*n;for(const t of e)n.has(t)||(yield t)}())}intersection(t){const e=this;return new Set(function*(){for(const n of e)t.has(n)&&(yield n)}())}difference(t){const e=this;return new Set(function*(){for(const n of e)t.has(n)||(yield n)}())}symmetricDifference(t){const e={[Symbol.iterator]:()=>t.keys()},n=this;return new Set(function*(){for(const e of n)t.has(e)||(yield e);for(const t of e)n.has(t)||(yield t)}())}isSubsetOf(t){for(const e of this)if(!t.has(e))return!1;return!0}isSupersetOf(t){const e={[Symbol.iterator]:()=>t.keys()};for(const t of e)if(!this.has(t))return!1;return!0}isDisjointFrom(t){for(const e of this)if(t.has(e))return!1;return!0}}function D(t,e){const r=new WeakMap,s=t(Object);return r.set(Object,s),new Proxy(s,{apply(s,i,c){if(0===c.length)throw new Error("Mixin requires a base class");const a=c[0];if("function"!=typeof a)throw new Error("Mixin requires a constructor function");if(!(n(a)||a&&"function"==typeof a&&a.prototype))throw new Error("Mixin requires a valid constructor");const f=r.get(a);if(f)return f;let l=a;if(e){const t=class extends a{},n=a.prototype,r=new Proxy(n,{get(t,n,r){const s=o(t,n,r);return"function"!=typeof s||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?s:function(...t){const n=e(this);return s.apply(n,t)}}});Object.setPrototypeOf(t.prototype,r),l=t}const u=t(l);return r.set(a,u),u}})}M=Symbol.toStringTag;const P=Symbol("native-reactive"),W=Symbol("non-reactive"),T=Symbol("unreactive-properties"),$=Symbol("prototype-forwarding"),z=Symbol("all-props"),C=Symbol("root-function");var I;!function(t){t.CycleDetected="CYCLE_DETECTED",t.MaxDepthExceeded="MAX_DEPTH_EXCEEDED",t.MaxReactionExceeded="MAX_REACTION_EXCEEDED",t.WriteInComputed="WRITE_IN_COMPUTED",t.TrackingError="TRACKING_ERROR"}(I||(I={}));class K extends Error{constructor(t,e){super(t),this.debugInfo=e,this.name="ReactiveError"}}const N={enter:t=>{},leave:t=>{},chain:(t,e)=>{},beginChain:t=>{},endChain:()=>{},garbageCollected:t=>{},touched:(t,e,n,r)=>{},skipRunningEffect:(t,e)=>{},maxEffectChain:100,maxEffectReaction:"throw",cycleHandling:"throw",maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...t)=>{},introspection:{enableHistory:!1,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}},q=[];function F(){return q.slice()}function V(t){const e=et(t),n=q.indexOf(e);if(-1!==n)return q.slice(0,n+1).reverse();for(let t=0;t<q.length;t++){let n=q[t];const r=new WeakSet,o=[];for(;n&&!r.has(n);){r.add(n);const s=et(n);if(o.push(s),s===e){const n=o.reverse();n[0]!==e&&n.unshift(e);const r=q.slice(0,t+1).reverse();return n.length>0&&r.length>0&&r.shift(),[...n,...r]}n=Q.get(n)}}return!1}function L(t,e){const n=q.slice();H(t);try{return e()}finally{H(n)}}function U(){return q[0]}function _(t,e){if(et(t)===et(U()))return e();q.unshift(t);try{return e()}finally{if(q.shift()!==t)throw new K("[reactive] Effect stack mismatch")}}function H(t){q.length=0,q.push(...t)}const B=new WeakMap,G=new WeakMap;function X(t){let e=t;for(;e&&"object"==typeof e&&null!==e&&G.has(e);)e=G.get(e);return e}const Z=new WeakMap,Y=new WeakMap,J=new WeakMap,Q=new WeakMap;function tt(t,e){return Object.defineProperty(t,C,{value:et(e),writable:!1})}function et(t){return t?.[C]||t}const nt=new WeakSet;let rt=!1;function ot(){const t=U();return t?nt.has(et(t)):rt}function st(t){const e=U();if(!e)return void(rt=t);const n=et(e);t?nt.add(n):nt.delete(n)}function it(t,e=z){t=X(t);const n=U();!n||ot()||"symbol"==typeof e&&e!==z||function(t,e,n){let r=Y.get(t);r||(r=new Map,Y.set(t,r));let o=r.get(e);o||(o=new Set,r.set(e,o));o.add(n);const s=Z.get(n);s?s.add(t):Z.set(n,new Set([t]))}(t,e,n)}const ct=Symbol("external-source");let at=!1;const ft=new Set,lt=new Set,ut=new WeakMap,ht=new WeakMap;let dt=0,pt=0;const gt=new Map;function yt(t){let e=ut.get(t);if(!e){const n=et(t);e=n?.name?.trim()||"effect_"+ ++dt,ut.set(t,e)}return e}function mt(t){let e=ht.get(t);if(!e){const n=t?.constructor?.name;e=`${n&&"Object"!==n?n:"object"}_${++pt}`,ht.set(t,e)}return e}function bt(t){if(!t||ft.has(t))return;ft.add(t);const e=Z.get(t);if(e)for(const t of e)wt(t)}function wt(t){lt.has(t)||function(t){lt.add(t),mt(t)}(t)}function vt(t,e,n,r,o,s){const i=function(t){let e=gt.get(t);return e||(e=new Map,gt.set(t,e)),e}(t);let c=i.get(e);c||(c=new Map,i.set(e,c));let a=c.get(n);return a||(a={label:n,object:r,prop:o,evolution:s,count:0,lastTriggered:Date.now()},c.set(n,a)),a}function St(t,e){ut.set(t,e)}function kt(t,e){ht.set(t,e),lt.add(t)}function jt(t){t&&at&&bt(t)}function Ot(t){at&&wt(t)}function Et(t,e,n,r,o){if(N.introspection.enableHistory&&function(t,e,n,r,o){const s={id:++Dt,timestamp:Date.now(),source:t?yt(t):"External",target:yt(e),objectName:mt(n),prop:String(r),type:o.type};At.push(s),At.length>N.introspection.historySize&&At.shift()}(t,e,n,r,o),!at)return;bt(e),t&&bt(t);const s=function(t,e){const n=mt(t);return e===z?`${n}.*`:"symbol"==typeof e?`${n}.${e.description??e.toString()}`:`${n}.${String(e)}`}(n,r),i=vt(t??ct,e,s,n,r,o);i.count+=1,i.lastTriggered=Date.now(),wt(n)}function xt(t,e=5){const n=[];let r=t;for(let t=0;t<e;t++){let t,e="";t:for(const[n,o]of gt)for(const[s,i]of o)if(s===r){let r=0;for(const o of i.values())o.lastTriggered>r&&(r=o.lastTriggered,e=o.label,t=n===ct?void 0:n);if(t||e)break t}if(!t){if(e){n.push(`External -> (${e}) -> ${yt(r)}`);break}break}n.push(`${yt(t)} -> (${e}) -> ${yt(r)}`),r=t}return n.reverse()}function Mt(){const t=[],e=[],n=new Map,r=new Set(ft);!function(t){const e=Array.from(t);for(let n=0;n<e.length;n++){const r=e[n],o=Q.get(r);o&&!t.has(o)&&(t.add(o),e.push(o))}}(r);const{nodes:o,nodeByEffect:s}=function(t){const e=[],n=new Map,r=Array.from(t);for(const t of r){const r=yt(t),o={id:`effect_${e.length}`,label:r,type:"effect",depth:0,debugName:r};e.push(o),n.set(t,o)}const o=new Map,s=t=>{if(!t)return 0;const e=o.get(t);if(void 0!==e)return e;const n=Q.get(t),r=s(n)+(n?1:0);return o.set(t,r),r};for(const[t,e]of n){e.depth=s(t);const r=Q.get(t);if(r){const t=n.get(r);t&&(e.parentId=t.id)}}return{nodes:e,nodeByEffect:n}}(r);for(const e of o)t.push(e);for(const[t,e]of s)n.set(t,e.id);for(const e of lt){const r=`object_${t.length}`;t.push({id:r,label:mt(e),type:"state",debugName:ht.get(e)}),n.set(e,r)}if(gt.has(ct)){const e="effect_external";t.push({id:e,label:"External",type:"external",depth:0}),n.set(ct,e)}for(const t of r){const r=n.get(t);if(!r)continue;const o=Z.get(t);if(o)for(const t of o){const o=n.get(t);o&&e.push({id:`${r}->${o}`,source:r,target:o,type:"dependency",label:"depends"})}}for(const[t,r]of gt)for(const[o,s]of r){const r=n.get(o);if(!r)continue;const i=n.get(t);if(i)for(const t of s.values())e.push({id:`${i}->${r}:${t.label}`,source:i,target:r,type:"cause",label:t.count>1?`${t.label} (${t.count})`:t.label,count:t.count})}return{nodes:t,edges:e,meta:{generatedAt:Date.now(),devtoolsEnabled:at}}}function Rt(){return at}const At=[];let Dt=0;let Pt=!1;const Wt=Object.getOwnPropertyDescriptor(Promise.prototype,"then")?.value||Promise.prototype.then,Tt=Object.getOwnPropertyDescriptor(Promise.prototype,"catch")?.value||Promise.prototype.catch,$t=Object.getOwnPropertyDescriptor(Promise.prototype,"finally")?.value||Promise.prototype.finally,zt=globalThis.setTimeout,Ct=globalThis.setInterval,It=void 0!==globalThis.requestAnimationFrame?globalThis.requestAnimationFrame:void 0,Kt=void 0!==globalThis.queueMicrotask?globalThis.queueMicrotask:void 0;let Nt;function qt(){Promise.prototype.then=function(t,e){const n=F();return Wt.call(this,Ft(t,n),Ft(e,n))},Promise.prototype.catch=function(t){const e=F();return Tt.call(this,Ft(t,e))},Promise.prototype.finally=function(t){const e=F();return $t.call(this,Ft(t,e))};const t=(t,e,...n)=>{const r=N.zones.setTimeout?F():void 0;return zt.apply(globalThis,[Ft(t,r),e,...n])};Object.assign(t,zt),globalThis.setTimeout=t;const e=(t,e,...n)=>{const r=N.zones.setInterval?F():void 0;return Ct.apply(globalThis,[Ft(t,r),e,...n])};Object.assign(e,Ct),globalThis.setInterval=e,It&&(globalThis.requestAnimationFrame=t=>{const e=N.zones.requestAnimationFrame?F():void 0;return It.call(globalThis,Ft(t,e))}),Kt&&(globalThis.queueMicrotask=t=>{const e=N.zones.queueMicrotask?F():void 0;Kt.call(globalThis,Ft(t,e))})}function Ft(t,e){if(t)return e&&e.length||Nt?(...n)=>{const r=()=>e?.length?L(e,()=>t(...n)):t(...n);return Nt?Nt(r,"immediate"):r()}:t}function Vt(t){const e=new Map;for(let n=0;n<t.length;n++){const r=t[n];if(e.has(r))return t.slice(e.get(r));e.set(r,n)}return null}function Lt(t,e=20){const n=t.map(t=>t.name||"<anonymous>");if(n.length<=e)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}const Ut=new WeakMap,_t=new WeakSet,Ht=new WeakMap,Bt=new WeakMap,Gt=new WeakMap,Xt=new WeakMap,Zt=new WeakMap;function Yt(t,e){let n=t.get(e);return n||(n=new A,t.set(e,n)),n}function Jt(t,e,n){if(t===e)return!0;if(t===n)return!1;const r=new Set,o=[t];for(r.add(t),r.add(n);o.length>0;){const t=o.shift(),n=Ht.get(t);if(n)for(const t of n){if(t===e)return!0;r.has(t)||(r.add(t),o.push(t))}}return!1}let Qt;const te=new Set;function ee(t,e,n=new Set,r=[]){if(t===e)return[...r,e];if(n.has(t))return[];n.add(t);const o=[...r,t],s=Ht.get(t);if(s)for(const t of s){const r=ee(t,e,n,o);if(r.length>0)return r}return[]}function ne(t,e){const n=ee(e,t);return n.length>0?[t,...n]:[]}function re(t,e,n){if(!Qt)return;const r=et(t);if(Qt.all.set(r,t),e&&!n){const n=et(e);if(function(t,e){if(t===e)return!1;const n=Xt.get(e);return!!n?.has(t)}(n,r)){const e=ne(n,r),o=e.length>0?`Cycle detected: ${e.map(t=>t.name||t.toString()).join(" → ")}`:`Cycle detected: ${n.name||n.toString()} → ${r.name||r.toString()} (and back)`,s=N.cycleHandling;if("strict"===s){Qt.all.delete(r);const n=xt(t),s=Zt.get(r);throw new K(`[reactive] Strict Cycle Prevention: ${o}`,{code:I.CycleDetected,cycle:e.map(t=>t.name||t.toString()),details:o,causalChain:n,creationStack:s})}switch(s){case"throw":{Qt.all.delete(r);const n=xt(t),s=Zt.get(r);throw new K(`[reactive] ${o}`,{code:I.CycleDetected,cycle:e.map(t=>t.name||t.toString()),details:o,causalChain:n,creationStack:s})}case"warn":return N.warn(`[reactive] ${o}`),void Qt.all.delete(r);case"break":return void Qt.all.delete(r)}}!function(t,e){const n=Ht.get(t);if(n?.has(e))return;if(n)n.add(e);else{const n=new A;n.add(e),Ht.set(t,n)}let r=Bt.get(e);if(r||(r=new A,Bt.set(e,r)),r.add(t),t===e)return;const o=Yt(Xt,t),s=Yt(Gt,e);o.add(e),s.add(t);const i=Gt.get(t);if(i)for(const t of i)t!==e&&(Yt(Xt,t).add(e),s.add(t));const c=Xt.get(e);if(c)for(const e of c)e!==t&&(Yt(Gt,e).add(t),o.add(e));if(i&&c)for(const t of i){const e=Yt(Xt,t);for(const n of c)t!==n&&(e.add(n),Yt(Gt,n).add(t))}}(n,r)}}function oe(t){Qt?te.add(t):t()}const se=oe;function ie(t,e,n,r,o){if(n.has(t)){const e=r.indexOf(t);return r.slice(e).concat([t])}if(e.has(t))return[];e.add(t),n.add(t),r.push(t);const s=Ht.get(t);if(s)for(const t of s)if(o.all.has(t)){const s=ie(t,e,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(t),[]}function ce(t){let e=null,n=null;for(const[t,r]of Qt.all){if(0===(Qt.inDegrees.get(t)??0)){e=r,n=t;break}}if(!e){if(Qt.all.size>0){let t=function(t){const e=new Set,n=new Set,r=[];for(const[o]of t.all){if(e.has(o))continue;const s=ie(o,e,n,r,t);if(s.length>0)return s}return[]}(Qt);if(0===t.length)for(const[e]of Qt.all){const n=Xt.get(e);if(n){for(const r of n)if(r!==e&&Qt.all.has(r)){const n=Xt.get(r);if(n?.has(e)){t=[e,r,e];break}}if(t.length>0)break}}const e=t.length>0?`Cycle detected: ${t.map(t=>t.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";switch(N.cycleHandling){case"throw":throw new K(`[reactive] ${e}`);case"warn":{N.warn(`[reactive] ${e}`);const t=Qt.all.values().next().value;if(t){const e=et(t);return Qt.all.delete(e),Qt.inDegrees.delete(e),t()}break}case"break":{const t=Qt.all.values().next().value;if(t){const e=et(t);return Qt.all.delete(e),Qt.inDegrees.delete(e),t()}break}}}return null}t.push(et(e));const r=e();return Qt.all.delete(n),Qt.inDegrees.delete(n),function(t,e){const n=Xt.get(e);if(n)for(const e of n)if(t.all.has(e)){const n=t.inDegrees.get(e)??0;n>0&&t.inDegrees.set(e,n-1)}}(Qt,n),r}function ae(t,e){Array.isArray(t)||(t=[t]);const n=t.map(et);if(Qt){N?.chain(n,et(U()));const r=U();for(let n=0;n<t.length;n++)re(t[n],r,"immediate"===e);if(e)for(let e=0;e<t.length;e++)try{t[e]()}finally{const n=et(t[e]);Qt.all.delete(n)}}else{N.beginChain(n),Qt={all:new Map,inDegrees:new Map};const r=U();for(let n=0;n<t.length;n++)re(t[n],r,"immediate"===e);const o=[];if(function(t){const e=U(),n=e?et(e):null;t.inDegrees.clear();for(const[e]of t.all){let r=0;const o=Gt.get(e);if(o)for(const s of o)t.all.has(s)&&s!==n&&s!==e&&r++;t.inDegrees.set(e,r)}}(Qt),e){const e={};try{for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=et(t[n]);Qt.all.delete(e)}for(;Qt.all.size>0;){if(o.length>N.maxEffectChain){const t=Vt(o),e=Lt(o),n=t?`Max effect chain reached (cycle detected: ${Lt(t)})`:`Max effect chain reached (trace: ${e})`,r=(Qt?Array.from(Qt.all.keys()):[]).map(t=>t.name||"<anonymous>"),s={code:I.MaxDepthExceeded,effectuatedRoots:o,cycle:t,trace:e,maxEffectChain:N.maxEffectChain,queued:r.slice(0,50),queuedCount:r.length,causalChain:o.length>0?xt(Qt.all.get(o[o.length-1])):[]};switch(N.maxEffectReaction){case"throw":case"debug":throw new K(`[reactive] ${n}`,s);case"warn":N.warn(`[reactive] ${n} (queued: ${r.slice(0,10).join(", ")}${r.length>10?", …":""})`)}}if(!Qt||0===Qt.all.size)break;const t=ce(o);void 0===t||"value"in e||(e.value=t)}const n=Array.from(te);te.clear();for(const t of n)t();return e.value}finally{Qt=void 0,N.endChain()}}else{const t={};try{for(;Qt.all.size>0;){if(o.length>N.maxEffectChain){const t=Vt(o),e=Lt(o),n=t?`Max effect chain reached (cycle detected: ${Lt(t)})`:`Max effect chain reached (trace: ${e})`,r=(Qt?Array.from(Qt.all.keys()):[]).map(t=>t.name||"<anonymous>"),s={code:I.MaxDepthExceeded,effectuatedRoots:o,cycle:t,trace:e,maxEffectChain:N.maxEffectChain,queued:r.slice(0,50),queuedCount:r.length,causalChain:o.length>0?xt(Qt.all.get(o[o.length-1])):[]};switch(N.maxEffectReaction){case"throw":case"debug":throw new K(`[reactive] ${n}`,s);case"warn":N.warn(`[reactive] ${n} (queued: ${r.slice(0,10).join(", ")}${r.length>10?", …":""})`)}}const e=ce(o);if(0===Qt.all.size)break;void 0===e||"value"in t||(t.value=e)}const e=Array.from(te);te.clear();for(const t of e)t();return t.value}finally{Qt=void 0,N.endChain()}}}}const fe=l({method:t=>function(...e){return ae(tt(()=>t.apply(this,e),t),"immediate")},default:t=>function(...e){return ae(tt(()=>t.apply(this,e),t),"immediate")}}),le=new FinalizationRegistry(t=>t());function ue(t,e){!function(t){t&&(Nt=t),!Pt&&N.asyncMode&&(qt(),Pt=!0)}(ae);const n=e?.asyncMode??N.asyncMode??"cancel";if(N.introspection.enableHistory){const e=(new Error).stack;if(e){const n=e.split("\n").slice(2).join("\n");Zt.set(et(t),n)}}let r=null;const o=F(),s=tt(t=>_(u,t),t),i=t=>L(o,t);let c=!1,a=!1,f=null,l=null;function u(){if(r){const t=r;r=null,_(void 0,()=>t())}if(f)if("cancel"===n&&l)l(),l=null,f=null;else if("ignore"===n)return;if(c)return;let e,o;N.enter(et(t));try{if(o=_(u,()=>t({tracked:s,ascend:i,reaction:a})),o&&"function"!=typeof o&&("object"!=typeof o||!("then"in o)))throw new K(`[reactive] Effect returned a non-function value: ${o}`);if(o&&"object"==typeof o&&"function"==typeof o.then){const t=o;let e=null;const n=new Promise((t,n)=>{e=n}),r=new K("[reactive] Effect canceled due to dependency change");f=Promise.race([t,n]),l=()=>{e&&e(r)}}else e=o}finally{a=!0,N.leave(t)}r=()=>{r=null,e?.();const t=Z.get(u);if(t){for(const e of t){const t=Y.get(e);if(t){for(const[e,n]of t.entries())n.delete(u),0===n.size&&t.delete(e);0===t.size&&Y.delete(e)}}Z.delete(u)}const n=J.get(u);if(n){for(const t of n)t();J.delete(u)}}}tt(u,t),e?.opaque&&_t.add(u),Rt()&&jt(u),ae(u,"immediate");const h=o[0];Q.set(u,h);const d=()=>{c||(c=!0,l&&(l(),l=null,f=null),r?.(),function(t){const e=et(t),n=Gt.get(e),r=Xt.get(e),o=Ht.get(e);if(o){for(const t of o){const n=Bt.get(t);n?.delete(e)}Ht.delete(e)}const s=Bt.get(e);if(s){for(const t of s){const n=Ht.get(t);n?.delete(e)}Bt.delete(e)}if(n)for(const t of n){const n=Xt.get(t);if(n&&(n.delete(e),r))for(const o of r)Jt(t,o,e)||n.delete(o)}if(r)for(const t of r){const r=Gt.get(t);if(r&&(r.delete(e),n))for(const o of n)Jt(o,t,e)||r.delete(o)}if(n&&r)for(const t of n){const n=Xt.get(t);if(n)for(const o of r)if(!Jt(t,o,e)){n.delete(o);const e=Gt.get(o);e?.delete(t)}}Gt.delete(e),Xt.delete(e)}(u),le.unregister(d))};if(!h){const e=()=>d();return le.register(e,()=>{d(),N.garbageCollected(t)},d),e}let p=J.get(h);p||(p=new Set,J.set(h,p));const g=()=>{p.delete(g),0===p.size&&J.delete(h),d()};return p.add(g),g}function he(t){const e=ot();st(!0);try{return t()}finally{st(e)}}function de(t){let e;return _(void 0,()=>{e=t()}),e}const pe=new WeakMap,ge=new WeakSet,ye=new WeakMap,me=new WeakMap;function be(t,e,n){let r=pe.get(t);r||(r=new Set,pe.set(t,r)),r.add({parent:e,prop:n})}function we(t,e,n){const r=pe.get(t);if(r){for(const t of r)if(t.parent===e&&t.prop===n){r.delete(t);break}0===r.size&&pe.delete(t)}}function ve(t){return!!ge.has(t)||ke(t)}function Se(t,e){const n=pe.get(t);if(n)for(const{parent:t}of n){const e=ye.get(t);if(e)for(const t of e)ae(t);Se(t)}}function ke(t){const e=pe.get(t);if(!e)return!1;for(const{parent:t}of e){if(ge.has(t))return!0;if(ke(t))return!0}return!1}const je=new WeakMap;function Oe(t,e){const n={},r=Ee(t=X(t));r&&Object.assign(r,{evolution:e,next:n}),je.set(t,n)}function Ee(t){t=X(t);let e=je.get(t);return e||(e={},je.set(t,e)),e}function xe(t,e,n,r,...o){const s=U();for(const i of o)for(const o of i){const i=r.get(o);if(i)for(const r of i){const i=V(r);if(i){N.skipRunningEffect(r,i);continue}n.add(r);const c=Ut.get(r);if(Et(s,r,t,o,e),c){for(const n of c)n(t,e,o);c.delete(r)}}}}function Me(t,e,n){Re(t,e,[n])}function Re(t,e,n){Oe(t=X(t),e);const r=Y.get(t);if(r){const o=new Set;n?xe(t,e,o,r,[z],n):xe(t,e,o,r,r.keys()),N.touched(t,e,n,o),ae(Array.from(o))}ge.has(t)&&Se(t)}const Ae=new WeakSet,De=new Set,Pe=Symbol("absent");function We(...t){for(const e of t)e&&(e.prototype[W]=!0);return t[0]}function Te(t){if(null===t||"object"!=typeof t)return!0;if(Ae.has(t))return!0;if(t[W])return!0;for(const e of De)if(e(t))return!0;return!1}function $e(t,e){t.prototype[P]=e,We(e)}function ze(t){return function(t){return"object"==typeof t&&null!==t}(t)}function Ce(t){if(ze(t)){if(Array.isArray(t))return Array.prototype;try{return t.constructor}catch{return}}}function Ie(t,e){return t!==e&&(!(!ze(t)||!ze(e))&&(!Te(t)&&!Te(e)&&Ce(t)===Ce(e)))}function Ke(t,e,n,r,o){const s={type:o?"set":"add",prop:e};if(N.recursiveTouching&&void 0!==n&&Ie(n,r)){const o={obj:X(t),prop:e};!function(t){if(!t.length)return;const e=new Set,n=t[0]?.origin;let r;if(n){r=new Set;const t=Y.get(n.obj);if(t){const e=new Set;xe(n.obj,{type:"set",prop:n.prop},e,t,[z],[n.prop]);for(const t of e)r.add(t)}if(0===r.size)return}for(const{target:o,evolution:s,prop:i}of t){if(!ze(o))continue;const t=X(o);Oe(t,s);const c=Y.get(t);let a;const f=[i];if(c){if(a=new Set,xe(t,s,a,c,[z],f),n&&r){const t=new Set;for(const e of a)(r.has(e)||Fe(e,r))&&t.add(e);a=t}for(const t of a)e.add(t)}N.touched(t,s,f,a),ge.has(t)&&Se(t)}e.size&&ae([...e])}(qe(n,r,new WeakMap,[],o)),function(t,e,n){t=X(t);const r=Y.get(t);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set,i=U();for(const r of o){if(!_t.has(r))continue;const o=V(r);if(o){N.skipRunningEffect(r,o);continue}s.add(r);const c=Ut.get(r);if(Et(i,r,t,n,e),c){for(const r of c)r(t,e,n);c.delete(r)}}s.size>0&&(N.touched(t,e,[n],s),ae(Array.from(s)))}(t,s,e)}else Me(t,s,e)}function Ne(t){const e=new Set(Reflect.ownKeys(t));let n=Object.getPrototypeOf(t);for(;n&&!Object.hasOwn(n,"constructor");){for(const t of Reflect.ownKeys(n))e.add(t);n=Object.getPrototypeOf(n)}return e}function qe(t,e,n=new WeakMap,r=[],o){return Ie(t,e)&&ze(t)&&ze(e)?function(t,e,n){let r=t.get(e);return r||(r=new WeakSet,t.set(e,r)),!!r.has(n)||(r.add(n),!1)}(n,t,e)?r:Array.isArray(t)&&Array.isArray(e)?(function(t,e,n,r,o){const s=[],i=t.length,c=e.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:t,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:t,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const f=X(t[n]),l=X(e[n]);Object.is(f,l)||s.push({target:t,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:t,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(t,e,0,r,o),r):(function(t,e,n,r,o){const s=Ne(t),i=Ne(e),c=[];for(const e of s)i.has(e)||c.push({target:t,evolution:{type:"del",prop:e},prop:e,origin:o});for(const e of i)s.has(e)||c.push({target:t,evolution:{type:"add",prop:e},prop:e,origin:o});for(const a of i){if(!s.has(a))continue;const i=X(t[a]),f=X(e[a]);Ie(i,f)?qe(i,f,n,r,o):Object.is(i,f)||c.push({target:t,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(t,e,n,r,o),r):r}function Fe(t,e){let n=t;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),e.has(n))return!0;n=Q.get(n)}return!1}We(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...t){for(const e of t){try{Object.defineProperty(e,W,{value:!0,writable:!1,enumerable:!1,configurable:!1})}catch{}W in e||Ae.add(e)}t[0]}(window,document),We(Node,Element,HTMLElement,EventTarget));const Ve=[],Le={[Symbol.toStringTag]:"MutTs Reactive",get(t,e,n){if(e===W)return!1;const r=X(t);if(r[T]?.has(e)||"symbol"==typeof e)return o(t,e,n);$ in t&&t[$]instanceof Array&&"string"==typeof e&&("length"===e||!Number.isNaN(Number(e)))&&it(t,"length"===e?"length":Number(e));const s=Reflect.has(n,e),c=s&&Object.hasOwn(n,e),a=s&&!c,f=N.ignoreAccessors&&c&&(i(n,e)||i(r,e));if(s&&(N.instanceMembers&&a&&t instanceof Object||f)||it(t,e),a&&(!N.instanceMembers||!(t instanceof Object))){let n=He(Object.getPrototypeOf(t));for(;n&&n!==Object.prototype&&(it(n,e),!Object.hasOwn(n,e));)n=He(Object.getPrototypeOf(n))}const l=o(t,e,n);if("object"==typeof l&&null!==l){const n=He(l);return ve(t)&&be(n,t,e),n}return l},set(t,e,n,r){const o=X(t),i=X(r);if(o[T]?.has(e)||o!==i)return s(t,e,n,r);const c=$ in t&&t[$]instanceof Array&&(!Number.isNaN(Number(e))||"length"===e),a=X(n);if(c)return t[e]=a,!0;let f=Pe;if(Reflect.has(i,e)){const t=Object.getOwnPropertyDescriptor(i,e),n=Object.getOwnPropertyDescriptor(o,e),r=t||n;f=r?.get&&!r?.set?_(void 0,()=>Reflect.get(o,e,i)):Reflect.get(o,e,i)}if(ge.has(t)&&("object"==typeof f&&null!==f&&we(f,t,e),"object"==typeof a&&null!==a)){be(He(a),t,e)}return f!==a&&s(t,e,a,r)&&Ke(t,e,f,a,f!==Pe),!0},has(t,e){if(Ve.includes(t))throw new K(`[reactive] Circular dependency detected in 'has' check for property '${String(e)}'`,{code:I.CycleDetected,cycle:[]});Ve.push(t),it(t,e);const n=Reflect.has(t,e);return Ve.pop(),n},deleteProperty(t,e){if(!Object.hasOwn(t,e))return!1;const n=t[e];return ge.has(t)&&"object"==typeof n&&null!==n&&we(n,t,e),delete t[e],Me(t,{type:"del",prop:e},e),ge.has(t)&&Se(t),!0},getPrototypeOf:t=>$ in t?t[$]:Object.getPrototypeOf(t),setPrototypeOf:(t,e)=>!($ in t)&&(Object.setPrototypeOf(t,e),!0),ownKeys:t=>(it(t,z),Reflect.ownKeys(t))},Ue=new WeakSet,_e=D(t=>class extends t{constructor(...t){return super(...t),Ue.has(new.target)?Be(this):this}});function He(t){if(!t||"object"!=typeof t)return t;const e=t;if(Te(e))return e;if(G.has(e))return e;const n=function(t){return B.get(t)}(e);if(void 0!==n)return n;const r=!(P in e)||e instanceof e[P]?e:new e[P](e);r!==e&&function(t,e){G.set(t,e)}(r,e);const o=new Proxy(r,Le);return function(t,e){B.set(t,e),G.set(e,t)}(e,o),o}const Be=l({class(t){if(t.prototype instanceof _e)return Ue.add(t),t;class e extends t{constructor(...n){return super(...n),new.target===e||Ue.has(new.target)||N.warn(`${t.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),Be(this)}}return Object.defineProperty(e,"name",{value:`Reactive<${t.name}>`}),e},get:t=>He(t),default:He});function Ge(t,e,{immediate:n=!1}={}){if(null==t)return;if("object"!=typeof t)throw new Error("Target of deep watching must be an object");const r=tt(()=>e(t),e);return ue(()=>{ge.add(t);let o=me.get(r);o||(o=new Set,me.set(r,o)),o.add(t);const s=new WeakSet;return function t(e,n=0){var r;if(!(!e||s.has(e)||(r=e,"object"!=typeof r||null===r)||n>N.maxDeepWatchDepth||Te(e))){s.add(e),ge.add(e),o.add(e);for(const r in X(e))if(Object.hasOwn(e,r)){const o=e[r];t("object"==typeof o&&null!==o?Be(o):o,n+1)}if(Array.isArray(e)||e instanceof Array){const r=e.length;for(let o=0;o<r;o++){const r=e[o];t("object"==typeof r&&null!==r?Be(r):r,n+1)}}else if(e instanceof Set)for(const r of e){t("object"==typeof r&&null!==r?Be(r):r,n+1)}else if(e instanceof Map)for(const[r,o]of e){t("object"==typeof o&&null!==o?Be(o):o,n+1)}}}(t),n&&e(t),n=!0,()=>{const t=me.get(r);if(t){for(const e of t){const t=ye.get(e);t?(t.delete(r),0===t.size&&(ye.delete(e),ge.delete(e))):ge.delete(e)}me.delete(r)}}})}const Xe=Symbol("cleanup"),Ze=Symbol("unset-yet");const Ye=l({class(t){We(t)},default:function(t,...e){return"object"==typeof t?function(t){if(Te(t=X(t)))return t;try{Object.defineProperty(t,W,{value:!0,writable:!1,enumerable:!1,configurable:!0})}catch{}return W in t||Ae.add(t),t}(t):n=>{n.prototype[T]=new Set(n.prototype[T]||[]),n.prototype[T].add(t);for(const t of e)n.prototype[T].add(t);return n}}});function Je(t,e){return Object.defineProperty(t,Xe,{value:e,writable:!1,enumerable:!1,configurable:!0})}function*Qe(t){let e=t.next();for(;!e.done;)yield Be(e.value),e=t.next()}function*tn(t){let e=t.next();for(;!e.done;){const[n,r]=e.value;yield[Be(n),Be(r)],e=t.next()}}const en=Symbol("native"),nn=Array.isArray;Array.isArray=t=>nn(t)||t&&"object"==typeof t&&$ in t&&Array.isArray(t[$]);class rn{at(t){const e=t<0?this[en].length+t:t;if(it(this,e),!(e<0||e>=this[en].length))return Be(this[en][e])}toReversed(){return it(this),Be(this[en].toReversed())}toSorted(t){return it(this),Be(this[en].toSorted(t))}toSpliced(t,e,...n){return it(this),void 0===e?this[en].toSpliced(t):this[en].toSpliced(t,e,...n)}with(t,e){return it(this),Be(this[en].with(t,e))}entries(){return it(this),tn(this[en].entries())}keys(){return it(this,"length"),this[en].keys()}values(){return it(this),Qe(this[en].values())}[Symbol.iterator](){it(this);const t=this[en][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:Be(e.value),done:!1}}}}indexOf(t,e){it(this);const n=X(t),r=this[en].indexOf(n,e);return-1!==r?r:this[en].indexOf(t,e)}lastIndexOf(t,e){it(this);const n=X(t),r=this[en].lastIndexOf(n,e);return-1!==r?r:this[en].lastIndexOf(t,e)}includes(t,e){it(this);const n=X(t);return this[en].includes(n,e)||this[en].includes(t,e)}find(t,e){if(it(this),"function"==typeof t){const n=t;return Be(this[en].find((t,r,o)=>n.call(e,Be(t),r,o),e))}const n="number"==typeof e?e:void 0,r=this[en].indexOf(t,n);if(-1!==r)return Be(this[en][r])}findIndex(t,e){if(it(this),"function"==typeof t){const n=t;return this[en].findIndex((t,r,o)=>n.call(e,Be(t),r,o),e)}const n="number"==typeof e?e:void 0;return this[en].indexOf(t,n)}flat(){return it(this),Be(this[en].flat())}flatMap(t,e){return it(this),Be(this[en].flatMap(t,e))}filter(t,e){return it(this),Be(this[en].filter((e,n,r)=>t(Be(e),n,r),e))}map(t,e){return it(this),Be(this[en].map((e,n,r)=>t(Be(e),n,r),e))}reduce(t,e){it(this);const n=void 0===e?this[en].reduce(t):this[en].reduce(t,e);return Be(n)}reduceRight(t,e){it(this);const n=void 0!==e?this[en].reduceRight(t,e):this[en].reduceRight(t);return Be(n)}slice(t,e){for(const n of sn(t||0,e||this[en].length-1))it(this,n);return void 0===t?this[en].slice():void 0===e?this[en].slice(t):this[en].slice(t,e)}concat(...t){return it(this),Be(this[en].concat(...t))}join(t){return it(this),this[en].join(t)}forEach(t,e){it(this),this[en].forEach((n,r,o)=>{t.call(e,Be(n),r,o)})}every(t,e){return it(this),this[en].every((n,r,o)=>t.call(e,Be(n),r,o),e)}some(t,e){return it(this),this[en].some((n,r,o)=>t.call(e,Be(n),r,o),e)}}function*on(t,{length:e=!0}={}){e&&(yield"length"),yield t}function*sn(t,e,{length:n=!1}={}){const r=Math.min(t,e),o=Math.max(t,e);n&&(yield"length");for(let t=r;t<=o;t++)yield t}class cn extends(j(rn,{get(t){return it(this,t),Be(this[en][t])},set(t,e){const n=t>=this[en].length;this[en][t]=e,Re(this,{type:"set",prop:t},on(t,{length:n}))},getLength(){return it(this,"length"),this[en].length},setLength(t){const e=this[en].length;try{this[en].length=t}finally{Re(this,{type:"set",prop:"length"},sn(e,t,{length:!0}))}}})){constructor(t){super(),Object.defineProperties(this,{[en]:{value:t},[$]:{value:t}})}push(...t){const e=this[en].length;try{return this[en].push(...t)}finally{Re(this,{type:"bunch",method:"push"},sn(e,e+t.length-1,{length:!0}))}}pop(){if(0!==this[en].length)try{return Be(this[en].pop())}finally{Re(this,{type:"bunch",method:"pop"},on(this[en].length))}}shift(){if(0!==this[en].length)try{return Be(this[en].shift())}finally{Re(this,{type:"bunch",method:"shift"},sn(0,this[en].length+1,{length:!0}))}}unshift(...t){try{return this[en].unshift(...t)}finally{Re(this,{type:"bunch",method:"unshift"},sn(0,this[en].length-t.length,{length:!0}))}}splice(t,e,...n){const r=this[en].length;void 0===e&&(e=r-t);try{return Be(void 0===e?this[en].splice(t):this[en].splice(t,e,...n))}finally{Re(this,{type:"bunch",method:"splice"},e===n.length?sn(t,t+e):sn(t,r+Math.max(n.length-e,0),{length:!0}))}}reverse(){try{return this[en].reverse()}finally{Re(this,{type:"bunch",method:"reverse"},sn(0,this[en].length-1))}}sort(t){t=t||((t,e)=>t.toString().localeCompare(e.toString()));try{return this[en].sort((e,n)=>t(Be(e),Be(n)))}finally{Re(this,{type:"bunch",method:"sort"},sn(0,this[en].length-1))}}fill(t,e,n){try{return void 0===e?this[en].fill(t):void 0===n?this[en].fill(t,e):this[en].fill(t,e,n)}finally{Re(this,{type:"bunch",method:"fill"},sn(0,this[en].length-1))}}copyWithin(t,e,n){try{return void 0===n?this[en].copyWithin(t,e):this[en].copyWithin(t,e,n)}finally{Re(this,{type:"bunch",method:"copyWithin"},sn(0,this[en].length-1))}}}class an extends Error{}class fn extends(j(rn,{get(t){return it(this,t),Be(this[en][t])},set(t,e){throw new an(`Setting index ${t} on a read-only array`)},getLength(){return it(this,"length"),this[en].length},setLength(t){throw new an(`Setting length to ${t} on a read-only array`)}})){constructor(t){super(),Object.defineProperties(this,{[en]:{value:t},[$]:{value:t}})}push(...t){throw new an("Pushing items to a read-only array")}pop(){throw new an("Popping from a read-only array")}shift(){throw new an("Shifting from a read-only array")}unshift(...t){throw new an("Unshifting items to a read-only array")}splice(t,e,...n){throw new an("Splice from a read-only array")}reverse(){throw new an("Reversing a read-only array")}sort(t){throw new an("Sorting a read-only array")}fill(t,e,n){throw new an("Filling a read-only array")}copyWithin(t,e,n){throw new an("Copying within a read-only array")}}const ln=Be(fn);const un=new WeakMap;function hn(t,e){t.branches??(t.branches=new WeakMap);let n=t.branches.get(e);return n||(n={},t.branches.set(e,n)),n}function dn(t){const e=et(t),n=un.get(e);if(n)return n;const r={},o=tt((...n)=>{const o=n;if(o.some(t=>!(t&&["object","symbol","function"].includes(typeof t))))throw new Error("memoize expects non-null object arguments");let s=r;for(const t of o)s=hn(s,t);return it(s,"memoize"),"result"in s||(s.cleanup=de(()=>ue(tt(()=>(s.result=t(...o),()=>{delete s.result,Me(s,{type:"invalidate",prop:o},"memoize")}),e),{opaque:!0}))),s.result},t);return un.set(e,o),un.set(o,o),o}const pn=l({getter(t,e){const n=dn(tt(r(e=>t.call(e),`${String(this.constructor.name)}.${String(e)}`),t));return function(){return n(this)}},method(t,e){const n=dn(tt(r((e,...n)=>t.call(e,...n),`${String(this.constructor.name)}.${String(e)}`),t));return function(...t){return n(this,...t)}},default:dn});let gn=(()=>{var t,e,n,r,o,s,i,c,a;let f,l,u=[Ye],h=[],d=function(){class t extends(j(E,{get(t){return this[S](t)},set(t,e){this[k](t,e)},getLength(){return this.length},setLength(t){this.length=t}})){toArray(){return Array.from(this)}}return t}();var p,g,y;return l=class extends d{get[(e=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,t=new WeakSet,O)](){return this.toArray()}constructor(a,f){let l;if(super(),t.add(this),e.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),ue(({ascend:t})=>{l=t}),b(this,c,l,"f"),"function"!=typeof a)throw new Error("Register requires a key function");b(this,e,a,"f"),b(this,n,Be([]),"f"),b(this,r,Be(new Map),"f"),Object.defineProperties(this,{[$]:{value:m(this,n,"f")}}),f&&this.push(...f)}ensureKey(n){let r=m(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},m(this,s,"f").set(n,r),m(this,c,"f").call(this,()=>{const o=ue(({reaction:o})=>{const s=m(this,e,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&m(this,t,"m",a).call(this,n,i,s),r.key=s});r.stop=o,m(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(t){const e=typeof t;if("string"!==e&&"number"!==e&&"symbol"!==e)throw new Error("Register key function must return a property key")}setKeyValue(t,e){const n=m(this,r,"f").get(t);void 0!==n&&n!==e&&this.cleanupValue(n),m(this,r,"f").set(t,e)}cleanupValue(t){const e=m(this,s,"f").get(t);if(!e)return;const n=e.stop;n&&(e.stop=void 0,m(this,i,"f").delete(n),n()),m(this,s,"f").delete(t)}disposeKeyEffects(){for(const t of Array.from(m(this,s,"f").keys()))this.cleanupValue(t);m(this,i,"f").clear()}incrementUsage(t){const e=m(this,o,"f").get(t)??0;m(this,o,"f").set(t,e+1)}decrementUsage(t){const e=m(this,o,"f").get(t);if(e)if(e<=1){const e=m(this,r,"f").get(t);m(this,o,"f").delete(t),m(this,r,"f").delete(t),void 0!==e&&this.cleanupValue(e)}else m(this,o,"f").set(t,e-1)}normalizeIndex(t,e=!1){const n=this.length;let r=t;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!e)throw new RangeError("Index out of bounds");r=n}if(!e&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(t,e,r){const o=m(this,n,"f")[t];void 0!==o&&Object.is(o,e)||(void 0!==o&&this.decrementUsage(o),m(this,n,"f")[t]=e,this.incrementUsage(e)),this.setKeyValue(e,r)}insertKeyValue(t,e,r){m(this,n,"f").splice(t,0,e),this.incrementUsage(e),this.setKeyValue(e,r)}rebuildFrom(t){this.disposeKeyEffects(),m(this,n,"f").splice(0,m(this,n,"f").length),m(this,o,"f").clear(),m(this,r,"f").clear();for(const e of t){const t=this.ensureKey(e);m(this,n,"f").push(t),this.incrementUsage(t),m(this,r,"f").set(t,e)}}get length(){return m(this,n,"f").length}[(a=function(t,e,i){if(Object.is(e,i))return;const c=m(this,r,"f").get(i);if(void 0!==c&&c!==t)throw new Error(`Register key collision for key ${String(i)}`);const a=m(this,o,"f").get(e);if(!a)return;const f=m(this,o,"f").get(i)??0;this.setKeyValue(i,t);for(let t=0;t<m(this,n,"f").length;t++)Object.is(m(this,n,"f")[t],e)&&(m(this,n,"f")[t]=i);m(this,o,"f").set(i,f+a),m(this,o,"f").delete(e),m(this,r,"f").delete(e);const l=m(this,s,"f").get(t);l&&(l.key=i)},S)](t){const e=m(this,n,"f")[t];return void 0===e?void 0:m(this,r,"f").get(e)}[k](t,e){const n=this.ensureKey(e);if(t===this.length)return void this.insertKeyValue(t,n,e);const r=this.normalizeIndex(t);this.assignAt(r,n,e)}push(...t){for(const e of t){const t=this.ensureKey(e);this.insertKeyValue(this.length,t,e)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...t){let e=0;for(const n of t){const t=this.ensureKey(n);this.insertKeyValue(e++,t,n)}return this.length}splice(t,e,...o){const s=this.normalizeIndex(t,!0),i=this.length-s,c=Math.min(void 0===e?i:Math.max(e,0),i),a=[];for(const t of o)a.push(this.ensureKey(t));const f=m(this,n,"f").splice(s,c,...a),l=[];for(const t of f){if(void 0===t)continue;const e=m(this,r,"f").get(t);this.decrementUsage(t),l.push(e)}for(let t=0;t<a.length;t++){const e=a[t],n=o[t];this.incrementUsage(e),this.setKeyValue(e,n)}return l}clear(){m(this,n,"f").length=0,m(this,o,"f").clear(),m(this,r,"f").clear(),this.disposeKeyEffects()}get(t){return m(this,r,"f").get(t)}set(t,e){m(this,r,"f").has(t)&&this.setKeyValue(t,e)}remove(t){let e=this.indexOfKey(t);for(;-1!==e;)this.removeAt(e),e=this.indexOfKey(t)}removeAt(t){const[e]=m(this,n,"f").splice(t,1);if(void 0===e)return;const o=m(this,r,"f").get(e);return this.decrementUsage(e),o}keep(t){const e=new Map;for(const[o,s]of m(this,n,"f").entries()){if(e.has(s)){e.get(s)||this.removeAt(o);continue}const n=t(m(this,r,"f").get(s));e.set(s,n),n||this.removeAt(o)}}hasKey(t){return m(this,o,"f").has(t)}indexOfKey(t){return m(this,n,"f").indexOf(t)}mapKeys(){return m(this,r,"f").keys()}update(...t){for(const e of t){const t=this.ensureKey(e);m(this,r,"f").has(t)&&this.setKeyValue(t,e)}}upsert(t,...e){for(const n of e){const e=this.ensureKey(n);m(this,r,"f").has(e)?this.setKeyValue(e,n):t(n)}}entries(){const t=this;return function*(){for(let e=0;e<m(t,n,"f").length;e++){const o=m(t,r,"f").get(m(t,n,"f")[e]);void 0!==o&&(yield[e,o])}}()}[Symbol.iterator](){const t=this;return function*(){for(const e of m(t,n,"f")){const n=m(t,r,"f").get(e);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(t){const e=t<0?this.length+t:t;if(!(e<0||e>=this.length))return this[S](e)}reverse(){return m(this,n,"f").reverse(),this}sort(t){const e=t?(e,n)=>t(m(this,r,"f").get(e),m(this,r,"f").get(n)):void 0;return m(this,n,"f").sort(e),this}fill(t,e=0,n=this.length){const r=this.toArray();return r.fill(t,e,n),this.rebuildFrom(r),this}copyWithin(t,e,n){const r=this.toArray();return r.copyWithin(t,e,n),this.rebuildFrom(r),this}},p=l,"symbol"==typeof(g="RegisterClass")&&(g=g.description?"[".concat(g.description,"]"):""),Object.defineProperty(p,"name",{configurable:!0,value:y?"".concat(y," ",g):g}),(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;!function(t,e,n,r,o,s){function i(t){if(void 0!==t&&"function"!=typeof t)throw new TypeError("Function expected");return t}for(var c,a=r.kind,f="getter"===a?"get":"setter"===a?"set":"value",l=!e&&t?r.static?t:t.prototype:null,u=e||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var g in r)p[g]="access"===g?{}:r[g];for(var g in r.access)p.access[g]=r.access[g];p.addInitializer=function(t){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(t||null))};var y=(0,n[d])("accessor"===a?{get:u.get,set:u.set}:u[f],p);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[f]=c)}l&&Object.defineProperty(l,r.name,u),h=!0}(null,f={value:l},u,{kind:"class",name:l.name,metadata:t},null,h),l=f.value,t&&Object.defineProperty(l,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),function(t,e,n){for(var r=arguments.length>2,o=0;o<e.length;o++)n=r?e[o].call(t,n):e[o].call(t)}(l,h)})(),l})();const yn=gn;function mn(t){Object.defineProperty(t,"value",{get:t.get,set:t.set,configurable:!0,enumerable:!0})}function bn(t,e,n){return Je(t,()=>{n();for(const t of e.values())t?.();e.clear()})}function wn(t,e){const n=Be(t),r=Be([]),i=new Map;function c(t){const e=i.get(t);e&&(i.delete(t),e(),Reflect.deleteProperty(r,t))}const a=ue(function({ascend:t}){const a=n.length;!function(t){s(r,"length",t,r)}(a);const f=Array.from(i.keys());for(let c=0;c<a;c++)i.has(c)||t(()=>{const t=c,a=ue(function(){const i=he(()=>r[t]),c={key:t,source:n,get:()=>o(n,t,n),set:e=>s(n,t,e,n),old:i};mn(c);const a=e(c,r);r[t]=a});i.set(c,a)});for(const t of f)t>=a&&c(t)});return bn(r,i,()=>a())}function vn(t,e){const n=Be(t),r=new Map,o=Be(r),s=new Map;function i(t){const e=s.get(t);e&&(e(),s.delete(t),o.delete(t))}const c=ue(function({ascend:t}){const r=new Set;for(const t of n.mapKeys())r.add(t);for(const i of r)s.has(i)||t(()=>{const t=ue(function(){const t=he(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:t=>(n.set(i,t),!0),old:t};mn(r);const s=e(r,o);o.set(i,s)});s.set(i,t)});for(const t of Array.from(s.keys()))r.has(t)||i(t)});return bn(o,s,()=>c())}function Sn(t,e){const n=Be(t),r=Be({}),i=new Map;function c(t){const e=i.get(t);e&&(e(),i.delete(t),Reflect.deleteProperty(r,t))}const a=ue(function({ascend:t}){const a=new Set;for(const t in n)a.add(t);const f=Reflect.ownKeys(n);for(const t of f)a.add(t);for(const c of a)i.has(c)||t(()=>{const t=ue(function(){const t=c,i=he(()=>r[c]),a={key:t,source:n,get:()=>o(n,t,n),set:e=>s(n,t,e,n),old:i};mn(a);const f=e(a,r);r[t]=f});i.set(c,t)});for(const t of Array.from(i.keys()))a.has(t)||c(t)});return bn(r,i,()=>a())}function kn(t,e){const n=Be(t),r=new Map,o=Be(r),s=new Map;function i(t){const e=s.get(t);e&&(e(),s.delete(t),o.delete(t))}const c=ue(function({ascend:t}){const r=new Set;for(const t of n.keys())r.add(t);for(const i of r)s.has(i)||t(()=>{const t=ue(function(){const t=he(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:t=>(n.set(i,t),!0),old:t};mn(r);const s=e(r,o);o.set(i,s)});s.set(i,t)});for(const t of Array.from(s.keys()))r.has(t)||i(t)});return bn(o,s,()=>c())}const jn=Object.assign(function(t,e){if(Array.isArray(t))return wn(t,e);if(t instanceof Map)return kn(t,e);if(t instanceof yn)return vn(t,e);if(t&&(t.constructor===Object||void 0===t.constructor))return Sn(t,e);throw new Error("Unsupported source type")},{array:wn,register:vn,record:Sn,map:kn});const On=Symbol("native");class En{constructor(t){Object.defineProperties(this,{[On]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveMap"}})}get size(){return it(this,"size"),this[On].size}clear(){const t=this[On].size>0;if(this[On].clear(),t){const t={type:"bunch",method:"clear"};Me(this,t,"size"),Re(this.content,t)}}entries(){return it(this.content),tn(this[On].entries())}forEach(t,e){it(this.content),this[On].forEach(t,e)}keys(){return it(this.content),this[On].keys()}values(){return it(this.content),Qe(this[On].values())}[Symbol.iterator](){it(this.content);const t=this[On][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:[e.value[0],Be(e.value[1])],done:!1}}}}delete(t){const e=this[On].has(t),n=this[On].delete(t);if(e){const e={type:"del",prop:t};Me(this.content,e,t),Me(this,e,"size")}return n}get(t){return it(this.content,t),Be(this[On].get(t))}has(t){return it(this.content,t),this[On].has(t)}set(t,e){const n=this[On].has(t),r=this[On].get(t),o=Be(e);if(this[On].set(t,o),!n||r!==o){Ke(this.content,t,r,o,n);Me(this,{type:n?"set":"add",prop:t},"size")}return this}}const xn=Symbol("native");class Mn{constructor(t){Object.defineProperties(this,{[xn]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveSet"}})}get size(){return it(this,"size"),this[xn].size}add(t){const e=this[xn].has(t),n=Be(t);if(this[xn].add(n),!e){const t={type:"add",prop:n};Me(this.content,t,n),Me(this,t,"size")}return this}clear(){const t=this[xn].size>0;if(this[xn].clear(),t){const t={type:"bunch",method:"clear"};Me(this,t,"size"),Re(this.content,t)}}delete(t){const e=this[xn].has(t),n=this[xn].delete(t);if(e){const e={type:"del",prop:t};Me(this.content,e,t),Me(this,e,"size")}return n}has(t){return it(this.content,t),this[xn].has(t)}entries(){return it(this.content),tn(this[xn].entries())}forEach(t,e){it(this.content),this[xn].forEach(t,e)}keys(){return it(this.content),Qe(this[xn].keys())}values(){return it(this.content),Qe(this[xn].values())}[Symbol.iterator](){it(this.content);const t=this[xn][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:Be(e.value),done:!1}}}}}$e(WeakMap,class{constructor(t){Object.defineProperties(this,{[On]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveWeakMap"}})}delete(t){const e=this[On].has(t),n=this[On].delete(t);return e&&Me(this.content,{type:"del",prop:t},t),n}get(t){return it(this.content,t),Be(this[On].get(t))}has(t){return it(this.content,t),this[On].has(t)}set(t,e){const n=this[On].has(t),r=this[On].get(t),o=Be(e);return this[On].set(t,o),n&&r===o||Ke(this.content,t,r,o,n),this}}),$e(Map,En),$e(WeakSet,class{constructor(t){Object.defineProperties(this,{[xn]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveWeakSet"}})}add(t){const e=this[xn].has(t);return this[xn].add(t),e||Me(this.content,{type:"add",prop:t},t),this}delete(t){const e=this[xn].has(t),n=this[xn].delete(t);return e&&Me(this.content,{type:"del",prop:t},t),n}has(t){return it(this.content,t),this[xn].has(t)}}),$e(Set,Mn),$e(Array,cn);const Rn={objectToProxy:B,proxyToObject:G,effectToReactiveObjects:Z,watchers:Y,objectParents:pe,objectsWithDeepWatchers:ge,deepWatchers:ye,effectToDeepWatchedObjects:me,nonReactiveObjects:Ae},An=[],Dn=l({getter:(t,e)=>function(){const n=An.findIndex(t=>t.object===this&&t.prop===e);if(n>-1)throw new Error(`Circular dependency detected: ${An.slice(n).map(t=>`${t.object.constructor.name}.${String(t.prop)}`).join(" -> ")} -> again`);An.push({object:this,prop:e});try{const n=t.call(this);return Pn(this,e,n),n}finally{An.pop()}}});function Pn(t,e,n){Object.defineProperty(t,e,{value:n})}const Wn=Object.assign(l({method:(t,e)=>function(...n){return Wn.warn(this,e),t.apply(this,n)},getter:(t,e)=>function(){return Wn.warn(this,e),t.call(this)},setter:(t,e)=>function(n){return Wn.warn(this,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),Wn.warn(this,"constructor")}},default:t=>l({method:(e,n)=>function(...r){return Wn.warn(this,n,t),e.apply(this,r)},getter:(e,n)=>function(){return Wn.warn(this,n,t),e.call(this)},setter:(e,n)=>function(r){return Wn.warn(this,n,t),e.call(this,r)},class:e=>class extends e{constructor(...e){super(...e),Wn.warn(this,"constructor",t)}}})}),{warn:(t,e,n)=>{}});t.ArrayReadForward=E,t.DecoratorError=c,t.Destroyable=function(t,e){var n;return t&&"function"!=typeof t&&(e=t,t=void 0),t||(t=class{}),n=class extends t{static destroy(t){const e=n.destructors.get(t);if(!e)return!1;u.unregister(t),n.destructors.delete(t),Object.setPrototypeOf(t,new Proxy({},g));for(const e of Object.getOwnPropertyNames(t))delete t[e];return e(),!0}static isDestroyable(t){return n.destructors.has(t)}constructor(...t){super(...t);const r={};this[d]=r;const o=e?.destructor??this[h];if(!o)throw new p("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),u.register(this,s,this)}},n.destructors=new WeakMap,n},t.DestructionError=p,t.Eventful=class{constructor(){w.set(this,new Map),v.set(this,[])}hook(t){return m(this,v,"f").includes(t)||m(this,v,"f").push(t),()=>{m(this,v,"f").splice(m(this,v,"f").indexOf(t),1)}}on(t,e){if("object"==typeof t)for(const e of Object.keys(t))this.on(e,t[e]);else if(void 0!==e){let n=m(this,w,"f").get(t);n||(n=[],m(this,w,"f").set(t,n)),n.push(e)}return()=>this.off(t,e)}off(t,e){if("object"==typeof t)for(const e of Object.keys(t))this.off(e,t[e]);else if(null!=e){const n=m(this,w,"f").get(t);n&&m(this,w,"f").set(t,n.filter(t=>t!==e))}else m(this,w,"f").delete(t)}emit(t,...e){const n=m(this,w,"f").get(t);if(n)for(const t of n)t.apply(this,e);for(const n of m(this,v,"f"))n.call(this,t,...e)}},t.Indexable=j,t.IterableWeakMap=R,t.IterableWeakSet=A,t.ReactiveBase=_e,t.ReactiveError=K,t.ReadOnlyError=an,t.ReflectGet=o,t.ReflectSet=s,t.Register=yn,t.addBatchCleanup=oe,t.allocated=y,t.allocatedValues=d,t.arrayEquals=function(t,e){if(t===e)return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0},t.atomic=fe,t.biDi=function(t,e,n){"function"!=typeof e&&(n=e.set,e=e.get);const r=et(t);return ue(tt(()=>{t(e())},r)),fe(t=>{n(t),Qt?.all.has(r)&&Qt.all.delete(r)})},t.buildReactivityGraph=Mt,t.cache=Pn,t.cached=Dn,t.callOnGC=function(t){let e=!1;const n=()=>{e||(e=!0,t())};return u.register(n,t,t),n},t.cleanedBy=Je,t.cleanup=Xe,t.debounce=function(t){return l({method(e,n){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n),r=null},t)}}})},t.decorator=l,t.deepWatch=Ge,t.defer=se,t.deprecated=Wn,t.derived=function(t){const e={value:void 0};return Je(e,he(()=>ue(tt(function(n){e.value=t(n)},t))))},t.describe=function(t){return(...e)=>n=>class extends n{constructor(...n){super(...n);for(const n of e)Object.defineProperty(this,n,{...Object.getOwnPropertyDescriptor(this,n),...t})}}},t.destructor=h,t.effect=ue,t.enableDevTools=function(){"undefined"!=typeof window&&(at||(at=!0,window.__MUTTS_DEVTOOLS__={getGraph:Mt,setEffectName:St,setObjectName:kt,registerEffect:jt,registerObject:Ot}))},t.forwardArray=O,t.getActiveEffect=U,t.getAt=S,t.getState=Ee,t.immutables=De,t.isCached=function(t,e){return!!Object.getOwnPropertyDescriptor(t,e)},t.isConstructor=n,t.isDevtoolsEnabled=Rt,t.isNonReactive=Te,t.isOwnAccessor=i,t.isReactive=function(t){return G.has(t)},t.isZoneEnabled=function(){return Pt},t.legacyDecorator=a,t.mapped=function(t,e,n){const r=[],o=new ln(r),s=[];function i(n){return ue(function(){r[n]=e(t[n],n,o),Me(o,{type:"set",prop:n},n)})}const c=ue(function({ascend:e}){const c=t.length,a=he(()=>r.length);if(n?.(c,a),Me(o,{type:"set",prop:"length"},"length"),c<a){const t=s.splice(c);for(const e of t)e();r.length=c}else c>a&&e(function(){for(let t=a;t<c;t++)s.push(i(t))})});return Je(o,()=>{for(const t of s)t();s.length=0,c()})},t.memoize=pn,t.mixin=D,t.modernDecorator=f,t.organize=function(t,e,n){return Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),Me(t,{type:"set",prop:e},e),()=>delete t[e]},t.organized=function(t,e,n={}){const r=Be(t),i=Be(n),c=new Map;function a(t){const e=c.get(t);e&&(c.delete(t),e())}const f=ue(function({ascend:t}){const n=new Set;for(const t in r)n.add(t);for(const a of n)c.has(a)||t(()=>{const t=ue(function(){const t=a,n={key:t,get:()=>o(r,t,r),set:e=>s(r,t,e,r)};return Object.defineProperty(n,"value",{get:n.get,set:n.set,configurable:!0,enumerable:!0}),e(n,i)});c.set(a,t)});for(const t of Array.from(c.keys()))n.has(t)||a(t)});return Je(i,()=>{f();for(const t of Array.from(c.keys()))a(t)})},t.profileInfo=Rn,t.project=jn,t.reactive=Be,t.reactiveOptions=N,t.reduced=function(t,e){const n=[],r=new ln(n),o=ue(function(){const o={};n.length=0;for(const r of t)n.push(...e(r,o));Re(r,{type:"invalidate",prop:"reduced"})});return Je(r,o)},t.register=function(t,e){return new gn(t,e)},t.registerEffectForDebug=jt,t.registerNativeReactivity=$e,t.registerObjectForDebug=Ot,t.renamed=r,t.root=de,t.setAt=k,t.setEffectName=St,t.setObjectName=kt,t.setZoneEnabled=function(t){t&&!Pt?(qt(),Pt=!0):!t&&Pt&&(Promise.prototype.then=Wt,Promise.prototype.catch=Tt,Promise.prototype.finally=$t,globalThis.setTimeout=zt,globalThis.setInterval=Ct,It&&(globalThis.requestAnimationFrame=It),Kt&&(globalThis.queueMicrotask=Kt),Pt=!1)},t.throttle=function(t){return l({method(e,n){let r=0,o=null;return function(...n){const s=Date.now();if(s-r>=t)return o&&(clearTimeout(o),o=null),r=s,e.apply(this,n);if(!o){const i=t-(s-r),c=[...n];o=setTimeout(()=>{r=Date.now(),e.apply(this,c),o=null},i)}}}})},t.touched=Re,t.touched1=Me,t.trackEffect=function(t){const e=U();if(!e)throw new Error("Not in an effect");Ut.has(e)?Ut.get(e).add(t):Ut.set(e,new Set([t]))},t.unreactive=Ye,t.untracked=he,t.unwrap=X,t.watch=function(t,e,n={}){return"function"==typeof t?function(t,e,{immediate:n=!1,deep:r=!1}={}){const o=U();let s,i=Ze;const c=ue(tt(function(c){const a=t(c);i!==a&&_(o,tt(()=>{i===Ze?n&&e(a):e(a,i),i=a,r&&(s&&s(),s=Ge(a,tt(t=>e(t,t),e)))},e))},t));return()=>{c(),s&&s()}}(t,e,n):"object"==typeof t&&null!==t?function(t,e,{immediate:n=!1,deep:r=!1}={}){const o=U();return r?Ge(t,e,{immediate:n}):ue(tt(function(){it(t),n&&_(o,()=>e(t)),n=!0},e))}(t,e,n):(()=>{throw new Error("watch: value must be a function or an object")})()},t.zip=function(...t){if(!t.length)return[];const e=Math.min(...t.map(t=>t.length)),n=[];for(let r=0;r<e;r++){const e=t.map(t=>t[r]);n.push(e)}return n}});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Mutts={})}(this,function(t){"use strict";const e=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function n(t){return t&&"function"==typeof t&&(e.has(t)||t.toString?.().startsWith("class "))}function r(t,e){return Object.defineProperties(t,{name:{value:e}})}function o(t,e,n){return"undefined"!=typeof Node&&t instanceof Node?t[e]:Reflect.get(t,e,n)}function s(t,e,n,r){return"undefined"!=typeof Node&&t instanceof Node?(t[e]=n,!0):t instanceof Object||Reflect.has(t,e)?Reflect.set(t,e,n,r):(Object.defineProperty(t,e,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)}function i(t,e){const n=Object.getOwnPropertyDescriptor(t,e);return!(!n?.get&&!n?.set)}class c extends Error{constructor(t){super(t),this.name="DecoratorException"}}function a(t){return function(e,r,o,...s){if(void 0===r){if(n(e)){if(!("class"in t))throw new Error("Decorator cannot be applied to a class");return t.class(e)}}else if("object"==typeof e&&["string","symbol"].includes(typeof r)){if(!o)throw new Error("Decorator cannot be applied to a field");if("object"==typeof o&&"configurable"in o){if("get"in o||"set"in o){if(!("getter"in t)&&!("setter"in t))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in t){const e=t.getter(o.get,r);e&&(o.get=e)}if("setter"in t){const e=t.setter(o.set,r);e&&(o.set=e)}return o}if("function"==typeof o.value){if(!("method"in t))throw new Error("Decorator cannot be applied to a method");const e=t.method(o.value,r);return e&&(o.value=e),o}}}if(!("default"in t))throw new Error("Decorator do not have a default implementation");return t.default.call(this,e,r,o,...s)}}function f(t){return function(e,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in t))throw new Error("Decorator do not have a default implementation");return t.default.call(this,e,n,...r)}switch(n.kind){case"class":if(!("class"in t))throw new Error("Decorator cannot be applied to a class");return t.class(e);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in t))throw new Error("Decorator cannot be applied to a getter");return t.getter(e,n.name);case"setter":if(!("setter"in t))throw new Error("Decorator cannot be applied to a setter");return t.setter(e,n.name);case"method":if(!("method"in t))throw new Error("Decorator cannot be applied to a method");return t.method(e,n.name);case"accessor":{if(!("getter"in t)&&!("setter"in t))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in t){const o=t.getter(e.get,n.name);o&&(r.get=o)}if("setter"in t){const o=t.setter(e.set,n.name);o&&(r.set=o)}return r}}}}const l=t=>{const e=f(t),n=a(t);return(t,r,...o)=>{const s=function(t,e){return"object"==typeof e&&null!==e&&"string"==typeof e.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?e(t,r,...o):n(t,r,...o)}},u=new FinalizationRegistry(t=>t()),h=Symbol("destructor"),d=Symbol("allocated");class p extends Error{static throw(t){return()=>{throw new p(t)}}constructor(t){super(`Object is destroyed. ${t}`),this.name="DestroyedAccessError"}}const g={[Symbol.toStringTag]:"MutTs Destroyable",get:p.throw("Cannot access destroyed object"),set:p.throw("Cannot access destroyed object")};const y=l({setter:(t,e)=>function(n){return this[d][e]=n,t.call(this,n)}});function m(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function b(t,e,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(t,n):o?o.value=n:e.set(t,n),n}var w,v;"function"==typeof SuppressedError&&SuppressedError;w=new WeakMap,v=new WeakMap;const S=Symbol("getAt"),k=Symbol("setAt");function j(t,e){t&&"function"!=typeof t&&(e=t,t=void 0),t||(t=class{}),e||(e={get(t){if("function"!=typeof this[S])throw new Error("Indexable class must have an [getAt] method");return this[S](t)},set(t,e){if("function"!=typeof this[k])throw new Error("Indexable class has read-only numeric index access");this[k](t,e)}});class n extends t{}return Object.setPrototypeOf(n.prototype,new Proxy(t.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(t,n,r){if(n in t){const e=Object.getOwnPropertyDescriptor(t,n)?.get;return e?e.call(r):t[n]}if("string"==typeof n){if("length"===n&&e.getLength)return e.getLength.call(r);const t=Number(n);if(!Number.isNaN(t))return e.get.call(r,t)}},set(t,n,r,o){if(n in t){const e=Object.getOwnPropertyDescriptor(t,n)?.set;return e?e.call(o,r):t[n]=r,!0}if("string"==typeof n){if("length"===n&&e.setLength)return e.setLength.call(o,r),!0;const t=Number(n);if(!Number.isNaN(t)){if(!e.set)throw new Error("Indexable class has read-only numeric index access");return e.set.call(o,t,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0}})),n}const O=Symbol("forwardArray");class E{get[O](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[O].length}[Symbol.iterator](){return this[O][Symbol.iterator]()}map(t,e){return this[O].map(t,e)}filter(t,e){return this[O].filter(t,e)}reduce(t,e){return void 0!==e?this[O].reduce(t,e):this[O].reduce(t)}reduceRight(t,e){return void 0!==e?this[O].reduceRight(t,e):this[O].reduceRight(t)}forEach(t,e){this[O].forEach(t,e)}find(t,e){return this[O].find(t,e)}findIndex(t,e){return this[O].findIndex(t,e)}findLast(t,e){return this[O].findLast(t,e)}findLastIndex(t,e){return this[O].findLastIndex(t,e)}includes(t,e){return this[O].includes(t,e)}indexOf(t,e){return this[O].indexOf(t,e)}lastIndexOf(t,e){return this[O].lastIndexOf(t,e)}slice(t,e){return this[O].slice(t,e)}concat(...t){return this[O].concat(...t)}every(t,e){return this[O].every(t,e)}some(t,e){return this[O].some(t,e)}join(t){return this[O].join(t)}keys(){return this[O].keys()}values(){return this[O].values()}entries(){return this[O].entries()}toString(){return this[O].toString()}toLocaleString(t,e){return this[O].toLocaleString(t,e)}at(t){return this[O].at(t)}flat(t){return this[O].flat(t)}flatMap(t,e){return this[O].flatMap(t,e)}toReversed(){return this[O].toReversed?.()??[...this[O]].reverse()}toSorted(t){return this[O].toSorted?.(t)??[...this[O]].sort(t)}toSpliced(t,e,...n){return void 0===e?this[O].toSpliced(t):this[O].toSpliced(t,e,...n)}with(t,e){return this[O].with(t,e)}get[Symbol.unscopables](){return this[O][Symbol.unscopables]}}var x,M;class R{constructor(t){if(this.uuids=new WeakMap,this.refs={},this[x]="IterableWeakMap",this.registry=new FinalizationRegistry(t=>{delete this.refs[t]}),t)for(const[e,n]of t)this.set(e,n)}createIterator(t){const{refs:e}=this;return function*(){for(const n of Object.keys(e)){const[r,o]=e[n],s=r.deref();s?yield t(s,o):delete e[n]}}()}clear(){for(const t of Object.keys(this.refs)){const e=this.refs[t][0].deref();e&&this.registry.unregister(e)}this.uuids=new WeakMap,this.refs={}}delete(t){const e=this.uuids.get(t);return!!e&&(delete this.refs[e],this.uuids.delete(t),this.registry.unregister(t),!0)}forEach(t,e){for(const[n,r]of this)t.call(e??this,r,n,e??this)}get(t){const e=this.uuids.get(t);if(e)return this.refs[e][1]}has(t){return this.uuids.has(t)}set(t,e){let n=this.uuids.get(t);return n?this.refs[n][1]=e:(n=crypto.randomUUID(),this.uuids.set(t,n),this.refs[n]=[new WeakRef(t),e],this.registry.register(t,n,t)),this}get size(){return[...this].length}entries(){return this.createIterator((t,e)=>[t,e])}keys(){return this.createIterator((t,e)=>t)}values(){return this.createIterator((t,e)=>e)}[Symbol.iterator](){return this.entries()}}x=Symbol.toStringTag;class P{constructor(t){if(this.uuids=new WeakMap,this.refs={},this[M]="IterableWeakSet",this.registry=new FinalizationRegistry(t=>{delete this.refs[t]}),t)for(const e of t)this.add(e)}createIterator(t){const{refs:e}=this;return function*(){for(const n of Object.keys(e)){const r=e[n].deref();r?yield t(r):delete e[n]}}()}clear(){for(const t of Object.keys(this.refs)){const e=this.refs[t].deref();e&&this.registry.unregister(e)}this.uuids=new WeakMap,this.refs={}}add(t){let e=this.uuids.get(t);return e||(e=crypto.randomUUID(),this.uuids.set(t,e),this.refs[e]=new WeakRef(t),this.registry.register(t,e,t)),this}delete(t){const e=this.uuids.get(t);return!!e&&(delete this.refs[e],this.uuids.delete(t),this.registry.unregister(t),!0)}forEach(t,e){for(const n of this)t.call(e??this,n,n,e??this)}has(t){return this.uuids.has(t)}get size(){return[...this].length}entries(){return this.createIterator(t=>[t,t])}keys(){return this.createIterator(t=>t)}values(){return this.createIterator(t=>t)}[Symbol.iterator](){return this.keys()}union(t){const e={[Symbol.iterator]:()=>t.keys()},n=this;return new Set(function*(){yield*n;for(const t of e)n.has(t)||(yield t)}())}intersection(t){const e=this;return new Set(function*(){for(const n of e)t.has(n)&&(yield n)}())}difference(t){const e=this;return new Set(function*(){for(const n of e)t.has(n)||(yield n)}())}symmetricDifference(t){const e={[Symbol.iterator]:()=>t.keys()},n=this;return new Set(function*(){for(const e of n)t.has(e)||(yield e);for(const t of e)n.has(t)||(yield t)}())}isSubsetOf(t){for(const e of this)if(!t.has(e))return!1;return!0}isSupersetOf(t){const e={[Symbol.iterator]:()=>t.keys()};for(const t of e)if(!this.has(t))return!1;return!0}isDisjointFrom(t){for(const e of this)if(t.has(e))return!1;return!0}}function A(t,e){const r=new WeakMap,s=t(Object);return r.set(Object,s),new Proxy(s,{apply(s,i,c){if(0===c.length)throw new Error("Mixin requires a base class");const a=c[0];if("function"!=typeof a)throw new Error("Mixin requires a constructor function");if(!(n(a)||a&&"function"==typeof a&&a.prototype))throw new Error("Mixin requires a valid constructor");const f=r.get(a);if(f)return f;let l=a;if(e){const t=class extends a{},n=a.prototype,r=new Proxy(n,{get(t,n,r){const s=o(t,n,r);return"function"!=typeof s||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?s:function(...t){const n=e(this);return s.apply(n,t)}}});Object.setPrototypeOf(t.prototype,r),l=t}const u=t(l);return r.set(a,u),u}})}M=Symbol.toStringTag;const D=Symbol("native-reactive"),W=Symbol("non-reactive"),T=Symbol("unreactive-properties"),$=Symbol("prototype-forwarding"),z=Symbol("all-props"),C=Symbol("root-function");var I;!function(t){t.CycleDetected="CYCLE_DETECTED",t.MaxDepthExceeded="MAX_DEPTH_EXCEEDED",t.MaxReactionExceeded="MAX_REACTION_EXCEEDED",t.WriteInComputed="WRITE_IN_COMPUTED",t.TrackingError="TRACKING_ERROR"}(I||(I={}));class K extends Error{constructor(t,e){super(t),this.debugInfo=e,this.name="ReactiveError"}}const N={enter:t=>{},leave:t=>{},chain:(t,e)=>{},beginChain:t=>{},endChain:()=>{},garbageCollected:t=>{},touched:(t,e,n,r)=>{},skipRunningEffect:(t,e)=>{},maxEffectChain:100,maxEffectReaction:"throw",cycleHandling:"throw",maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...t)=>{},introspection:{enableHistory:!1,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}},q=[];function F(){return q.slice()}function V(t){const e=et(t),n=q.indexOf(e);if(-1!==n)return q.slice(0,n+1).reverse();for(let t=0;t<q.length;t++){let n=q[t];const r=new WeakSet,o=[];for(;n&&!r.has(n);){r.add(n);const s=et(n);if(o.push(s),s===e){const n=o.reverse();n[0]!==e&&n.unshift(e);const r=q.slice(0,t+1).reverse();return n.length>0&&r.length>0&&r.shift(),[...n,...r]}n=Q.get(n)}}return!1}function L(t,e){const n=q.slice();H(t);try{return e()}finally{H(n)}}function U(){return q[0]}function _(t,e){if(et(t)===et(U()))return e();q.unshift(t);try{return e()}finally{if(q.shift()!==t)throw new K("[reactive] Effect stack mismatch")}}function H(t){q.length=0,q.push(...t)}const B=new WeakMap,G=new WeakMap;function X(t){let e=t;for(;e&&"object"==typeof e&&null!==e&&G.has(e);)e=G.get(e);return e}const Z=new WeakMap,Y=new WeakMap,J=new WeakMap,Q=new WeakMap;function tt(t,e){return Object.defineProperty(t,C,{value:et(e),writable:!1})}function et(t){return t?.[C]||t}const nt=new WeakSet;let rt=!1;function ot(){const t=U();return t?nt.has(et(t)):rt}function st(t){const e=U();if(!e)return void(rt=t);const n=et(e);t?nt.add(n):nt.delete(n)}function it(t,e=z){t=X(t);const n=U();!n||ot()||"symbol"==typeof e&&e!==z||function(t,e,n){let r=Y.get(t);r||(r=new Map,Y.set(t,r));let o=r.get(e);o||(o=new Set,r.set(e,o));o.add(n);const s=Z.get(n);s?s.add(t):Z.set(n,new Set([t]))}(t,e,n)}const ct=Symbol("external-source");let at=!1;const ft=new Set,lt=new Set,ut=new WeakMap,ht=new WeakMap;let dt=0,pt=0;const gt=new Map;function yt(t){let e=ut.get(t);if(!e){const n=et(t);e=n?.name?.trim()||"effect_"+ ++dt,ut.set(t,e)}return e}function mt(t){let e=ht.get(t);if(!e){const n=t?.constructor?.name;e=`${n&&"Object"!==n?n:"object"}_${++pt}`,ht.set(t,e)}return e}function bt(t){if(!t||ft.has(t))return;ft.add(t);const e=Z.get(t);if(e)for(const t of e)wt(t)}function wt(t){lt.has(t)||function(t){lt.add(t),mt(t)}(t)}function vt(t,e,n,r,o,s){const i=function(t){let e=gt.get(t);return e||(e=new Map,gt.set(t,e)),e}(t);let c=i.get(e);c||(c=new Map,i.set(e,c));let a=c.get(n);return a||(a={label:n,object:r,prop:o,evolution:s,count:0,lastTriggered:Date.now()},c.set(n,a)),a}function St(t,e){ut.set(t,e)}function kt(t,e){ht.set(t,e),lt.add(t)}function jt(t){t&&at&&bt(t)}function Ot(t){at&&wt(t)}function Et(t,e,n,r,o){if(N.introspection.enableHistory&&function(t,e,n,r,o){const s={id:++At,timestamp:Date.now(),source:t?yt(t):"External",target:yt(e),objectName:mt(n),prop:String(r),type:o.type};Pt.push(s),Pt.length>N.introspection.historySize&&Pt.shift()}(t,e,n,r,o),!at)return;bt(e),t&&bt(t);const s=function(t,e){const n=mt(t);return e===z?`${n}.*`:"symbol"==typeof e?`${n}.${e.description??e.toString()}`:`${n}.${String(e)}`}(n,r),i=vt(t??ct,e,s,n,r,o);i.count+=1,i.lastTriggered=Date.now(),wt(n)}function xt(t,e=5){const n=[];let r=t;for(let t=0;t<e;t++){let t,e="";t:for(const[n,o]of gt)for(const[s,i]of o)if(s===r){let r=0;for(const o of i.values())o.lastTriggered>r&&(r=o.lastTriggered,e=o.label,t=n===ct?void 0:n);if(t||e)break t}if(!t){if(e){n.push(`External -> (${e}) -> ${yt(r)}`);break}break}n.push(`${yt(t)} -> (${e}) -> ${yt(r)}`),r=t}return n.reverse()}function Mt(){const t=[],e=[],n=new Map,r=new Set(ft);!function(t){const e=Array.from(t);for(let n=0;n<e.length;n++){const r=e[n],o=Q.get(r);o&&!t.has(o)&&(t.add(o),e.push(o))}}(r);const{nodes:o,nodeByEffect:s}=function(t){const e=[],n=new Map,r=Array.from(t);for(const t of r){const r=yt(t),o={id:`effect_${e.length}`,label:r,type:"effect",depth:0,debugName:r};e.push(o),n.set(t,o)}const o=new Map,s=t=>{if(!t)return 0;const e=o.get(t);if(void 0!==e)return e;const n=Q.get(t),r=s(n)+(n?1:0);return o.set(t,r),r};for(const[t,e]of n){e.depth=s(t);const r=Q.get(t);if(r){const t=n.get(r);t&&(e.parentId=t.id)}}return{nodes:e,nodeByEffect:n}}(r);for(const e of o)t.push(e);for(const[t,e]of s)n.set(t,e.id);for(const e of lt){const r=`object_${t.length}`;t.push({id:r,label:mt(e),type:"state",debugName:ht.get(e)}),n.set(e,r)}if(gt.has(ct)){const e="effect_external";t.push({id:e,label:"External",type:"external",depth:0}),n.set(ct,e)}for(const t of r){const r=n.get(t);if(!r)continue;const o=Z.get(t);if(o)for(const t of o){const o=n.get(t);o&&e.push({id:`${r}->${o}`,source:r,target:o,type:"dependency",label:"depends"})}}for(const[t,r]of gt)for(const[o,s]of r){const r=n.get(o);if(!r)continue;const i=n.get(t);if(i)for(const t of s.values())e.push({id:`${i}->${r}:${t.label}`,source:i,target:r,type:"cause",label:t.count>1?`${t.label} (${t.count})`:t.label,count:t.count})}return{nodes:t,edges:e,meta:{generatedAt:Date.now(),devtoolsEnabled:at}}}function Rt(){return at}const Pt=[];let At=0;let Dt=!1;const Wt=Object.getOwnPropertyDescriptor(Promise.prototype,"then")?.value||Promise.prototype.then,Tt=Object.getOwnPropertyDescriptor(Promise.prototype,"catch")?.value||Promise.prototype.catch,$t=Object.getOwnPropertyDescriptor(Promise.prototype,"finally")?.value||Promise.prototype.finally,zt=globalThis.setTimeout,Ct=globalThis.setInterval,It=void 0!==globalThis.requestAnimationFrame?globalThis.requestAnimationFrame:void 0,Kt=void 0!==globalThis.queueMicrotask?globalThis.queueMicrotask:void 0;let Nt;function qt(){Promise.prototype.then=function(t,e){const n=F();return Wt.call(this,Ft(t,n),Ft(e,n))},Promise.prototype.catch=function(t){const e=F();return Tt.call(this,Ft(t,e))},Promise.prototype.finally=function(t){const e=F();return $t.call(this,Ft(t,e))};const t=(t,e,...n)=>{const r=N.zones.setTimeout?F():void 0;return zt.apply(globalThis,[Ft(t,r),e,...n])};Object.assign(t,zt),globalThis.setTimeout=t;const e=(t,e,...n)=>{const r=N.zones.setInterval?F():void 0;return Ct.apply(globalThis,[Ft(t,r),e,...n])};Object.assign(e,Ct),globalThis.setInterval=e,It&&(globalThis.requestAnimationFrame=t=>{const e=N.zones.requestAnimationFrame?F():void 0;return It.call(globalThis,Ft(t,e))}),Kt&&(globalThis.queueMicrotask=t=>{const e=N.zones.queueMicrotask?F():void 0;Kt.call(globalThis,Ft(t,e))})}function Ft(t,e){if(t)return e&&e.length||Nt?(...n)=>{const r=()=>e?.length?L(e,()=>t(...n)):t(...n);return Nt?Nt(r,"immediate"):r()}:t}function Vt(t){const e=new Map;for(let n=0;n<t.length;n++){const r=t[n];if(e.has(r))return t.slice(e.get(r));e.set(r,n)}return null}function Lt(t,e=20){const n=t.map(t=>t.name||"<anonymous>");if(n.length<=e)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}const Ut=new WeakMap,_t=new WeakSet,Ht=new WeakMap,Bt=new WeakMap,Gt=new WeakMap,Xt=new WeakMap,Zt=new WeakMap;function Yt(t,e){let n=t.get(e);return n||(n=new P,t.set(e,n)),n}function Jt(t,e,n){if(t===e)return!0;if(t===n)return!1;const r=new Set,o=[t];for(r.add(t),r.add(n);o.length>0;){const t=o.shift(),n=Ht.get(t);if(n)for(const t of n){if(t===e)return!0;r.has(t)||(r.add(t),o.push(t))}}return!1}let Qt;const te=new Set;function ee(t,e,n=new Set,r=[]){if(t===e)return[...r,e];if(n.has(t))return[];n.add(t);const o=[...r,t],s=Ht.get(t);if(s)for(const t of s){const r=ee(t,e,n,o);if(r.length>0)return r}return[]}function ne(t,e){const n=ee(e,t);return n.length>0?[t,...n]:[]}function re(t,e,n){if(!Qt)return;const r=et(t);if(Qt.all.set(r,t),e&&!n){const n=et(e);if(function(t,e){if(t===e)return!1;const n=Xt.get(e);return!!n?.has(t)}(n,r)){const e=ne(n,r),o=e.length>0?`Cycle detected: ${e.map(t=>t.name||t.toString()).join(" → ")}`:`Cycle detected: ${n.name||n.toString()} → ${r.name||r.toString()} (and back)`,s=N.cycleHandling;if("strict"===s){Qt.all.delete(r);const n=xt(t),s=Zt.get(r);throw new K(`[reactive] Strict Cycle Prevention: ${o}`,{code:I.CycleDetected,cycle:e.map(t=>t.name||t.toString()),details:o,causalChain:n,creationStack:s})}switch(s){case"throw":{Qt.all.delete(r);const n=xt(t),s=Zt.get(r);throw new K(`[reactive] ${o}`,{code:I.CycleDetected,cycle:e.map(t=>t.name||t.toString()),details:o,causalChain:n,creationStack:s})}case"warn":return N.warn(`[reactive] ${o}`),void Qt.all.delete(r);case"break":return void Qt.all.delete(r)}}!function(t,e){const n=Ht.get(t);if(n?.has(e))return;if(n)n.add(e);else{const n=new P;n.add(e),Ht.set(t,n)}let r=Bt.get(e);if(r||(r=new P,Bt.set(e,r)),r.add(t),t===e)return;const o=Yt(Xt,t),s=Yt(Gt,e);o.add(e),s.add(t);const i=Gt.get(t);if(i)for(const t of i)t!==e&&(Yt(Xt,t).add(e),s.add(t));const c=Xt.get(e);if(c)for(const e of c)e!==t&&(Yt(Gt,e).add(t),o.add(e));if(i&&c)for(const t of i){const e=Yt(Xt,t);for(const n of c)t!==n&&(e.add(n),Yt(Gt,n).add(t))}}(n,r)}}function oe(t){Qt?te.add(t):t()}const se=oe;function ie(t,e,n,r,o){if(n.has(t)){const e=r.indexOf(t);return r.slice(e).concat([t])}if(e.has(t))return[];e.add(t),n.add(t),r.push(t);const s=Ht.get(t);if(s)for(const t of s)if(o.all.has(t)){const s=ie(t,e,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(t),[]}function ce(t){let e=null,n=null;for(const[t,r]of Qt.all){if(0===(Qt.inDegrees.get(t)??0)){e=r,n=t;break}}if(!e){if(Qt.all.size>0){let t=function(t){const e=new Set,n=new Set,r=[];for(const[o]of t.all){if(e.has(o))continue;const s=ie(o,e,n,r,t);if(s.length>0)return s}return[]}(Qt);if(0===t.length)for(const[e]of Qt.all){const n=Xt.get(e);if(n){for(const r of n)if(r!==e&&Qt.all.has(r)){const n=Xt.get(r);if(n?.has(e)){t=[e,r,e];break}}if(t.length>0)break}}const e=t.length>0?`Cycle detected: ${t.map(t=>t.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";switch(N.cycleHandling){case"throw":throw new K(`[reactive] ${e}`);case"warn":{N.warn(`[reactive] ${e}`);const t=Qt.all.values().next().value;if(t){const e=et(t);return Qt.all.delete(e),Qt.inDegrees.delete(e),t()}break}case"break":{const t=Qt.all.values().next().value;if(t){const e=et(t);return Qt.all.delete(e),Qt.inDegrees.delete(e),t()}break}}}return null}t.push(et(e));const r=e();return Qt.all.delete(n),Qt.inDegrees.delete(n),function(t,e){const n=Xt.get(e);if(n)for(const e of n)if(t.all.has(e)){const n=t.inDegrees.get(e)??0;n>0&&t.inDegrees.set(e,n-1)}}(Qt,n),r}function ae(t,e){Array.isArray(t)||(t=[t]);const n=t.map(et);if(Qt){N?.chain(n,et(U()));const r=U();for(let n=0;n<t.length;n++)re(t[n],r,"immediate"===e);if(e){const e={};for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=et(t[n]);Qt.all.delete(e)}return e.value}}else{N.beginChain(n),Qt={all:new Map,inDegrees:new Map};const r=U();for(let n=0;n<t.length;n++)re(t[n],r,"immediate"===e);const o=[];if(function(t){const e=U(),n=e?et(e):null;t.inDegrees.clear();for(const[e]of t.all){let r=0;const o=Gt.get(e);if(o)for(const s of o)t.all.has(s)&&s!==n&&s!==e&&r++;t.inDegrees.set(e,r)}}(Qt),e){const e={};try{for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=et(t[n]);Qt.all.delete(e)}for(;Qt.all.size>0;){if(o.length>N.maxEffectChain){const t=Vt(o),e=Lt(o),n=t?`Max effect chain reached (cycle detected: ${Lt(t)})`:`Max effect chain reached (trace: ${e})`,r=(Qt?Array.from(Qt.all.keys()):[]).map(t=>t.name||"<anonymous>"),s={code:I.MaxDepthExceeded,effectuatedRoots:o,cycle:t,trace:e,maxEffectChain:N.maxEffectChain,queued:r.slice(0,50),queuedCount:r.length,causalChain:o.length>0?xt(Qt.all.get(o[o.length-1])):[]};switch(N.maxEffectReaction){case"throw":case"debug":throw new K(`[reactive] ${n}`,s);case"warn":N.warn(`[reactive] ${n} (queued: ${r.slice(0,10).join(", ")}${r.length>10?", …":""})`)}}if(!Qt||0===Qt.all.size)break;const t=ce(o);void 0===t||"value"in e||(e.value=t)}const n=Array.from(te);te.clear();for(const t of n)t();return e.value}finally{Qt=void 0,N.endChain()}}else{const t={};try{for(;Qt.all.size>0||te.size>0;){for(;Qt.all.size>0;){if(o.length>N.maxEffectChain){const t=Vt(o),e=Lt(o),n=t?`Max effect chain reached (cycle detected: ${Lt(t)})`:`Max effect chain reached (trace: ${e})`,r=(Qt?Array.from(Qt.all.keys()):[]).map(t=>t.name||"<anonymous>"),s={code:I.MaxDepthExceeded,effectuatedRoots:o,cycle:t,trace:e,maxEffectChain:N.maxEffectChain,queued:r.slice(0,50),queuedCount:r.length,causalChain:o.length>0?xt(Qt.all.get(o[o.length-1])):[]};switch(N.maxEffectReaction){case"throw":case"debug":throw new K(`[reactive] ${n}`,s);case"warn":N.warn(`[reactive] ${n} (queued: ${r.slice(0,10).join(", ")}${r.length>10?", …":""})`)}}const e=ce(o);if(0===Qt.all.size)break;void 0===e||"value"in t||(t.value=e)}if(te.size>0){const t=Array.from(te);te.clear();for(const e of t)e()}}return t.value}finally{Qt=void 0,N.endChain()}}}}const fe=l({method:t=>function(...e){return ae(tt(()=>t.apply(this,e),t),"immediate")},default:t=>function(...e){return ae(tt(()=>t.apply(this,e),t),"immediate")}}),le=new FinalizationRegistry(t=>t());function ue(t,e){!function(t){t&&(Nt=t),!Dt&&N.asyncMode&&(qt(),Dt=!0)}(ae);const n=e?.asyncMode??N.asyncMode??"cancel";if(N.introspection.enableHistory){const e=(new Error).stack;if(e){const n=e.split("\n").slice(2).join("\n");Zt.set(et(t),n)}}let r=null;const o=F(),s=tt(t=>_(u,t),t),i=t=>L(o,t);let c=!1,a=!1,f=null,l=null;function u(){if(r){const t=r;r=null,_(void 0,()=>t())}if(f)if("cancel"===n&&l)l(),l=null,f=null;else if("ignore"===n)return;if(c)return;let e,o;N.enter(et(t));try{if(o=_(u,()=>t({tracked:s,ascend:i,reaction:a})),o&&"function"!=typeof o&&("object"!=typeof o||!("then"in o)))throw new K(`[reactive] Effect returned a non-function value: ${o}`);if(o&&"object"==typeof o&&"function"==typeof o.then){const t=o;let e=null;const n=new Promise((t,n)=>{e=n}),r=new K("[reactive] Effect canceled due to dependency change");f=Promise.race([t,n]),l=()=>{e&&e(r)}}else e=o}finally{a=!0,N.leave(t)}r=()=>{r=null,e?.();const t=Z.get(u);if(t){for(const e of t){const t=Y.get(e);if(t){for(const[e,n]of t.entries())n.delete(u),0===n.size&&t.delete(e);0===t.size&&Y.delete(e)}}Z.delete(u)}const n=J.get(u);if(n){for(const t of n)t();J.delete(u)}}}tt(u,t),e?.opaque&&_t.add(u),Rt()&&jt(u),ae(u,"immediate");const h=o[0];Q.set(u,h);const d=()=>{c||(c=!0,l&&(l(),l=null,f=null),r?.(),function(t){const e=et(t),n=Gt.get(e),r=Xt.get(e),o=Ht.get(e);if(o){for(const t of o){const n=Bt.get(t);n?.delete(e)}Ht.delete(e)}const s=Bt.get(e);if(s){for(const t of s){const n=Ht.get(t);n?.delete(e)}Bt.delete(e)}if(n)for(const t of n){const n=Xt.get(t);if(n&&(n.delete(e),r))for(const o of r)Jt(t,o,e)||n.delete(o)}if(r)for(const t of r){const r=Gt.get(t);if(r&&(r.delete(e),n))for(const o of n)Jt(o,t,e)||r.delete(o)}if(n&&r)for(const t of n){const n=Xt.get(t);if(n)for(const o of r)if(!Jt(t,o,e)){n.delete(o);const e=Gt.get(o);e?.delete(t)}}Gt.delete(e),Xt.delete(e)}(u),le.unregister(d))};if(!h){const e=()=>d();return le.register(e,()=>{d(),N.garbageCollected(t)},d),e}let p=J.get(h);p||(p=new Set,J.set(h,p));const g=()=>{p.delete(g),0===p.size&&J.delete(h),d()};return p.add(g),g}function he(t){const e=ot();st(!0);try{return t()}finally{st(e)}}function de(t){let e;return _(void 0,()=>{e=t()}),e}const pe=new WeakMap,ge=new WeakSet,ye=new WeakMap,me=new WeakMap;function be(t,e,n){let r=pe.get(t);r||(r=new Set,pe.set(t,r)),r.add({parent:e,prop:n})}function we(t,e,n){const r=pe.get(t);if(r){for(const t of r)if(t.parent===e&&t.prop===n){r.delete(t);break}0===r.size&&pe.delete(t)}}function ve(t){return!!ge.has(t)||ke(t)}function Se(t,e){const n=pe.get(t);if(n)for(const{parent:t}of n){const e=ye.get(t);if(e)for(const t of e)ae(t);Se(t)}}function ke(t){const e=pe.get(t);if(!e)return!1;for(const{parent:t}of e){if(ge.has(t))return!0;if(ke(t))return!0}return!1}const je=new WeakMap;function Oe(t,e){const n={},r=Ee(t=X(t));r&&Object.assign(r,{evolution:e,next:n}),je.set(t,n)}function Ee(t){t=X(t);let e=je.get(t);return e||(e={},je.set(t,e)),e}function xe(t,e,n,r,...o){const s=U();for(const i of o)for(const o of i){const i=r.get(o);if(i)for(const r of i){const i=V(r);if(i){N.skipRunningEffect(r,i);continue}n.add(r);const c=Ut.get(r);if(Et(s,r,t,o,e),c){for(const n of c)n(t,e,o);c.delete(r)}}}}function Me(t,e,n){Re(t,e,[n])}function Re(t,e,n){Oe(t=X(t),e);const r=Y.get(t);if(r){const o=new Set;n?xe(t,e,o,r,[z],n):xe(t,e,o,r,r.keys()),N.touched(t,e,n,o),ae(Array.from(o))}ge.has(t)&&Se(t)}const Pe=new WeakSet,Ae=new Set,De=Symbol("absent");function We(...t){for(const e of t)e&&(e.prototype[W]=!0);return t[0]}function Te(t){if(null===t||"object"!=typeof t)return!0;if(Pe.has(t))return!0;if(t[W])return!0;for(const e of Ae)if(e(t))return!0;return!1}function $e(t,e){t.prototype[D]=e,We(e)}function ze(t){return function(t){return"object"==typeof t&&null!==t}(t)}function Ce(t){if(ze(t)){if(Array.isArray(t))return Array.prototype;try{return t.constructor}catch{return}}}function Ie(t,e){return t!==e&&(!(!ze(t)||!ze(e))&&(!Te(t)&&!Te(e)&&Ce(t)===Ce(e)))}function Ke(t,e,n,r,o){const s={type:o?"set":"add",prop:e};if(N.recursiveTouching&&void 0!==n&&Ie(n,r)){const o={obj:X(t),prop:e};!function(t){if(!t.length)return;const e=new Set,n=t[0]?.origin;let r;if(n){r=new Set;const t=Y.get(n.obj);if(t){const e=new Set;xe(n.obj,{type:"set",prop:n.prop},e,t,[z],[n.prop]);for(const t of e)r.add(t)}if(0===r.size)return}for(const{target:o,evolution:s,prop:i}of t){if(!ze(o))continue;const t=X(o);Oe(t,s);const c=Y.get(t);let a;const f=[i];if(c){if(a=new Set,xe(t,s,a,c,[z],f),n&&r){const t=new Set;for(const e of a)(r.has(e)||Fe(e,r))&&t.add(e);a=t}for(const t of a)e.add(t)}N.touched(t,s,f,a),ge.has(t)&&Se(t)}e.size&&ae([...e])}(qe(n,r,new WeakMap,[],o)),function(t,e,n){t=X(t);const r=Y.get(t);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set,i=U();for(const r of o){if(!_t.has(r))continue;const o=V(r);if(o){N.skipRunningEffect(r,o);continue}s.add(r);const c=Ut.get(r);if(Et(i,r,t,n,e),c){for(const r of c)r(t,e,n);c.delete(r)}}s.size>0&&(N.touched(t,e,[n],s),ae(Array.from(s)))}(t,s,e)}else Me(t,s,e)}function Ne(t){const e=new Set(Reflect.ownKeys(t));let n=Object.getPrototypeOf(t);for(;n&&!Object.hasOwn(n,"constructor");){for(const t of Reflect.ownKeys(n))e.add(t);n=Object.getPrototypeOf(n)}return e}function qe(t,e,n=new WeakMap,r=[],o){return Ie(t,e)&&ze(t)&&ze(e)?function(t,e,n){let r=t.get(e);return r||(r=new WeakSet,t.set(e,r)),!!r.has(n)||(r.add(n),!1)}(n,t,e)?r:Array.isArray(t)&&Array.isArray(e)?(function(t,e,n,r,o){const s=[],i=t.length,c=e.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:t,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:t,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const f=X(t[n]),l=X(e[n]);Object.is(f,l)||s.push({target:t,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:t,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(t,e,0,r,o),r):(function(t,e,n,r,o){const s=Ne(t),i=Ne(e),c=[];for(const e of s)i.has(e)||c.push({target:t,evolution:{type:"del",prop:e},prop:e,origin:o});for(const e of i)s.has(e)||c.push({target:t,evolution:{type:"add",prop:e},prop:e,origin:o});for(const a of i){if(!s.has(a))continue;const i=X(t[a]),f=X(e[a]);Ie(i,f)?qe(i,f,n,r,o):Object.is(i,f)||c.push({target:t,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(t,e,n,r,o),r):r}function Fe(t,e){let n=t;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),e.has(n))return!0;n=Q.get(n)}return!1}We(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...t){for(const e of t){try{Object.defineProperty(e,W,{value:!0,writable:!1,enumerable:!1,configurable:!1})}catch{}W in e||Pe.add(e)}t[0]}(window,document),We(Node,Element,HTMLElement,EventTarget));const Ve=[],Le={[Symbol.toStringTag]:"MutTs Reactive",get(t,e,n){if(e===W)return!1;const r=X(t);if(r[T]?.has(e)||"symbol"==typeof e)return o(t,e,n);$ in t&&t[$]instanceof Array&&"string"==typeof e&&("length"===e||!Number.isNaN(Number(e)))&&it(t,"length"===e?"length":Number(e));const s=Reflect.has(n,e),c=s&&Object.hasOwn(n,e),a=s&&!c,f=N.ignoreAccessors&&c&&(i(n,e)||i(r,e));if(s&&(N.instanceMembers&&a&&t instanceof Object||f)||it(t,e),a&&(!N.instanceMembers||!(t instanceof Object))){let n=He(Object.getPrototypeOf(t));for(;n&&n!==Object.prototype&&(it(n,e),!Object.hasOwn(n,e));){let t=He(Object.getPrototypeOf(n));t===n&&(t=He(Object.getPrototypeOf(X(n)))),n=t}}const l=o(t,e,n);if("object"==typeof l&&null!==l){const n=He(l);return ve(t)&&be(n,t,e),n}return l},set(t,e,n,r){const o=X(t),i=X(r);if(o[T]?.has(e)||o!==i)return s(t,e,n,r);const c=$ in t&&t[$]instanceof Array&&(!Number.isNaN(Number(e))||"length"===e),a=X(n);if(c)return t[e]=a,!0;let f=De;if(Reflect.has(i,e)){const t=Object.getOwnPropertyDescriptor(i,e),n=Object.getOwnPropertyDescriptor(o,e),r=t||n;f=r?.get&&!r?.set?_(void 0,()=>Reflect.get(o,e,i)):Reflect.get(o,e,i)}if(ge.has(t)&&("object"==typeof f&&null!==f&&we(f,t,e),"object"==typeof a&&null!==a)){be(He(a),t,e)}return f!==a&&s(t,e,a,r)&&Ke(t,e,f,a,f!==De),!0},has(t,e){if(Ve.includes(t))throw new K(`[reactive] Circular dependency detected in 'has' check for property '${String(e)}'`,{code:I.CycleDetected,cycle:[]});Ve.push(t),it(t,e);const n=Reflect.has(t,e);return Ve.pop(),n},deleteProperty(t,e){if(!Object.hasOwn(t,e))return!1;const n=t[e];return ge.has(t)&&"object"==typeof n&&null!==n&&we(n,t,e),delete t[e],Me(t,{type:"del",prop:e},e),ge.has(t)&&Se(t),!0},getPrototypeOf:t=>$ in t?t[$]:Object.getPrototypeOf(t),setPrototypeOf:(t,e)=>!($ in t)&&(Object.setPrototypeOf(t,e),!0),ownKeys:t=>(it(t,z),Reflect.ownKeys(t))},Ue=new WeakSet,_e=A(t=>class extends t{constructor(...t){return super(...t),Ue.has(new.target)?Be(this):this}});function He(t){if(!t||"object"!=typeof t)return t;const e=t;if(Te(e))return e;if(G.has(e))return e;const n=function(t){return B.get(t)}(e);if(void 0!==n)return n;const r=!(D in e)||e instanceof e[D]?e:new e[D](e);r!==e&&function(t,e){G.set(t,e)}(r,e);const o=new Proxy(r,Le);return function(t,e){B.set(t,e),G.set(e,t)}(e,o),o}const Be=l({class(t){if(t.prototype instanceof _e)return Ue.add(t),t;class e extends t{constructor(...n){return super(...n),new.target===e||Ue.has(new.target)||N.warn(`${t.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),Be(this)}}return Object.defineProperty(e,"name",{value:`Reactive<${t.name}>`}),e},get:t=>He(t),default:He});function Ge(t,e,{immediate:n=!1}={}){if(null==t)return;if("object"!=typeof t)throw new Error("Target of deep watching must be an object");const r=tt(()=>e(t),e);return ue(()=>{ge.add(t);let o=me.get(r);o||(o=new Set,me.set(r,o)),o.add(t);const s=new WeakSet;return function t(e,n=0){var r;if(!(!e||s.has(e)||(r=e,"object"!=typeof r||null===r)||n>N.maxDeepWatchDepth||Te(e))){s.add(e),ge.add(e),o.add(e);for(const r in X(e))if(Object.hasOwn(e,r)){const o=e[r];t("object"==typeof o&&null!==o?Be(o):o,n+1)}if(Array.isArray(e)||e instanceof Array){const r=e.length;for(let o=0;o<r;o++){const r=e[o];t("object"==typeof r&&null!==r?Be(r):r,n+1)}}else if(e instanceof Set)for(const r of e){t("object"==typeof r&&null!==r?Be(r):r,n+1)}else if(e instanceof Map)for(const[r,o]of e){t("object"==typeof o&&null!==o?Be(o):o,n+1)}}}(t),n&&e(t),n=!0,()=>{const t=me.get(r);if(t){for(const e of t){const t=ye.get(e);t?(t.delete(r),0===t.size&&(ye.delete(e),ge.delete(e))):ge.delete(e)}me.delete(r)}}})}const Xe=Symbol("cleanup"),Ze=Symbol("unset-yet");const Ye=l({class(t){We(t)},default:function(t,...e){return"object"==typeof t?function(t){if(Te(t=X(t)))return t;try{Object.defineProperty(t,W,{value:!0,writable:!1,enumerable:!1,configurable:!0})}catch{}return W in t||Pe.add(t),t}(t):n=>{n.prototype[T]=new Set(n.prototype[T]||[]),n.prototype[T].add(t);for(const t of e)n.prototype[T].add(t);return n}}});function Je(t,e){return Object.defineProperty(t,Xe,{value:e,writable:!1,enumerable:!1,configurable:!0})}function*Qe(t){let e=t.next();for(;!e.done;)yield Be(e.value),e=t.next()}function*tn(t){let e=t.next();for(;!e.done;){const[n,r]=e.value;yield[Be(n),Be(r)],e=t.next()}}const en=Symbol("native"),nn=Array.isArray;Array.isArray=t=>nn(t)||t&&"object"==typeof t&&$ in t&&Array.isArray(t[$]);class rn{at(t){const e=t<0?this[en].length+t:t;if(it(this,e),!(e<0||e>=this[en].length))return Be(this[en][e])}toReversed(){return it(this),Be(this[en].toReversed())}toSorted(t){return it(this),Be(this[en].toSorted(t))}toSpliced(t,e,...n){return it(this),void 0===e?this[en].toSpliced(t):this[en].toSpliced(t,e,...n)}with(t,e){return it(this),Be(this[en].with(t,e))}entries(){return it(this),tn(this[en].entries())}keys(){return it(this,"length"),this[en].keys()}values(){return it(this),Qe(this[en].values())}[Symbol.iterator](){it(this);const t=this[en][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:Be(e.value),done:!1}}}}indexOf(t,e){it(this);const n=X(t),r=this[en].indexOf(n,e);return-1!==r?r:this[en].indexOf(t,e)}lastIndexOf(t,e){it(this);const n=X(t),r=this[en].lastIndexOf(n,e);return-1!==r?r:this[en].lastIndexOf(t,e)}includes(t,e){it(this);const n=X(t);return this[en].includes(n,e)||this[en].includes(t,e)}find(t,e){if(it(this),"function"==typeof t){const n=t;return Be(this[en].find((t,r,o)=>n.call(e,Be(t),r,o),e))}const n="number"==typeof e?e:void 0,r=this[en].indexOf(t,n);if(-1!==r)return Be(this[en][r])}findIndex(t,e){if(it(this),"function"==typeof t){const n=t;return this[en].findIndex((t,r,o)=>n.call(e,Be(t),r,o),e)}const n="number"==typeof e?e:void 0;return this[en].indexOf(t,n)}flat(){return it(this),Be(this[en].flat())}flatMap(t,e){return it(this),Be(this[en].flatMap(t,e))}filter(t,e){return it(this),Be(this[en].filter((e,n,r)=>t(Be(e),n,r),e))}map(t,e){return it(this),Be(this[en].map((e,n,r)=>t(Be(e),n,r),e))}reduce(t,e){it(this);const n=void 0===e?this[en].reduce(t):this[en].reduce(t,e);return Be(n)}reduceRight(t,e){it(this);const n=void 0!==e?this[en].reduceRight(t,e):this[en].reduceRight(t);return Be(n)}slice(t,e){for(const n of sn(t||0,e||this[en].length-1))it(this,n);return void 0===t?this[en].slice():void 0===e?this[en].slice(t):this[en].slice(t,e)}concat(...t){return it(this),Be(this[en].concat(...t))}join(t){return it(this),this[en].join(t)}forEach(t,e){it(this),this[en].forEach((n,r,o)=>{t.call(e,Be(n),r,o)})}every(t,e){return it(this),this[en].every((n,r,o)=>t.call(e,Be(n),r,o),e)}some(t,e){return it(this),this[en].some((n,r,o)=>t.call(e,Be(n),r,o),e)}}function*on(t,{length:e=!0}={}){e&&(yield"length"),yield t}function*sn(t,e,{length:n=!1}={}){const r=Math.min(t,e),o=Math.max(t,e);n&&(yield"length");for(let t=r;t<=o;t++)yield t}class cn extends(j(rn,{get(t){return it(this,t),Be(this[en][t])},set(t,e){const n=t>=this[en].length;this[en][t]=e,Re(this,{type:"set",prop:t},on(t,{length:n}))},getLength(){return it(this,"length"),this[en].length},setLength(t){const e=this[en].length;try{this[en].length=t}finally{Re(this,{type:"set",prop:"length"},sn(e,t,{length:!0}))}}})){constructor(t){super(),Object.defineProperties(this,{[en]:{value:t},[$]:{value:t}})}push(...t){const e=this[en].length;try{return this[en].push(...t)}finally{Re(this,{type:"bunch",method:"push"},sn(e,e+t.length-1,{length:!0}))}}pop(){if(0!==this[en].length)try{return Be(this[en].pop())}finally{Re(this,{type:"bunch",method:"pop"},on(this[en].length))}}shift(){if(0!==this[en].length)try{return Be(this[en].shift())}finally{Re(this,{type:"bunch",method:"shift"},sn(0,this[en].length+1,{length:!0}))}}unshift(...t){try{return this[en].unshift(...t)}finally{Re(this,{type:"bunch",method:"unshift"},sn(0,this[en].length-t.length,{length:!0}))}}splice(t,e,...n){const r=this[en].length;void 0===e&&(e=r-t);try{return Be(void 0===e?this[en].splice(t):this[en].splice(t,e,...n))}finally{Re(this,{type:"bunch",method:"splice"},e===n.length?sn(t,t+e):sn(t,r+Math.max(n.length-e,0),{length:!0}))}}reverse(){try{return this[en].reverse()}finally{Re(this,{type:"bunch",method:"reverse"},sn(0,this[en].length-1))}}sort(t){t=t||((t,e)=>t.toString().localeCompare(e.toString()));try{return this[en].sort((e,n)=>t(Be(e),Be(n)))}finally{Re(this,{type:"bunch",method:"sort"},sn(0,this[en].length-1))}}fill(t,e,n){try{return void 0===e?this[en].fill(t):void 0===n?this[en].fill(t,e):this[en].fill(t,e,n)}finally{Re(this,{type:"bunch",method:"fill"},sn(0,this[en].length-1))}}copyWithin(t,e,n){try{return void 0===n?this[en].copyWithin(t,e):this[en].copyWithin(t,e,n)}finally{Re(this,{type:"bunch",method:"copyWithin"},sn(0,this[en].length-1))}}}class an extends Error{}class fn extends(j(rn,{get(t){return it(this,t),Be(this[en][t])},set(t,e){throw new an(`Setting index ${t} on a read-only array`)},getLength(){return it(this,"length"),this[en].length},setLength(t){throw new an(`Setting length to ${t} on a read-only array`)}})){constructor(t){super(),Object.defineProperties(this,{[en]:{value:t},[$]:{value:t}})}push(...t){throw new an("Pushing items to a read-only array")}pop(){throw new an("Popping from a read-only array")}shift(){throw new an("Shifting from a read-only array")}unshift(...t){throw new an("Unshifting items to a read-only array")}splice(t,e,...n){throw new an("Splice from a read-only array")}reverse(){throw new an("Reversing a read-only array")}sort(t){throw new an("Sorting a read-only array")}fill(t,e,n){throw new an("Filling a read-only array")}copyWithin(t,e,n){throw new an("Copying within a read-only array")}}const ln=Be(fn);const un=new WeakMap;function hn(t,e){t.branches??(t.branches=new WeakMap);let n=t.branches.get(e);return n||(n={},t.branches.set(e,n)),n}function dn(t){const e=et(t),n=un.get(e);if(n)return n;const r={},o=tt((...n)=>{const o=n;if(o.some(t=>!(t&&["object","symbol","function"].includes(typeof t))))throw new Error("memoize expects non-null object arguments");let s=r;for(const t of o)s=hn(s,t);return it(s,"memoize"),"result"in s||(s.cleanup=de(()=>ue(tt(()=>(s.result=t(...o),()=>{delete s.result,Me(s,{type:"invalidate",prop:o},"memoize")}),e),{opaque:!0}))),s.result},t);return un.set(e,o),un.set(o,o),o}const pn=l({getter(t,e){const n=dn(tt(r(e=>t.call(e),`${String(this.constructor.name)}.${String(e)}`),t));return function(){return n(this)}},method(t,e){const n=dn(tt(r((e,...n)=>t.call(e,...n),`${String(this.constructor.name)}.${String(e)}`),t));return function(...t){return n(this,...t)}},default:dn});let gn=(()=>{var t,e,n,r,o,s,i,c,a;let f,l,u=[Ye],h=[],d=function(){class t extends(j(E,{get(t){return this[S](t)},set(t,e){this[k](t,e)},getLength(){return this.length},setLength(t){this.length=t}})){toArray(){return Array.from(this)}}return t}();var p,g,y;return l=class extends d{get[(e=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,t=new WeakSet,O)](){return this.toArray()}constructor(a,f){let l;if(super(),t.add(this),e.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),ue(({ascend:t})=>{l=t}),b(this,c,l,"f"),"function"!=typeof a)throw new Error("Register requires a key function");b(this,e,a,"f"),b(this,n,Be([]),"f"),b(this,r,Be(new Map),"f"),Object.defineProperties(this,{[$]:{value:m(this,n,"f")}}),f&&this.push(...f)}ensureKey(n){let r=m(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},m(this,s,"f").set(n,r),m(this,c,"f").call(this,()=>{const o=ue(({reaction:o})=>{const s=m(this,e,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&m(this,t,"m",a).call(this,n,i,s),r.key=s});r.stop=o,m(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(t){const e=typeof t;if("string"!==e&&"number"!==e&&"symbol"!==e)throw new Error("Register key function must return a property key")}setKeyValue(t,e){const n=m(this,r,"f").get(t);void 0!==n&&n!==e&&this.cleanupValue(n),m(this,r,"f").set(t,e)}cleanupValue(t){const e=m(this,s,"f").get(t);if(!e)return;const n=e.stop;n&&(e.stop=void 0,m(this,i,"f").delete(n),n()),m(this,s,"f").delete(t)}disposeKeyEffects(){for(const t of Array.from(m(this,s,"f").keys()))this.cleanupValue(t);m(this,i,"f").clear()}incrementUsage(t){const e=m(this,o,"f").get(t)??0;m(this,o,"f").set(t,e+1)}decrementUsage(t){const e=m(this,o,"f").get(t);if(e)if(e<=1){const e=m(this,r,"f").get(t);m(this,o,"f").delete(t),m(this,r,"f").delete(t),void 0!==e&&this.cleanupValue(e)}else m(this,o,"f").set(t,e-1)}normalizeIndex(t,e=!1){const n=this.length;let r=t;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!e)throw new RangeError("Index out of bounds");r=n}if(!e&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(t,e,r){const o=m(this,n,"f")[t];void 0!==o&&Object.is(o,e)||(void 0!==o&&this.decrementUsage(o),m(this,n,"f")[t]=e,this.incrementUsage(e)),this.setKeyValue(e,r)}insertKeyValue(t,e,r){m(this,n,"f").splice(t,0,e),this.incrementUsage(e),this.setKeyValue(e,r)}rebuildFrom(t){this.disposeKeyEffects(),m(this,n,"f").splice(0,m(this,n,"f").length),m(this,o,"f").clear(),m(this,r,"f").clear();for(const e of t){const t=this.ensureKey(e);m(this,n,"f").push(t),this.incrementUsage(t),m(this,r,"f").set(t,e)}}get length(){return m(this,n,"f").length}[(a=function(t,e,i){if(Object.is(e,i))return;const c=m(this,r,"f").get(i);if(void 0!==c&&c!==t)throw new Error(`Register key collision for key ${String(i)}`);const a=m(this,o,"f").get(e);if(!a)return;const f=m(this,o,"f").get(i)??0;this.setKeyValue(i,t);for(let t=0;t<m(this,n,"f").length;t++)Object.is(m(this,n,"f")[t],e)&&(m(this,n,"f")[t]=i);m(this,o,"f").set(i,f+a),m(this,o,"f").delete(e),m(this,r,"f").delete(e);const l=m(this,s,"f").get(t);l&&(l.key=i)},S)](t){const e=m(this,n,"f")[t];return void 0===e?void 0:m(this,r,"f").get(e)}[k](t,e){const n=this.ensureKey(e);if(t===this.length)return void this.insertKeyValue(t,n,e);const r=this.normalizeIndex(t);this.assignAt(r,n,e)}push(...t){for(const e of t){const t=this.ensureKey(e);this.insertKeyValue(this.length,t,e)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...t){let e=0;for(const n of t){const t=this.ensureKey(n);this.insertKeyValue(e++,t,n)}return this.length}splice(t,e,...o){const s=this.normalizeIndex(t,!0),i=this.length-s,c=Math.min(void 0===e?i:Math.max(e,0),i),a=[];for(const t of o)a.push(this.ensureKey(t));const f=m(this,n,"f").splice(s,c,...a),l=[];for(const t of f){if(void 0===t)continue;const e=m(this,r,"f").get(t);this.decrementUsage(t),l.push(e)}for(let t=0;t<a.length;t++){const e=a[t],n=o[t];this.incrementUsage(e),this.setKeyValue(e,n)}return l}clear(){m(this,n,"f").length=0,m(this,o,"f").clear(),m(this,r,"f").clear(),this.disposeKeyEffects()}get(t){return m(this,r,"f").get(t)}set(t,e){m(this,r,"f").has(t)&&this.setKeyValue(t,e)}remove(t){let e=this.indexOfKey(t);for(;-1!==e;)this.removeAt(e),e=this.indexOfKey(t)}removeAt(t){const[e]=m(this,n,"f").splice(t,1);if(void 0===e)return;const o=m(this,r,"f").get(e);return this.decrementUsage(e),o}keep(t){const e=new Map;for(const[o,s]of m(this,n,"f").entries()){if(e.has(s)){e.get(s)||this.removeAt(o);continue}const n=t(m(this,r,"f").get(s));e.set(s,n),n||this.removeAt(o)}}hasKey(t){return m(this,o,"f").has(t)}indexOfKey(t){return m(this,n,"f").indexOf(t)}mapKeys(){return m(this,r,"f").keys()}update(...t){for(const e of t){const t=this.ensureKey(e);m(this,r,"f").has(t)&&this.setKeyValue(t,e)}}upsert(t,...e){for(const n of e){const e=this.ensureKey(n);m(this,r,"f").has(e)?this.setKeyValue(e,n):t(n)}}entries(){const t=this;return function*(){for(let e=0;e<m(t,n,"f").length;e++){const o=m(t,r,"f").get(m(t,n,"f")[e]);void 0!==o&&(yield[e,o])}}()}[Symbol.iterator](){const t=this;return function*(){for(const e of m(t,n,"f")){const n=m(t,r,"f").get(e);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(t){const e=t<0?this.length+t:t;if(!(e<0||e>=this.length))return this[S](e)}reverse(){return m(this,n,"f").reverse(),this}sort(t){const e=t?(e,n)=>t(m(this,r,"f").get(e),m(this,r,"f").get(n)):void 0;return m(this,n,"f").sort(e),this}fill(t,e=0,n=this.length){const r=this.toArray();return r.fill(t,e,n),this.rebuildFrom(r),this}copyWithin(t,e,n){const r=this.toArray();return r.copyWithin(t,e,n),this.rebuildFrom(r),this}},p=l,"symbol"==typeof(g="RegisterClass")&&(g=g.description?"[".concat(g.description,"]"):""),Object.defineProperty(p,"name",{configurable:!0,value:y?"".concat(y," ",g):g}),(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;!function(t,e,n,r,o,s){function i(t){if(void 0!==t&&"function"!=typeof t)throw new TypeError("Function expected");return t}for(var c,a=r.kind,f="getter"===a?"get":"setter"===a?"set":"value",l=!e&&t?r.static?t:t.prototype:null,u=e||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var g in r)p[g]="access"===g?{}:r[g];for(var g in r.access)p.access[g]=r.access[g];p.addInitializer=function(t){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(t||null))};var y=(0,n[d])("accessor"===a?{get:u.get,set:u.set}:u[f],p);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[f]=c)}l&&Object.defineProperty(l,r.name,u),h=!0}(null,f={value:l},u,{kind:"class",name:l.name,metadata:t},null,h),l=f.value,t&&Object.defineProperty(l,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),function(t,e,n){for(var r=arguments.length>2,o=0;o<e.length;o++)n=r?e[o].call(t,n):e[o].call(t)}(l,h)})(),l})();const yn=gn;function mn(t){Object.defineProperty(t,"value",{get:t.get,set:t.set,configurable:!0,enumerable:!0})}function bn(t,e,n){return Je(t,()=>{n();for(const t of e.values())t?.();e.clear()})}function wn(t,e){const n=Be(t),r=Be([]),i=new Map;function c(t){const e=i.get(t);e&&(i.delete(t),e(),Reflect.deleteProperty(r,t))}const a=ue(function({ascend:t}){const a=n.length;!function(t){s(r,"length",t,r)}(a);const f=Array.from(i.keys());for(let c=0;c<a;c++)i.has(c)||t(()=>{const t=c,a=ue(function(){const i=he(()=>r[t]),c={key:t,source:n,get:()=>o(n,t,n),set:e=>s(n,t,e,n),old:i};mn(c);const a=e(c,r);r[t]=a});i.set(c,a)});for(const t of f)t>=a&&c(t)});return bn(r,i,()=>a())}function vn(t,e){const n=Be(t),r=new Map,o=Be(r),s=new Map;function i(t){const e=s.get(t);e&&(e(),s.delete(t),o.delete(t))}const c=ue(function({ascend:t}){const r=new Set;for(const t of n.mapKeys())r.add(t);for(const i of r)s.has(i)||t(()=>{const t=ue(function(){const t=he(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:t=>(n.set(i,t),!0),old:t};mn(r);const s=e(r,o);o.set(i,s)});s.set(i,t)});for(const t of Array.from(s.keys()))r.has(t)||i(t)});return bn(o,s,()=>c())}function Sn(t,e){const n=Be(t),r=Be({}),i=new Map;function c(t){const e=i.get(t);e&&(e(),i.delete(t),Reflect.deleteProperty(r,t))}const a=ue(function({ascend:t}){const a=new Set;for(const t in n)a.add(t);const f=Reflect.ownKeys(n);for(const t of f)a.add(t);for(const c of a)i.has(c)||t(()=>{const t=ue(function(){const t=c,i=he(()=>r[c]),a={key:t,source:n,get:()=>o(n,t,n),set:e=>s(n,t,e,n),old:i};mn(a);const f=e(a,r);r[t]=f});i.set(c,t)});for(const t of Array.from(i.keys()))a.has(t)||c(t)});return bn(r,i,()=>a())}function kn(t,e){const n=Be(t),r=new Map,o=Be(r),s=new Map;function i(t){const e=s.get(t);e&&(e(),s.delete(t),o.delete(t))}const c=ue(function({ascend:t}){const r=new Set;for(const t of n.keys())r.add(t);for(const i of r)s.has(i)||t(()=>{const t=ue(function(){const t=he(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:t=>(n.set(i,t),!0),old:t};mn(r);const s=e(r,o);o.set(i,s)});s.set(i,t)});for(const t of Array.from(s.keys()))r.has(t)||i(t)});return bn(o,s,()=>c())}const jn=Object.assign(function(t,e){if(Array.isArray(t))return wn(t,e);if(t instanceof Map)return kn(t,e);if(t instanceof yn)return vn(t,e);if(t&&(t.constructor===Object||void 0===t.constructor))return Sn(t,e);throw new Error("Unsupported source type")},{array:wn,register:vn,record:Sn,map:kn});const On=Symbol("native");class En{constructor(t){Object.defineProperties(this,{[On]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveMap"}})}get size(){return it(this,"size"),this[On].size}clear(){const t=this[On].size>0;if(this[On].clear(),t){const t={type:"bunch",method:"clear"};Me(this,t,"size"),Re(this.content,t)}}entries(){return it(this.content),tn(this[On].entries())}forEach(t,e){it(this.content),this[On].forEach(t,e)}keys(){return it(this.content),this[On].keys()}values(){return it(this.content),Qe(this[On].values())}[Symbol.iterator](){it(this.content);const t=this[On][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:[e.value[0],Be(e.value[1])],done:!1}}}}delete(t){const e=this[On].has(t),n=this[On].delete(t);if(e){const e={type:"del",prop:t};Me(this.content,e,t),Me(this,e,"size")}return n}get(t){return it(this.content,t),Be(this[On].get(t))}has(t){return it(this.content,t),this[On].has(t)}set(t,e){const n=this[On].has(t),r=this[On].get(t),o=Be(e);if(this[On].set(t,o),!n||r!==o){Ke(this.content,t,r,o,n);Me(this,{type:n?"set":"add",prop:t},"size")}return this}}const xn=Symbol("native");class Mn{constructor(t){Object.defineProperties(this,{[xn]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveSet"}})}get size(){return it(this,"size"),this[xn].size}add(t){const e=this[xn].has(t),n=Be(t);if(this[xn].add(n),!e){const t={type:"add",prop:n};Me(this.content,t,n),Me(this,t,"size")}return this}clear(){const t=this[xn].size>0;if(this[xn].clear(),t){const t={type:"bunch",method:"clear"};Me(this,t,"size"),Re(this.content,t)}}delete(t){const e=this[xn].has(t),n=this[xn].delete(t);if(e){const e={type:"del",prop:t};Me(this.content,e,t),Me(this,e,"size")}return n}has(t){return it(this.content,t),this[xn].has(t)}entries(){return it(this.content),tn(this[xn].entries())}forEach(t,e){it(this.content),this[xn].forEach(t,e)}keys(){return it(this.content),Qe(this[xn].keys())}values(){return it(this.content),Qe(this[xn].values())}[Symbol.iterator](){it(this.content);const t=this[xn][Symbol.iterator]();return{next(){const e=t.next();return e.done?e:{value:Be(e.value),done:!1}}}}}$e(WeakMap,class{constructor(t){Object.defineProperties(this,{[On]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveWeakMap"}})}delete(t){const e=this[On].has(t),n=this[On].delete(t);return e&&Me(this.content,{type:"del",prop:t},t),n}get(t){return it(this.content,t),Be(this[On].get(t))}has(t){return it(this.content,t),this[On].has(t)}set(t,e){const n=this[On].has(t),r=this[On].get(t),o=Be(e);return this[On].set(t,o),n&&r===o||Ke(this.content,t,r,o,n),this}}),$e(Map,En),$e(WeakSet,class{constructor(t){Object.defineProperties(this,{[xn]:{value:t},[$]:{value:t},content:{value:Symbol("content")},[Symbol.toStringTag]:{value:"ReactiveWeakSet"}})}add(t){const e=this[xn].has(t);return this[xn].add(t),e||Me(this.content,{type:"add",prop:t},t),this}delete(t){const e=this[xn].has(t),n=this[xn].delete(t);return e&&Me(this.content,{type:"del",prop:t},t),n}has(t){return it(this.content,t),this[xn].has(t)}}),$e(Set,Mn),$e(Array,cn);const Rn={objectToProxy:B,proxyToObject:G,effectToReactiveObjects:Z,watchers:Y,objectParents:pe,objectsWithDeepWatchers:ge,deepWatchers:ye,effectToDeepWatchedObjects:me,nonReactiveObjects:Pe},Pn=[],An=l({getter:(t,e)=>function(){const n=Pn.findIndex(t=>t.object===this&&t.prop===e);if(n>-1)throw new Error(`Circular dependency detected: ${Pn.slice(n).map(t=>`${t.object.constructor.name}.${String(t.prop)}`).join(" -> ")} -> again`);Pn.push({object:this,prop:e});try{const n=t.call(this);return Dn(this,e,n),n}finally{Pn.pop()}}});function Dn(t,e,n){Object.defineProperty(t,e,{value:n})}const Wn=Object.assign(l({method:(t,e)=>function(...n){return Wn.warn(this,e),t.apply(this,n)},getter:(t,e)=>function(){return Wn.warn(this,e),t.call(this)},setter:(t,e)=>function(n){return Wn.warn(this,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),Wn.warn(this,"constructor")}},default:t=>l({method:(e,n)=>function(...r){return Wn.warn(this,n,t),e.apply(this,r)},getter:(e,n)=>function(){return Wn.warn(this,n,t),e.call(this)},setter:(e,n)=>function(r){return Wn.warn(this,n,t),e.call(this,r)},class:e=>class extends e{constructor(...e){super(...e),Wn.warn(this,"constructor",t)}}})}),{warn:(t,e,n)=>{}});t.ArrayReadForward=E,t.DecoratorError=c,t.Destroyable=function(t,e){var n;return t&&"function"!=typeof t&&(e=t,t=void 0),t||(t=class{}),n=class extends t{static destroy(t){const e=n.destructors.get(t);if(!e)return!1;u.unregister(t),n.destructors.delete(t),Object.setPrototypeOf(t,new Proxy({},g));for(const e of Object.getOwnPropertyNames(t))delete t[e];return e(),!0}static isDestroyable(t){return n.destructors.has(t)}constructor(...t){super(...t);const r={};this[d]=r;const o=e?.destructor??this[h];if(!o)throw new p("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),u.register(this,s,this)}},n.destructors=new WeakMap,n},t.DestructionError=p,t.Eventful=class{constructor(){w.set(this,new Map),v.set(this,[])}hook(t){return m(this,v,"f").includes(t)||m(this,v,"f").push(t),()=>{m(this,v,"f").splice(m(this,v,"f").indexOf(t),1)}}on(t,e){if("object"==typeof t)for(const e of Object.keys(t))this.on(e,t[e]);else if(void 0!==e){let n=m(this,w,"f").get(t);n||(n=[],m(this,w,"f").set(t,n)),n.push(e)}return()=>this.off(t,e)}off(t,e){if("object"==typeof t)for(const e of Object.keys(t))this.off(e,t[e]);else if(null!=e){const n=m(this,w,"f").get(t);n&&m(this,w,"f").set(t,n.filter(t=>t!==e))}else m(this,w,"f").delete(t)}emit(t,...e){const n=m(this,w,"f").get(t);if(n)for(const t of n)t.apply(this,e);for(const n of m(this,v,"f"))n.call(this,t,...e)}},t.Indexable=j,t.IterableWeakMap=R,t.IterableWeakSet=P,t.ReactiveBase=_e,t.ReactiveError=K,t.ReadOnlyError=an,t.ReflectGet=o,t.ReflectSet=s,t.Register=yn,t.addBatchCleanup=oe,t.allocated=y,t.allocatedValues=d,t.arrayEquals=function(t,e){if(t===e)return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0},t.atomic=fe,t.batch=ae,t.biDi=function(t,e,n){"function"!=typeof e&&(n=e.set,e=e.get);const r=et(t);return ue(tt(()=>{t(e())},r)),fe(t=>{n(t),Qt?.all.has(r)&&Qt.all.delete(r)})},t.buildReactivityGraph=Mt,t.cache=Dn,t.cached=An,t.callOnGC=function(t){let e=!1;const n=()=>{e||(e=!0,t())};return u.register(n,t,t),n},t.cleanedBy=Je,t.cleanup=Xe,t.debounce=function(t){return l({method(e,n){let r=null;return function(...n){r&&clearTimeout(r),r=setTimeout(()=>{e.apply(this,n),r=null},t)}}})},t.decorator=l,t.deepWatch=Ge,t.defer=se,t.deprecated=Wn,t.derived=function(t){const e={value:void 0};return Je(e,he(()=>ue(tt(function(n){e.value=t(n)},t))))},t.describe=function(t){return(...e)=>n=>class extends n{constructor(...n){super(...n);for(const n of e)Object.defineProperty(this,n,{...Object.getOwnPropertyDescriptor(this,n),...t})}}},t.destructor=h,t.effect=ue,t.enableDevTools=function(){"undefined"!=typeof window&&(at||(at=!0,window.__MUTTS_DEVTOOLS__={getGraph:Mt,setEffectName:St,setObjectName:kt,registerEffect:jt,registerObject:Ot}))},t.forwardArray=O,t.getActiveEffect=U,t.getAt=S,t.getState=Ee,t.immutables=Ae,t.isCached=function(t,e){return!!Object.getOwnPropertyDescriptor(t,e)},t.isConstructor=n,t.isDevtoolsEnabled=Rt,t.isNonReactive=Te,t.isOwnAccessor=i,t.isReactive=function(t){return G.has(t)},t.isZoneEnabled=function(){return Dt},t.legacyDecorator=a,t.mapped=function(t,e,n){const r=[],o=new ln(r),s=[];function i(n){return ue(function(){r[n]=e(t[n],n,o),Me(o,{type:"set",prop:n},n)})}const c=ue(function({ascend:e}){const c=t.length,a=he(()=>r.length);if(n?.(c,a),Me(o,{type:"set",prop:"length"},"length"),c<a){const t=s.splice(c);for(const e of t)e();r.length=c}else c>a&&e(function(){for(let t=a;t<c;t++)s.push(i(t))})});return Je(o,()=>{for(const t of s)t();s.length=0,c()})},t.memoize=pn,t.mixin=A,t.modernDecorator=f,t.organize=function(t,e,n){return Object.defineProperty(t,e,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),Me(t,{type:"set",prop:e},e),()=>delete t[e]},t.organized=function(t,e,n={}){const r=Be(t),i=Be(n),c=new Map;function a(t){const e=c.get(t);e&&(c.delete(t),e())}const f=ue(function({ascend:t}){const n=new Set;for(const t in r)n.add(t);for(const a of n)c.has(a)||t(()=>{const t=ue(function(){const t=a,n={key:t,get:()=>o(r,t,r),set:e=>s(r,t,e,r)};return Object.defineProperty(n,"value",{get:n.get,set:n.set,configurable:!0,enumerable:!0}),e(n,i)});c.set(a,t)});for(const t of Array.from(c.keys()))n.has(t)||a(t)});return Je(i,()=>{f();for(const t of Array.from(c.keys()))a(t)})},t.profileInfo=Rn,t.project=jn,t.reactive=Be,t.reactiveOptions=N,t.reduced=function(t,e){const n=[],r=new ln(n),o=ue(function(){const o={};n.length=0;for(const r of t)n.push(...e(r,o));Re(r,{type:"invalidate",prop:"reduced"})});return Je(r,o)},t.register=function(t,e){return new gn(t,e)},t.registerEffectForDebug=jt,t.registerNativeReactivity=$e,t.registerObjectForDebug=Ot,t.renamed=r,t.root=de,t.setAt=k,t.setEffectName=St,t.setObjectName=kt,t.setZoneEnabled=function(t){t&&!Dt?(qt(),Dt=!0):!t&&Dt&&(Promise.prototype.then=Wt,Promise.prototype.catch=Tt,Promise.prototype.finally=$t,globalThis.setTimeout=zt,globalThis.setInterval=Ct,It&&(globalThis.requestAnimationFrame=It),Kt&&(globalThis.queueMicrotask=Kt),Dt=!1)},t.throttle=function(t){return l({method(e,n){let r=0,o=null;return function(...n){const s=Date.now();if(s-r>=t)return o&&(clearTimeout(o),o=null),r=s,e.apply(this,n);if(!o){const i=t-(s-r),c=[...n];o=setTimeout(()=>{r=Date.now(),e.apply(this,c),o=null},i)}}}})},t.touched=Re,t.touched1=Me,t.trackEffect=function(t){const e=U();if(!e)throw new Error("Not in an effect");Ut.has(e)?Ut.get(e).add(t):Ut.set(e,new Set([t]))},t.unreactive=Ye,t.untracked=he,t.unwrap=X,t.watch=function(t,e,n={}){return"function"==typeof t?function(t,e,{immediate:n=!1,deep:r=!1}={}){const o=U();let s,i=Ze;const c=ue(tt(function(c){const a=t(c);i!==a&&_(o,tt(()=>{i===Ze?n&&e(a):e(a,i),i=a,r&&(s&&s(),s=Ge(a,tt(t=>e(t,t),e)))},e))},t));return()=>{c(),s&&s()}}(t,e,n):"object"==typeof t&&null!==t?function(t,e,{immediate:n=!1,deep:r=!1}={}){const o=U();return r?Ge(t,e,{immediate:n}):ue(tt(function(){it(t),n&&_(o,()=>e(t)),n=!0},e))}(t,e,n):(()=>{throw new Error("watch: value must be a function or an object")})()},t.zip=function(...t){if(!t.length)return[];const e=Math.min(...t.map(t=>t.length)),n=[];for(let r=0;r<e;r++){const e=t.map(t=>t[r]);n.push(e)}return n}});
|
|
2
2
|
//# sourceMappingURL=mutts.umd.min.js.map
|