@estjs/signals 0.0.17-beta.4 → 0.0.17-beta.6
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/signals.cjs +3 -3
- package/dist/signals.dev.cjs +56 -19
- package/dist/signals.dev.js +56 -19
- package/dist/signals.js +3 -3
- package/package.json +2 -2
package/dist/signals.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var shared=require('@estjs/shared');var at=Object.defineProperty;var Le=Object.getOwnPropertySymbols;var ct=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var Re=(e,t,n)=>t in e?at(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,xe=(e,t)=>{for(var n in t||(t={}))ct.call(t,n)&&Re(e,n,t[n]);if(Le)for(var n of Le(t))ut.call(t,n)&&Re(e,n,t[n]);return e};var S={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var G=Symbol(""),E=Symbol(""),V=Symbol(""),De=Symbol("");var L=Symbol("");var B=0,b,O=false,ce=class{constructor(t,n){this.map=t;this.key=n;this.isDep=true;this.flag=0;}get subLink(){return this._subLink}set subLink(t){this._subLink=t,t===void 0&&this.map.delete(this.key);}};function ue(e){e.notify();}function C(e,t){if(O)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let i=n?n.nextDepLink:t.depLink;if(i&&i.depNode===e)return i.version=B,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===B&&r.subNode===t)return t.depLinkTail=r,r;let o={version:B,depNode:e,subNode:t,prevSubLink:r,nextSubLink:void 0,prevDepLink:n,nextDepLink:i};return i&&(i.prevDepLink=o),n?n.nextDepLink=o:t.depLink=o,r?r.nextSubLink=o:e.subLink=o,e.subLinkTail=o,t.depLinkTail=o,o}function x(e,t=e.subNode){let n=e.depNode,i=e.prevSubLink,r=e.nextSubLink,o=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=o:t.depLinkTail=o,o?o.nextDepLink=s:t.depLink=s,r?r.prevSubLink=i:n.subLinkTail=i,i)i.nextSubLink=r;else if(n.subLink=r,r===void 0){let c=n.depLink;for(;c;)c=x(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function $(e,t){let n,i=0,r=false;e:do{let o=false;if(t.flag&16)o=true;else {let s=e.depNode,c=s.flag;if((c&17)===17){let f=s.subLink;f&&f.nextSubLink&&j(f),o=true;}else if((c&33)===33)if(s.depLink){n={link:e,prev:n},e=s.depLink,t=s,++i;continue e}else s.flag&=-33;else c&32&&(s.flag&=-33);}if(!o&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}for(r=o;i--;){e=n.link,n=n.prev,t=e.subNode;let s=e.depNode;if(r?s.flag=s.flag&-33|16:s.flag&=-33,s.flag&16&&(r=true),!r&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}}return r?t.flag=t.flag&-33|16:t.flag&=-33,r}while(true)}function j(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&ue(t)),e=e.nextSubLink;}}function Y(e){let t=e.nextSubLink,n;e:do{let i=e.subNode,r=i.flag&2,o=i.flag;if(o&60?o&12?o&4?!(o&48)&&pt(e,i)?(i.flag=o|40,r&&ue(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&ue(i)),o&1){let s=i.subLink;if(s!==void 0){let c=s.nextSubLink;c!==void 0&&(n={value:t,prev:n},t=c),e=s;continue}}if((e=t)!==void 0){t=e.nextSubLink;continue}for(;n!==void 0;)if(e=n.value,n=n.prev,e!==void 0){t=e.nextSubLink;continue e}break}while(true)}function fe(e){let t=b;return b=e,t}function J(e){return B++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,fe(e)}function z(e,t){b=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=x(i,e);e.flag&=-5;}function lt(e){let t=fe(void 0),n=O;O=true;try{return e()}finally{O=n,fe(t);}}function pt(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var le=new WeakMap,dt=0;function ae(e,t,n){if(e)for(let i=e.subLink;i;i=i.nextSubLink){let r=i.subNode;r._triggerVersion!==n&&(r._triggerVersion=n,t.push(r));}}function l(e,t){if(!b||O)return;let n=le.get(e);n||(n=new Map,le.set(e,n));let i=n.get(t);i||(i=new ce(n,t),n.set(t,i)),C(i,b);}function v(e,t,n,i){var c;let r=le.get(e);if(!r)return;let o=[],s=++dt;if(n!==void 0)if(Array.isArray(n))for(let f of n)ae(r.get(f),o,s);else ae(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let f=Array.isArray(e)?L:De;ae(r.get(f),o,s);}for(let f of o)f.flag&2?(c=f.notify)==null||c.call(f):f.flag&1&&(f.flag|=16,f.subLink&&Y(f.subLink));}var gt=new WeakMap,_t=new WeakMap;function a(e){if(!e||!shared.isObject(e))return e;let t=e._RAW;return t?a(t):h(e)?a(e.peek()):e}var Ie=bt();function bt(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,L);let r=i[t](...n);if((r===-1||r===false)&&n.length>0){let o=n.map(s=>a(s));r=i[t](...o);}return r};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let i=a(this),r=k(this);l(i,L);let o=i[t](...n);return (t==="find"||t==="findLast")&&shared.isObject(o)&&!r?d(o):o};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let i=a(this),r=Array.prototype[t].apply(i,n);return v(i,S.SET,[G,L]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=k(this);l(i,L);let o=Array.prototype[t].apply(i,n);return Array.isArray(o)?o.map(s=>shared.isObject(s)?d(s,r):s):o};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,L),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,L),Array.prototype[t].apply(i,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),i=k(this);l(n,G);let r=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:o,done:s}=r.next();return s?{value:o,done:s}:Array.isArray(o)?{value:o.map(c=>shared.isObject(c)?d(c,i):c),done:s}:{value:shared.isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}function Pe(e,t){let n=h(t)?t:a(t);return shared.hasChanged(e,n)}var Ge=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(shared.hasOwn(Ie,n))return Ie[n];let r=Reflect.get(t,n,i);return shared.isStringNumber(n)&&l(t,n),l(t,G),shared.isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Pe(s,o)&&(shared.isStringNumber(n)?v(t,S.SET,[n,L,G]):v(t,S.SET,n)),c}}),mt=Ge(true),yt=Ge(false),Oe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(Ae,n)?Ae:t,n,t)}}),je=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(Ne,n)&&n in t?Ne:t,n,t)}}),kt=Oe(true),wt=Oe(false),Lt=je(true),Rt=je(false),Ae={get(e){let t=a(this);l(t,E);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&g(e)&&(n=t.get(a(e))),shared.isObject(n)&&!k(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||shared.hasChanged(o,s))&&v(n,S.SET,E),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||v(t,S.ADD,E),this},has(e){let t=a(this);l(t,E);let n=t.has(e);return !n&&shared.isObject(e)?t.has(a(e)):n},delete(e){let t=a(this),n=t.has(e),i=t.delete(e);return !i&&shared.isObject(e)&&(i=t.delete(a(e))),(n||i)&&v(t,S.DELETE,E),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&v(e,S.CLEAR,E),n},forEach(e,t){let n=a(this),i=k(this);l(n,E),n.forEach((r,o)=>{let s=i||!shared.isObject(r)?r:d(r),c=i||!shared.isObject(o)?o:d(o);e.call(t,s,c,this);});},[Symbol.iterator](){let e=a(this),t=k(this);l(e,E);let n=e[Symbol.iterator]();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:Array.isArray(i)?{value:i.map(o=>shared.isObject(o)?d(o):o),done:r}:{value:shared.isObject(i)?d(i):i,done:r}},[Symbol.iterator](){return this}}},get size(){let e=a(this);return l(e,E),e.size},keys(){let e=a(this),t=k(this);l(e,E);let n=e.keys();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!shared.isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},values(){let e=a(this),t=k(this);l(e,E);let n=e.values();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!shared.isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},entries(){let e=a(this),t=k(this);l(e,E);let n=e.entries();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:{value:i.map(o=>shared.isObject(o)?d(o):o),done:r}},[Symbol.iterator](){return this}}}},Ne={get(e){let t=a(this);l(t,V);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&g(e)&&(n=t.get(a(e))),shared.isObject(n)&&!k(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||shared.hasChanged(o,s))&&v(n,S.SET,V),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||v(t,S.ADD,V),this},has(e){let t=a(this);l(t,V);let n=t.has(e);return !n&&g(e)&&(n=t.has(a(e))),n},delete(e){let t=a(this),n=a(e),i=t.has(n),r=t.delete(n);return (i||r)&&v(t,S.DELETE,V),r}},Ye=e=>({get(t,n,i){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let r=Reflect.get(t,n,i),o=h(r)?r.value:r;return l(t,n),shared.isObject(o)&&!e?d(o):o},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Pe(s,o)&&v(t,S.SET,n),c},deleteProperty:(t,n)=>{let i=shared.hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&v(t,S.DELETE,n),r}}),xt=Ye(true),Dt=Ye(false);function d(e,t=false){if(!shared.isObject(e)||g(e))return e;let n=t?_t:gt,i=n.get(e);if(i)return i;let r;shared.isArray(e)?r=t?mt:yt:shared.isSet(e)||shared.isMap(e)?r=t?kt:wt:shared.isWeakMap(e)||shared.isWeakSet(e)?r=t?Lt:Rt:r=t?xt:Dt;let o=new Proxy(e,r);return n.set(e,o),o}function g(e){return !!(e&&e._IS_REACTIVE)}function I(e){return g(e)||h(e)?e:d(e)}function X(e){return g(e)||h(e)?e:d(e,true)}function k(e){return !!(e&&e._IS_SHALLOW)}var Ct=e=>shared.isObject(e)?I(e):e;var Ue;Ue="_IS_SIGNAL";var P=class{constructor(t,n=false){this.flag=1;this[Ue]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Ke(i)?g(t)?this._value=t:this._value=n?X(i):I(i):this._value=i;}get dep(){return this}get value(){let t=b;if(t&&C(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&j(i);}return this._value}set value(t){h(t)&&(t=t.peek());let n=t,i=a(t);if(!shared.hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!Ke(i))this._value=i;else if(g(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?X(i):I(i);}let r=this.subLink;r&&Y(r);}shouldUpdate(){if(this.flag&=-17,!("_oldValue"in this))return true;let t=shared.hasChanged(this._oldValue,this._rawValue);return this._oldValue=this._rawValue,t}peek(){return this._value}set(t){this.value=t;}update(t){let n=t(this.peek());h(n)?this.value=n.peek():this.value=n;}};function Ke(e){return shared.isObject(e)?shared.isArray(e)||shared.isMap(e)||shared.isSet(e)||shared.isWeakMap(e)||shared.isWeakSet(e)||shared.isPlainObject(e):false}function jt(e){return h(e)?e:new P(e)}function Yt(e){return h(e)&&(e=e.peek()),new P(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var M=new Set,de=new Set,We=Promise.resolve(),he=false,Mt=100;function He(e){return e?We.then(e):We}function K(e){M.add(e),Fe();}function Fe(){he||(he=true,He(Te));}function qe(e){de.add(e),Fe();}function Te(){he=false,Kt();let e=0;for(;M.size>0;){if(++e>Mt){M.clear();return}let t=[...M];M.clear();for(let n of t)try{n();}catch(i){}}}function Kt(){let e=Array.from(de);de.clear();for(let t of e)try{t();}catch(n){}}function Z(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>qe(e);case "post":return ()=>K(e);default:return ()=>K(e)}}var U=0;function Se(e){Be();try{return e()}finally{$e();}}function Be(){U++;}function $e(){U--,U===0&&Te();}function ve(){return U>0}function Ut(){return U}var m,ee=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=new Set;this.scopes=new Set;this.cleanups=[];!t&&m&&(this.parent=m,m.scopes.add(this));}get active(){return this._active}pause(){var t;if(this._active){for(let n of this.scopes)n.pause();for(let n of this.effects)(t=n.pause)==null||t.call(n);}}resume(){var t;if(this._active){for(let n of this.scopes)n.resume();for(let n of this.effects)(t=n.resume)==null||t.call(n);}}run(t){if(!this._active)return;let n=m;m=this;try{return t()}finally{m=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i of this.scopes)i.stop(true);this.scopes.clear();let n=Array.from(this.effects);this.effects.clear();for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();this.cleanups.length=0,!t&&this.parent&&this.parent.scopes.delete(this),this.parent=void 0;}_record(t){this.effects.add(t),t.scope=this;}_remove(t){this.effects.delete(t);}_pushCleanup(t){this.cleanups.push(t);}};function Wt(e=false){return new ee(e)}function Ht(){return m}function Ft(e){let t=m;return m=e,t}function qt(e,t=false){m&&m._pushCleanup(e);}function te(e,t=m){t&&t.active&&t._record(e);}function ne(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var ze;ze="_IS_EFFECT";var Ee=class{constructor(t,n){this.flag=18;this[ze]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!shared.isFunction(i)&&(this._flushScheduler=Z(()=>this.run(),i));}te(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&$(this.depLink,this))return this.flag=t&-33|16,true;this.flag=t&-33;}return false}pause(){this.flag|=256;}resume(){let n=this.flag&-257;this.flag=n;let i=(n&16)!==0,r=(n&32)!==0;(i||r)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-49|512;let n=J(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,z(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){var r,o,s;let t=this.flag;if(!this._active||t&784)return;this.flag=t|16;let n=((r=this.options)==null?void 0:r.flush)||((o=this.options)==null?void 0:o.scheduler);n?shared.isFunction(n)?n(this):(s=this._flushScheduler)==null||s.call(this):ve()?K(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,ne(this);let t=this.depLink;for(;t;)t=x(t,this);let n=this.subLink;for(;n;)n=x(n);this._job=void 0,this._flushScheduler=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,(i=this.options)!=null&&i.onStop&&this.options.onStop();}};function ie(e,t){let n=new Ee(e,t);try{n.run();}catch(r){throw n.stop(),r}let i=()=>n.run();return i.effect=n,i.stop=()=>n.stop(),i}function Bt(e){e.effect.stop();}function $t(e){return !!(e&&e._IS_EFFECT)}function Jt(e,t,n){let i=t;return ie(()=>{i=e(i);},n)}var R=Symbol("computed-no-value"),Ze;Ze="_IS_COMPUTED";var re=class{constructor(t,n,i,r){this.flag=17;this[Ze]=true;this._value=R;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,te(this);}get value(){if(!this.active)return this._value===R?this.getter():this._value;b&&C(this,b);let t=this.flag,n=this._value!==R;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&$(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this.active?(this._value===R&&this.recompute(),this._value):this._value===R?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===R&&(this._value=this.getter());return}let t=this._value,n=t!==R,i=J(this);try{let r=this.getter(),o=this.flag,s=this.subLink,c=-49;!n||shared.hasChanged(t,r)?(this._value=r,this.flag=o&c,s&&j(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=R,r}finally{z(this,i);}}shouldUpdate(){let t=this._value!==R,n=this._value;return this.recompute(),t?shared.hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,ne(this);let t=this.depLink;for(;t;)t=x(t,this);let n=this.subLink;for(;n;)n=x(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function ge(e){if(W(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(shared.isFunction(e))return new re(e);if(shared.isPlainObject(e)){let{get:t,set:n,onTrack:i,onTrigger:r}=e;if(!t)throw new Error(`[Computed] Invalid options: getter function is required.
|
|
1
|
+
'use strict';var shared=require('@estjs/shared');var S={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var G=Symbol(""),g=Symbol(""),V=Symbol(""),J=Symbol("");var L=Symbol("");var z=0,v,j=false,fe=class{constructor(t,n){this.map=t;this.key=n;this.isDep=true;this.flag=0;}get subLink(){return this._subLink}set subLink(t){this._subLink=t,t===void 0&&this.map.delete(this.key);}};function le(e){e.notify();}function C(e,t){if(j)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let i=n?n.nextDepLink:t.depLink;if(i&&i.depNode===e)return i.version=z,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===z&&r.subNode===t)return t.depLinkTail=r,r;let o={version:z,depNode:e,subNode:t,prevSubLink:r,nextSubLink:void 0,prevDepLink:n,nextDepLink:i};return i&&(i.prevDepLink=o),n?n.nextDepLink=o:t.depLink=o,r?r.nextSubLink=o:e.subLink=o,e.subLinkTail=o,t.depLinkTail=o,o}function D(e,t=e.subNode){let n=e.depNode,i=e.prevSubLink,r=e.nextSubLink,o=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=o:t.depLinkTail=o,o?o.nextDepLink=s:t.depLink=s,r?r.prevSubLink=i:n.subLinkTail=i,i)i.nextSubLink=r;else if(n.subLink=r,r===void 0){let c=n.depLink;for(;c;)c=D(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function Q(e,t){let n,i=0,r=false;e:do{let o=false;if(t.flag&16)o=true;else {let s=e.depNode,c=s.flag;if((c&17)===17){let f=s.subLink;f&&f.nextSubLink&&K(f),o=true;}else if((c&33)===33)if(s.depLink){n={link:e,prev:n},e=s.depLink,t=s,++i;continue e}else s.flag&=-33;else c&32&&(s.flag&=-33);}if(!o&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}for(r=o;i--;){e=n.link,n=n.prev,t=e.subNode;let s=e.depNode;if(r?s.flag=s.flag&-33|16:s.flag&=-33,s.flag&16&&(r=true),!r&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}}return r?t.flag=t.flag&-33|16:t.flag&=-33,r}while(true)}function K(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&le(t)),e=e.nextSubLink;}}function M(e){let t=e.nextSubLink,n;e:do{let i=e.subNode,r=i.flag&2,o=i.flag;if(o&60?o&12?o&4?!(o&48)&&at(e,i)?(i.flag=o|40,r&&le(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&le(i)),o&1){let s=i.subLink;if(s!==void 0){let c=s.nextSubLink;c!==void 0&&(n={value:t,prev:n},t=c),e=s;continue}}if((e=t)!==void 0){t=e.nextSubLink;continue}for(;n!==void 0;)if(e=n.value,n=n.prev,e!==void 0){t=e.nextSubLink;continue e}break}while(true)}function pe(e){let t=v;return v=e,t}function X(e){return z++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,pe(e)}function Z(e,t){v=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=D(i,e);e.flag&=-5;}function st(e){let t=pe(void 0),n=j;j=true;try{return e()}finally{j=n,pe(t);}}function at(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var de=new WeakMap,ct=0;function ue(e,t,n){if(e)for(let i=e.subLink;i;i=i.nextSubLink){let r=i.subNode;r._triggerVersion!==n&&(r._triggerVersion=n,t.push(r));}}function l(e,t){if(!v||j)return;let n=de.get(e);n||(n=new Map,de.set(e,n));let i=n.get(t);i||(i=new fe(n,t),n.set(t,i)),C(i,v);}function E(e,t,n,i){var c;let r=de.get(e);if(!r)return;let o=[],s=++ct;if(n!==void 0)if(Array.isArray(n))for(let f of n)ue(r.get(f),o,s);else ue(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let f=Array.isArray(e)?L:J;ue(r.get(f),o,s);}for(let f of o)f.flag&2?(c=f.notify)==null||c.call(f):f.flag&1&&(f.flag|=16,f.subLink&&M(f.subLink));}var ht=new WeakMap,Tt=new WeakMap;function a(e){if(!e||!shared.isObject(e))return e;let t=e._RAW;return t?a(t):h(e)?a(e.peek()):e}var xe=St();function St(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,L);let r=i[t](...n);if((r===-1||r===false)&&n.length>0){let o=n.map(s=>a(s));r=i[t](...o);}return r};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let i=a(this),r=k(this);l(i,L);let o=i[t](...n);return (t==="find"||t==="findLast")&&shared.isObject(o)&&!r?d(o):o};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let i=a(this),r=Array.prototype[t].apply(i,n);return E(i,S.SET,[G,L]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=k(this);l(i,L);let o=Array.prototype[t].apply(i,n);return Array.isArray(o)?o.map(s=>shared.isObject(s)?d(s,r):s):o};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,L),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,L),Array.prototype[t].apply(i,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),i=k(this);l(n,G);let r=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:o,done:s}=r.next();return s?{value:o,done:s}:Array.isArray(o)?{value:o.map(c=>shared.isObject(c)?d(c,i):c),done:s}:{value:shared.isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}function Ne(e,t){let n=h(t)?t:a(t);return shared.hasChanged(e,n)}var Ve=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(shared.hasOwn(xe,n))return xe[n];let r=Reflect.get(t,n,i);return shared.isStringNumber(n)&&l(t,n),l(t,G),shared.isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Ne(s,o)&&(shared.isStringNumber(n)?E(t,S.SET,[n,L,G]):E(t,S.SET,n)),c}}),Et=Ve(true),gt=Ve(false),Pe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(Ce,n)?Ce:t,n,t)}}),Oe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(Ie,n)&&n in t?Ie:t,n,t)}}),_t=Pe(true),bt=Pe(false),vt=Oe(true),mt=Oe(false),Ce={get(e){let t=a(this);l(t,g);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&_(e)&&(n=t.get(a(e))),shared.isObject(n)&&!k(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||shared.hasChanged(o,s))&&E(n,S.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||E(t,S.ADD,g),this},has(e){let t=a(this);l(t,g);let n=t.has(e);return !n&&shared.isObject(e)?t.has(a(e)):n},delete(e){let t=a(this),n=t.has(e),i=t.delete(e);return !i&&shared.isObject(e)&&(i=t.delete(a(e))),(n||i)&&E(t,S.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&E(e,S.CLEAR,g),n},forEach(e,t){let n=a(this),i=k(this);l(n,g),n.forEach((r,o)=>{let s=i||!shared.isObject(r)?r:d(r),c=i||!shared.isObject(o)?o:d(o);e.call(t,s,c,this);});},[Symbol.iterator](){let e=a(this),t=k(this);l(e,g);let n=e[Symbol.iterator]();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:Array.isArray(i)?{value:i.map(o=>shared.isObject(o)?d(o):o),done:r}:{value:shared.isObject(i)?d(i):i,done:r}},[Symbol.iterator](){return this}}},get size(){let e=a(this);return l(e,g),e.size},keys(){let e=a(this),t=k(this);l(e,g);let n=e.keys();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!shared.isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},values(){let e=a(this),t=k(this);l(e,g);let n=e.values();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!shared.isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},entries(){let e=a(this),t=k(this);l(e,g);let n=e.entries();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:{value:i.map(o=>shared.isObject(o)?d(o):o),done:r}},[Symbol.iterator](){return this}}}},Ie={get(e){let t=a(this);l(t,V);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&_(e)&&(n=t.get(a(e))),shared.isObject(n)&&!k(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||shared.hasChanged(o,s))&&E(n,S.SET,V),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||E(t,S.ADD,V),this},has(e){let t=a(this);l(t,V);let n=t.has(e);return !n&&_(e)&&(n=t.has(a(e))),n},delete(e){let t=a(this),n=a(e),i=t.has(n),r=t.delete(n);return (i||r)&&E(t,S.DELETE,V),r}},Ge=e=>({get(t,n,i){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let r=Reflect.get(t,n,i),o=h(r)?r.value:r;return l(t,n),shared.isObject(o)&&!e?d(o):o},set:(t,n,i,r)=>{let o=shared.hasOwn(t,n),s=Reflect.get(t,n,r),c=a(i),f=Reflect.set(t,n,c,r);return Ne(c,s)&&E(t,o?S.SET:S.ADD,n),f},deleteProperty:(t,n)=>{let i=shared.hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&E(t,S.DELETE,n),r},ownKeys:t=>(l(t,J),Reflect.ownKeys(t))}),yt=Ge(true),kt=Ge(false);function d(e,t=false){if(!shared.isObject(e)||_(e))return e;let n=t?Tt:ht,i=n.get(e);if(i)return i;let r;shared.isArray(e)?r=t?Et:gt:shared.isSet(e)||shared.isMap(e)?r=t?_t:bt:shared.isWeakMap(e)||shared.isWeakSet(e)?r=t?vt:mt:r=t?yt:kt;let o=new Proxy(e,r);return n.set(e,o),o}function _(e){return !!(e&&e._IS_REACTIVE)}function I(e){return _(e)||h(e)?e:d(e)}function ee(e){return _(e)||h(e)?e:d(e,true)}function k(e){return !!(e&&e._IS_SHALLOW)}var wt=e=>shared.isObject(e)?I(e):e;var Me;Me="_IS_SIGNAL";var P=class{constructor(t,n=false){this.flag=1;this[Me]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Ke(i)?_(t)?this._value=t:this._value=n?ee(i):I(i):this._value=i;}get dep(){return this}get value(){let t=v;if(t&&C(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&K(i);}return this._value}set value(t){h(t)&&(t=t.peek());let n=t,i=a(t);if(!shared.hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!Ke(i))this._value=i;else if(_(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?ee(i):I(i);}let r=this.subLink;r&&M(r);}shouldUpdate(){if(this.flag&=-17,!("_oldValue"in this))return true;let t=shared.hasChanged(this._oldValue,this._rawValue);return this._oldValue=this._rawValue,t}peek(){return this._value}set(t){this.value=t;}update(t){let n=t(this.peek());h(n)?this.value=n.peek():this.value=n;}};function Ke(e){return shared.isObject(e)?shared.isArray(e)||shared.isMap(e)||shared.isSet(e)||shared.isWeakMap(e)||shared.isWeakSet(e)||shared.isPlainObject(e):false}function Nt(e){return h(e)?e:new P(e)}function Vt(e){return h(e)&&(e=e.peek()),new P(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var U=new Set,Te=new Set,Ye=Promise.resolve(),Se=false,Pt=100;function Ue(e){return e?Ye.then(e):Ye}function W(e){U.add(e),We();}function We(){Se||(Se=true,Ue(Ee));}function He(e){Te.add(e),We();}function Ee(){Se=false,Ot();let e=0;for(;U.size>0;){if(++e>Pt){U.clear();return}let t=[...U];U.clear();for(let n of t)try{n();}catch(i){}}}function Ot(){let e=Array.from(Te);Te.clear();for(let t of e)try{t();}catch(n){}}function te(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>He(e);case "post":return ()=>W(e);default:return ()=>W(e)}}var H=0;function ge(e){Fe();try{return e()}finally{qe();}}function Fe(){H++;}function qe(){H--,H===0&&Ee();}function _e(){return H>0}function Gt(){return H}var m,ne=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=new Set;this.scopes=new Set;this.cleanups=[];!t&&m&&(this.parent=m,m.scopes.add(this));}get active(){return this._active}pause(){var t;if(this._active){for(let n of this.scopes)n.pause();for(let n of this.effects)(t=n.pause)==null||t.call(n);}}resume(){var t;if(this._active){for(let n of this.scopes)n.resume();for(let n of this.effects)(t=n.resume)==null||t.call(n);}}run(t){if(!this._active)return;let n=m;m=this;try{return t()}finally{m=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i of this.scopes)i.stop(true);this.scopes.clear();let n=Array.from(this.effects);this.effects.clear();for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();this.cleanups.length=0,!t&&this.parent&&this.parent.scopes.delete(this),this.parent=void 0;}_record(t){this.effects.add(t),t.scope=this;}_remove(t){this.effects.delete(t);}_pushCleanup(t){this.cleanups.push(t);}};function jt(e=false){return new ne(e)}function Kt(){return m}function Mt(e){let t=m;return m=e,t}function Yt(e,t=false){m&&m._pushCleanup(e);}function ie(e,t=m){t&&t.active&&t._record(e);}function re(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var $e;$e="_IS_EFFECT";var be=class{constructor(t,n){this.flag=18;this[$e]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!shared.isFunction(i)&&(this._flushScheduler=te(()=>this.run(),i));}ie(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&Q(this.depLink,this))return this.flag=t&-33|16,true;this.flag=t&-33;}return false}pause(){this.flag|=256;}resume(){let n=this.flag&-257;this.flag=n;let i=(n&16)!==0,r=(n&32)!==0;(i||r)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-49|512;let n=X(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,Z(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){var r,o,s;let t=this.flag;if(!this._active||t&784)return;this.flag=t|16;let n=((r=this.options)==null?void 0:r.flush)||((o=this.options)==null?void 0:o.scheduler);n?shared.isFunction(n)?n(this):(s=this._flushScheduler)==null||s.call(this):_e()?W(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,re(this);let t=this.depLink;for(;t;)t=D(t,this);let n=this.subLink;for(;n;)n=D(n);this._job=void 0,this._flushScheduler=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,(i=this.options)!=null&&i.onStop&&this.options.onStop();}};function oe(e,t){let n=new be(e,t);try{n.run();}catch(r){throw n.stop(),r}let i=()=>n.run();return i.effect=n,i.stop=()=>n.stop(),i}function Ut(e){e.effect.stop();}function Wt(e){return !!(e&&e._IS_EFFECT)}function Ht(e,t,n){let i=t;return oe(()=>{i=e(i);},n)}var R=Symbol("computed-no-value"),Qe;Qe="_IS_COMPUTED";var se=class{constructor(t,n,i,r){this.flag=17;this[Qe]=true;this._value=R;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,ie(this);}get value(){if(!this.active)return this._value===R?this.getter():this._value;v&&C(this,v);let t=this.flag,n=this._value!==R;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&Q(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this.active?(this._value===R&&this.recompute(),this._value):this._value===R?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===R&&(this._value=this.getter());return}let t=this._value,n=t!==R,i=X(this);try{let r=this.getter(),o=this.flag,s=this.subLink,c=-49;!n||shared.hasChanged(t,r)?(this._value=r,this.flag=o&c,s&&K(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=R,r}finally{Z(this,i);}}shouldUpdate(){let t=this._value!==R,n=this._value;return this.recompute(),t?shared.hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,re(this);let t=this.depLink;for(;t;)t=D(t,this);let n=this.subLink;for(;n;)n=D(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function ve(e){if(F(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(shared.isFunction(e))return new se(e);if(shared.isPlainObject(e)){let{get:t,set:n,onTrack:i,onTrigger:r}=e;if(!t)throw new Error(`[Computed] Invalid options: getter function is required.
|
|
2
2
|
Usage: computed({ get: () => value, set: (v) => { ... } })`);if(!shared.isFunction(t))throw new TypeError(`[Computed] Invalid options: getter must be a function.
|
|
3
|
-
Received: ${typeof t}`);return new
|
|
4
|
-
Received: ${typeof e}`)}function
|
|
3
|
+
Received: ${typeof t}`);return new se(t,n,i,r)}throw new Error(`[Computed] Invalid argument: expected a function or options object.
|
|
4
|
+
Received: ${typeof e}`)}function F(e){return !!e&&!!e._IS_COMPUTED}function O(e,t=new WeakMap){if(!shared.isObject(e))return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(e instanceof Map){let r=new Map;return t.set(e,r),e.forEach((o,s)=>{r.set(O(s,t),O(o,t));}),r}if(e instanceof Set){let r=new Set;return t.set(e,r),e.forEach(o=>{r.add(O(o,t));}),r}if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach((o,s)=>{r[s]=O(o,t);}),r}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)return e;let i=Object.create(n);t.set(e,i);for(let r of Reflect.ownKeys(e))i[r]=O(e[r],t);return i}function Bt(e){let{state:t,getters:n,actions:i}=e,r=O(t),o=I(t),s=new Set,c=new Set,f=u=>{s.forEach(T=>T(u)),c.forEach(T=>T(u));},N=(u,T,x)=>(u.add(T),()=>u.delete(T)),q=u=>{ge(u),f(o);},ce={$patch(u){q(()=>Object.assign(o,u));},$subscribe(u){return N(s,u)},$unsubscribe(u){s.delete(u);},$onAction(u){return N(c,u)},$offAction(u){c.delete(u);},$reset(){q(()=>Object.assign(o,r));}},w={};for(let u of Object.keys(r))Object.defineProperty(w,u,{get:()=>o[u],set:T=>{o[u]=T;},enumerable:true,configurable:true});if(Object.defineProperty(w,"state",{value:o,enumerable:true,configurable:true,writable:true}),Object.assign(w,ce),n)for(let u in n){let T=n[u];if(!T)continue;let x=ve(()=>T.call(w,o));Object.defineProperty(w,u,{get:()=>x.value,enumerable:true,configurable:true});}if(i)for(let u in i){let T=i[u];T&&(w[u]=(...x)=>{let B=T.apply(w,x);return c.forEach(we=>we(o)),B});}return w}function $t(e){let t=new e,n=Object.create(null),i={},r={};return Object.getOwnPropertyNames(t).forEach(o=>{n[o]=t[o];}),Object.getOwnPropertyNames(e.prototype).forEach(o=>{let s=Object.getOwnPropertyDescriptor(e.prototype,o);s&&(shared.isFunction(s.get)?i[o]=function(){return s.get.call(this)}:shared.isFunction(s.value)&&o!=="constructor"&&(r[o]=function(...c){return s.value.apply(this,c)}));}),{state:n,getters:i,actions:r}}function Jt(e){return ()=>{let t;return shared.isFunction(e)?t=$t(e):t=e,Bt(t)}}var Xe,Ze,ae=class extends(Ze=P,Xe="_IS_REF",Ze){constructor(n){super(n,true);this[Xe]=true;}get value(){let n=v;return n&&C(this,n),this._value}set value(n){h(n)&&(n=n.peek()),ye(n)&&(n=n.value),shared.hasChanged(this._value,n)&&(this._rawValue=n,this._value=n,this.flag|=16,this.subLink&&M(this.subLink));}};function Qt(e=void 0){return ye(e)?e:h(e)?new ae(e.peek()):new ae(e)}function ye(e){return !!e&&!!e._IS_REF}var et={},tt=new Set,ke=false;function A(e,t){if(!shared.isObject(e)||t.has(e))return e;if(t.add(e),h(e)||F(e))A(e.value,t);else if(Array.isArray(e))for(let n of e)A(n,t);else if(shared.isMap(e))e.forEach(n=>{A(n,t);}),e.keys(),e.values();else if(shared.isSet(e))e.forEach(n=>{A(n,t);}),e.values();else for(let n of Object.keys(e))A(e[n],t);return e}function rt(e){if(ke)return A(e,new Set);ke=true,tt.clear();try{return A(e,tt)}finally{ke=false;}}function nt(e){return shared.isFunction(e)?e:h(e)||F(e)?()=>e.value:_(e)?()=>rt(e):()=>e}function nn(e){if(Array.isArray(e)){let t=e.map(n=>nt(n));return ()=>t.map(n=>n())}return nt(e)}function rn(e,t,n={}){let{immediate:i=false,deep:r=false,flush:o="post",once:s=false}=n,c=et,f,N=true,q=!Array.isArray(e)&&_(e),ce=r&&!q,w=nn(e),u,T=y=>{u=()=>{u=void 0;try{y();}catch($){}};},x=()=>{u&&u();},B=y=>{x(),t(y,c===et?void 0:c,T),c=y,s&&Re();},Le=oe(()=>{let y=w();return ce&&rt(y),f=y,y},{scheduler:te(()=>{if(!N)return;let y=Le.effect;if(!y.active)return;let $=y.run();(r||shared.isObject($)||shared.hasChanged($,c))&&B($);},o)});function Re(){N&&(N=false,x(),Le.stop());}return i?B(f):c=f,Re}exports.EffectScope=ne;exports.TriggerOpTypes=S;exports.batch=ge;exports.computed=ve;exports.createStore=Jt;exports.effect=oe;exports.effectScope=jt;exports.endBatch=qe;exports.getBatchDepth=Gt;exports.getCurrentScope=Kt;exports.isBatching=_e;exports.isComputed=F;exports.isEffect=Wt;exports.isReactive=_;exports.isRef=ye;exports.isShallow=k;exports.isSignal=h;exports.memoEffect=Ht;exports.nextTick=Ue;exports.onScopeDispose=Yt;exports.queueJob=W;exports.queuePreFlushCb=He;exports.reactive=I;exports.ref=Qt;exports.setCurrentScope=Mt;exports.shallowReactive=ee;exports.shallowSignal=Vt;exports.signal=Nt;exports.startBatch=Fe;exports.stop=Ut;exports.toRaw=a;exports.toReactive=wt;exports.trigger=E;exports.untrack=st;exports.watch=rn;
|
package/dist/signals.dev.cjs
CHANGED
|
@@ -2,22 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var shared = require('@estjs/shared');
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
-
var __spreadValues = (a, b) => {
|
|
11
|
-
for (var prop in b || (b = {}))
|
|
12
|
-
if (__hasOwnProp.call(b, prop))
|
|
13
|
-
__defNormalProp(a, prop, b[prop]);
|
|
14
|
-
if (__getOwnPropSymbols)
|
|
15
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
-
if (__propIsEnum.call(b, prop))
|
|
17
|
-
__defNormalProp(a, prop, b[prop]);
|
|
18
|
-
}
|
|
19
|
-
return a;
|
|
20
|
-
};
|
|
5
|
+
// src/signal.ts
|
|
21
6
|
|
|
22
7
|
// src/constants.ts
|
|
23
8
|
var TriggerOpTypes = {
|
|
@@ -927,11 +912,12 @@ var objectHandlers = (shallow) => ({
|
|
|
927
912
|
return valueUnwrapped;
|
|
928
913
|
},
|
|
929
914
|
set: (target, key, value, receiver) => {
|
|
915
|
+
const hadKey = shared.hasOwn(target, key);
|
|
930
916
|
const oldValue = Reflect.get(target, key, receiver);
|
|
931
917
|
const rawValue = toRaw(value);
|
|
932
918
|
const result = Reflect.set(target, key, rawValue, receiver);
|
|
933
919
|
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
934
|
-
trigger(target, TriggerOpTypes.SET, key, rawValue);
|
|
920
|
+
trigger(target, hadKey ? TriggerOpTypes.SET : TriggerOpTypes.ADD, key, rawValue);
|
|
935
921
|
}
|
|
936
922
|
return result;
|
|
937
923
|
},
|
|
@@ -942,6 +928,10 @@ var objectHandlers = (shallow) => ({
|
|
|
942
928
|
trigger(target, TriggerOpTypes.DELETE, key, void 0);
|
|
943
929
|
}
|
|
944
930
|
return result;
|
|
931
|
+
},
|
|
932
|
+
ownKeys: (target) => {
|
|
933
|
+
track(target, ITERATE_KEY);
|
|
934
|
+
return Reflect.ownKeys(target);
|
|
945
935
|
}
|
|
946
936
|
});
|
|
947
937
|
var shallowObjectHandlers = objectHandlers(true);
|
|
@@ -1678,7 +1668,6 @@ var ComputedImpl = class {
|
|
|
1678
1668
|
this.setter = setter;
|
|
1679
1669
|
this.onTrack = onTrack;
|
|
1680
1670
|
this.onTrigger = onTrigger;
|
|
1681
|
-
this.flag |= 16 /* DIRTY */;
|
|
1682
1671
|
recordDisposable(this);
|
|
1683
1672
|
}
|
|
1684
1673
|
/**
|
|
@@ -1877,13 +1866,61 @@ Received: ${typeof getterOrOptions}`
|
|
|
1877
1866
|
function isComputed(value) {
|
|
1878
1867
|
return !!value && !!value["_IS_COMPUTED" /* IS_COMPUTED */];
|
|
1879
1868
|
}
|
|
1869
|
+
function cloneInitialState(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
1870
|
+
if (!shared.isObject(value)) {
|
|
1871
|
+
return value;
|
|
1872
|
+
}
|
|
1873
|
+
if (seen.has(value)) {
|
|
1874
|
+
return seen.get(value);
|
|
1875
|
+
}
|
|
1876
|
+
if (value instanceof Date) {
|
|
1877
|
+
return new Date(value.getTime());
|
|
1878
|
+
}
|
|
1879
|
+
if (value instanceof RegExp) {
|
|
1880
|
+
return new RegExp(value.source, value.flags);
|
|
1881
|
+
}
|
|
1882
|
+
if (value instanceof Map) {
|
|
1883
|
+
const clone2 = /* @__PURE__ */ new Map();
|
|
1884
|
+
seen.set(value, clone2);
|
|
1885
|
+
value.forEach((mapValue, mapKey) => {
|
|
1886
|
+
clone2.set(cloneInitialState(mapKey, seen), cloneInitialState(mapValue, seen));
|
|
1887
|
+
});
|
|
1888
|
+
return clone2;
|
|
1889
|
+
}
|
|
1890
|
+
if (value instanceof Set) {
|
|
1891
|
+
const clone2 = /* @__PURE__ */ new Set();
|
|
1892
|
+
seen.set(value, clone2);
|
|
1893
|
+
value.forEach((setValue) => {
|
|
1894
|
+
clone2.add(cloneInitialState(setValue, seen));
|
|
1895
|
+
});
|
|
1896
|
+
return clone2;
|
|
1897
|
+
}
|
|
1898
|
+
if (Array.isArray(value)) {
|
|
1899
|
+
const clone2 = [];
|
|
1900
|
+
seen.set(value, clone2);
|
|
1901
|
+
value.forEach((item, index) => {
|
|
1902
|
+
clone2[index] = cloneInitialState(item, seen);
|
|
1903
|
+
});
|
|
1904
|
+
return clone2;
|
|
1905
|
+
}
|
|
1906
|
+
const prototype = Object.getPrototypeOf(value);
|
|
1907
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
1908
|
+
return value;
|
|
1909
|
+
}
|
|
1910
|
+
const clone = Object.create(prototype);
|
|
1911
|
+
seen.set(value, clone);
|
|
1912
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
1913
|
+
clone[key] = cloneInitialState(value[key], seen);
|
|
1914
|
+
}
|
|
1915
|
+
return clone;
|
|
1916
|
+
}
|
|
1880
1917
|
function createOptionsStore(options) {
|
|
1881
1918
|
if (!options.state) {
|
|
1882
1919
|
shared.warn("Store state is required");
|
|
1883
1920
|
throw new Error("Store state is required");
|
|
1884
1921
|
}
|
|
1885
1922
|
const { state, getters, actions } = options;
|
|
1886
|
-
const initState =
|
|
1923
|
+
const initState = cloneInitialState(state);
|
|
1887
1924
|
const reactiveState = reactive(state);
|
|
1888
1925
|
const subscriptions = /* @__PURE__ */ new Set();
|
|
1889
1926
|
const actionCallbacks = /* @__PURE__ */ new Set();
|
package/dist/signals.dev.js
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
import { isFunction, isObject, warn, error, isPlainObject, isArray, isSet, isMap, isWeakMap, isWeakSet, hasChanged, isStringNumber, hasOwn, isUndefined } from '@estjs/shared';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
3
|
+
// src/signal.ts
|
|
19
4
|
|
|
20
5
|
// src/constants.ts
|
|
21
6
|
var TriggerOpTypes = {
|
|
@@ -925,11 +910,12 @@ var objectHandlers = (shallow) => ({
|
|
|
925
910
|
return valueUnwrapped;
|
|
926
911
|
},
|
|
927
912
|
set: (target, key, value, receiver) => {
|
|
913
|
+
const hadKey = hasOwn(target, key);
|
|
928
914
|
const oldValue = Reflect.get(target, key, receiver);
|
|
929
915
|
const rawValue = toRaw(value);
|
|
930
916
|
const result = Reflect.set(target, key, rawValue, receiver);
|
|
931
917
|
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
932
|
-
trigger(target, TriggerOpTypes.SET, key, rawValue);
|
|
918
|
+
trigger(target, hadKey ? TriggerOpTypes.SET : TriggerOpTypes.ADD, key, rawValue);
|
|
933
919
|
}
|
|
934
920
|
return result;
|
|
935
921
|
},
|
|
@@ -940,6 +926,10 @@ var objectHandlers = (shallow) => ({
|
|
|
940
926
|
trigger(target, TriggerOpTypes.DELETE, key, void 0);
|
|
941
927
|
}
|
|
942
928
|
return result;
|
|
929
|
+
},
|
|
930
|
+
ownKeys: (target) => {
|
|
931
|
+
track(target, ITERATE_KEY);
|
|
932
|
+
return Reflect.ownKeys(target);
|
|
943
933
|
}
|
|
944
934
|
});
|
|
945
935
|
var shallowObjectHandlers = objectHandlers(true);
|
|
@@ -1676,7 +1666,6 @@ var ComputedImpl = class {
|
|
|
1676
1666
|
this.setter = setter;
|
|
1677
1667
|
this.onTrack = onTrack;
|
|
1678
1668
|
this.onTrigger = onTrigger;
|
|
1679
|
-
this.flag |= 16 /* DIRTY */;
|
|
1680
1669
|
recordDisposable(this);
|
|
1681
1670
|
}
|
|
1682
1671
|
/**
|
|
@@ -1875,13 +1864,61 @@ Received: ${typeof getterOrOptions}`
|
|
|
1875
1864
|
function isComputed(value) {
|
|
1876
1865
|
return !!value && !!value["_IS_COMPUTED" /* IS_COMPUTED */];
|
|
1877
1866
|
}
|
|
1867
|
+
function cloneInitialState(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
1868
|
+
if (!isObject(value)) {
|
|
1869
|
+
return value;
|
|
1870
|
+
}
|
|
1871
|
+
if (seen.has(value)) {
|
|
1872
|
+
return seen.get(value);
|
|
1873
|
+
}
|
|
1874
|
+
if (value instanceof Date) {
|
|
1875
|
+
return new Date(value.getTime());
|
|
1876
|
+
}
|
|
1877
|
+
if (value instanceof RegExp) {
|
|
1878
|
+
return new RegExp(value.source, value.flags);
|
|
1879
|
+
}
|
|
1880
|
+
if (value instanceof Map) {
|
|
1881
|
+
const clone2 = /* @__PURE__ */ new Map();
|
|
1882
|
+
seen.set(value, clone2);
|
|
1883
|
+
value.forEach((mapValue, mapKey) => {
|
|
1884
|
+
clone2.set(cloneInitialState(mapKey, seen), cloneInitialState(mapValue, seen));
|
|
1885
|
+
});
|
|
1886
|
+
return clone2;
|
|
1887
|
+
}
|
|
1888
|
+
if (value instanceof Set) {
|
|
1889
|
+
const clone2 = /* @__PURE__ */ new Set();
|
|
1890
|
+
seen.set(value, clone2);
|
|
1891
|
+
value.forEach((setValue) => {
|
|
1892
|
+
clone2.add(cloneInitialState(setValue, seen));
|
|
1893
|
+
});
|
|
1894
|
+
return clone2;
|
|
1895
|
+
}
|
|
1896
|
+
if (Array.isArray(value)) {
|
|
1897
|
+
const clone2 = [];
|
|
1898
|
+
seen.set(value, clone2);
|
|
1899
|
+
value.forEach((item, index) => {
|
|
1900
|
+
clone2[index] = cloneInitialState(item, seen);
|
|
1901
|
+
});
|
|
1902
|
+
return clone2;
|
|
1903
|
+
}
|
|
1904
|
+
const prototype = Object.getPrototypeOf(value);
|
|
1905
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
1906
|
+
return value;
|
|
1907
|
+
}
|
|
1908
|
+
const clone = Object.create(prototype);
|
|
1909
|
+
seen.set(value, clone);
|
|
1910
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
1911
|
+
clone[key] = cloneInitialState(value[key], seen);
|
|
1912
|
+
}
|
|
1913
|
+
return clone;
|
|
1914
|
+
}
|
|
1878
1915
|
function createOptionsStore(options) {
|
|
1879
1916
|
if (!options.state) {
|
|
1880
1917
|
warn("Store state is required");
|
|
1881
1918
|
throw new Error("Store state is required");
|
|
1882
1919
|
}
|
|
1883
1920
|
const { state, getters, actions } = options;
|
|
1884
|
-
const initState =
|
|
1921
|
+
const initState = cloneInitialState(state);
|
|
1885
1922
|
const reactiveState = reactive(state);
|
|
1886
1923
|
const subscriptions = /* @__PURE__ */ new Set();
|
|
1887
1924
|
const actionCallbacks = /* @__PURE__ */ new Set();
|
package/dist/signals.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {isObject,isFunction,isPlainObject,isArray,isSet,isMap,isWeakMap,isWeakSet,hasChanged,isStringNumber,hasOwn,isUndefined}from'@estjs/shared';var ct=Object.defineProperty;var Re=Object.getOwnPropertySymbols;var ut=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable;var xe=(e,t,n)=>t in e?ct(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,De=(e,t)=>{for(var n in t||(t={}))ut.call(t,n)&&xe(e,n,t[n]);if(Re)for(var n of Re(t))ft.call(t,n)&&xe(e,n,t[n]);return e};var S={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var O=Symbol(""),E=Symbol(""),P=Symbol(""),Ce=Symbol("");var R=Symbol("");var $=0,m,j=false,ue=class{constructor(t,n){this.map=t;this.key=n;this.isDep=true;this.flag=0;}get subLink(){return this._subLink}set subLink(t){this._subLink=t,t===void 0&&this.map.delete(this.key);}};function fe(e){e.notify();}function I(e,t){if(j)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let i=n?n.nextDepLink:t.depLink;if(i&&i.depNode===e)return i.version=$,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===$&&r.subNode===t)return t.depLinkTail=r,r;let o={version:$,depNode:e,subNode:t,prevSubLink:r,nextSubLink:void 0,prevDepLink:n,nextDepLink:i};return i&&(i.prevDepLink=o),n?n.nextDepLink=o:t.depLink=o,r?r.nextSubLink=o:e.subLink=o,e.subLinkTail=o,t.depLinkTail=o,o}function D(e,t=e.subNode){let n=e.depNode,i=e.prevSubLink,r=e.nextSubLink,o=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=o:t.depLinkTail=o,o?o.nextDepLink=s:t.depLink=s,r?r.prevSubLink=i:n.subLinkTail=i,i)i.nextSubLink=r;else if(n.subLink=r,r===void 0){let c=n.depLink;for(;c;)c=D(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function J(e,t){let n,i=0,r=false;e:do{let o=false;if(t.flag&16)o=true;else {let s=e.depNode,c=s.flag;if((c&17)===17){let f=s.subLink;f&&f.nextSubLink&&Y(f),o=true;}else if((c&33)===33)if(s.depLink){n={link:e,prev:n},e=s.depLink,t=s,++i;continue e}else s.flag&=-33;else c&32&&(s.flag&=-33);}if(!o&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}for(r=o;i--;){e=n.link,n=n.prev,t=e.subNode;let s=e.depNode;if(r?s.flag=s.flag&-33|16:s.flag&=-33,s.flag&16&&(r=true),!r&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}}return r?t.flag=t.flag&-33|16:t.flag&=-33,r}while(true)}function Y(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&fe(t)),e=e.nextSubLink;}}function M(e){let t=e.nextSubLink,n;e:do{let i=e.subNode,r=i.flag&2,o=i.flag;if(o&60?o&12?o&4?!(o&48)&&dt(e,i)?(i.flag=o|40,r&&fe(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&fe(i)),o&1){let s=i.subLink;if(s!==void 0){let c=s.nextSubLink;c!==void 0&&(n={value:t,prev:n},t=c),e=s;continue}}if((e=t)!==void 0){t=e.nextSubLink;continue}for(;n!==void 0;)if(e=n.value,n=n.prev,e!==void 0){t=e.nextSubLink;continue e}break}while(true)}function le(e){let t=m;return m=e,t}function z(e){return $++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,le(e)}function Q(e,t){m=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=D(i,e);e.flag&=-5;}function pt(e){let t=le(void 0),n=j;j=true;try{return e()}finally{j=n,le(t);}}function dt(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var pe=new WeakMap,ht=0;function ce(e,t,n){if(e)for(let i=e.subLink;i;i=i.nextSubLink){let r=i.subNode;r._triggerVersion!==n&&(r._triggerVersion=n,t.push(r));}}function l(e,t){if(!m||j)return;let n=pe.get(e);n||(n=new Map,pe.set(e,n));let i=n.get(t);i||(i=new ue(n,t),n.set(t,i)),I(i,m);}function v(e,t,n,i){var c;let r=pe.get(e);if(!r)return;let o=[],s=++ht;if(n!==void 0)if(Array.isArray(n))for(let f of n)ce(r.get(f),o,s);else ce(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let f=Array.isArray(e)?R:Ce;ce(r.get(f),o,s);}for(let f of o)f.flag&2?(c=f.notify)==null||c.call(f):f.flag&1&&(f.flag|=16,f.subLink&&M(f.subLink));}var _t=new WeakMap,bt=new WeakMap;function a(e){if(!e||!isObject(e))return e;let t=e._RAW;return t?a(t):h(e)?a(e.peek()):e}var Ae=mt();function mt(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,R);let r=i[t](...n);if((r===-1||r===false)&&n.length>0){let o=n.map(s=>a(s));r=i[t](...o);}return r};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let i=a(this),r=w(this);l(i,R);let o=i[t](...n);return (t==="find"||t==="findLast")&&isObject(o)&&!r?d(o):o};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let i=a(this),r=Array.prototype[t].apply(i,n);return v(i,S.SET,[O,R]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=w(this);l(i,R);let o=Array.prototype[t].apply(i,n);return Array.isArray(o)?o.map(s=>isObject(s)?d(s,r):s):o};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,R),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,R),Array.prototype[t].apply(i,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),i=w(this);l(n,O);let r=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:o,done:s}=r.next();return s?{value:o,done:s}:Array.isArray(o)?{value:o.map(c=>isObject(c)?d(c,i):c),done:s}:{value:isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}function Ge(e,t){let n=h(t)?t:a(t);return hasChanged(e,n)}var Oe=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(Ae,n))return Ae[n];let r=Reflect.get(t,n,i);return isStringNumber(n)&&l(t,n),l(t,O),isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Ge(s,o)&&(isStringNumber(n)?v(t,S.SET,[n,R,O]):v(t,S.SET,n)),c}}),yt=Oe(true),kt=Oe(false),je=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(Ne,n)?Ne:t,n,t)}}),Ye=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(Ve,n)&&n in t?Ve:t,n,t)}}),wt=je(true),Lt=je(false),Rt=Ye(true),xt=Ye(false),Ne={get(e){let t=a(this);l(t,E);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&g(e)&&(n=t.get(a(e))),isObject(n)&&!w(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||hasChanged(o,s))&&v(n,S.SET,E),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||v(t,S.ADD,E),this},has(e){let t=a(this);l(t,E);let n=t.has(e);return !n&&isObject(e)?t.has(a(e)):n},delete(e){let t=a(this),n=t.has(e),i=t.delete(e);return !i&&isObject(e)&&(i=t.delete(a(e))),(n||i)&&v(t,S.DELETE,E),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&v(e,S.CLEAR,E),n},forEach(e,t){let n=a(this),i=w(this);l(n,E),n.forEach((r,o)=>{let s=i||!isObject(r)?r:d(r),c=i||!isObject(o)?o:d(o);e.call(t,s,c,this);});},[Symbol.iterator](){let e=a(this),t=w(this);l(e,E);let n=e[Symbol.iterator]();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:Array.isArray(i)?{value:i.map(o=>isObject(o)?d(o):o),done:r}:{value:isObject(i)?d(i):i,done:r}},[Symbol.iterator](){return this}}},get size(){let e=a(this);return l(e,E),e.size},keys(){let e=a(this),t=w(this);l(e,E);let n=e.keys();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},values(){let e=a(this),t=w(this);l(e,E);let n=e.values();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},entries(){let e=a(this),t=w(this);l(e,E);let n=e.entries();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:{value:i.map(o=>isObject(o)?d(o):o),done:r}},[Symbol.iterator](){return this}}}},Ve={get(e){let t=a(this);l(t,P);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&g(e)&&(n=t.get(a(e))),isObject(n)&&!w(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||hasChanged(o,s))&&v(n,S.SET,P),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||v(t,S.ADD,P),this},has(e){let t=a(this);l(t,P);let n=t.has(e);return !n&&g(e)&&(n=t.has(a(e))),n},delete(e){let t=a(this),n=a(e),i=t.has(n),r=t.delete(n);return (i||r)&&v(t,S.DELETE,P),r}},Me=e=>({get(t,n,i){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let r=Reflect.get(t,n,i),o=h(r)?r.value:r;return l(t,n),isObject(o)&&!e?d(o):o},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Ge(s,o)&&v(t,S.SET,n),c},deleteProperty:(t,n)=>{let i=hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&v(t,S.DELETE,n),r}}),Dt=Me(true),Ct=Me(false);function d(e,t=false){if(!isObject(e)||g(e))return e;let n=t?bt:_t,i=n.get(e);if(i)return i;let r;isArray(e)?r=t?yt:kt:isSet(e)||isMap(e)?r=t?wt:Lt:isWeakMap(e)||isWeakSet(e)?r=t?Rt:xt:r=t?Dt:Ct;let o=new Proxy(e,r);return n.set(e,o),o}function g(e){return !!(e&&e._IS_REACTIVE)}function A(e){return g(e)||h(e)?e:d(e)}function Z(e){return g(e)||h(e)?e:d(e,true)}function w(e){return !!(e&&e._IS_SHALLOW)}var It=e=>isObject(e)?A(e):e;var We;We="_IS_SIGNAL";var G=class{constructor(t,n=false){this.flag=1;this[We]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Ue(i)?g(t)?this._value=t:this._value=n?Z(i):A(i):this._value=i;}get dep(){return this}get value(){let t=m;if(t&&I(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&Y(i);}return this._value}set value(t){h(t)&&(t=t.peek());let n=t,i=a(t);if(!hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!Ue(i))this._value=i;else if(g(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?Z(i):A(i);}let r=this.subLink;r&&M(r);}shouldUpdate(){if(this.flag&=-17,!("_oldValue"in this))return true;let t=hasChanged(this._oldValue,this._rawValue);return this._oldValue=this._rawValue,t}peek(){return this._value}set(t){this.value=t;}update(t){let n=t(this.peek());h(n)?this.value=n.peek():this.value=n;}};function Ue(e){return isObject(e)?isArray(e)||isMap(e)||isSet(e)||isWeakMap(e)||isWeakSet(e)||isPlainObject(e):false}function Yt(e){return h(e)?e:new G(e)}function Mt(e){return h(e)&&(e=e.peek()),new G(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var K=new Set,he=new Set,He=Promise.resolve(),Te=false,Kt=100;function Fe(e){return e?He.then(e):He}function U(e){K.add(e),qe();}function qe(){Te||(Te=true,Fe(Se));}function Be(e){he.add(e),qe();}function Se(){Te=false,Ut();let e=0;for(;K.size>0;){if(++e>Kt){K.clear();return}let t=[...K];K.clear();for(let n of t)try{n();}catch(i){}}}function Ut(){let e=Array.from(he);he.clear();for(let t of e)try{t();}catch(n){}}function ee(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Be(e);case "post":return ()=>U(e);default:return ()=>U(e)}}var W=0;function ve(e){$e();try{return e()}finally{Je();}}function $e(){W++;}function Je(){W--,W===0&&Se();}function Ee(){return W>0}function Wt(){return W}var y,te=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=new Set;this.scopes=new Set;this.cleanups=[];!t&&y&&(this.parent=y,y.scopes.add(this));}get active(){return this._active}pause(){var t;if(this._active){for(let n of this.scopes)n.pause();for(let n of this.effects)(t=n.pause)==null||t.call(n);}}resume(){var t;if(this._active){for(let n of this.scopes)n.resume();for(let n of this.effects)(t=n.resume)==null||t.call(n);}}run(t){if(!this._active)return;let n=y;y=this;try{return t()}finally{y=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i of this.scopes)i.stop(true);this.scopes.clear();let n=Array.from(this.effects);this.effects.clear();for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();this.cleanups.length=0,!t&&this.parent&&this.parent.scopes.delete(this),this.parent=void 0;}_record(t){this.effects.add(t),t.scope=this;}_remove(t){this.effects.delete(t);}_pushCleanup(t){this.cleanups.push(t);}};function Ht(e=false){return new te(e)}function Ft(){return y}function qt(e){let t=y;return y=e,t}function Bt(e,t=false){y&&y._pushCleanup(e);}function ne(e,t=y){t&&t.active&&t._record(e);}function ie(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var Qe;Qe="_IS_EFFECT";var ge=class{constructor(t,n){this.flag=18;this[Qe]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!isFunction(i)&&(this._flushScheduler=ee(()=>this.run(),i));}ne(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&J(this.depLink,this))return this.flag=t&-33|16,true;this.flag=t&-33;}return false}pause(){this.flag|=256;}resume(){let n=this.flag&-257;this.flag=n;let i=(n&16)!==0,r=(n&32)!==0;(i||r)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-49|512;let n=z(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,Q(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){var r,o,s;let t=this.flag;if(!this._active||t&784)return;this.flag=t|16;let n=((r=this.options)==null?void 0:r.flush)||((o=this.options)==null?void 0:o.scheduler);n?isFunction(n)?n(this):(s=this._flushScheduler)==null||s.call(this):Ee()?U(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,ie(this);let t=this.depLink;for(;t;)t=D(t,this);let n=this.subLink;for(;n;)n=D(n);this._job=void 0,this._flushScheduler=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,(i=this.options)!=null&&i.onStop&&this.options.onStop();}};function re(e,t){let n=new ge(e,t);try{n.run();}catch(r){throw n.stop(),r}let i=()=>n.run();return i.effect=n,i.stop=()=>n.stop(),i}function $t(e){e.effect.stop();}function Jt(e){return !!(e&&e._IS_EFFECT)}function zt(e,t,n){let i=t;return re(()=>{i=e(i);},n)}var x=Symbol("computed-no-value"),et;et="_IS_COMPUTED";var oe=class{constructor(t,n,i,r){this.flag=17;this[et]=true;this._value=x;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,ne(this);}get value(){if(!this.active)return this._value===x?this.getter():this._value;m&&I(this,m);let t=this.flag,n=this._value!==x;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&J(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this.active?(this._value===x&&this.recompute(),this._value):this._value===x?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===x&&(this._value=this.getter());return}let t=this._value,n=t!==x,i=z(this);try{let r=this.getter(),o=this.flag,s=this.subLink,c=-49;!n||hasChanged(t,r)?(this._value=r,this.flag=o&c,s&&Y(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=x,r}finally{Q(this,i);}}shouldUpdate(){let t=this._value!==x,n=this._value;return this.recompute(),t?hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,ie(this);let t=this.depLink;for(;t;)t=D(t,this);let n=this.subLink;for(;n;)n=D(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function _e(e){if(H(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(isFunction(e))return new oe(e);if(isPlainObject(e)){let{get:t,set:n,onTrack:i,onTrigger:r}=e;if(!t)throw new Error(`[Computed] Invalid options: getter function is required.
|
|
1
|
+
import {isObject,isFunction,isPlainObject,isArray,isSet,isMap,isWeakMap,isWeakSet,hasChanged,isStringNumber,hasOwn,isUndefined}from'@estjs/shared';var S={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var j=Symbol(""),g=Symbol(""),P=Symbol(""),z=Symbol("");var R=Symbol("");var Q=0,m,K=false,le=class{constructor(t,n){this.map=t;this.key=n;this.isDep=true;this.flag=0;}get subLink(){return this._subLink}set subLink(t){this._subLink=t,t===void 0&&this.map.delete(this.key);}};function pe(e){e.notify();}function I(e,t){if(K)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let i=n?n.nextDepLink:t.depLink;if(i&&i.depNode===e)return i.version=Q,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===Q&&r.subNode===t)return t.depLinkTail=r,r;let o={version:Q,depNode:e,subNode:t,prevSubLink:r,nextSubLink:void 0,prevDepLink:n,nextDepLink:i};return i&&(i.prevDepLink=o),n?n.nextDepLink=o:t.depLink=o,r?r.nextSubLink=o:e.subLink=o,e.subLinkTail=o,t.depLinkTail=o,o}function x(e,t=e.subNode){let n=e.depNode,i=e.prevSubLink,r=e.nextSubLink,o=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=o:t.depLinkTail=o,o?o.nextDepLink=s:t.depLink=s,r?r.prevSubLink=i:n.subLinkTail=i,i)i.nextSubLink=r;else if(n.subLink=r,r===void 0){let c=n.depLink;for(;c;)c=x(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function X(e,t){let n,i=0,r=false;e:do{let o=false;if(t.flag&16)o=true;else {let s=e.depNode,c=s.flag;if((c&17)===17){let f=s.subLink;f&&f.nextSubLink&&M(f),o=true;}else if((c&33)===33)if(s.depLink){n={link:e,prev:n},e=s.depLink,t=s,++i;continue e}else s.flag&=-33;else c&32&&(s.flag&=-33);}if(!o&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}for(r=o;i--;){e=n.link,n=n.prev,t=e.subNode;let s=e.depNode;if(r?s.flag=s.flag&-33|16:s.flag&=-33,s.flag&16&&(r=true),!r&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}}return r?t.flag=t.flag&-33|16:t.flag&=-33,r}while(true)}function M(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&pe(t)),e=e.nextSubLink;}}function Y(e){let t=e.nextSubLink,n;e:do{let i=e.subNode,r=i.flag&2,o=i.flag;if(o&60?o&12?o&4?!(o&48)&&ct(e,i)?(i.flag=o|40,r&&pe(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&pe(i)),o&1){let s=i.subLink;if(s!==void 0){let c=s.nextSubLink;c!==void 0&&(n={value:t,prev:n},t=c),e=s;continue}}if((e=t)!==void 0){t=e.nextSubLink;continue}for(;n!==void 0;)if(e=n.value,n=n.prev,e!==void 0){t=e.nextSubLink;continue e}break}while(true)}function de(e){let t=m;return m=e,t}function Z(e){return Q++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,de(e)}function ee(e,t){m=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=x(i,e);e.flag&=-5;}function at(e){let t=de(void 0),n=K;K=true;try{return e()}finally{K=n,de(t);}}function ct(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var he=new WeakMap,ut=0;function fe(e,t,n){if(e)for(let i=e.subLink;i;i=i.nextSubLink){let r=i.subNode;r._triggerVersion!==n&&(r._triggerVersion=n,t.push(r));}}function l(e,t){if(!m||K)return;let n=he.get(e);n||(n=new Map,he.set(e,n));let i=n.get(t);i||(i=new le(n,t),n.set(t,i)),I(i,m);}function E(e,t,n,i){var c;let r=he.get(e);if(!r)return;let o=[],s=++ut;if(n!==void 0)if(Array.isArray(n))for(let f of n)fe(r.get(f),o,s);else fe(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let f=Array.isArray(e)?R:z;fe(r.get(f),o,s);}for(let f of o)f.flag&2?(c=f.notify)==null||c.call(f):f.flag&1&&(f.flag|=16,f.subLink&&Y(f.subLink));}var Tt=new WeakMap,St=new WeakMap;function a(e){if(!e||!isObject(e))return e;let t=e._RAW;return t?a(t):h(e)?a(e.peek()):e}var Ce=Et();function Et(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,R);let r=i[t](...n);if((r===-1||r===false)&&n.length>0){let o=n.map(s=>a(s));r=i[t](...o);}return r};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let i=a(this),r=w(this);l(i,R);let o=i[t](...n);return (t==="find"||t==="findLast")&&isObject(o)&&!r?d(o):o};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let i=a(this),r=Array.prototype[t].apply(i,n);return E(i,S.SET,[j,R]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=w(this);l(i,R);let o=Array.prototype[t].apply(i,n);return Array.isArray(o)?o.map(s=>isObject(s)?d(s,r):s):o};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,R),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,R),Array.prototype[t].apply(i,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),i=w(this);l(n,j);let r=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:o,done:s}=r.next();return s?{value:o,done:s}:Array.isArray(o)?{value:o.map(c=>isObject(c)?d(c,i):c),done:s}:{value:isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}function Ve(e,t){let n=h(t)?t:a(t);return hasChanged(e,n)}var Pe=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(Ce,n))return Ce[n];let r=Reflect.get(t,n,i);return isStringNumber(n)&&l(t,n),l(t,j),isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=a(i),c=Reflect.set(t,n,s,r);return Ve(s,o)&&(isStringNumber(n)?E(t,S.SET,[n,R,j]):E(t,S.SET,n)),c}}),gt=Pe(true),_t=Pe(false),Oe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(Ie,n)?Ie:t,n,t)}}),Ge=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(Ae,n)&&n in t?Ae:t,n,t)}}),bt=Oe(true),vt=Oe(false),mt=Ge(true),yt=Ge(false),Ie={get(e){let t=a(this);l(t,g);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&_(e)&&(n=t.get(a(e))),isObject(n)&&!w(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||hasChanged(o,s))&&E(n,S.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||E(t,S.ADD,g),this},has(e){let t=a(this);l(t,g);let n=t.has(e);return !n&&isObject(e)?t.has(a(e)):n},delete(e){let t=a(this),n=t.has(e),i=t.delete(e);return !i&&isObject(e)&&(i=t.delete(a(e))),(n||i)&&E(t,S.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&E(e,S.CLEAR,g),n},forEach(e,t){let n=a(this),i=w(this);l(n,g),n.forEach((r,o)=>{let s=i||!isObject(r)?r:d(r),c=i||!isObject(o)?o:d(o);e.call(t,s,c,this);});},[Symbol.iterator](){let e=a(this),t=w(this);l(e,g);let n=e[Symbol.iterator]();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:Array.isArray(i)?{value:i.map(o=>isObject(o)?d(o):o),done:r}:{value:isObject(i)?d(i):i,done:r}},[Symbol.iterator](){return this}}},get size(){let e=a(this);return l(e,g),e.size},keys(){let e=a(this),t=w(this);l(e,g);let n=e.keys();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},values(){let e=a(this),t=w(this);l(e,g);let n=e.values();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:{value:t||!isObject(i)?i:d(i),done:r}},[Symbol.iterator](){return this}}},entries(){let e=a(this),t=w(this);l(e,g);let n=e.entries();return {next(){let{value:i,done:r}=n.next();return r?{value:i,done:r}:t?{value:i,done:r}:{value:i.map(o=>isObject(o)?d(o):o),done:r}},[Symbol.iterator](){return this}}}},Ae={get(e){let t=a(this);l(t,P);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&_(e)&&(n=t.get(a(e))),isObject(n)&&!w(this)?d(n):n},set(e,t){let n=a(this),i=a(e),r=n.has(i),o=n.get(i),s=a(t);return n.set(i,s),(!r||hasChanged(o,s))&&E(n,S.SET,P),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||E(t,S.ADD,P),this},has(e){let t=a(this);l(t,P);let n=t.has(e);return !n&&_(e)&&(n=t.has(a(e))),n},delete(e){let t=a(this),n=a(e),i=t.has(n),r=t.delete(n);return (i||r)&&E(t,S.DELETE,P),r}},je=e=>({get(t,n,i){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let r=Reflect.get(t,n,i),o=h(r)?r.value:r;return l(t,n),isObject(o)&&!e?d(o):o},set:(t,n,i,r)=>{let o=hasOwn(t,n),s=Reflect.get(t,n,r),c=a(i),f=Reflect.set(t,n,c,r);return Ve(c,s)&&E(t,o?S.SET:S.ADD,n),f},deleteProperty:(t,n)=>{let i=hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&E(t,S.DELETE,n),r},ownKeys:t=>(l(t,z),Reflect.ownKeys(t))}),kt=je(true),wt=je(false);function d(e,t=false){if(!isObject(e)||_(e))return e;let n=t?St:Tt,i=n.get(e);if(i)return i;let r;isArray(e)?r=t?gt:_t:isSet(e)||isMap(e)?r=t?bt:vt:isWeakMap(e)||isWeakSet(e)?r=t?mt:yt:r=t?kt:wt;let o=new Proxy(e,r);return n.set(e,o),o}function _(e){return !!(e&&e._IS_REACTIVE)}function A(e){return _(e)||h(e)?e:d(e)}function te(e){return _(e)||h(e)?e:d(e,true)}function w(e){return !!(e&&e._IS_SHALLOW)}var Lt=e=>isObject(e)?A(e):e;var Ye;Ye="_IS_SIGNAL";var O=class{constructor(t,n=false){this.flag=1;this[Ye]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Me(i)?_(t)?this._value=t:this._value=n?te(i):A(i):this._value=i;}get dep(){return this}get value(){let t=m;if(t&&I(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&M(i);}return this._value}set value(t){h(t)&&(t=t.peek());let n=t,i=a(t);if(!hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!Me(i))this._value=i;else if(_(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?te(i):A(i);}let r=this.subLink;r&&Y(r);}shouldUpdate(){if(this.flag&=-17,!("_oldValue"in this))return true;let t=hasChanged(this._oldValue,this._rawValue);return this._oldValue=this._rawValue,t}peek(){return this._value}set(t){this.value=t;}update(t){let n=t(this.peek());h(n)?this.value=n.peek():this.value=n;}};function Me(e){return isObject(e)?isArray(e)||isMap(e)||isSet(e)||isWeakMap(e)||isWeakSet(e)||isPlainObject(e):false}function Vt(e){return h(e)?e:new O(e)}function Pt(e){return h(e)&&(e=e.peek()),new O(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var W=new Set,Se=new Set,Ue=Promise.resolve(),Ee=false,Ot=100;function We(e){return e?Ue.then(e):Ue}function H(e){W.add(e),He();}function He(){Ee||(Ee=true,We(ge));}function Fe(e){Se.add(e),He();}function ge(){Ee=false,Gt();let e=0;for(;W.size>0;){if(++e>Ot){W.clear();return}let t=[...W];W.clear();for(let n of t)try{n();}catch(i){}}}function Gt(){let e=Array.from(Se);Se.clear();for(let t of e)try{t();}catch(n){}}function ne(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Fe(e);case "post":return ()=>H(e);default:return ()=>H(e)}}var F=0;function _e(e){qe();try{return e()}finally{Be();}}function qe(){F++;}function Be(){F--,F===0&&ge();}function be(){return F>0}function jt(){return F}var y,ie=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=new Set;this.scopes=new Set;this.cleanups=[];!t&&y&&(this.parent=y,y.scopes.add(this));}get active(){return this._active}pause(){var t;if(this._active){for(let n of this.scopes)n.pause();for(let n of this.effects)(t=n.pause)==null||t.call(n);}}resume(){var t;if(this._active){for(let n of this.scopes)n.resume();for(let n of this.effects)(t=n.resume)==null||t.call(n);}}run(t){if(!this._active)return;let n=y;y=this;try{return t()}finally{y=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i of this.scopes)i.stop(true);this.scopes.clear();let n=Array.from(this.effects);this.effects.clear();for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();this.cleanups.length=0,!t&&this.parent&&this.parent.scopes.delete(this),this.parent=void 0;}_record(t){this.effects.add(t),t.scope=this;}_remove(t){this.effects.delete(t);}_pushCleanup(t){this.cleanups.push(t);}};function Kt(e=false){return new ie(e)}function Mt(){return y}function Yt(e){let t=y;return y=e,t}function Ut(e,t=false){y&&y._pushCleanup(e);}function re(e,t=y){t&&t.active&&t._record(e);}function oe(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var Je;Je="_IS_EFFECT";var ve=class{constructor(t,n){this.flag=18;this[Je]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!isFunction(i)&&(this._flushScheduler=ne(()=>this.run(),i));}re(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&X(this.depLink,this))return this.flag=t&-33|16,true;this.flag=t&-33;}return false}pause(){this.flag|=256;}resume(){let n=this.flag&-257;this.flag=n;let i=(n&16)!==0,r=(n&32)!==0;(i||r)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-49|512;let n=Z(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,ee(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){var r,o,s;let t=this.flag;if(!this._active||t&784)return;this.flag=t|16;let n=((r=this.options)==null?void 0:r.flush)||((o=this.options)==null?void 0:o.scheduler);n?isFunction(n)?n(this):(s=this._flushScheduler)==null||s.call(this):be()?H(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,oe(this);let t=this.depLink;for(;t;)t=x(t,this);let n=this.subLink;for(;n;)n=x(n);this._job=void 0,this._flushScheduler=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,(i=this.options)!=null&&i.onStop&&this.options.onStop();}};function se(e,t){let n=new ve(e,t);try{n.run();}catch(r){throw n.stop(),r}let i=()=>n.run();return i.effect=n,i.stop=()=>n.stop(),i}function Wt(e){e.effect.stop();}function Ht(e){return !!(e&&e._IS_EFFECT)}function Ft(e,t,n){let i=t;return se(()=>{i=e(i);},n)}var D=Symbol("computed-no-value"),Xe;Xe="_IS_COMPUTED";var ae=class{constructor(t,n,i,r){this.flag=17;this[Xe]=true;this._value=D;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,re(this);}get value(){if(!this.active)return this._value===D?this.getter():this._value;m&&I(this,m);let t=this.flag,n=this._value!==D;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&X(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this.active?(this._value===D&&this.recompute(),this._value):this._value===D?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===D&&(this._value=this.getter());return}let t=this._value,n=t!==D,i=Z(this);try{let r=this.getter(),o=this.flag,s=this.subLink,c=-49;!n||hasChanged(t,r)?(this._value=r,this.flag=o&c,s&&M(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=D,r}finally{ee(this,i);}}shouldUpdate(){let t=this._value!==D,n=this._value;return this.recompute(),t?hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,oe(this);let t=this.depLink;for(;t;)t=x(t,this);let n=this.subLink;for(;n;)n=x(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function me(e){if(q(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(isFunction(e))return new ae(e);if(isPlainObject(e)){let{get:t,set:n,onTrack:i,onTrigger:r}=e;if(!t)throw new Error(`[Computed] Invalid options: getter function is required.
|
|
2
2
|
Usage: computed({ get: () => value, set: (v) => { ... } })`);if(!isFunction(t))throw new TypeError(`[Computed] Invalid options: getter must be a function.
|
|
3
|
-
Received: ${typeof t}`);return new
|
|
4
|
-
Received: ${typeof e}`)}function
|
|
3
|
+
Received: ${typeof t}`);return new ae(t,n,i,r)}throw new Error(`[Computed] Invalid argument: expected a function or options object.
|
|
4
|
+
Received: ${typeof e}`)}function q(e){return !!e&&!!e._IS_COMPUTED}function G(e,t=new WeakMap){if(!isObject(e))return e;if(t.has(e))return t.get(e);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(e instanceof Map){let r=new Map;return t.set(e,r),e.forEach((o,s)=>{r.set(G(s,t),G(o,t));}),r}if(e instanceof Set){let r=new Set;return t.set(e,r),e.forEach(o=>{r.add(G(o,t));}),r}if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach((o,s)=>{r[s]=G(o,t);}),r}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)return e;let i=Object.create(n);t.set(e,i);for(let r of Reflect.ownKeys(e))i[r]=G(e[r],t);return i}function $t(e){let{state:t,getters:n,actions:i}=e,r=G(t),o=A(t),s=new Set,c=new Set,f=u=>{s.forEach(T=>T(u)),c.forEach(T=>T(u));},V=(u,T,C)=>(u.add(T),()=>u.delete(T)),B=u=>{_e(u),f(o);},ue={$patch(u){B(()=>Object.assign(o,u));},$subscribe(u){return V(s,u)},$unsubscribe(u){s.delete(u);},$onAction(u){return V(c,u)},$offAction(u){c.delete(u);},$reset(){B(()=>Object.assign(o,r));}},L={};for(let u of Object.keys(r))Object.defineProperty(L,u,{get:()=>o[u],set:T=>{o[u]=T;},enumerable:true,configurable:true});if(Object.defineProperty(L,"state",{value:o,enumerable:true,configurable:true,writable:true}),Object.assign(L,ue),n)for(let u in n){let T=n[u];if(!T)continue;let C=me(()=>T.call(L,o));Object.defineProperty(L,u,{get:()=>C.value,enumerable:true,configurable:true});}if(i)for(let u in i){let T=i[u];T&&(L[u]=(...C)=>{let $=T.apply(L,C);return c.forEach(Le=>Le(o)),$});}return L}function Jt(e){let t=new e,n=Object.create(null),i={},r={};return Object.getOwnPropertyNames(t).forEach(o=>{n[o]=t[o];}),Object.getOwnPropertyNames(e.prototype).forEach(o=>{let s=Object.getOwnPropertyDescriptor(e.prototype,o);s&&(isFunction(s.get)?i[o]=function(){return s.get.call(this)}:isFunction(s.value)&&o!=="constructor"&&(r[o]=function(...c){return s.value.apply(this,c)}));}),{state:n,getters:i,actions:r}}function zt(e){return ()=>{let t;return isFunction(e)?t=Jt(e):t=e,$t(t)}}var Ze,et,ce=class extends(et=O,Ze="_IS_REF",et){constructor(n){super(n,true);this[Ze]=true;}get value(){let n=m;return n&&I(this,n),this._value}set value(n){h(n)&&(n=n.peek()),ke(n)&&(n=n.value),hasChanged(this._value,n)&&(this._rawValue=n,this._value=n,this.flag|=16,this.subLink&&Y(this.subLink));}};function Xt(e=void 0){return ke(e)?e:h(e)?new ce(e.peek()):new ce(e)}function ke(e){return !!e&&!!e._IS_REF}var tt={},nt=new Set,we=false;function N(e,t){if(!isObject(e)||t.has(e))return e;if(t.add(e),h(e)||q(e))N(e.value,t);else if(Array.isArray(e))for(let n of e)N(n,t);else if(isMap(e))e.forEach(n=>{N(n,t);}),e.keys(),e.values();else if(isSet(e))e.forEach(n=>{N(n,t);}),e.values();else for(let n of Object.keys(e))N(e[n],t);return e}function ot(e){if(we)return N(e,new Set);we=true,nt.clear();try{return N(e,nt)}finally{we=false;}}function it(e){return isFunction(e)?e:h(e)||q(e)?()=>e.value:_(e)?()=>ot(e):()=>e}function rn(e){if(Array.isArray(e)){let t=e.map(n=>it(n));return ()=>t.map(n=>n())}return it(e)}function on(e,t,n={}){let{immediate:i=false,deep:r=false,flush:o="post",once:s=false}=n,c=tt,f,V=true,B=!Array.isArray(e)&&_(e),ue=r&&!B,L=rn(e),u,T=k=>{u=()=>{u=void 0;try{k();}catch(J){}};},C=()=>{u&&u();},$=k=>{C(),t(k,c===tt?void 0:c,T),c=k,s&&De();},Re=se(()=>{let k=L();return ue&&ot(k),f=k,k},{scheduler:ne(()=>{if(!V)return;let k=Re.effect;if(!k.active)return;let J=k.run();(r||isObject(J)||hasChanged(J,c))&&$(J);},o)});function De(){V&&(V=false,C(),Re.stop());}return i?$(f):c=f,De}export{ie as EffectScope,S as TriggerOpTypes,_e as batch,me as computed,zt as createStore,se as effect,Kt as effectScope,Be as endBatch,jt as getBatchDepth,Mt as getCurrentScope,be as isBatching,q as isComputed,Ht as isEffect,_ as isReactive,ke as isRef,w as isShallow,h as isSignal,Ft as memoEffect,We as nextTick,Ut as onScopeDispose,H as queueJob,Fe as queuePreFlushCb,A as reactive,Xt as ref,Yt as setCurrentScope,te as shallowReactive,Pt as shallowSignal,Vt as signal,qe as startBatch,Wt as stop,a as toRaw,Lt as toReactive,E as trigger,at as untrack,on as watch};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@estjs/signals",
|
|
3
|
-
"version": "0.0.17-beta.
|
|
3
|
+
"version": "0.0.17-beta.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"unpkg": "dist/signals.js",
|
|
53
53
|
"jsdelivr": "dist/signals.js",
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@estjs/shared": "0.0.17-beta.
|
|
55
|
+
"@estjs/shared": "0.0.17-beta.6"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"build": "tsup && cross-env NODE_ENV=production tsup --clean=false",
|