@estjs/signals 0.0.15-beta.9 → 0.0.16-beta.1
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 -3
- package/dist/signals.cjs.js.map +1 -1
- package/dist/signals.d.cts +170 -182
- package/dist/signals.d.ts +170 -182
- package/dist/signals.dev.cjs.js +465 -340
- package/dist/signals.dev.esm.js +466 -341
- package/dist/signals.esm.js +3 -3
- package/dist/signals.esm.js.map +1 -1
- package/package.json +2 -2
package/dist/signals.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {isObject,isFunction,isPlainObject,hasChanged,isArray,isSet,isMap,isWeakMap,isWeakSet,isStringNumber,hasOwn}from'@estjs/shared';var He=Object.defineProperty,$e=Object.defineProperties;var Je=Object.getOwnPropertyDescriptors;var ge=Object.getOwnPropertySymbols;var Qe=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable;var Se=(e,t,n)=>t in e?He(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Se(e,n,t[n]);if(ge)for(var n of ge(t))ze.call(t,n)&&Se(e,n,t[n]);return e},me=(e,t)=>$e(e,Je(t));var g={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var ne=Symbol(""),N=Symbol(""),m=Symbol(""),I=Symbol("");var L=Symbol("");function j(e){let t=e.nextSubLink,n;e:do{let r=e.subNode,o=r.flag&64,i=r.flag&2,s=r.flag&-65;if(s&60?s&48||(s&12?s&4?!(s&48)&&_e(e,r)?(r.flag=o|i|(s|8|32),s&=1):(s=0,r.flag=o|i):r.flag=o|i|(s&-9|32):(s=0,r.flag=o|i)):r.flag=o|i|s|32,r.flag&2&&ye(r),s&1){let a=r.subLink;if(a){let h=(e=a).nextSubLink;h&&(n={value:t,prev:n},t=h);continue}}if(t){e=t,t=e.nextSubLink;continue}for(;n;)if(e=n.value,n=n.prev,e){t=e.nextSubLink;continue e}break}while(true)}function re(e){for(;e;){let t=e.subNode,n=t.flag&64,r=t.flag&-65;if(!(r&16)&&r&33){let o=n|r&-33|16;t.flag=o,o&2&&ye(t),r&1&&t.subLink&&re(t.subLink);}e=e.nextSubLink;}}function ye(e){e.active&&e.notify();}var K=0,b,V=false;function W(e,t){if(V)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let r=n?n.nextDepLink:t.depLink;if(r&&r.depNode===e)return r.version=K,t.depLinkTail=r,r;let o=e.subLinkTail;if(o&&o.version===K&&o.subNode===t)return t.depLinkTail=o,o;let i={version:K,depNode:e,subNode:t,prevSubLink:o,nextSubLink:void 0,prevDepLink:n,nextDepLink:r};return r&&(r.prevDepLink=i),n?n.nextDepLink=i:t.depLink=i,o?o.nextSubLink=i:e.subLink=i,e.subLinkTail=i,t.depLinkTail=i,i}function P(e,t=e.subNode){let n=e.depNode,r=e.prevSubLink,o=e.nextSubLink,i=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=i:t.depLinkTail=i,i?i.nextDepLink=s:t.depLink=s,o?o.prevSubLink=r:n.subLinkTail=r,r)r.nextSubLink=o;else if(n.subLink=o,o===void 0){let a=n.depLink;for(;a;)a=P(a,n);n.depLinkTail=void 0,n.flag|=16;}return e.depNode=void 0,e.subNode=void 0,e.prevSubLink=void 0,e.nextSubLink=void 0,e.prevDepLink=void 0,e.nextDepLink=void 0,s}function F(e,t){let n=[{link:e,owner:t}],r=[];for(;n.length>0;){let o=n.pop(),i=o.link,s=o.owner;for(;i;){let a=i.depNode,h=a.flag;if(s.flag&16)return true;if((h&17)===17){let S=a.subLink;S&&S.nextSubLink&&G(S);for(let p of r)p.flag&32&&(p.flag=p.flag&-33|16);return true}(h&33)===33?a.depLink?(r.push(a),n.push({link:a.depLink,owner:a})):a.flag&=-33:h&32&&(a.flag&=-33),i=i.nextDepLink;}}for(let o of r)o.flag&=-33;return t.flag&32&&(t.flag&=-33),false}function G(e){for(;e;){let t=e.subNode,n=t.flag&64,r=t.flag&-65;(r&48)===32&&(t.flag=n|r|16),e=e.nextSubLink;}}function oe(e){let t=b;return b=e,t}function q(e){return K++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,oe(e)}function B(e,t){b=t;let n=e.depLinkTail,r=n?n.nextDepLink:e.depLink;for(;r;)r=P(r,e);e.flag&=-5;}function Xe(e){let t=oe(void 0),n=V;V=true;try{return e()}finally{V=n,oe(t);}}function _e(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var ie=new WeakMap;function u(e,t){if(!b||V)return;let n=ie.get(e);n||(n=new Map,ie.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),r.has(b)||r.add(b);}function d(e,t,n,r){let o=ie.get(e);if(!o)return;let i=new Set;if(n!==void 0)if(Array.isArray(n))n.forEach(s=>{let a=o.get(s);a&&a.forEach(h=>i.add(h));});else {let s=o.get(n);s&&s.forEach(a=>i.add(a));}if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let s=Symbol("iterate"),a=Symbol("arrayIterate"),h=Array.isArray(e)?a:s,S=o.get(h);S&&S.forEach(p=>i.add(p));}i.forEach(s=>{var a;s.flag&2?(a=s.notify)==null||a.call(s):s.flag&1&&(s.flag|=16,s.subLink&&j(s.subLink));});}var ke=new WeakMap;function c(e){if(!e||!isObject(e))return e;let t=e._RAW;return t?c(t):E(e)?c(e.peek()):e}var ve=it();function it(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let r=c(this);u(r,L);let o=r[t](...n);if((o===-1||o===false)&&n.length>0){let i=n.map(s=>c(s));o=r[t](...i);}return o};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let r=c(this),o=k(this);u(r,L);let i=r[t](...n);return (t==="find"||t==="findLast")&&isObject(i)&&!o?T(i):i};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let r=c(this),o=Array.prototype[t].apply(r,n);return d(r,g.SET,N),d(r,g.SET,L),o};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let r=c(this),o=k(this);if(u(r,L),t==="toSpliced")for(let s=0,a=r.length;s<a;s++)u(r,`${s}`);let i=Array.prototype[t].apply(r,n);return Array.isArray(i)?i.map(s=>isObject(s)?T(s,o):s):i};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let r=c(this);return u(r,L),Array.prototype[t].apply(r,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let r=c(this);return u(r,L),Array.prototype[t].apply(r,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=c(this),r=k(this);u(n,N);let o=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:i,done:s}=o.next();return s?{value:i,done:s}:Array.isArray(i)?{value:i.map(a=>isObject(a)?T(a,r):a),done:s}:{value:isObject(i)?T(i,r):i,done:s}},[Symbol.iterator](){return this}}};}),e}var De=e=>({get:(t,n,r)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(ve,n))return ve[n];let o=Reflect.get(t,n,r);return isStringNumber(n)&&u(t,n),u(t,N),isObject(o)&&!e?T(o):o},set:(t,n,r,o)=>{let i=Reflect.get(t,n,o),s=Reflect.set(t,n,r,o);return hasChanged(r,i)&&(isStringNumber(n)?d(t,g.SET,[n,L,N]):d(t,g.SET,n)),s}}),st=De(true),at=De(false),ct={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(we,t)?we:e,t,e)}},ut={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(Le,t)&&t in e?Le:e,t,e)}},we={get(e){let t=c(this);u(t,m);let n=t.get(e);return isObject(n)&&!k(this)?T(n):n},set(e,t){let n=c(this),r=n.has(e),o=n.get(e),i=c(t);return n.set(e,i),(!r||hasChanged(o,i))&&d(n,g.SET,m),this},add(e){let t=c(this),n=c(e),r=t.has(n);return t.add(n),r?d(t,g.SET,m):d(t,g.ADD,m),this},has(e){let t=c(this);u(t,m);let n=t.has(e);return !n&&isObject(e)?t.has(c(e)):n},delete(e){let t=c(this),n=t.has(e),r=t.delete(e);return !r&&isObject(e)&&(r=t.delete(c(e))),(n||r)&&d(t,g.DELETE,m),r},clear(){let e=c(this),t=e.size>0,n=e.clear();return t&&d(e,g.CLEAR,m),n},forEach(e,t){let n=c(this),r=k(this);u(n,m),n.forEach((o,i)=>{let s=r||!isObject(o)?o:T(o),a=r||!isObject(i)?i:T(i);e.call(t,s,a,this);});},[Symbol.iterator](){let e=c(this),t=k(this);u(e,m);let n=e[Symbol.iterator]();return {next(){let{value:r,done:o}=n.next();return o?{value:r,done:o}:t?{value:r,done:o}:Array.isArray(r)?{value:r.map(i=>isObject(i)?T(i):i),done:o}:{value:isObject(r)?T(r):r,done:o}},[Symbol.iterator](){return this}}},get size(){let e=c(this);return u(e,m),e.size},keys(){let e=c(this),t=k(this);u(e,m);let n=e.keys();return {next(){let{value:r,done:o}=n.next();return o?{value:r,done:o}:{value:t||!isObject(r)?r:T(r),done:o}},[Symbol.iterator](){return this}}},values(){let e=c(this),t=k(this);u(e,m);let n=e.values();return {next(){let{value:r,done:o}=n.next();return o?{value:r,done:o}:{value:t||!isObject(r)?r:T(r),done:o}},[Symbol.iterator](){return this}}},entries(){let e=c(this),t=k(this);u(e,m);let n=e.entries();return {next(){let{value:r,done:o}=n.next();return o?{value:r,done:o}:t?{value:r,done:o}:{value:r.map(i=>isObject(i)?T(i):i),done:o}},[Symbol.iterator](){return this}}}},Le={get(e){let t=c(this);u(t,I);let n=t.get(e);return n===void 0&&w(e)&&(n=t.get(c(e))),isObject(n)&&!k(this)?T(n):n},set(e,t){let n=c(this),r=c(e),o=n.has(r),i=n.get(r),s=c(t);return n.set(r,s),(!o||hasChanged(i,s))&&d(n,g.SET,I),this},add(e){let t=c(this),n=c(e),r=t.has(n);return t.add(n),r||d(t,g.ADD,I),this},has(e){let t=c(this);u(t,I);let n=t.has(e);return !n&&w(e)&&(n=t.has(c(e))),n},delete(e){let t=c(this),n=c(e),r=t.has(n),o=t.delete(n);return (r||o)&&d(t,g.DELETE,I),o}},ft=e=>({get(t,n,r){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let o=Reflect.get(t,n,r),i=E(o)?o.value:o;return u(t,n),isObject(i)&&!e?T(i):i},set:(t,n,r,o)=>{let i=Reflect.get(t,n,o),s=Reflect.set(t,n,c(r),o);return hasChanged(r,i)&&d(t,g.SET,n),s},deleteProperty:(t,n)=>{let r=hasOwn(t,n),o=Reflect.deleteProperty(t,n);return r&&o&&d(t,g.DELETE,n),o}});function T(e,t=false){if(!isObject(e)||w(e))return e;let n=ke.get(e);if(n)return n;let r;isArray(e)?r=t?st:at:isSet(e)||isMap(e)?r=ct:isWeakMap(e)||isWeakSet(e)?r=ut:r=ft(t);let o=new Proxy(e,r);return ke.set(e,o),o}function w(e){return !!(e&&e._IS_REACTIVE)}function x(e){return w(e)||E(e)?e:T(e)}function J(e){return w(e)||E(e)?e:T(e,true)}function k(e){return !!(e&&e._IS_SHALLOW)}var lt=e=>isObject(e)?x(e):e;var Re;Re="_IS_SIGNAL";var A=class{constructor(t,n=false){this.flag=1;this[Re]=true;this._rawValue=t,n?this._value=isObject(t)?J(t):t:this._value=isObject(t)?x(t):t,this._IS_SHALLOW=n;}get dep(){return this}get value(){let t=b;if(t&&W(this,t),this.flag&16&&this.shouldUpdate()){let r=this.subLink;r&&G(r);}return this._value}set value(t){if(E(t)&&(t=t.peek()),t=c(t),!hasChanged(this._rawValue,t))return;"_oldValue"in this||(this._oldValue=this._rawValue);let n=this.flag;this.flag=n|16,this._rawValue=t,this._IS_SHALLOW?this._value=isObject(t)?J(t):t:this._value=isObject(t)?x(t):t;let o=this.subLink;o&&j(o);}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());E(n)?this.value=n.peek():this.value=n;}};function pt(e){return E(e)?e:new A(e)}function dt(e){return E(e)&&(e=e.peek()),new A(e,true)}function E(e){return !!e&&!!e._IS_SIGNAL}var z=new Set,se=new Set,ht=Promise.resolve(),ae=false;function Ie(e){return e?new Promise((t,n)=>{queueMicrotask(()=>{try{e(),t();}catch(r){n(r);}});}):ht}function R(e){z.add(e),Ae();}function Ae(){ae||(ae=true,Ie(ce));}function Ce(e){se.add(e),Ae();}function ce(){for(ae=false,Tt();z.size>0;){let e=Array.from(z);z.clear();for(let t of e)try{t();}catch(n){}}}function Tt(){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 ()=>Ce(e);case "post":return ()=>R(e);default:return ()=>R(e)}}var Y=0;function X(e){Ve();try{return e()}finally{Pe();}}function Ve(){Y++;}function Pe(){Y--,Y===0&&ce();}function ue(){return Y>0}function Et(){return Y}var Ge;Ge="_IS_EFFECT";var fe=class{constructor(t,n){this.flag=18;this[Ge]=true;this._active=true;this.fn=t,n&&(this.scheduler=n.flush||n.scheduler,this.onStop=n.onStop,this.onTrack=n.onTrack,this.onTrigger=n.onTrigger);}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&F(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 r=(n&16)!==0,o=(n&32)!==0;(r||o)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-17|1024;let n=q(this);try{return this.fn()}catch(r){throw this.flag|=16,r}finally{this.flag&=-1025,B(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){let t=this.flag;!this._active||t&1296||(this.flag=t|16,this.scheduler?isFunction(this.scheduler)?this.scheduler(this):Ne(()=>this.run(),this.scheduler)():ue()?R(this.getJob()):this.run());}stop(){if(!this._active)return;this._active=false;let t=this.depLink;for(;t;)t=P(t,this);let n=this.subLink;for(;n;)n=P(n);this._job=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,this.onStop&&this.onStop();}};function Z(e,t){let n=new fe(e,t);try{n.run();}catch(o){throw n.stop(),o}let r=()=>n.run();return r.effect=n,r.stop=()=>n.stop(),r}function St(e){e.effect.stop();}function mt(e){return !!(e&&e._IS_EFFECT)}function yt(e,t,n){let r=t;return Z(()=>{r=e(r);},n)}var O=Symbol("computed-no-value"),Ue;Ue="_IS_COMPUTED";var ee=class{constructor(t,n,r,o){this.flag=17;this[Ue]=true;this._value=O;this.getter=t,this.setter=n,this.onTrack=r,this.onTrigger=o,this.flag|=16;}get value(){b&&W(this,b);let t=this.flag,n=this._value!==O;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&F(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this._value===O&&this.recompute(),this._value}recompute(){let t=this._value,n=t!==O,r=q(this);try{let o=this.getter(),i=this.flag,s=this.subLink,a=-49;!n||hasChanged(t,o)?(this._value=o,this.flag=i&a,s&&re(s)):this.flag=i&a;}catch(o){let i=-49;throw this.flag&=i,this.flag|=16,o}finally{B(this,r);}}shouldUpdate(){let t=this._value!==O,n=this._value;return this.recompute(),t?hasChanged(this._value,n):true}};function le(e){if(U(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:r,onTrigger:o}=e;if(!t)throw new Error(`[Computed] Invalid options: getter function is required.
|
|
1
|
+
import {isObject,isFunction,isPlainObject,hasChanged,isArray,isSet,isMap,isWeakMap,isWeakSet,hasOwn,isStringNumber}from'@estjs/shared';var Je=Object.defineProperty;var de=Object.getOwnPropertySymbols;var ze=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable;var he=(e,t,n)=>t in e?Je(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,Te=(e,t)=>{for(var n in t||(t={}))ze.call(t,n)&&he(e,n,t[n]);if(de)for(var n of de(t))Qe.call(t,n)&&he(e,n,t[n]);return e};var T={SET:"SET",ADD:"ADD",DELETE:"DELETE",CLEAR:"CLEAR"};var P=Symbol(""),S=Symbol(""),A=Symbol(""),ge=Symbol("");var L=Symbol("");function Z(e){var t;(t=e==null?void 0:e.notify)==null||t.call(e);}function C(e){let t=e.nextSubLink,n;e:do{let r=e.subNode,i=r.flag&2,o=r.flag;if(o&60?o&12?o&4?!(o&48)&&Se(e,r)?(r.flag=o|40,i&&Z(r),o&=1):o=0:r.flag=o&-9|32:o=0:(r.flag=o|32,i&&Z(r)),o&1){let s=r.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 Ee(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16,(n&6)===2&&Z(t)),e=e.nextSubLink;}}var M=0,_,G=false,te=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 R(e,t){if(G)return;let n=t.depLinkTail;if(n&&n.depNode===e)return n;let r=n?n.nextDepLink:t.depLink;if(r&&r.depNode===e)return r.version=M,t.depLinkTail=r,r;let i=e.subLinkTail;if(i&&i.version===M&&i.subNode===t)return t.depLinkTail=i,i;let o={version:M,depNode:e,subNode:t,prevSubLink:i,nextSubLink:void 0,prevDepLink:n,nextDepLink:r};return r&&(r.prevDepLink=o),n?n.nextDepLink=o:t.depLink=o,i?i.nextSubLink=o:e.subLink=o,e.subLinkTail=o,t.depLinkTail=o,o}function O(e,t=e.subNode){let n=e.depNode,r=e.prevSubLink,i=e.nextSubLink,o=e.prevDepLink,s=e.nextDepLink;if(s?s.prevDepLink=o:t.depLinkTail=o,o?o.nextDepLink=s:t.depLink=s,i?i.prevSubLink=r:n.subLinkTail=r,r)r.nextSubLink=i;else if(n.subLink=i,i===void 0){let c=n.depLink;for(;c;)c=O(c,n);n.depLinkTail=void 0,n.isDep||(n.flag|=16);}return s}function K(e,t){let n,r=0,i=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&&ie(u),o=true;}else if((c&33)===33)if(s.depLink){n={link:e,prev:n},e=s.depLink,t=s,++r;continue e}else s.flag&=-33;else c&32&&(s.flag&=-33);}if(!o&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}for(i=o;r--;){e=n.link,n=n.prev,t=e.subNode;let s=e.depNode;if(i?s.flag=s.flag&-33|16:s.flag&=-33,s.flag&16&&(i=true),!i&&e.nextDepLink!==void 0){e=e.nextDepLink;continue e}}return i?t.flag=t.flag&-33|16:t.flag&=-33,i}while(true)}function ie(e){for(;e;){let t=e.subNode,n=t.flag;(n&48)===32&&(t.flag=n|16),e=e.nextSubLink;}}function ne(e){let t=_;return _=e,t}function U(e){return M++,e.depLinkTail=void 0,e.flag=e.flag&-57|4,ne(e)}function W(e,t){_=t;let n=e.depLinkTail,r=n?n.nextDepLink:e.depLink;for(;r;)r=O(r,e);e.flag&=-5;}function Ze(e){let t=ne(void 0),n=G;G=true;try{return e()}finally{G=n,ne(t);}}function Se(e,t){let n=t.depLinkTail;for(;n;){if(n===e)return true;n=n.prevDepLink;}return false}var re=new WeakMap,et=0;function ee(e,t,n){if(e)for(let r=e.subLink;r;r=r.nextSubLink){let i=r.subNode;i._triggerVersion!==n&&(i._triggerVersion=n,t.push(i));}}function l(e,t){if(!_||G)return;let n=re.get(e);n||(n=new Map,re.set(e,n));let r=n.get(t);r||(r=new te(n,t),n.set(t,r)),R(r,_);}function g(e,t,n,r){var c;let i=re.get(e);if(!i)return;let o=[],s=++et;if(n!==void 0)if(Array.isArray(n))for(let u of n)ee(i.get(u),o,s);else ee(i.get(n),o,s);if(t==="ADD"||t==="DELETE"||t==="CLEAR"){let u=Array.isArray(e)?L:ge;ee(i.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&&C(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 _e=st();function st(){let e={};return ["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let r=a(this);l(r,L);let i=r[t](...n);if((i===-1||i===false)&&n.length>0){let o=n.map(s=>a(s));i=r[t](...o);}return i};}),["find","findIndex","findLast","findLastIndex"].forEach(t=>{e[t]=function(...n){let r=a(this),i=y(this);l(r,L);let o=r[t](...n);return (t==="find"||t==="findLast")&&isObject(o)&&!i?d(o):o};}),["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].forEach(t=>{e[t]=function(...n){let r=a(this),i=Array.prototype[t].apply(r,n);return g(r,T.SET,[P,L]),i};}),["toReversed","toSorted","toSpliced"].forEach(t=>{e[t]=function(...n){let r=a(this),i=y(this);if(l(r,L),t==="toSpliced")for(let s=0,c=r.length;s<c;s++)l(r,`${s}`);let o=Array.prototype[t].apply(r,n);return Array.isArray(o)?o.map(s=>isObject(s)?d(s,i):s):o};}),["concat","slice","filter","map","flatMap","flat"].forEach(t=>{e[t]=function(...n){let r=a(this);return l(r,L),Array.prototype[t].apply(this,n)};}),["join","toString","toLocaleString"].forEach(t=>{e[t]=function(...n){let r=a(this);return l(r,L),Array.prototype[t].apply(r,n)};}),["values","keys","entries",Symbol.iterator].forEach(t=>{e[t]=function(){let n=a(this),r=y(this);l(n,P);let i=t===Symbol.iterator?n[Symbol.iterator]():n[t]();return {next(){let{value:o,done:s}=i.next();return s?{value:o,done:s}:Array.isArray(o)?{value:o.map(c=>isObject(c)?d(c,r):c),done:s}:{value:isObject(o)?d(o,r):o,done:s}},[Symbol.iterator](){return this}}};}),e}var ve=e=>({get:(t,n,r)=>{if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;if(hasOwn(_e,n))return _e[n];let i=Reflect.get(t,n,r);return isStringNumber(n)&&l(t,n),l(t,P),isObject(i)&&!e?d(i):i},set:(t,n,r,i)=>{let o=Reflect.get(t,n,i),s=Reflect.set(t,n,r,i);return hasChanged(r,o)&&(isStringNumber(n)?g(t,T.SET,[n,L,P]):g(t,T.SET,n)),s}}),at=ve(true),ct=ve(false),ut={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(ke,t)?ke:e,t,e)}},ft={get(e,t){return t==="_IS_REACTIVE"?true:t==="_RAW"?e:Reflect.get(hasOwn(ye,t)&&t in e?ye:e,t,e)}},ke={get(e){let t=a(this);l(t,S);let n=t.get(e);return isObject(n)&&!y(this)?d(n):n},set(e,t){let n=a(this),r=n.has(e),i=n.get(e),o=a(t);return n.set(e,o),(!r||hasChanged(i,o))&&g(n,T.SET,S),this},add(e){let t=a(this),n=a(e),r=t.has(n);return t.add(n),r||g(t,T.ADD,S),this},has(e){let t=a(this);l(t,S);let n=t.has(e);return !n&&isObject(e)?t.has(a(e)):n},delete(e){let t=a(this),n=t.has(e),r=t.delete(e);return !r&&isObject(e)&&(r=t.delete(a(e))),(n||r)&&g(t,T.DELETE,S),r},clear(){let e=a(this),t=e.size>0,n=e.clear();return t&&g(e,T.CLEAR,S),n},forEach(e,t){let n=a(this),r=y(this);l(n,S),n.forEach((i,o)=>{let s=r||!isObject(i)?i:d(i),c=r||!isObject(o)?o:d(o);e.call(t,s,c,this);});},[Symbol.iterator](){let e=a(this),t=y(this);l(e,S);let n=e[Symbol.iterator]();return {next(){let{value:r,done:i}=n.next();return i?{value:r,done:i}:t?{value:r,done:i}:Array.isArray(r)?{value:r.map(o=>isObject(o)?d(o):o),done:i}:{value:isObject(r)?d(r):r,done:i}},[Symbol.iterator](){return this}}},get size(){let e=a(this);return l(e,S),e.size},keys(){let e=a(this),t=y(this);l(e,S);let n=e.keys();return {next(){let{value:r,done:i}=n.next();return i?{value:r,done:i}:{value:t||!isObject(r)?r:d(r),done:i}},[Symbol.iterator](){return this}}},values(){let e=a(this),t=y(this);l(e,S);let n=e.values();return {next(){let{value:r,done:i}=n.next();return i?{value:r,done:i}:{value:t||!isObject(r)?r:d(r),done:i}},[Symbol.iterator](){return this}}},entries(){let e=a(this),t=y(this);l(e,S);let n=e.entries();return {next(){let{value:r,done:i}=n.next();return i?{value:r,done:i}:t?{value:r,done:i}:{value:r.map(o=>isObject(o)?d(o):o),done:i}},[Symbol.iterator](){return this}}}},ye={get(e){let t=a(this);l(t,A);let n=t.get(e);return n===void 0&&v(e)&&(n=t.get(a(e))),isObject(n)&&!y(this)?d(n):n},set(e,t){let n=a(this),r=a(e),i=n.has(r),o=n.get(r),s=a(t);return n.set(r,s),(!i||hasChanged(o,s))&&g(n,T.SET,A),this},add(e){let t=a(this),n=a(e),r=t.has(n);return t.add(n),r||g(t,T.ADD,A),this},has(e){let t=a(this);l(t,A);let n=t.has(e);return !n&&v(e)&&(n=t.has(a(e))),n},delete(e){let t=a(this),n=a(e),r=t.has(n),i=t.delete(n);return (r||i)&&g(t,T.DELETE,A),i}},Le=e=>({get(t,n,r){if(n==="_RAW")return t;if(n==="_IS_REACTIVE")return true;if(n==="_IS_SHALLOW")return e;let i=Reflect.get(t,n,r),o=h(i)?i.value:i;return l(t,n),isObject(o)&&!e?d(o):o},set:(t,n,r,i)=>{let o=Reflect.get(t,n,i),s=Reflect.set(t,n,a(r),i);return hasChanged(r,o)&&g(t,T.SET,n),s},deleteProperty:(t,n)=>{let r=hasOwn(t,n),i=Reflect.deleteProperty(t,n);return r&&i&&g(t,T.DELETE,n),i}}),lt=Le(true),pt=Le(false);function d(e,t=false){if(!isObject(e)||v(e))return e;let n=me.get(e);if(n)return n;let r;isArray(e)?r=t?at:ct:isSet(e)||isMap(e)?r=ut:isWeakMap(e)||isWeakSet(e)?r=ft:r=t?lt:pt;let i=new Proxy(e,r);return me.set(e,i),i}function v(e){return !!(e&&e._IS_REACTIVE)}function D(e){return v(e)||h(e)?e:d(e)}function q(e){return v(e)||h(e)?e:d(e,true)}function y(e){return !!(e&&e._IS_SHALLOW)}var dt=e=>isObject(e)?D(e):e;var De;De="_IS_SIGNAL";var N=class{constructor(t,n=false){this.flag=1;this[De]=true;let r=a(t);this._rawValue=r,this._IS_SHALLOW=n,Re(r)?v(t)?this._value=t:this._value=n?q(r):D(r):this._value=r;}get dep(){return this}get value(){let t=_;if(t&&R(this,t),this.flag&16&&this.shouldUpdate()){let r=this.subLink;r&&ie(r);}return this._value}set value(t){h(t)&&(t=t.peek());let n=t,r=a(t);if(!hasChanged(this._rawValue,r))return;if(this._oldValue=this._rawValue,this._rawValue=r,this.flag|=16,!Re(r))this._value=r;else if(v(n))this._value=n;else {let o=this._IS_SHALLOW;this._value=o?q(r):D(r);}let i=this.subLink;i&&C(i);}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 Re(e){return isObject(e)?isArray(e)||isMap(e)||isSet(e)||isWeakMap(e)||isWeakSet(e)||isPlainObject(e):false}function _t(e){return h(e)?e:new N(e)}function kt(e){return h(e)&&(e=e.peek()),new N(e,true)}function h(e){return !!e&&!!e._IS_SIGNAL}var B=new Set,oe=new Set,xe=Promise.resolve(),se=false;function Ie(e){return e?xe.then(e):xe}function x(e){B.add(e),Ae();}function Ae(){se||(se=true,Ie(ae));}function Ce(e){oe.add(e),Ae();}function ae(){for(se=false,yt();B.size>0;){for(let e of B)try{e();}catch(t){}B.clear();}}function yt(){let e=Array.from(oe);oe.clear();for(let t of e)try{t();}catch(n){}}function Ne(e,t){switch(t){case "sync":return ()=>e();case "pre":return ()=>Ce(e);case "post":return ()=>x(e);default:return ()=>x(e)}}var Y=0;function $(e){Ve();try{return e()}finally{Pe();}}function Ve(){Y++;}function Pe(){Y--,Y===0&&ae();}function ce(){return Y>0}function vt(){return Y}var Oe;Oe="_IS_EFFECT";var ue=class{constructor(t,n){this.flag=18;this[Oe]=true;this._active=true;if(this.fn=t,n){this.options=n;let r=n.flush||n.scheduler;r&&!isFunction(r)&&(this._flushScheduler=Ne(()=>this.run(),r));}}get active(){return this._active}get dirty(){let t=this.flag;if(t&16)return true;if(t&32){if(this.depLink&&K(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 r=(n&16)!==0,i=(n&32)!==0;(r||i)&&this.notify();}run(){if(!this._active)return this.fn();let t=this.flag;this.flag=t&-49|512;let n=U(this);try{return this.fn()}catch(r){throw this.flag|=16,r}finally{this.flag&=-513,W(this,n);}}getJob(){return this._job||(this._job=()=>this.run()),this._job}notify(){var i,o,s;let t=this.flag;if(!this._active||t&784)return;this.flag=t|16;let n=((i=this.options)==null?void 0:i.flush)||((o=this.options)==null?void 0:o.scheduler);n?isFunction(n)?n(this):(s=this._flushScheduler)==null||s.call(this):ce()?x(this.getJob()):this.run();}stop(){var r;if(!this._active)return;this._active=false;let t=this.depLink;for(;t;)t=O(t,this);let n=this.subLink;for(;n;)n=O(n);this._job=void 0,this._flushScheduler=void 0,this.depLinkTail=void 0,this.subLinkTail=void 0,(r=this.options)!=null&&r.onStop&&this.options.onStop();}};function J(e,t){let n=new ue(e,t);try{n.run();}catch(i){throw n.stop(),i}let r=()=>n.run();return r.effect=n,r.stop=()=>n.stop(),r}function Lt(e){e.effect.stop();}function wt(e){return !!(e&&e._IS_EFFECT)}function Rt(e,t,n){let r=t;return J(()=>{r=e(r);},n)}var V=Symbol("computed-no-value"),Me;Me="_IS_COMPUTED";var z=class{constructor(t,n,r,i){this.flag=17;this[Me]=true;this._value=V;this.getter=t,this.setter=n,this.onTrack=r,this.onTrigger=i,this.flag|=16;}get value(){_&&R(this,_);let t=this.flag,n=this._value!==V;return n&&!(t&48)?this._value:!n||t&16?(this.recompute(),this._value):(t&32&&(this.depLink&&K(this.depLink,this)?this.recompute():this.flag=t&-33),this._value)}set value(t){this.setter&&this.setter(t);}peek(){return this._value===V&&this.recompute(),this._value}recompute(){let t=this._value,n=t!==V,r=U(this);try{let i=this.getter(),o=this.flag,s=this.subLink,c=-49;!n||hasChanged(t,i)?(this._value=i,this.flag=o&c,s&&Ee(s)):this.flag=o&c;}catch(i){let o=-49;throw this.flag&=o,this._value=V,i}finally{W(this,r);}}shouldUpdate(){let t=this._value!==V,n=this._value;return this.recompute(),t?hasChanged(this._value,n):true}};function fe(e){if(j(e))return e;if(!e)throw new Error("[Computed] Invalid argument: computed() requires a getter function or options object.");if(isFunction(e))return new z(e);if(isPlainObject(e)){let{get:t,set:n,onTrack:r,onTrigger:i}=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 z(t,n,r,i)}throw new Error(`[Computed] Invalid argument: expected a function or options object.
|
|
4
|
+
Received: ${typeof e}`)}function j(e){return !!e&&!!e._IS_COMPUTED}function xt(e){let{state:t,getters:n,actions:r}=e,i=Te({},t),o=D(t),s=new Set,c=new Set,u=f=>{s.forEach(k=>k(f)),c.forEach(k=>k(f));},w={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,i);}),u(o);}},E={};for(let f of Object.keys(i))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,w),n)for(let f in n){let k=n[f];if(!k)continue;let X=fe(()=>k.call(E,o));Object.defineProperty(E,f,{get:()=>X.value,enumerable:true,configurable:true});}if(r)for(let f in r){let k=r[f];k&&(E[f]=(...X)=>{let Be=k.apply(E,X);return c.forEach($e=>$e(o)),Be});}return E}function It(e){let t=new e,n=Object.create(null),r={},i={};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)?r[o]=function(){return s.get.call(this)}:isFunction(s.value)&&o!=="constructor"&&(i[o]=function(...c){return s.value.apply(this,c)}));}),{state:n,getters:r,actions:i}}function At(e){return ()=>{let t;return isFunction(e)?t=It(e):t=e,xt(t)}}var Ke,Ue,Q=class extends(Ue=N,Ke="_IS_REF",Ue){constructor(n){super(n,true);this[Ke]=true;}get value(){let n=_;return n&&R(this,n),this._value}set value(n){h(n)&&(n=n.peek()),pe(n)&&(n=n.value),hasChanged(this._value,n)&&(this._rawValue=n,this._value=n,this.flag|=16,this.subLink&&C(this.subLink));}};function Nt(e=void 0){return pe(e)?e:h(e)?new Q(e.peek()):new Q(e)}function pe(e){return !!e&&!!e._IS_REF}var We={},Fe=new Set;function I(e,t){if(t||(Fe.clear(),t=Fe),!isObject(e)||t.has(e))return e;if(t.add(e),h(e)||j(e))return I(e.value,t);if(Array.isArray(e))for(let n of e)I(n,t);else isMap(e)?(e.forEach(n=>{I(n,t);}),e.keys(),e.values()):isSet(e)?(e.forEach(n=>{I(n,t);}),e.values()):Object.keys(e).forEach(n=>{I(e[n],t);});return e}function He(e){return isFunction(e)?e:h(e)||j(e)?()=>e.value:v(e)?()=>I(e):()=>e}function Yt(e){if(Array.isArray(e)){let t=e.map(n=>He(n));return ()=>t.map(n=>n())}return He(e)}function jt(e,t,n={}){let{immediate:r=false,deep:i=false}=n,o=We,s=Yt(e),c=()=>{let w=u.effect;if(!w.run)return;let E=w.run();(i||isObject(E)||hasChanged(E,o))&&(t(E,o===We?void 0:o),o=E);},u=J(()=>{let w=s();return i&&I(w),w},{scheduler:()=>x(c)});return r?c():o=u.effect.run(),()=>{u.stop();}}export{T as TriggerOpTypes,$ as batch,fe as computed,At as createStore,J as effect,Pe as endBatch,vt as getBatchDepth,ce as isBatching,j as isComputed,wt as isEffect,v as isReactive,pe as isRef,y as isShallow,h as isSignal,Rt as memoEffect,Ie as nextTick,x as queueJob,Ce as queuePreFlushCb,D as reactive,Nt as ref,q as shallowReactive,kt as shallowSignal,_t as signal,Ve as startBatch,Lt as stop,a as toRaw,dt as toReactive,g as trigger,Ze as untrack,jt as watch};//# sourceMappingURL=signals.esm.js.map
|
|
5
5
|
//# sourceMappingURL=signals.esm.js.map
|