@zeix/cause-effect
Version:
Cause & Effect - reactive state management primitives library for TypeScript.
2 lines (1 loc) • 19.9 kB
JavaScript
var uz=Object.getPrototypeOf(async()=>{});function g(z){return typeof z==="function"}function zz(z){return g(z)&&Object.getPrototypeOf(z)===uz}function Wz(z){return g(z)&&Object.getPrototypeOf(z)!==uz}function sz(z,J){return Object.prototype.toString.call(z)===`[object ${J}]`}function Y(z,J){return z!=null&&z[Symbol.toStringTag]===J}function p(z){return z!==null&&typeof z==="object"&&Object.getPrototypeOf(z)===Object.prototype}function Az(z,J=(X)=>X!=null){return Array.isArray(z)&&z.every(J)}function Rz(z){return typeof z==="string"?`"${z}"`:!!z&&typeof z==="object"?JSON.stringify(z):String(z)}class Kz extends Error{constructor(z){super(`[${z}] Circular dependency detected`);this.name="CircularDependencyError"}}class bz extends TypeError{constructor(z){super(`[${z}] Signal value cannot be null or undefined`);this.name="NullishSignalValueError"}}class Jz extends Error{constructor(z){super(`[${z}] Signal value is unset`);this.name="UnsetSignalValueError"}}class Hz extends TypeError{constructor(z,J){super(`[${z}] Signal value ${Rz(J)} is invalid`);this.name="InvalidSignalValueError"}}class fz extends TypeError{constructor(z,J){super(`[${z}] Callback ${Rz(J)} is invalid`);this.name="InvalidCallbackError"}}class Oz extends Error{constructor(z){super(`[${z}] Signal is read-only`);this.name="ReadonlySignalError"}}class wz extends Error{constructor(z){super(`[${z}] Active owner is required`);this.name="RequiredOwnerError"}}class Xz extends Error{constructor(z,J,X){super(`[${z}] Could not add key "${J}"${X?` with value ${JSON.stringify(X)}`:""} because it already exists`);this.name="DuplicateKeyError"}}function K(z,J,X){if(J==null)throw new bz(z);if(X&&!X(J))throw new Hz(z,J)}function Bz(z,J){if(J==null)throw new Jz(z)}function L(z,J,X=g){if(!X(J))throw new fz(z,J)}var s="State",t="Memo",r="Task",o="Sensor",f="List",n="Collection",a="Store",e="Slot",T=0,Zz=1,D=2,Nz=4,A=8,R=null,b=null,Cz=[],F=0,_z=!1,S=(z,J)=>z===J,Tz=(z,J)=>!1,Lz=(z,J)=>{if(Object.is(z,J))return!0;if(typeof z!==typeof J)return!1;if(z==null||typeof z!=="object"||J==null||typeof J!=="object")return!1;let X=Array.isArray(z);if(X!==Array.isArray(J))return!1;if(X){let Z=z,H=J;if(Z.length!==H.length)return!1;for(let B=0;B<Z.length;B++)if(!Lz(Z[B],H[B]))return!1;return!0}if(p(z)&&p(J)){let Z=Object.keys(z);if(Z.length!==Object.keys(J).length)return!1;for(let H of Z){if(!(H in J))return!1;if(!Lz(z[H],J[H]))return!1}return!0}return!1},c=(z,J)=>Lz(z,J),tz=c;function rz(z,J){let X=J.sourcesTail;if(X){let Z=J.sources;while(Z){if(Z===z)return!0;if(Z===X)break;Z=Z.nextSource}}return!1}function E(z,J){let X=J.sourcesTail;if(X?.source===z)return;let Z=null,H=J.flags&Nz;if(H){if(Z=X?X.nextSource:J.sources,Z?.source===z){J.sourcesTail=Z;return}}let B=z.sinksTail;if(B?.sink===J&&(!H||rz(B,J)))return;let P={source:z,sink:J,nextSource:Z,prevSink:B,nextSink:null};if(J.sourcesTail=z.sinksTail=P,X)X.nextSource=P;else J.sources=P;if(B)B.nextSink=P;else z.sinks=P}function oz(z){let{source:J,nextSource:X,nextSink:Z,prevSink:H}=z;if(Z)Z.prevSink=H;else J.sinksTail=H;if(H)H.nextSink=Z;else J.sinks=Z;if(!J.sinks){if(J.stop)J.stop(),J.stop=void 0;if("sources"in J&&J.sources){let B=J;B.sourcesTail=null,Qz(B)}}return X}function Qz(z){let J=z.sourcesTail,X=J?J.nextSource:z.sources;while(X)X=oz(X);if(J)J.nextSource=null;else z.sources=null}function w(z,J=D){let X=z.flags;if("sinks"in z){if((X&(D|Zz))>=J)return;if(z.flags=X|J,"controller"in z&&z.controller)z.controller.abort(),z.controller=void 0;for(let Z=z.sinks;Z;Z=Z.nextSink)w(Z.sink,Zz)}else{if((X&(D|Zz))>=J)return;let Z=X&(D|Zz);if(z.flags=J,!Z)Cz.push(z)}}function v(z,J){if(z.equals(z.value,J))return;z.value=J;for(let X=z.sinks;X;X=X.nextSink)w(X.sink);if(F===0)x()}function $z(z,J){if(!z.cleanup)z.cleanup=J;else if(Array.isArray(z.cleanup))z.cleanup.push(J);else z.cleanup=[z.cleanup,J]}function Fz(z){if(!z.cleanup)return;if(Array.isArray(z.cleanup))for(let J=0;J<z.cleanup.length;J++)z.cleanup[J]();else z.cleanup();z.cleanup=null}function nz(z){let J=R;R=z,z.sourcesTail=null,z.flags=Nz;let X=!1;try{let Z=z.fn(z.value);if(z.error||!z.equals(Z,z.value))z.value=Z,z.error=void 0,X=!0}catch(Z){X=!0,z.error=Z instanceof Error?Z:Error(String(Z))}finally{R=J,Qz(z)}if(X){for(let Z=z.sinks;Z;Z=Z.nextSink)if(Z.sink.flags&Zz)Z.sink.flags|=D}z.flags=T}function az(z){z.controller?.abort();let J=new AbortController;z.controller=J,z.error=void 0;let X=R;R=z,z.sourcesTail=null,z.flags=Nz;let Z;try{Z=z.fn(z.value,J.signal)}catch(H){z.controller=void 0,z.error=H instanceof Error?H:Error(String(H));return}finally{R=X,Qz(z)}v(z.pendingNode,!0),Z.then((H)=>{if(J.signal.aborted)return;z.controller=void 0,i(()=>{if(z.error||!z.equals(H,z.value)){z.value=H,z.error=void 0;for(let B=z.sinks;B;B=B.nextSink)w(B.sink)}v(z.pendingNode,!1)})},(H)=>{if(J.signal.aborted)return;z.controller=void 0;let B=H instanceof Error?H:Error(String(H));i(()=>{if(!z.error||B.name!==z.error.name||B.message!==z.error.message){z.error=B;for(let P=z.sinks;P;P=P.nextSink)w(P.sink)}v(z.pendingNode,!1)})}),z.flags=T}function Ez(z){Fz(z);let J=R,X=b;R=b=z,z.sourcesTail=null,z.flags=Nz;try{let Z=z.fn();if(typeof Z==="function")$z(z,Z)}finally{R=J,b=X,Qz(z)}z.flags=T}function I(z){if(z.flags&Zz)for(let J=z.sources;J;J=J.nextSource){if("fn"in J.source)I(J.source);if(z.flags&D)break}if(z.flags&Nz)throw new Kz("controller"in z?r:("value"in z)?t:"Effect");if(z.flags&D)if("controller"in z)az(z);else if("value"in z)nz(z);else Ez(z);else z.flags=T}function x(){if(_z)return;_z=!0;try{for(let z=0;z<Cz.length;z++){let J=Cz[z];if(J.flags&(D|Zz))I(J)}Cz.length=0}finally{_z=!1}}function i(z){F++;try{z()}finally{if(F--,F===0)x()}}function y(z){let J=R;R=null;try{return z()}finally{R=J}}function ez(z,J){let X=b,Z={cleanup:null};b=Z;let H=()=>Fz(Z);try{let B=z();if(typeof B==="function")$z(Z,B);return H}finally{if(b=X,!J?.root&&X)$z(X,H)}}function zJ(z){let J=b;b=null;try{return z()}finally{b=J}}function k(z,J){return J?()=>{if(R){if(!z.sinks)z.stop=J();E(z,R)}}:()=>{if(R)E(z,R)}}function u(z,J){K(s,z,J?.guard);let X={value:z,sinks:null,sinksTail:null,equals:J?.equals??S,guard:J?.guard};return{[Symbol.toStringTag]:s,get(){if(R)E(X,R);return X.value},set(Z){K(s,Z,X.guard),v(X,Z)},update(Z){L(s,Z);let H=Z(X.value);K(s,H,X.guard),v(X,H)}}}function Dz(z){return Y(z,s)}function Iz(z,J){if(z.length!==J.length)return!1;for(let X=0;X<z.length;X++)if(z[X]!==J[X])return!1;return!0}function Sz(z){let J=0,X=typeof z==="function";return[typeof z==="string"?()=>`${z}${J++}`:X?(Z)=>z(Z)||String(J++):()=>String(J++),X]}function JJ(z,J,X,Z,H){let B={},P={},O={},N=[],$=!1,U=Math.min(z.length,J.length);for(let q=0;q<U;q++){let V=X[q];if(N.push(V),!H(z[q],J[q]))P[V]=J[q],$=!0}for(let q=U;q<J.length;q++){let V=J[q],j=Z(V);N.push(j),B[j]=V,$=!0}for(let q=U;q<z.length;q++)O[X[q]]=null,$=!0;return{add:B,change:P,remove:O,newKeys:N,changed:$}}function XJ(z,J,X,Z,H,B){if(!H)return JJ(z,J,X,Z,B);let P={},O={},N={},$=[],U=!1,q=new Map;for(let j=0;j<z.length;j++){let Q=X[j],W=z[j];if(Q&&W!==void 0)q.set(Q,W)}let V=new Set;for(let j=0;j<J.length;j++){let Q=J[j];if(Q===void 0)continue;let W=Z(Q);if(V.has(W))throw new Xz(f,W,Q);if($.push(W),V.add(W),!q.has(W))P[W]=Q,U=!0;else if(!B(q.get(W),Q))O[W]=Q,U=!0}for(let[j]of q)if(!V.has(j))N[j]=null,U=!0;if(!U&&!Iz(X,$))U=!0;return{add:P,change:O,remove:N,newKeys:$,changed:U}}function qz(z,J){K(f,z,Array.isArray);let X=new Map,Z=[],[H,B]=Sz(J?.keyConfig),P=J?.itemEquals??c,O=J?.createItem??((j)=>u(j,{equals:P})),N=()=>{let j=[];for(let Q of Z){let W=X.get(Q)?.get();if(W!==void 0)j.push(W)}return j},$={fn:N,value:z,flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:c,error:void 0},U=(j)=>{let Q=!1;for(let M in j.add){let G=j.add[M];K(`${f} item for key "${M}"`,G),X.set(M,O(G)),Q=!0}let W=!1;for(let M in j.change){W=!0;break}if(W)i(()=>{for(let M in j.change){let G=j.change[M];K(`${f} item for key "${M}"`,G);let d=X.get(M);if(d)d.set(G)}});for(let M in j.remove){X.delete(M);let G=Z.indexOf(M);if(G!==-1)Z.splice(G,1);Q=!0}if(Q)$.flags|=A;return j.changed},q=k($,J?.watched);for(let j=0;j<z.length;j++){let Q=z[j];if(Q===void 0)continue;let W=Z[j];if(!W)W=H(Q),Z[j]=W;K(`${f} item for key "${W}"`,Q),X.set(W,O(Q))}$.value=z,$.flags=0;let V={[Symbol.toStringTag]:f,[Symbol.isConcatSpreadable]:!0,*[Symbol.iterator](){for(let j of Z){let Q=X.get(j);if(Q)yield Q}},get length(){return q(),Z.length},get(){if(q(),$.sources){if($.flags){let j=$.flags&A;if($.value=y(N),j){if($.flags=D,I($),$.error)throw $.error}else $.flags=T}}else if(I($),$.error)throw $.error;return $.value},set(j){let Q=$.flags&D?N():$.value,W=XJ(Q,j,Z,H,B,P);if(W.changed){Z=W.newKeys,U(W),$.flags|=D;for(let M=$.sinks;M;M=M.nextSink)w(M.sink);if(F===0)x()}},update(j){V.set(j(V.get()))},at(j){let Q=Z[j];return Q!==void 0?X.get(Q):void 0},keys(){return q(),Z.values()},byKey(j){return X.get(j)},keyAt(j){return Z[j]},indexOfKey(j){return Z.indexOf(j)},add(j){let Q=H(j);if(X.has(Q))throw new Xz(f,Q,j);Z.push(Q),K(`${f} item for key "${Q}"`,j),X.set(Q,O(j)),$.flags|=D|A;for(let W=$.sinks;W;W=W.nextSink)w(W.sink);if(F===0)x();return Q},remove(j){let Q=typeof j==="number"?Z[j]:j;if(Q===void 0)return;if(X.delete(Q)){let M=typeof j==="number"?j:Z.indexOf(Q);if(M>=0)Z.splice(M,1);$.flags|=D|A;for(let G=$.sinks;G;G=G.nextSink)w(G.sink);if(F===0)x()}},replace(j,Q){let W=X.get(j);if(!W)return;if(K(`${f} item for key "${j}"`,Q),P(y(()=>W.get()),Q))return;W.set(Q),$.flags|=D;for(let M=$.sinks;M;M=M.nextSink)w(M.sink);if(F===0)x()},sort(j){let Q=[];for(let M of Z){let G=X.get(M)?.get();if(G!==void 0)Q.push([M,G])}Q.sort(g(j)?(M,G)=>j(M[1],G[1]):(M,G)=>String(M[1]).localeCompare(String(G[1])));let W=[];for(let[M]of Q)W.push(M);if(!Iz(Z,W)){Z=W,$.flags|=D;for(let M=$.sinks;M;M=M.nextSink)w(M.sink);if(F===0)x()}},splice(j,Q,...W){let M=Z.length,G=j<0?Math.max(0,M+j):Math.min(j,M),d=Math.max(0,Math.min(Q??Math.max(0,M-Math.max(0,G)),M-G)),jz={},C={},m=!1;for(let _=0;_<d;_++){let l=G+_,mz=Z[l];if(mz){let cz=X.get(mz);if(cz)C[mz]=cz.get(),m=!0}}let h=Z.slice(0,G),yz={},kz=!1,gz=!1;for(let _ of W){let l=H(_);if(l in C)delete C[l],yz[l]=_,gz=!0;else if(X.has(l))throw new Xz(f,l,_);else jz[l]=_,kz=!0;h.push(l)}h.push(...Z.slice(G+d));let vz=kz||m||gz;if(vz){U({add:jz,change:yz,remove:C,changed:vz}),Z=h,$.flags|=D;for(let _=$.sinks;_;_=_.nextSink)w(_.sink);if(F===0)x()}return Object.values(C)},deriveCollection(j){return xz(V,j)}};return V}function hz(z){return Y(z,f)}function Mz(z,J){if(L(t,z,Wz),J?.value!==void 0)K(t,J.value,J?.guard);let X={fn:z,value:J?.value,flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:J?.equals??S,error:void 0,stop:void 0},Z=J?.watched,H=k(X,Z?()=>Z(()=>{if(w(X),F===0)x()}):void 0);return{[Symbol.toStringTag]:t,get(){if(H(),I(X),X.error)throw X.error;return Bz(t,X.value),X.value}}}function pz(z){return Y(z,t)}function Uz(z,J){if(L(r,z,zz),J?.value!==void 0)K(r,J.value,J?.guard);let X={value:!1,sinks:null,sinksTail:null,equals:S},Z={fn:z,value:J?.value,sources:null,sourcesTail:null,sinks:null,sinksTail:null,flags:D,equals:J?.equals??S,controller:void 0,error:void 0,stop:void 0,pendingNode:X},H=J?.watched,B=k(Z,H?()=>H(()=>{if(w(Z),F===0)x()}):void 0),P=k(X);return{[Symbol.toStringTag]:r,get(){if(B(),I(Z),Z.error)throw Z.error;return Bz(r,Z.value),Z.value},isPending(){return P(),Z.pendingNode.value},abort(){Z.controller?.abort(),Z.controller=void 0,v(Z.pendingNode,!1)}}}function Vz(z){return Y(z,r)}function xz(z,J){L(n,J);let X=zz(J),Z=new Map,H=[],B=(j)=>{let Q=X?Uz(async(W,M)=>{let G=z.byKey(j)?.get();if(G==null)return W;return J(G,M)}):Mz(()=>{let W=z.byKey(j)?.get();if(W==null)return;return J(W)});Z.set(j,Q)};function P(j){if(!Iz(H,j)){let Q=new Set(j);for(let W of H)if(!Q.has(W))Z.delete(W);for(let W of j)if(!Z.has(W))B(W);H=j,$.flags|=A}}function O(){P(Array.from(z.keys()));let j=[];for(let Q of H)try{let W=Z.get(Q)?.get();if(W!=null)j.push(W)}catch(W){if(!(W instanceof Jz))throw W}return j}let $={fn:O,value:[],flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:(j,Q)=>{if(j.length!==Q.length)return!1;for(let W=0;W<j.length;W++)if(j[W]!==Q[W])return!1;return!0},error:void 0};function U(){if($.sources){if($.flags)if($.value=y(O),$.flags&A){if($.flags=D,I($),$.error)throw $.error}else $.flags=T}else if($.sinks){if(I($),$.error)throw $.error}else $.value=y(O)}let q=Array.from(y(()=>z.keys()));for(let j of q)B(j);H=q;let V={[Symbol.toStringTag]:n,[Symbol.isConcatSpreadable]:!0,*[Symbol.iterator](){for(let j of H){let Q=Z.get(j);if(Q)yield Q}},get length(){if(R)E($,R);return U(),H.length},keys(){if(R)E($,R);return U(),H.values()},get(){if(R)E($,R);return U(),$.value},at(j){let Q=H[j];return Q!==void 0?Z.get(Q):void 0},byKey(j){return Z.get(j)},keyAt(j){return H[j]},indexOfKey(j){return H.indexOf(j)},deriveCollection(j){return xz(V,j)}};return V}function ZJ(z,J){let X=J?.value??[];if(X.length)K(n,X,Array.isArray);L(n,z,Wz);let Z=new Map,H=[],B=new Map,[P,O]=Sz(J?.keyConfig),N=(W)=>B.get(W)??(O?P(W):void 0),$=J?.createItem??((W)=>u(W,{equals:J?.itemEquals??c}));function U(){let W=[];for(let M of H)try{let G=Z.get(M)?.get();if(G!=null)W.push(G)}catch(G){if(!(G instanceof Jz))throw G}return W}let q={fn:U,value:X,flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:Tz,error:void 0};for(let W of X){let M=P(W);Z.set(M,$(W)),B.set(W,M),H.push(M)}q.value=X,q.flags=D;let V=(W)=>{let{add:M,change:G,remove:d}=W;if(!M?.length&&!G?.length&&!d?.length)return;let jz=!1;i(()=>{if(M)for(let C of M){let m=P(C);if(Z.set(m,$(C)),B.set(C,m),!H.includes(m))H.push(m);jz=!0}if(G)for(let C of G){let m=N(C);if(!m)continue;let h=Z.get(m);if(h&&Dz(h))B.delete(h.get()),h.set(C),B.set(C,m)}if(d)for(let C of d){let m=N(C);if(!m)continue;B.delete(C),Z.delete(m);let h=H.indexOf(m);if(h!==-1)H.splice(h,1);jz=!0}q.flags=D|(jz?A:0);for(let C=q.sinks;C;C=C.nextSink)w(C.sink)})},j=k(q,()=>z(V)),Q={[Symbol.toStringTag]:n,[Symbol.isConcatSpreadable]:!0,*[Symbol.iterator](){for(let W of H){let M=Z.get(W);if(M)yield M}},get length(){return j(),H.length},keys(){return j(),H.values()},get(){if(j(),q.sources){if(q.flags){let W=q.flags&A;if(q.value=y(U),W){if(q.flags=D,I(q),q.error)throw q.error}else q.flags=T}}else if(I(q),q.error)throw q.error;return q.value},at(W){let M=H[W];return M!==void 0?Z.get(M):void 0},byKey(W){return Z.get(W)},keyAt(W){return H[W]},indexOfKey(W){return H.indexOf(W)},deriveCollection(W){return xz(Q,W)}};return Q}function $J(z){return Y(z,n)}function jJ(z){L("Effect",z);let J={fn:z,flags:D,sources:null,sourcesTail:null,cleanup:null},X=()=>{Fz(J),J.fn=void 0,J.flags=T,J.sourcesTail=null,Qz(J)};if(b)$z(b,X);return Ez(J),X}function WJ(z,J){if(!b)throw new wz("match");let X=!Array.isArray(z),Z=X?[z]:z,{nil:H,stale:B}=J,P=X?(V)=>J.ok(V[0]):(V)=>J.ok(V),O=X&&J.err?(V)=>J.err(V[0]):J.err??console.error,N,$=!1,U=Array(Z.length);for(let V=0;V<Z.length;V++)try{U[V]=Z[V].get()}catch(j){if(j instanceof Jz){$=!0;continue}if(!N)N=[];N.push(j instanceof Error?j:Error(String(j)))}let q;try{if($)q=H?.();else if(N)q=O(N);else if(B&&(X?Vz(Z[0])&&Z[0].isPending():Z.some((V)=>Vz(V)&&V.isPending())))q=B();else q=P(U)}catch(V){q=O([V instanceof Error?V:Error(String(V))])}if(typeof q==="function")return q;if(q instanceof Promise){let V=b,j=new AbortController;$z(V,()=>j.abort()),q.then((Q)=>{if(!j.signal.aborted&&typeof Q==="function")$z(V,Q)}).catch((Q)=>{O([Q instanceof Error?Q:Error(String(Q))])})}}function HJ(z,J){if(L(o,z,Wz),J?.value!==void 0)K(o,J.value,J?.guard);let X={value:J?.value,sinks:null,sinksTail:null,equals:J?.equals??S,guard:J?.guard,stop:void 0};return{[Symbol.toStringTag]:o,get(){if(R){if(!X.sinks)X.stop=z((Z)=>{K(o,Z,X.guard),v(X,Z)});E(X,R)}return Bz(o,X.value),X.value}}}function BJ(z){return Y(z,o)}function QJ(z,J){let X={},Z={},H={},B=!1,P=Object.keys(z),O=Object.keys(J);for(let N of O)if(N in z){if(!c(z[N],J[N]))Z[N]=J[N],B=!0}else X[N]=J[N],B=!0;for(let N of P)if(!(N in J))H[N]=void 0,B=!0;return{add:X,change:Z,remove:H,changed:B}}function Gz(z,J){K(a,z,p);let X=new Map,Z=($,U)=>{if(K(`${a} for key "${$}"`,U),Array.isArray(U))X.set($,qz(U));else if(p(U))X.set($,Gz(U));else X.set($,u(U))},H=()=>{let $={};for(let[U,q]of X)$[U]=q.get();return $},B={fn:H,value:z,flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:c,error:void 0},P=($)=>{let U=!1;for(let V in $.add)Z(V,$.add[V]),U=!0;let q=!1;for(let V in $.change){q=!0;break}if(q)i(()=>{for(let V in $.change){let j=$.change[V];K(`${a} for key "${V}"`,j);let Q=X.get(V);if(Q)if(p(j)!==Yz(Q))Z(V,j),U=!0;else Q.set(j)}});for(let V in $.remove)X.delete(V),U=!0;if(U)B.flags|=A;return $.changed},O=k(B,J?.watched);for(let $ of Object.keys(z))Z($,z[$]);let N={[Symbol.toStringTag]:a,[Symbol.isConcatSpreadable]:!1,*[Symbol.iterator](){for(let[$,U]of X)yield[$,U]},keys(){return O(),X.keys()},byKey($){return X.get($)},get(){if(O(),B.sources){if(B.flags){let $=B.flags&A;if(B.value=y(H),$){if(B.flags=D,I(B),B.error)throw B.error}else B.flags=T}}else if(I(B),B.error)throw B.error;return B.value},set($){let U=B.flags&D?H():B.value,q=QJ(U,$);if(P(q)){B.flags|=D;for(let V=B.sinks;V;V=V.nextSink)w(V.sink);if(F===0)x()}},update($){N.set($(N.get()))},add($,U){if(X.has($))throw new Xz(a,$,U);Z($,U),B.flags|=D|A;for(let q=B.sinks;q;q=q.nextSink)w(q.sink);if(F===0)x();return $},remove($){if(X.delete($)){B.flags|=D|A;for(let q=B.sinks;q;q=q.nextSink)w(q.sink);if(F===0)x()}}};return new Proxy(N,{get($,U){if(U in $)return Reflect.get($,U);if(typeof U!=="symbol")return $.byKey(U)},has($,U){if(U in $)return!0;return $.byKey(String(U))!==void 0},ownKeys($){return Array.from($.keys())},getOwnPropertyDescriptor($,U){if(U in $)return Reflect.getOwnPropertyDescriptor($,U);if(typeof U==="symbol")return;let q=$.byKey(String(U));return q?{enumerable:!0,configurable:!0,writable:!0,value:q}:void 0}})}function Yz(z){return Y(z,a)}var qJ=new Set([s,t,r,o,e,f,n,a]);function MJ(z,J){return zz(z)?Uz(z,J):Mz(z,J)}function UJ(z){if(Pz(z))return z;if(z==null)throw new Hz("createSignal",z);if(zz(z))return Uz(z);if(g(z))return Mz(z);if(Az(z))return qz(z);if(p(z))return Gz(z);return u(z)}function VJ(z){if(dz(z))return z;if(z==null||g(z)||Pz(z))throw new Hz("createMutableSignal",z);if(Az(z))return qz(z);if(p(z))return Gz(z);return u(z)}function NJ(z){return pz(z)||Vz(z)}function Pz(z){return z!=null&&qJ.has(z[Symbol.toStringTag])}function dz(z){return Dz(z)||Yz(z)||hz(z)}function lz(z){if(Pz(z))return!0;return z!==null&&typeof z==="object"&&"get"in z&&typeof z.get==="function"}function DJ(z,J){K(e,z,lz);let X=z,Z=J?.guard,H={fn:()=>X.get(),value:void 0,flags:D,sources:null,sourcesTail:null,sinks:null,sinksTail:null,equals:J?.equals??S,error:void 0},B=()=>{if(R)E(H,R);if(I(H),H.error)throw H.error;return H.value},P=(N)=>{if(iz(X))return void X.set(N);if("set"in X&&typeof X.set==="function")K(e,N,Z),X.set(N);else throw new Oz(e)},O=(N)=>{K(e,N,lz),X=N,H.flags|=D;for(let $=H.sinks;$;$=$.nextSink)w($.sink);if(F===0)x()};return{[Symbol.toStringTag]:e,configurable:!0,enumerable:!0,get:B,set:P,replace:O,current:()=>X}}function iz(z){return Y(z,e)}export{Rz as valueString,y as untrack,zJ as unown,WJ as match,Vz as isTask,Yz as isStore,Dz as isState,iz as isSlot,Y as isSignalOfType,Pz as isSignal,BJ as isSensor,p as isRecord,sz as isObjectOfType,dz as isMutableSignal,pz as isMemo,hz as isList,g as isFunction,tz as isEqual,NJ as isComputed,$J as isCollection,zz as isAsyncFunction,Uz as createTask,Gz as createStore,u as createState,DJ as createSlot,UJ as createSignal,HJ as createSensor,ez as createScope,VJ as createMutableSignal,Mz as createMemo,qz as createList,jJ as createEffect,MJ as createComputed,ZJ as createCollection,i as batch,Jz as UnsetSignalValueError,Tz as SKIP_EQUALITY,wz as RequiredOwnerError,Oz as ReadonlySignalError,bz as NullishSignalValueError,Hz as InvalidSignalValueError,fz as InvalidCallbackError,S as DEFAULT_EQUALITY,c as DEEP_EQUALITY,Kz as CircularDependencyError};