@estjs/signals 0.0.16-beta.3 → 0.0.16-beta.5
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.js +3 -4
- package/dist/signals.dev.cjs.js +40 -18
- package/dist/signals.dev.esm.js +41 -19
- package/dist/signals.esm.js +3 -4
- package/package.json +4 -4
- package/dist/signals.cjs.js.map +0 -1
- package/dist/signals.esm.js.map +0 -1
package/dist/signals.cjs.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
'use strict';var shared=require('@estjs/shared');var ze=Object.defineProperty;var Se=Object.getOwnPropertySymbols;var Qe=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;var Ee=(e,t,n)=>t in e?ze(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,ge=(e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Ee(e,n,t[n]);if(Se)for(var n of Se(t))Xe.call(t,n)&&Ee(e,n,t[n]);return e};var T={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var P=Symbol(""),g=Symbol(""),N=Symbol(""),ve=Symbol("");var L=Symbol("");var K=0,_,G=false,re=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 oe(e){var t;(t=e==null?void 0:e.notify)==null||t.call(e);}function D(e,t){if(G)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=K,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===K&&r.subNode===t)return t.depLinkTail=r,r;let o={version:K,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 U(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 u=s.subLink;u&&u.nextSubLink&&O(u),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 O(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&oe(t)),e=e.nextSubLink;}}function j(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)&&tt(e,i)?(i.flag=o|40,r&&oe(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&oe(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 se(e){let t=_;return _=e,t}function W(e){return K++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,se(e)}function F(e,t){_=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=x(i,e);e.flag&=-5;}function et(e){let t=se(void 0),n=G;G=true;try{return e()}finally{G=n,se(t);}}function tt(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var ae=new WeakMap,nt=0;function ie(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(!_||G)return;let n=ae.get(e);n||(n=new Map,ae.set(e,n));let i=n.get(t);i||(i=new re(n,t),n.set(t,i)),D(i,_);}function S(e,t,n,i){var c;let r=ae.get(e);if(!r)return;let o=[],s=++nt;if(n!==void 0)if(Array.isArray(n))for(let u of n)ie(r.get(u),o,s);else ie(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let u=Array.isArray(e)?L:ve;ie(r.get(u),o,s);}for(let u of o)u.flag&2?(c=u.notify)==null||c.call(u):u.flag&1&&(u.flag|=16,u.subLink&&j(u.subLink));}var be=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 me=ct();function ct(){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=y(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 S(i,T.SET,[P,L]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=y(this);if(l(i,L),t==="toSpliced")for(let s=0,c=i.length;s<c;s++)l(i,`${s}`);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=y(this);l(n,P);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}var Le=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(me,n))return me[n];let r=Reflect.get(t,n,i);return shared.isStringNumber(n)&&l(t,n),l(t,P),shared.isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=Reflect.set(t,n,i,r);return shared.hasChanged(i,o)&&(shared.isStringNumber(n)?S(t,T.SET,[n,L,P]):S(t,T.SET,n)),s}}),ut=Le(true),ft=Le(false),lt={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(shared.hasOwn(ye,t)?ye:e,t,e)}},pt={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(shared.hasOwn(ke,t)&&t in e?ke:e,t,e)}},ye={get(e){let t=a(this);l(t,g);let n=t.get(e);return shared.isObject(n)&&!y(this)?d(n):n},set(e,t){let n=a(this),i=n.has(e),r=n.get(e),o=a(t);return n.set(e,o),(!i||shared.hasChanged(r,o))&&S(n,T.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.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)&&S(t,T.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&S(e,T.CLEAR,g),n},forEach(e,t){let n=a(this),i=y(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=y(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=y(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=y(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=y(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}}}},ke={get(e){let t=a(this);l(t,N);let n=t.get(e);return n===void 0&&k(e)&&(n=t.get(a(e))),shared.isObject(n)&&!y(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))&&S(n,T.SET,N),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.ADD,N),this},has(e){let t=a(this);l(t,N);let n=t.has(e);return !n&&k(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)&&S(t,T.DELETE,N),r}},we=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=Reflect.set(t,n,a(i),r);return shared.hasChanged(i,o)&&S(t,T.SET,n),s},deleteProperty:(t,n)=>{let i=shared.hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&S(t,T.DELETE,n),r}}),dt=we(true),ht=we(false);function d(e,t=false){if(!shared.isObject(e)||k(e))return e;let n=be.get(e);if(n)return n;let i;shared.isArray(e)?i=t?ut:ft:shared.isSet(e)||shared.isMap(e)?i=lt:shared.isWeakMap(e)||shared.isWeakSet(e)?i=pt:i=t?dt:ht;let r=new Proxy(e,i);return be.set(e,r),r}function k(e){return !!(e&&e._IS_REACTIVE)}function I(e){return k(e)||h(e)?e:d(e)}function B(e){return k(e)||h(e)?e:d(e,true)}function y(e){return !!(e&&e._IS_SHALLOW)}var Tt=e=>shared.isObject(e)?I(e):e;var De;De="_IS_SIGNAL";var V=class{constructor(t,n=false){this.flag=1;this[De]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Re(i)?k(t)?this._value=t:this._value=n?B(i):I(i):this._value=i;}get dep(){return this}get value(){let t=_;if(t&&D(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&O(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,!Re(i))this._value=i;else if(k(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?B(i):I(i);}let r=this.subLink;r&&j(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 Re(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 yt(e){return h(e)?e:new V(e)}function kt(e){return h(e)&&(e=e.peek()),new V(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var $=new Set,ce=new Set,Ie=Promise.resolve(),ue=false;function Ce(e){return e?Ie.then(e):Ie}function C(e){$.add(e),Ae();}function Ae(){ue||(ue=true,Ce(fe));}function Ne(e){ce.add(e),Ae();}function fe(){for(ue=false,Lt();$.size>0;){for(let e of $)try{e();}catch(t){}$.clear();}}function Lt(){let e=Array.from(ce);ce.clear();for(let t of e)try{t();}catch(n){}}function Ve(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Ne(e);case "post":return ()=>C(e);default:return ()=>C(e)}}var Y=0;function J(e){Pe();try{return e()}finally{Ge();}}function Pe(){Y++;}function Ge(){Y--,Y===0&&fe();}function le(){return Y>0}function wt(){return Y}var b,z=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=[];this.scopes=[];this.cleanups=[];!t&&b&&(this.parent=b,b.scopes.push(this));}get active(){return this._active}pause(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].pause();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).pause)==null||n.call(t);}}resume(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].resume();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).resume)==null||n.call(t);}}run(t){if(!this._active)return;let n=b;b=this;try{return t()}finally{b=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i=0;i<this.scopes.length;i++)this.scopes[i].stop(true);this.scopes.length=0;let n=this.effects.slice();this.effects.length=0;for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();if(this.cleanups.length=0,!t&&this.parent){let i=this.parent.scopes.indexOf(this);i>=0&&this.parent.scopes.splice(i,1);}this.parent=void 0;}_record(t){this.effects.push(t),t.scope=this;}_remove(t){let n=this.effects.indexOf(t);n>=0&&this.effects.splice(n,1);}_pushCleanup(t){this.cleanups.push(t);}};function xt(e=false){return new z(e)}function Rt(){return b}function Dt(e){let t=b;return b=e,t}function It(e,t=false){b&&b._pushCleanup(e);}function Q(e,t=b){t&&t.active&&t._record(e);}function X(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var je;je="_IS_EFFECT";var pe=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&&!shared.isFunction(i)&&(this._flushScheduler=Ve(()=>this.run(),i));}Q(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&U(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=W(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,F(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):le()?C(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,X(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 Z(e,t){let n=new pe(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 Ct(e){e.effect.stop();}function At(e){return !!(e&&e._IS_EFFECT)}function Nt(e,t,n){let i=t;return Z(()=>{i=e(i);},n)}var w=Symbol("computed-no-value"),Ke;Ke="_IS_COMPUTED";var ee=class{constructor(t,n,i,r){this.flag=17;this[Ke]=true;this._value=w;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,Q(this);}get value(){if(!this.active)return this._value===w?this.getter():this._value;_&&D(this,_);let t=this.flag,n=this._value!==w;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&U(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===w&&this.recompute(),this._value):this._value===w?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===w&&(this._value=this.getter());return}let t=this._value,n=t!==w,i=W(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&&O(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=w,r}finally{F(this,i);}}shouldUpdate(){let t=this._value!==w,n=this._value;return this.recompute(),t?shared.hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,X(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 de(e){if(M(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 ee(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 Ze=Object.defineProperty;var Se=Object.getOwnPropertySymbols;var et=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable;var Ee=(e,t,n)=>t in e?Ze(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,ge=(e,t)=>{for(var n in t||(t={}))et.call(t,n)&&Ee(e,n,t[n]);if(Se)for(var n of Se(t))tt.call(t,n)&&Ee(e,n,t[n]);return e};var T={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var P=Symbol(""),g=Symbol(""),N=Symbol(""),ve=Symbol("");var L=Symbol("");var K=0,_,G=false,ie=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 re(e){var t;(t=e==null?void 0:e.notify)==null||t.call(e);}function D(e,t){if(G)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=K,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===K&&r.subNode===t)return t.depLinkTail=r,r;let o={version:K,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 R(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=R(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function U(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 u=s.subLink;u&&u.nextSubLink&&O(u),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 O(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&re(t)),e=e.nextSubLink;}}function j(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)&&rt(e,i)?(i.flag=o|40,r&&re(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&re(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 oe(e){let t=_;return _=e,t}function W(e){return K++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,oe(e)}function H(e,t){_=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=R(i,e);e.flag&=-5;}function it(e){let t=oe(void 0),n=G;G=true;try{return e()}finally{G=n,oe(t);}}function rt(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var se=new WeakMap,ot=0;function ne(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(!_||G)return;let n=se.get(e);n||(n=new Map,se.set(e,n));let i=n.get(t);i||(i=new ie(n,t),n.set(t,i)),D(i,_);}function S(e,t,n,i){var c;let r=se.get(e);if(!r)return;let o=[],s=++ot;if(n!==void 0)if(Array.isArray(n))for(let u of n)ne(r.get(u),o,s);else ne(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let u=Array.isArray(e)?L:ve;ne(r.get(u),o,s);}for(let u of o)u.flag&2?(c=u.notify)==null||c.call(u):u.flag&1&&(u.flag|=16,u.subLink&&j(u.subLink));}var lt=new WeakMap,pt=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 be=dt();function dt(){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=y(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 S(i,T.SET,[P,L]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=y(this);if(l(i,L),t==="toSpliced")for(let s=0,c=i.length;s<c;s++)l(i,`${s}`);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=y(this);l(n,P);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 Le(e,t){let n=h(t)?t:a(t);return shared.hasChanged(e,n)}var we=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(be,n))return be[n];let r=Reflect.get(t,n,i);return shared.isStringNumber(n)&&l(t,n),l(t,P),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 Le(s,o)&&(shared.isStringNumber(n)?S(t,T.SET,[n,L,P]):S(t,T.SET,n)),c}}),ht=we(true),Tt=we(false),Re=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(me,n)?me:t,n,t)}}),xe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(shared.hasOwn(ke,n)&&n in t?ke:t,n,t)}}),St=Re(true),Et=Re(false),gt=xe(true),vt=xe(false),me={get(e){let t=a(this);l(t,g);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&b(e)&&(n=t.get(a(e))),shared.isObject(n)&&!y(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))&&S(n,T.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.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)&&S(t,T.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&S(e,T.CLEAR,g),n},forEach(e,t){let n=a(this),i=y(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=y(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=y(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=y(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=y(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}}}},ke={get(e){let t=a(this);l(t,N);let n=t.get(e);return shared.isUndefined(n)&&!t.has(e)&&b(e)&&(n=t.get(a(e))),shared.isObject(n)&&!y(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))&&S(n,T.SET,N),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.ADD,N),this},has(e){let t=a(this);l(t,N);let n=t.has(e);return !n&&b(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)&&S(t,T.DELETE,N),r}},De=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 Le(s,o)&&S(t,T.SET,n),c},deleteProperty:(t,n)=>{let i=shared.hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&S(t,T.DELETE,n),r}}),_t=De(true),bt=De(false);function d(e,t=false){if(!shared.isObject(e)||b(e))return e;let n=t?pt:lt,i=n.get(e);if(i)return i;let r;shared.isArray(e)?r=t?ht:Tt:shared.isSet(e)||shared.isMap(e)?r=t?St:Et:shared.isWeakMap(e)||shared.isWeakSet(e)?r=t?gt:vt:r=t?_t:bt;let o=new Proxy(e,r);return n.set(e,o),o}function b(e){return !!(e&&e._IS_REACTIVE)}function I(e){return b(e)||h(e)?e:d(e)}function q(e){return b(e)||h(e)?e:d(e,true)}function y(e){return !!(e&&e._IS_SHALLOW)}var mt=e=>shared.isObject(e)?I(e):e;var Ae;Ae="_IS_SIGNAL";var V=class{constructor(t,n=false){this.flag=1;this[Ae]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Ce(i)?b(t)?this._value=t:this._value=n?q(i):I(i):this._value=i;}get dep(){return this}get value(){let t=_;if(t&&D(this,t),this.flag&16&&this.shouldUpdate()){let i=this.subLink;i&&O(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,!Ce(i))this._value=i;else if(b(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?q(i):I(i);}let r=this.subLink;r&&j(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 Ce(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 It(e){return h(e)?e:new V(e)}function Ct(e){return h(e)&&(e=e.peek()),new V(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var B=new Set,ce=new Set,Ne=Promise.resolve(),ue=false;function Ve(e){return e?Ne.then(e):Ne}function C(e){B.add(e),Pe();}function Pe(){ue||(ue=true,Ve(fe));}function Ge(e){ce.add(e),Pe();}function fe(){for(ue=false,At();B.size>0;){for(let e of B)try{e();}catch(t){}B.clear();}}function At(){let e=Array.from(ce);ce.clear();for(let t of e)try{t();}catch(n){}}function Oe(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Ge(e);case "post":return ()=>C(e);default:return ()=>C(e)}}var Y=0;function $(e){je();try{return e()}finally{Ye();}}function je(){Y++;}function Ye(){Y--,Y===0&&fe();}function le(){return Y>0}function Nt(){return Y}var m,J=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=[];this.scopes=[];this.cleanups=[];!t&&m&&(this.parent=m,m.scopes.push(this));}get active(){return this._active}pause(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].pause();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).pause)==null||n.call(t);}}resume(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].resume();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).resume)==null||n.call(t);}}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=0;i<this.scopes.length;i++)this.scopes[i].stop(true);this.scopes.length=0;let n=this.effects.slice();this.effects.length=0;for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();if(this.cleanups.length=0,!t&&this.parent){let i=this.parent.scopes.indexOf(this);i>=0&&this.parent.scopes.splice(i,1);}this.parent=void 0;}_record(t){this.effects.push(t),t.scope=this;}_remove(t){let n=this.effects.indexOf(t);n>=0&&this.effects.splice(n,1);}_pushCleanup(t){this.cleanups.push(t);}};function Vt(e=false){return new J(e)}function Pt(){return m}function Gt(e){let t=m;return m=e,t}function Ot(e,t=false){m&&m._pushCleanup(e);}function z(e,t=m){t&&t.active&&t._record(e);}function Q(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var Ke;Ke="_IS_EFFECT";var pe=class{constructor(t,n){this.flag=18;this[Ke]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!shared.isFunction(i)&&(this._flushScheduler=Oe(()=>this.run(),i));}z(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&U(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=W(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,H(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):le()?C(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,Q(this);let t=this.depLink;for(;t;)t=R(t,this);let n=this.subLink;for(;n;)n=R(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 X(e,t){let n=new pe(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 jt(e){e.effect.stop();}function Yt(e){return !!(e&&e._IS_EFFECT)}function Mt(e,t,n){let i=t;return X(()=>{i=e(i);},n)}var w=Symbol("computed-no-value"),He;He="_IS_COMPUTED";var Z=class{constructor(t,n,i,r){this.flag=17;this[He]=true;this._value=w;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,z(this);}get value(){if(!this.active)return this._value===w?this.getter():this._value;_&&D(this,_);let t=this.flag,n=this._value!==w;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&U(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===w&&this.recompute(),this._value):this._value===w?this.getter():this._value}get active(){return this._active}recompute(){if(!this._active){this._value===w&&(this._value=this.getter());return}let t=this._value,n=t!==w,i=W(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&&O(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=w,r}finally{H(this,i);}}shouldUpdate(){let t=this._value!==w,n=this._value;return this.recompute(),t?shared.hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,Q(this);let t=this.depLink;for(;t;)t=R(t,this);let n=this.subLink;for(;n;)n=R(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function de(e){if(M(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 Z(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 M(e){return !!e&&!!e._IS_COMPUTED}function
|
|
5
|
-
//# sourceMappingURL=signals.cjs.js.map
|
|
3
|
+
Received: ${typeof t}`);return new Z(t,n,i,r)}throw new Error(`[Computed] Invalid argument: expected a function or options object.
|
|
4
|
+
Received: ${typeof e}`)}function M(e){return !!e&&!!e._IS_COMPUTED}function Ut(e){let{state:t,getters:n,actions:i}=e,r=ge({},t),o=I(t),s=new Set,c=new Set,u=f=>{s.forEach(k=>k(f)),c.forEach(k=>k(f));},x={patch$(f){$(()=>{Object.assign(o,f);}),u(o);},subscribe$(f){s.add(f);},unsubscribe$(f){s.delete(f);},onAction$(f){c.add(f);},offAction$(f){c.delete(f);},reset$(){$(()=>{Object.assign(o,r);}),u(o);}},E={};for(let f of Object.keys(r))Object.defineProperty(E,f,{get:()=>o[f],set:k=>{o[f]=k;},enumerable:true,configurable:true});if(Object.defineProperty(E,"state",{value:o,enumerable:true,configurable:true,writable:true}),Object.assign(E,x),n)for(let f in n){let k=n[f];if(!k)continue;let te=de(()=>k.call(E,o));Object.defineProperty(E,f,{get:()=>te.value,enumerable:true,configurable:true});}if(i)for(let f in i){let k=i[f];k&&(E[f]=(...te)=>{let Qe=k.apply(E,te);return c.forEach(Xe=>Xe(o)),Qe});}return E}function Wt(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 Ht(e){return ()=>{let t;return shared.isFunction(e)?t=Wt(e):t=e,Ut(t)}}var Fe,qe,ee=class extends(qe=V,Fe="_IS_REF",qe){constructor(n){super(n,true);this[Fe]=true;}get value(){let n=_;return n&&D(this,n),this._value}set value(n){h(n)&&(n=n.peek()),Te(n)&&(n=n.value),shared.hasChanged(this._value,n)&&(this._rawValue=n,this._value=n,this.flag|=16,this.subLink&&j(this.subLink));}};function qt(e=void 0){return Te(e)?e:h(e)?new ee(e.peek()):new ee(e)}function Te(e){return !!e&&!!e._IS_REF}var Be={},$e=new Set;function A(e,t){if(t||($e.clear(),t=$e),!shared.isObject(e)||t.has(e))return e;if(t.add(e),h(e)||M(e))return A(e.value,t);if(Array.isArray(e))for(let n of e)A(n,t);else shared.isMap(e)?(e.forEach(n=>{A(n,t);}),e.keys(),e.values()):shared.isSet(e)?(e.forEach(n=>{A(n,t);}),e.values()):Object.keys(e).forEach(n=>{A(e[n],t);});return e}function Je(e){return shared.isFunction(e)?e:h(e)||M(e)?()=>e.value:b(e)?()=>A(e):()=>e}function Qt(e){if(Array.isArray(e)){let t=e.map(n=>Je(n));return ()=>t.map(n=>n())}return Je(e)}function Xt(e,t,n={}){let{immediate:i=false,deep:r=false}=n,o=Be,s=Qt(e),c=()=>{let x=u.effect;if(!x.run)return;let E=x.run();(r||shared.isObject(E)||shared.hasChanged(E,o))&&(t(E,o===Be?void 0:o),o=E);},u=X(()=>{let x=s();return r&&A(x),x},{scheduler:()=>C(c)});return i?c():o=u.effect.run(),()=>{u.stop();}}exports.EffectScope=J;exports.TriggerOpTypes=T;exports.batch=$;exports.computed=de;exports.createStore=Ht;exports.effect=X;exports.effectScope=Vt;exports.endBatch=Ye;exports.getBatchDepth=Nt;exports.getCurrentScope=Pt;exports.isBatching=le;exports.isComputed=M;exports.isEffect=Yt;exports.isReactive=b;exports.isRef=Te;exports.isShallow=y;exports.isSignal=h;exports.memoEffect=Mt;exports.nextTick=Ve;exports.onScopeDispose=Ot;exports.queueJob=C;exports.queuePreFlushCb=Ge;exports.reactive=I;exports.ref=qt;exports.setCurrentScope=Gt;exports.shallowReactive=q;exports.shallowSignal=Ct;exports.signal=It;exports.startBatch=je;exports.stop=jt;exports.toRaw=a;exports.toReactive=mt;exports.trigger=S;exports.untrack=it;exports.watch=Xt;
|
package/dist/signals.dev.cjs.js
CHANGED
|
@@ -394,6 +394,7 @@ function trigger(target, type, key, newValue) {
|
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
396
|
var reactiveCaches = /* @__PURE__ */ new WeakMap();
|
|
397
|
+
var shallowReactiveCaches = /* @__PURE__ */ new WeakMap();
|
|
397
398
|
function toRaw(value) {
|
|
398
399
|
if (!value || !shared.isObject(value)) {
|
|
399
400
|
return value;
|
|
@@ -512,6 +513,10 @@ function createArrayInstrumentations() {
|
|
|
512
513
|
});
|
|
513
514
|
return instrumentations;
|
|
514
515
|
}
|
|
516
|
+
function hasStoredValueChanged(rawValue, oldValue) {
|
|
517
|
+
const comparableOldValue = isSignal(oldValue) ? oldValue : toRaw(oldValue);
|
|
518
|
+
return shared.hasChanged(rawValue, comparableOldValue);
|
|
519
|
+
}
|
|
515
520
|
var arrayHandlers = (shallow) => ({
|
|
516
521
|
get: (target, key, receiver) => {
|
|
517
522
|
if (key === "_RAW" /* RAW */) {
|
|
@@ -538,8 +543,9 @@ var arrayHandlers = (shallow) => ({
|
|
|
538
543
|
},
|
|
539
544
|
set: (target, key, value, receiver) => {
|
|
540
545
|
const oldValue = Reflect.get(target, key, receiver);
|
|
541
|
-
const
|
|
542
|
-
|
|
546
|
+
const rawValue = toRaw(value);
|
|
547
|
+
const result = Reflect.set(target, key, rawValue, receiver);
|
|
548
|
+
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
543
549
|
if (shared.isStringNumber(key)) {
|
|
544
550
|
trigger(target, TriggerOpTypes.SET, [key, ARRAY_ITERATE_KEY, ARRAY_KEY]);
|
|
545
551
|
} else {
|
|
@@ -551,7 +557,7 @@ var arrayHandlers = (shallow) => ({
|
|
|
551
557
|
});
|
|
552
558
|
var shallowArrayHandlers = arrayHandlers(true);
|
|
553
559
|
var deepArrayHandlers = arrayHandlers(false);
|
|
554
|
-
var collectionHandlers = {
|
|
560
|
+
var collectionHandlers = (shallow) => ({
|
|
555
561
|
/**
|
|
556
562
|
* Exposes collection proxy flags and instrumented methods.
|
|
557
563
|
*/
|
|
@@ -562,14 +568,17 @@ var collectionHandlers = {
|
|
|
562
568
|
if (key === "_RAW" /* RAW */) {
|
|
563
569
|
return target;
|
|
564
570
|
}
|
|
571
|
+
if (key === "_IS_SHALLOW" /* IS_SHALLOW */) {
|
|
572
|
+
return shallow;
|
|
573
|
+
}
|
|
565
574
|
return Reflect.get(
|
|
566
575
|
shared.hasOwn(collectionInstrumentations, key) ? collectionInstrumentations : target,
|
|
567
576
|
key,
|
|
568
577
|
target
|
|
569
578
|
);
|
|
570
579
|
}
|
|
571
|
-
};
|
|
572
|
-
var weakCollectionHandlers = {
|
|
580
|
+
});
|
|
581
|
+
var weakCollectionHandlers = (shallow) => ({
|
|
573
582
|
/**
|
|
574
583
|
* Exposes weak-collection proxy flags and instrumented methods.
|
|
575
584
|
*/
|
|
@@ -580,13 +589,20 @@ var weakCollectionHandlers = {
|
|
|
580
589
|
if (key === "_RAW" /* RAW */) {
|
|
581
590
|
return target;
|
|
582
591
|
}
|
|
592
|
+
if (key === "_IS_SHALLOW" /* IS_SHALLOW */) {
|
|
593
|
+
return shallow;
|
|
594
|
+
}
|
|
583
595
|
return Reflect.get(
|
|
584
596
|
shared.hasOwn(weakInstrumentations, key) && key in target ? weakInstrumentations : target,
|
|
585
597
|
key,
|
|
586
598
|
target
|
|
587
599
|
);
|
|
588
600
|
}
|
|
589
|
-
};
|
|
601
|
+
});
|
|
602
|
+
var shallowCollectionHandlers = collectionHandlers(true);
|
|
603
|
+
var deepCollectionHandlers = collectionHandlers(false);
|
|
604
|
+
var shallowWeakCollectionHandlers = weakCollectionHandlers(true);
|
|
605
|
+
var deepWeakCollectionHandlers = weakCollectionHandlers(false);
|
|
590
606
|
var collectionInstrumentations = {
|
|
591
607
|
/**
|
|
592
608
|
* Reads a Map entry with dependency tracking.
|
|
@@ -594,7 +610,10 @@ var collectionInstrumentations = {
|
|
|
594
610
|
get(key) {
|
|
595
611
|
const target = toRaw(this);
|
|
596
612
|
track(target, COLLECTION_KEY);
|
|
597
|
-
|
|
613
|
+
let value = target.get(key);
|
|
614
|
+
if (shared.isUndefined(value) && !target.has(key) && isReactive(key)) {
|
|
615
|
+
value = target.get(toRaw(key));
|
|
616
|
+
}
|
|
598
617
|
if (shared.isObject(value) && !isShallow(this)) {
|
|
599
618
|
return reactiveImpl(value);
|
|
600
619
|
}
|
|
@@ -605,10 +624,11 @@ var collectionInstrumentations = {
|
|
|
605
624
|
*/
|
|
606
625
|
set(key, value) {
|
|
607
626
|
const target = toRaw(this);
|
|
608
|
-
const
|
|
609
|
-
const
|
|
627
|
+
const rawKey = toRaw(key);
|
|
628
|
+
const hadKey = target.has(rawKey);
|
|
629
|
+
const oldValue = target.get(rawKey);
|
|
610
630
|
const rawValue = toRaw(value);
|
|
611
|
-
target.set(
|
|
631
|
+
target.set(rawKey, rawValue);
|
|
612
632
|
if (!hadKey || shared.hasChanged(oldValue, rawValue)) {
|
|
613
633
|
trigger(target, TriggerOpTypes.SET, COLLECTION_KEY);
|
|
614
634
|
}
|
|
@@ -828,7 +848,7 @@ var weakInstrumentations = {
|
|
|
828
848
|
const target = toRaw(this);
|
|
829
849
|
track(target, WEAK_COLLECTION_KEY);
|
|
830
850
|
let value = target.get(key);
|
|
831
|
-
if (value
|
|
851
|
+
if (shared.isUndefined(value) && !target.has(key) && isReactive(key)) {
|
|
832
852
|
value = target.get(toRaw(key));
|
|
833
853
|
}
|
|
834
854
|
if (shared.isObject(value) && !isShallow(this)) {
|
|
@@ -914,9 +934,10 @@ var objectHandlers = (shallow) => ({
|
|
|
914
934
|
},
|
|
915
935
|
set: (target, key, value, receiver) => {
|
|
916
936
|
const oldValue = Reflect.get(target, key, receiver);
|
|
917
|
-
const
|
|
918
|
-
|
|
919
|
-
|
|
937
|
+
const rawValue = toRaw(value);
|
|
938
|
+
const result = Reflect.set(target, key, rawValue, receiver);
|
|
939
|
+
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
940
|
+
trigger(target, TriggerOpTypes.SET, key, rawValue);
|
|
920
941
|
}
|
|
921
942
|
return result;
|
|
922
943
|
},
|
|
@@ -938,7 +959,8 @@ function reactiveImpl(target, shallow = false) {
|
|
|
938
959
|
if (isReactive(target)) {
|
|
939
960
|
return target;
|
|
940
961
|
}
|
|
941
|
-
const
|
|
962
|
+
const cache = shallow ? shallowReactiveCaches : reactiveCaches;
|
|
963
|
+
const existingProxy = cache.get(target);
|
|
942
964
|
if (existingProxy) {
|
|
943
965
|
return existingProxy;
|
|
944
966
|
}
|
|
@@ -946,14 +968,14 @@ function reactiveImpl(target, shallow = false) {
|
|
|
946
968
|
if (shared.isArray(target)) {
|
|
947
969
|
handler = shallow ? shallowArrayHandlers : deepArrayHandlers;
|
|
948
970
|
} else if (shared.isSet(target) || shared.isMap(target)) {
|
|
949
|
-
handler =
|
|
971
|
+
handler = shallow ? shallowCollectionHandlers : deepCollectionHandlers;
|
|
950
972
|
} else if (shared.isWeakMap(target) || shared.isWeakSet(target)) {
|
|
951
|
-
handler =
|
|
973
|
+
handler = shallow ? shallowWeakCollectionHandlers : deepWeakCollectionHandlers;
|
|
952
974
|
} else {
|
|
953
975
|
handler = shallow ? shallowObjectHandlers : deepObjectHandlers;
|
|
954
976
|
}
|
|
955
977
|
const proxy = new Proxy(target, handler);
|
|
956
|
-
|
|
978
|
+
cache.set(target, proxy);
|
|
957
979
|
return proxy;
|
|
958
980
|
}
|
|
959
981
|
function isReactive(target) {
|
package/dist/signals.dev.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFunction, isObject, warn, error, isPlainObject, hasChanged, isArray, isSet, isMap, isWeakMap, isWeakSet, hasOwn,
|
|
1
|
+
import { isFunction, isObject, warn, error, isPlainObject, hasChanged, isArray, isSet, isMap, isWeakMap, isWeakSet, isStringNumber, hasOwn, isUndefined } from '@estjs/shared';
|
|
2
2
|
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -392,6 +392,7 @@ function trigger(target, type, key, newValue) {
|
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
394
|
var reactiveCaches = /* @__PURE__ */ new WeakMap();
|
|
395
|
+
var shallowReactiveCaches = /* @__PURE__ */ new WeakMap();
|
|
395
396
|
function toRaw(value) {
|
|
396
397
|
if (!value || !isObject(value)) {
|
|
397
398
|
return value;
|
|
@@ -510,6 +511,10 @@ function createArrayInstrumentations() {
|
|
|
510
511
|
});
|
|
511
512
|
return instrumentations;
|
|
512
513
|
}
|
|
514
|
+
function hasStoredValueChanged(rawValue, oldValue) {
|
|
515
|
+
const comparableOldValue = isSignal(oldValue) ? oldValue : toRaw(oldValue);
|
|
516
|
+
return hasChanged(rawValue, comparableOldValue);
|
|
517
|
+
}
|
|
513
518
|
var arrayHandlers = (shallow) => ({
|
|
514
519
|
get: (target, key, receiver) => {
|
|
515
520
|
if (key === "_RAW" /* RAW */) {
|
|
@@ -536,8 +541,9 @@ var arrayHandlers = (shallow) => ({
|
|
|
536
541
|
},
|
|
537
542
|
set: (target, key, value, receiver) => {
|
|
538
543
|
const oldValue = Reflect.get(target, key, receiver);
|
|
539
|
-
const
|
|
540
|
-
|
|
544
|
+
const rawValue = toRaw(value);
|
|
545
|
+
const result = Reflect.set(target, key, rawValue, receiver);
|
|
546
|
+
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
541
547
|
if (isStringNumber(key)) {
|
|
542
548
|
trigger(target, TriggerOpTypes.SET, [key, ARRAY_ITERATE_KEY, ARRAY_KEY]);
|
|
543
549
|
} else {
|
|
@@ -549,7 +555,7 @@ var arrayHandlers = (shallow) => ({
|
|
|
549
555
|
});
|
|
550
556
|
var shallowArrayHandlers = arrayHandlers(true);
|
|
551
557
|
var deepArrayHandlers = arrayHandlers(false);
|
|
552
|
-
var collectionHandlers = {
|
|
558
|
+
var collectionHandlers = (shallow) => ({
|
|
553
559
|
/**
|
|
554
560
|
* Exposes collection proxy flags and instrumented methods.
|
|
555
561
|
*/
|
|
@@ -560,14 +566,17 @@ var collectionHandlers = {
|
|
|
560
566
|
if (key === "_RAW" /* RAW */) {
|
|
561
567
|
return target;
|
|
562
568
|
}
|
|
569
|
+
if (key === "_IS_SHALLOW" /* IS_SHALLOW */) {
|
|
570
|
+
return shallow;
|
|
571
|
+
}
|
|
563
572
|
return Reflect.get(
|
|
564
573
|
hasOwn(collectionInstrumentations, key) ? collectionInstrumentations : target,
|
|
565
574
|
key,
|
|
566
575
|
target
|
|
567
576
|
);
|
|
568
577
|
}
|
|
569
|
-
};
|
|
570
|
-
var weakCollectionHandlers = {
|
|
578
|
+
});
|
|
579
|
+
var weakCollectionHandlers = (shallow) => ({
|
|
571
580
|
/**
|
|
572
581
|
* Exposes weak-collection proxy flags and instrumented methods.
|
|
573
582
|
*/
|
|
@@ -578,13 +587,20 @@ var weakCollectionHandlers = {
|
|
|
578
587
|
if (key === "_RAW" /* RAW */) {
|
|
579
588
|
return target;
|
|
580
589
|
}
|
|
590
|
+
if (key === "_IS_SHALLOW" /* IS_SHALLOW */) {
|
|
591
|
+
return shallow;
|
|
592
|
+
}
|
|
581
593
|
return Reflect.get(
|
|
582
594
|
hasOwn(weakInstrumentations, key) && key in target ? weakInstrumentations : target,
|
|
583
595
|
key,
|
|
584
596
|
target
|
|
585
597
|
);
|
|
586
598
|
}
|
|
587
|
-
};
|
|
599
|
+
});
|
|
600
|
+
var shallowCollectionHandlers = collectionHandlers(true);
|
|
601
|
+
var deepCollectionHandlers = collectionHandlers(false);
|
|
602
|
+
var shallowWeakCollectionHandlers = weakCollectionHandlers(true);
|
|
603
|
+
var deepWeakCollectionHandlers = weakCollectionHandlers(false);
|
|
588
604
|
var collectionInstrumentations = {
|
|
589
605
|
/**
|
|
590
606
|
* Reads a Map entry with dependency tracking.
|
|
@@ -592,7 +608,10 @@ var collectionInstrumentations = {
|
|
|
592
608
|
get(key) {
|
|
593
609
|
const target = toRaw(this);
|
|
594
610
|
track(target, COLLECTION_KEY);
|
|
595
|
-
|
|
611
|
+
let value = target.get(key);
|
|
612
|
+
if (isUndefined(value) && !target.has(key) && isReactive(key)) {
|
|
613
|
+
value = target.get(toRaw(key));
|
|
614
|
+
}
|
|
596
615
|
if (isObject(value) && !isShallow(this)) {
|
|
597
616
|
return reactiveImpl(value);
|
|
598
617
|
}
|
|
@@ -603,10 +622,11 @@ var collectionInstrumentations = {
|
|
|
603
622
|
*/
|
|
604
623
|
set(key, value) {
|
|
605
624
|
const target = toRaw(this);
|
|
606
|
-
const
|
|
607
|
-
const
|
|
625
|
+
const rawKey = toRaw(key);
|
|
626
|
+
const hadKey = target.has(rawKey);
|
|
627
|
+
const oldValue = target.get(rawKey);
|
|
608
628
|
const rawValue = toRaw(value);
|
|
609
|
-
target.set(
|
|
629
|
+
target.set(rawKey, rawValue);
|
|
610
630
|
if (!hadKey || hasChanged(oldValue, rawValue)) {
|
|
611
631
|
trigger(target, TriggerOpTypes.SET, COLLECTION_KEY);
|
|
612
632
|
}
|
|
@@ -826,7 +846,7 @@ var weakInstrumentations = {
|
|
|
826
846
|
const target = toRaw(this);
|
|
827
847
|
track(target, WEAK_COLLECTION_KEY);
|
|
828
848
|
let value = target.get(key);
|
|
829
|
-
if (value
|
|
849
|
+
if (isUndefined(value) && !target.has(key) && isReactive(key)) {
|
|
830
850
|
value = target.get(toRaw(key));
|
|
831
851
|
}
|
|
832
852
|
if (isObject(value) && !isShallow(this)) {
|
|
@@ -912,9 +932,10 @@ var objectHandlers = (shallow) => ({
|
|
|
912
932
|
},
|
|
913
933
|
set: (target, key, value, receiver) => {
|
|
914
934
|
const oldValue = Reflect.get(target, key, receiver);
|
|
915
|
-
const
|
|
916
|
-
|
|
917
|
-
|
|
935
|
+
const rawValue = toRaw(value);
|
|
936
|
+
const result = Reflect.set(target, key, rawValue, receiver);
|
|
937
|
+
if (hasStoredValueChanged(rawValue, oldValue)) {
|
|
938
|
+
trigger(target, TriggerOpTypes.SET, key, rawValue);
|
|
918
939
|
}
|
|
919
940
|
return result;
|
|
920
941
|
},
|
|
@@ -936,7 +957,8 @@ function reactiveImpl(target, shallow = false) {
|
|
|
936
957
|
if (isReactive(target)) {
|
|
937
958
|
return target;
|
|
938
959
|
}
|
|
939
|
-
const
|
|
960
|
+
const cache = shallow ? shallowReactiveCaches : reactiveCaches;
|
|
961
|
+
const existingProxy = cache.get(target);
|
|
940
962
|
if (existingProxy) {
|
|
941
963
|
return existingProxy;
|
|
942
964
|
}
|
|
@@ -944,14 +966,14 @@ function reactiveImpl(target, shallow = false) {
|
|
|
944
966
|
if (isArray(target)) {
|
|
945
967
|
handler = shallow ? shallowArrayHandlers : deepArrayHandlers;
|
|
946
968
|
} else if (isSet(target) || isMap(target)) {
|
|
947
|
-
handler =
|
|
969
|
+
handler = shallow ? shallowCollectionHandlers : deepCollectionHandlers;
|
|
948
970
|
} else if (isWeakMap(target) || isWeakSet(target)) {
|
|
949
|
-
handler =
|
|
971
|
+
handler = shallow ? shallowWeakCollectionHandlers : deepWeakCollectionHandlers;
|
|
950
972
|
} else {
|
|
951
973
|
handler = shallow ? shallowObjectHandlers : deepObjectHandlers;
|
|
952
974
|
}
|
|
953
975
|
const proxy = new Proxy(target, handler);
|
|
954
|
-
|
|
976
|
+
cache.set(target, proxy);
|
|
955
977
|
return proxy;
|
|
956
978
|
}
|
|
957
979
|
function isReactive(target) {
|
package/dist/signals.esm.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {isObject,isFunction,isPlainObject,hasChanged,isArray,isSet,isMap,isWeakMap,isWeakSet,hasOwn,isStringNumber}from'@estjs/shared';var Qe=Object.defineProperty;var Ee=Object.getOwnPropertySymbols;var Xe=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable;var ge=(e,t,n)=>t in e?Qe(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,ve=(e,t)=>{for(var n in t||(t={}))Xe.call(t,n)&&ge(e,n,t[n]);if(Ee)for(var n of Ee(t))Ze.call(t,n)&&ge(e,n,t[n]);return e};var T={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var G=Symbol(""),g=Symbol(""),V=Symbol(""),_e=Symbol("");var w=Symbol("");var U=0,b,O=false,oe=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 se(e){var t;(t=e==null?void 0:e.notify)==null||t.call(e);}function I(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=U,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===U&&r.subNode===t)return t.depLinkTail=r,r;let o={version:U,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 R(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=R(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function W(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 u=s.subLink;u&&u.nextSubLink&&j(u),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&&se(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)&&nt(e,i)?(i.flag=o|40,r&&se(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&se(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 ae(e){let t=b;return b=e,t}function F(e){return U++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,ae(e)}function H(e,t){b=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=R(i,e);e.flag&=-5;}function tt(e){let t=ae(void 0),n=O;O=true;try{return e()}finally{O=n,ae(t);}}function nt(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var ce=new WeakMap,it=0;function re(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=ce.get(e);n||(n=new Map,ce.set(e,n));let i=n.get(t);i||(i=new oe(n,t),n.set(t,i)),I(i,b);}function S(e,t,n,i){var c;let r=ce.get(e);if(!r)return;let o=[],s=++it;if(n!==void 0)if(Array.isArray(n))for(let u of n)re(r.get(u),o,s);else re(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let u=Array.isArray(e)?w:_e;re(r.get(u),o,s);}for(let u of o)u.flag&2?(c=u.notify)==null||c.call(u):u.flag&1&&(u.flag|=16,u.subLink&&Y(u.subLink));}var me=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 ye=ut();function ut(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,w);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,w);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 S(i,T.SET,[G,w]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=k(this);if(l(i,w),t==="toSpliced")for(let s=0,c=i.length;s<c;s++)l(i,`${s}`);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,w),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,w),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=>isObject(c)?d(c,i):c),done:s}:{value:isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}var we=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(ye,n))return ye[n];let r=Reflect.get(t,n,i);return isStringNumber(n)&&l(t,n),l(t,G),isObject(r)&&!e?d(r):r},set:(t,n,i,r)=>{let o=Reflect.get(t,n,r),s=Reflect.set(t,n,i,r);return hasChanged(i,o)&&(isStringNumber(n)?S(t,T.SET,[n,w,G]):S(t,T.SET,n)),s}}),ft=we(true),lt=we(false),pt={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(ke,t)?ke:e,t,e)}},dt={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(Le,t)&&t in e?Le:e,t,e)}},ke={get(e){let t=a(this);l(t,g);let n=t.get(e);return isObject(n)&&!k(this)?d(n):n},set(e,t){let n=a(this),i=n.has(e),r=n.get(e),o=a(t);return n.set(e,o),(!i||hasChanged(r,o))&&S(n,T.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.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)&&S(t,T.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&S(e,T.CLEAR,g),n},forEach(e,t){let n=a(this),i=k(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=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=>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=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||!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||!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=>isObject(o)?d(o):o),done:r}},[Symbol.iterator](){return this}}}},Le={get(e){let t=a(this);l(t,V);let n=t.get(e);return n===void 0&&L(e)&&(n=t.get(a(e))),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||hasChanged(o,s))&&S(n,T.SET,V),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.ADD,V),this},has(e){let t=a(this);l(t,V);let n=t.has(e);return !n&&L(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)&&S(t,T.DELETE,V),r}},xe=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=Reflect.set(t,n,a(i),r);return hasChanged(i,o)&&S(t,T.SET,n),s},deleteProperty:(t,n)=>{let i=hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&S(t,T.DELETE,n),r}}),ht=xe(true),Tt=xe(false);function d(e,t=false){if(!isObject(e)||L(e))return e;let n=me.get(e);if(n)return n;let i;isArray(e)?i=t?ft:lt:isSet(e)||isMap(e)?i=pt:isWeakMap(e)||isWeakSet(e)?i=dt:i=t?ht:Tt;let r=new Proxy(e,i);return me.set(e,r),r}function L(e){return !!(e&&e._IS_REACTIVE)}function C(e){return L(e)||h(e)?e:d(e)}function $(e){return L(e)||h(e)?e:d(e,true)}function k(e){return !!(e&&e._IS_SHALLOW)}var St=e=>isObject(e)?C(e):e;var Ie;Ie="_IS_SIGNAL";var P=class{constructor(t,n=false){this.flag=1;this[Ie]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,De(i)?L(t)?this._value=t:this._value=n?$(i):C(i):this._value=i;}get dep(){return this}get value(){let t=b;if(t&&I(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(!hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!De(i))this._value=i;else if(L(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?$(i):C(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 De(e){return isObject(e)?isArray(e)||isMap(e)||isSet(e)||isWeakMap(e)||isWeakSet(e)||isPlainObject(e):false}function kt(e){return h(e)?e:new P(e)}function Lt(e){return h(e)&&(e=e.peek()),new P(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var J=new Set,ue=new Set,Ce=Promise.resolve(),fe=false;function Ae(e){return e?Ce.then(e):Ce}function A(e){J.add(e),Ne();}function Ne(){fe||(fe=true,Ae(le));}function Ve(e){ue.add(e),Ne();}function le(){for(fe=false,wt();J.size>0;){for(let e of J)try{e();}catch(t){}J.clear();}}function wt(){let e=Array.from(ue);ue.clear();for(let t of e)try{t();}catch(n){}}function Pe(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Ve(e);case "post":return ()=>A(e);default:return ()=>A(e)}}var M=0;function z(e){Ge();try{return e()}finally{Oe();}}function Ge(){M++;}function Oe(){M--,M===0&&le();}function pe(){return M>0}function xt(){return M}var m,Q=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=[];this.scopes=[];this.cleanups=[];!t&&m&&(this.parent=m,m.scopes.push(this));}get active(){return this._active}pause(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].pause();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).pause)==null||n.call(t);}}resume(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].resume();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).resume)==null||n.call(t);}}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=0;i<this.scopes.length;i++)this.scopes[i].stop(true);this.scopes.length=0;let n=this.effects.slice();this.effects.length=0;for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();if(this.cleanups.length=0,!t&&this.parent){let i=this.parent.scopes.indexOf(this);i>=0&&this.parent.scopes.splice(i,1);}this.parent=void 0;}_record(t){this.effects.push(t),t.scope=this;}_remove(t){let n=this.effects.indexOf(t);n>=0&&this.effects.splice(n,1);}_pushCleanup(t){this.cleanups.push(t);}};function Rt(e=false){return new Q(e)}function Dt(){return m}function It(e){let t=m;return m=e,t}function Ct(e,t=false){m&&m._pushCleanup(e);}function X(e,t=m){t&&t.active&&t._record(e);}function Z(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var Ye;Ye="_IS_EFFECT";var de=class{constructor(t,n){this.flag=18;this[Ye]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!isFunction(i)&&(this._flushScheduler=Pe(()=>this.run(),i));}X(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&W(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=F(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,H(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):pe()?A(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,Z(this);let t=this.depLink;for(;t;)t=R(t,this);let n=this.subLink;for(;n;)n=R(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 ee(e,t){let n=new de(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 At(e){e.effect.stop();}function Nt(e){return !!(e&&e._IS_EFFECT)}function Vt(e,t,n){let i=t;return ee(()=>{i=e(i);},n)}var x=Symbol("computed-no-value"),Ue;Ue="_IS_COMPUTED";var te=class{constructor(t,n,i,r){this.flag=17;this[Ue]=true;this._value=x;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,X(this);}get value(){if(!this.active)return this._value===x?this.getter():this._value;b&&I(this,b);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&&W(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=F(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&&j(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=x,r}finally{H(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,Z(this);let t=this.depLink;for(;t;)t=R(t,this);let n=this.subLink;for(;n;)n=R(n);this.depLinkTail=void 0,this.subLinkTail=void 0,this.flag&=-49;}};function he(e){if(K(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(isFunction(e))return new te(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,hasChanged,isArray,isSet,isMap,isWeakMap,isWeakSet,isStringNumber,hasOwn,isUndefined}from'@estjs/shared';var et=Object.defineProperty;var Ee=Object.getOwnPropertySymbols;var tt=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable;var ge=(e,t,n)=>t in e?et(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,ve=(e,t)=>{for(var n in t||(t={}))tt.call(t,n)&&ge(e,n,t[n]);if(Ee)for(var n of Ee(t))nt.call(t,n)&&ge(e,n,t[n]);return e};var T={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var G=Symbol(""),g=Symbol(""),V=Symbol(""),_e=Symbol("");var w=Symbol("");var U=0,b,O=false,re=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 oe(e){var t;(t=e==null?void 0:e.notify)==null||t.call(e);}function I(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=U,t.depLinkTail=i,i;let r=e.subLinkTail;if(r&&r.version===U&&r.subNode===t)return t.depLinkTail=r,r;let o={version:U,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 W(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 u=s.subLink;u&&u.nextSubLink&&j(u),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&&oe(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)&&ot(e,i)?(i.flag=o|40,r&&oe(i),o&=1):o=0:i.flag=o&-9|32:o=0:(i.flag=o|32,r&&oe(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 se(e){let t=b;return b=e,t}function H(e){return U++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,se(e)}function F(e,t){b=t;let n=e.depLinkTail,i=n?n.nextDepLink:e.depLink;for(;i;)i=x(i,e);e.flag&=-5;}function rt(e){let t=se(void 0),n=O;O=true;try{return e()}finally{O=n,se(t);}}function ot(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var ae=new WeakMap,st=0;function ie(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=ae.get(e);n||(n=new Map,ae.set(e,n));let i=n.get(t);i||(i=new re(n,t),n.set(t,i)),I(i,b);}function S(e,t,n,i){var c;let r=ae.get(e);if(!r)return;let o=[],s=++st;if(n!==void 0)if(Array.isArray(n))for(let u of n)ie(r.get(u),o,s);else ie(r.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let u=Array.isArray(e)?w:_e;ie(r.get(u),o,s);}for(let u of o)u.flag&2?(c=u.notify)==null||c.call(u):u.flag&1&&(u.flag|=16,u.subLink&&Y(u.subLink));}var pt=new WeakMap,dt=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 me=ht();function ht(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let i=a(this);l(i,w);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=L(this);l(i,w);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 S(i,T.SET,[G,w]),r};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let i=a(this),r=L(this);if(l(i,w),t==="toSpliced")for(let s=0,c=i.length;s<c;s++)l(i,`${s}`);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,w),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let i=a(this);return l(i,w),Array.prototype[t].apply(i,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),i=L(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=>isObject(c)?d(c,i):c),done:s}:{value:isObject(o)?d(o,i):o,done:s}},[Symbol.iterator](){return this}}};}),e}function we(e,t){let n=h(t)?t:a(t);return hasChanged(e,n)}var Re=e=>({get:(t,n,i)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(me,n))return me[n];let r=Reflect.get(t,n,i);return isStringNumber(n)&&l(t,n),l(t,G),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 we(s,o)&&(isStringNumber(n)?S(t,T.SET,[n,w,G]):S(t,T.SET,n)),c}}),Tt=Re(true),St=Re(false),xe=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(ke,n)?ke:t,n,t)}}),De=e=>({get(t,n){return n==="_IS_REACTIVE"?true:n==="_RAW"?t:n==="_IS_SHALLOW"?e:Reflect.get(hasOwn(ye,n)&&n in t?ye:t,n,t)}}),Et=xe(true),gt=xe(false),vt=De(true),_t=De(false),ke={get(e){let t=a(this);l(t,g);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&m(e)&&(n=t.get(a(e))),isObject(n)&&!L(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))&&S(n,T.SET,g),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.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)&&S(t,T.DELETE,g),i},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&S(e,T.CLEAR,g),n},forEach(e,t){let n=a(this),i=L(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=L(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=L(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=L(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=L(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}}}},ye={get(e){let t=a(this);l(t,V);let n=t.get(e);return isUndefined(n)&&!t.has(e)&&m(e)&&(n=t.get(a(e))),isObject(n)&&!L(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))&&S(n,T.SET,V),this},add(e){let t=a(this),n=a(e),i=t.has(n);return t.add(n),i||S(t,T.ADD,V),this},has(e){let t=a(this);l(t,V);let n=t.has(e);return !n&&m(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)&&S(t,T.DELETE,V),r}},Ie=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 we(s,o)&&S(t,T.SET,n),c},deleteProperty:(t,n)=>{let i=hasOwn(t,n),r=Reflect.deleteProperty(t,n);return i&&r&&S(t,T.DELETE,n),r}}),bt=Ie(true),mt=Ie(false);function d(e,t=false){if(!isObject(e)||m(e))return e;let n=t?dt:pt,i=n.get(e);if(i)return i;let r;isArray(e)?r=t?Tt:St:isSet(e)||isMap(e)?r=t?Et:gt:isWeakMap(e)||isWeakSet(e)?r=t?vt:_t:r=t?bt:mt;let o=new Proxy(e,r);return n.set(e,o),o}function m(e){return !!(e&&e._IS_REACTIVE)}function C(e){return m(e)||h(e)?e:d(e)}function B(e){return m(e)||h(e)?e:d(e,true)}function L(e){return !!(e&&e._IS_SHALLOW)}var kt=e=>isObject(e)?C(e):e;var Ne;Ne="_IS_SIGNAL";var P=class{constructor(t,n=false){this.flag=1;this[Ne]=true;let i=a(t);this._rawValue=i,this._IS_SHALLOW=n,Ae(i)?m(t)?this._value=t:this._value=n?B(i):C(i):this._value=i;}get dep(){return this}get value(){let t=b;if(t&&I(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(!hasChanged(this._rawValue,i))return;if(this._oldValue=this._rawValue,this._rawValue=i,this.flag|=16,!Ae(i))this._value=i;else if(m(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?B(i):C(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 Ae(e){return isObject(e)?isArray(e)||isMap(e)||isSet(e)||isWeakMap(e)||isWeakSet(e)||isPlainObject(e):false}function Ct(e){return h(e)?e:new P(e)}function At(e){return h(e)&&(e=e.peek()),new P(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var $=new Set,ue=new Set,Ve=Promise.resolve(),fe=false;function Pe(e){return e?Ve.then(e):Ve}function A(e){$.add(e),Ge();}function Ge(){fe||(fe=true,Pe(le));}function Oe(e){ue.add(e),Ge();}function le(){for(fe=false,Nt();$.size>0;){for(let e of $)try{e();}catch(t){}$.clear();}}function Nt(){let e=Array.from(ue);ue.clear();for(let t of e)try{t();}catch(n){}}function je(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Oe(e);case "post":return ()=>A(e);default:return ()=>A(e)}}var M=0;function J(e){Ye();try{return e()}finally{Me();}}function Ye(){M++;}function Me(){M--,M===0&&le();}function pe(){return M>0}function Vt(){return M}var k,z=class{constructor(t=false,n=void 0){this.detached=t;this.parent=n;this._active=true;this.effects=[];this.scopes=[];this.cleanups=[];!t&&k&&(this.parent=k,k.scopes.push(this));}get active(){return this._active}pause(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].pause();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).pause)==null||n.call(t);}}resume(){var t,n;if(this._active){for(let i=0;i<this.scopes.length;i++)this.scopes[i].resume();for(let i=0;i<this.effects.length;i++)(n=(t=this.effects[i]).resume)==null||n.call(t);}}run(t){if(!this._active)return;let n=k;k=this;try{return t()}finally{k=n;}}stop(t=false){if(!this._active)return;this._active=false;for(let i=0;i<this.scopes.length;i++)this.scopes[i].stop(true);this.scopes.length=0;let n=this.effects.slice();this.effects.length=0;for(let i of n)i.stop();for(let i=0;i<this.cleanups.length;i++)this.cleanups[i]();if(this.cleanups.length=0,!t&&this.parent){let i=this.parent.scopes.indexOf(this);i>=0&&this.parent.scopes.splice(i,1);}this.parent=void 0;}_record(t){this.effects.push(t),t.scope=this;}_remove(t){let n=this.effects.indexOf(t);n>=0&&this.effects.splice(n,1);}_pushCleanup(t){this.cleanups.push(t);}};function Pt(e=false){return new z(e)}function Gt(){return k}function Ot(e){let t=k;return k=e,t}function jt(e,t=false){k&&k._pushCleanup(e);}function Q(e,t=k){t&&t.active&&t._record(e);}function X(e){let t=e.scope;t&&(e.scope=void 0,t._remove(e));}var Ue;Ue="_IS_EFFECT";var de=class{constructor(t,n){this.flag=18;this[Ue]=true;this._active=true;if(this.fn=t,n){this.options=n;let i=n.flush||n.scheduler;i&&!isFunction(i)&&(this._flushScheduler=je(()=>this.run(),i));}Q(this);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&W(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=H(this);try{return this.fn()}catch(i){throw this.flag|=16,i}finally{this.flag&=-513,F(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):pe()?A(this.getJob()):this.run();}stop(){var i;if(!this._active)return;this._active=false,X(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 Z(e,t){let n=new de(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 Yt(e){e.effect.stop();}function Mt(e){return !!(e&&e._IS_EFFECT)}function Kt(e,t,n){let i=t;return Z(()=>{i=e(i);},n)}var R=Symbol("computed-no-value"),Fe;Fe="_IS_COMPUTED";var ee=class{constructor(t,n,i,r){this.flag=17;this[Fe]=true;this._value=R;this._active=true;this.getter=t,this.setter=n,this.onTrack=i,this.onTrigger=r,this.flag|=16,Q(this);}get value(){if(!this.active)return this._value===R?this.getter():this._value;b&&I(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&&W(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=H(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&&j(s)):this.flag=o&c;}catch(r){let o=-49;throw this.flag&=o,this._value=R,r}finally{F(this,i);}}shouldUpdate(){let t=this._value!==R,n=this._value;return this.recompute(),t?hasChanged(this._value,n):true}stop(){if(!this._active)return;this._active=false,X(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 he(e){if(K(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(isFunction(e))return new ee(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 K(e){return !!e&&!!e._IS_COMPUTED}function
|
|
5
|
-
//# sourceMappingURL=signals.esm.js.map
|
|
3
|
+
Received: ${typeof t}`);return new ee(t,n,i,r)}throw new Error(`[Computed] Invalid argument: expected a function or options object.
|
|
4
|
+
Received: ${typeof e}`)}function K(e){return !!e&&!!e._IS_COMPUTED}function Wt(e){let{state:t,getters:n,actions:i}=e,r=ve({},t),o=C(t),s=new Set,c=new Set,u=f=>{s.forEach(y=>y(f)),c.forEach(y=>y(f));},D={patch$(f){J(()=>{Object.assign(o,f);}),u(o);},subscribe$(f){s.add(f);},unsubscribe$(f){s.delete(f);},onAction$(f){c.add(f);},offAction$(f){c.delete(f);},reset$(){J(()=>{Object.assign(o,r);}),u(o);}},E={};for(let f of Object.keys(r))Object.defineProperty(E,f,{get:()=>o[f],set:y=>{o[f]=y;},enumerable:true,configurable:true});if(Object.defineProperty(E,"state",{value:o,enumerable:true,configurable:true,writable:true}),Object.assign(E,D),n)for(let f in n){let y=n[f];if(!y)continue;let ne=he(()=>y.call(E,o));Object.defineProperty(E,f,{get:()=>ne.value,enumerable:true,configurable:true});}if(i)for(let f in i){let y=i[f];y&&(E[f]=(...ne)=>{let Xe=y.apply(E,ne);return c.forEach(Ze=>Ze(o)),Xe});}return E}function Ht(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 Ft(e){return ()=>{let t;return isFunction(e)?t=Ht(e):t=e,Wt(t)}}var qe,Be,te=class extends(Be=P,qe="_IS_REF",Be){constructor(n){super(n,true);this[qe]=true;}get value(){let n=b;return n&&I(this,n),this._value}set value(n){h(n)&&(n=n.peek()),Se(n)&&(n=n.value),hasChanged(this._value,n)&&(this._rawValue=n,this._value=n,this.flag|=16,this.subLink&&Y(this.subLink));}};function Bt(e=void 0){return Se(e)?e:h(e)?new te(e.peek()):new te(e)}function Se(e){return !!e&&!!e._IS_REF}var $e={},Je=new Set;function N(e,t){if(t||(Je.clear(),t=Je),!isObject(e)||t.has(e))return e;if(t.add(e),h(e)||K(e))return N(e.value,t);if(Array.isArray(e))for(let n of e)N(n,t);else isMap(e)?(e.forEach(n=>{N(n,t);}),e.keys(),e.values()):isSet(e)?(e.forEach(n=>{N(n,t);}),e.values()):Object.keys(e).forEach(n=>{N(e[n],t);});return e}function ze(e){return isFunction(e)?e:h(e)||K(e)?()=>e.value:m(e)?()=>N(e):()=>e}function Xt(e){if(Array.isArray(e)){let t=e.map(n=>ze(n));return ()=>t.map(n=>n())}return ze(e)}function Zt(e,t,n={}){let{immediate:i=false,deep:r=false}=n,o=$e,s=Xt(e),c=()=>{let D=u.effect;if(!D.run)return;let E=D.run();(r||isObject(E)||hasChanged(E,o))&&(t(E,o===$e?void 0:o),o=E);},u=Z(()=>{let D=s();return r&&N(D),D},{scheduler:()=>A(c)});return i?c():o=u.effect.run(),()=>{u.stop();}}export{z as EffectScope,T as TriggerOpTypes,J as batch,he as computed,Ft as createStore,Z as effect,Pt as effectScope,Me as endBatch,Vt as getBatchDepth,Gt as getCurrentScope,pe as isBatching,K as isComputed,Mt as isEffect,m as isReactive,Se as isRef,L as isShallow,h as isSignal,Kt as memoEffect,Pe as nextTick,jt as onScopeDispose,A as queueJob,Oe as queuePreFlushCb,C as reactive,Bt as ref,Ot as setCurrentScope,B as shallowReactive,At as shallowSignal,Ct as signal,Ye as startBatch,Yt as stop,a as toRaw,kt as toReactive,S as trigger,rt as untrack,Zt as watch};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@estjs/signals",
|
|
3
|
-
"version": "0.0.16-beta.
|
|
3
|
+
"version": "0.0.16-beta.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [],
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"types": "./dist/signals.d.ts",
|
|
40
40
|
"require": "./dist/signals.cjs.js",
|
|
41
|
-
"import": "./dist/signals.
|
|
41
|
+
"import": "./dist/signals.esm.js"
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"typesVersions": {
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"unpkg": "dist/signals.esm.js",
|
|
53
53
|
"jsdelivr": "dist/signals.esm.js",
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@estjs/shared": "0.0.16-beta.
|
|
55
|
+
"@estjs/shared": "0.0.16-beta.5"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
|
-
"build": "tsup && cross-env NODE_ENV=production tsup --clean=false
|
|
58
|
+
"build": "tsup && cross-env NODE_ENV=production tsup --clean=false",
|
|
59
59
|
"dev": "tsup --watch",
|
|
60
60
|
"bench": "node --expose-gc benchmark/benchmark.js && node benchmark/score.js"
|
|
61
61
|
}
|