atomirx 0.0.1 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +867 -160
  2. package/dist/core/atom.d.ts +83 -6
  3. package/dist/core/batch.d.ts +3 -3
  4. package/dist/core/derived.d.ts +55 -21
  5. package/dist/core/effect.d.ts +47 -51
  6. package/dist/core/getAtomState.d.ts +29 -0
  7. package/dist/core/promiseCache.d.ts +23 -32
  8. package/dist/core/select.d.ts +208 -29
  9. package/dist/core/types.d.ts +55 -19
  10. package/dist/core/withReady.d.ts +69 -0
  11. package/dist/index-CqO6BDwj.cjs +1 -0
  12. package/dist/index-D8RDOTB_.js +1319 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.d.ts +9 -7
  15. package/dist/index.js +12 -10
  16. package/dist/react/index.cjs +10 -10
  17. package/dist/react/index.d.ts +2 -1
  18. package/dist/react/index.js +423 -379
  19. package/dist/react/rx.d.ts +114 -25
  20. package/dist/react/useAction.d.ts +5 -4
  21. package/dist/react/{useValue.d.ts → useSelector.d.ts} +56 -25
  22. package/dist/react/useSelector.test.d.ts +1 -0
  23. package/package.json +17 -1
  24. package/src/core/atom.test.ts +307 -43
  25. package/src/core/atom.ts +143 -21
  26. package/src/core/batch.test.ts +10 -10
  27. package/src/core/batch.ts +3 -3
  28. package/src/core/derived.test.ts +727 -72
  29. package/src/core/derived.ts +141 -73
  30. package/src/core/effect.test.ts +259 -39
  31. package/src/core/effect.ts +62 -85
  32. package/src/core/getAtomState.ts +69 -0
  33. package/src/core/promiseCache.test.ts +5 -3
  34. package/src/core/promiseCache.ts +76 -71
  35. package/src/core/select.ts +405 -130
  36. package/src/core/selector.test.ts +574 -32
  37. package/src/core/types.ts +54 -26
  38. package/src/core/withReady.test.ts +360 -0
  39. package/src/core/withReady.ts +127 -0
  40. package/src/core/withUse.ts +1 -1
  41. package/src/index.test.ts +4 -4
  42. package/src/index.ts +11 -6
  43. package/src/react/index.ts +2 -1
  44. package/src/react/rx.test.tsx +173 -18
  45. package/src/react/rx.tsx +274 -43
  46. package/src/react/useAction.test.ts +12 -14
  47. package/src/react/useAction.ts +11 -9
  48. package/src/react/{useValue.test.ts → useSelector.test.ts} +16 -16
  49. package/src/react/{useValue.ts → useSelector.ts} +64 -33
  50. package/v2.md +44 -44
  51. package/dist/index-2ok7ilik.js +0 -1217
  52. package/dist/index-B_5SFzfl.cjs +0 -1
  53. /package/dist/{react/useValue.test.d.ts → core/withReady.test.d.ts} +0 -0
@@ -1 +0,0 @@
1
- "use strict";var dt=Object.defineProperty;var vt=(e,t,r)=>t in e?dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var p=(e,t,r)=>vt(e,typeof t!="symbol"?t+"":t,r);function ht(e){const t=Object.assign(r=>()=>{const a=t.current;return t.current=r(a),()=>{t.current=a}},{current:e,override:r=>{t.current=r(t.current)},reset:()=>{t.current=e}});return t}function gt(e,t){const r=[];for(const a of e)r.push(a());try{return t()}finally{for(const a of r.reverse())a()}}const V=Object.assign(ht,{use:gt}),T=V(),pt=()=>{};class yt{constructor(t){p(this,"_listeners");p(this,"_settledPayload");p(this,"_isSettled",!1);p(this,"size",()=>this._listeners.size);p(this,"settled",()=>this._isSettled);p(this,"forEach",t=>{this._listeners.forEach(t)});p(this,"on",(t,r)=>{let a;if(r===void 0)a=Array.isArray(t)?t:[t];else{const n=t,o=Array.isArray(r)?r:[r];a=[i=>{const c=n(i);if(c)for(let u=0;u<o.length;u++)o[u](c.value)}]}if(this._isSettled){const n=this._settledPayload;for(let o=0;o<a.length;o++)a[o](n);return pt}const s=this._listeners;for(let n=0;n<a.length;n++)s.add(a[n]);return()=>{for(let n=0;n<a.length;n++)s.delete(a[n])}});p(this,"emit",t=>{this._isSettled||this._doEmit(t,!1,!1)});p(this,"emitLifo",t=>{this._isSettled||this._doEmit(t,!1,!0)});p(this,"clear",()=>{this._listeners.clear()});p(this,"emitAndClear",t=>{this._isSettled||this._doEmit(t,!0,!1)});p(this,"emitAndClearLifo",t=>{this._isSettled||this._doEmit(t,!0,!0)});p(this,"settle",t=>{this._isSettled||(this._settledPayload=t,this._isSettled=!0,this._doEmit(t,!0,!1))});p(this,"_doEmit",(t,r,a)=>{const s=this._listeners,n=s.size;if(n===0)return;const o=Array.from(s);if(r&&s.clear(),a)for(let i=n-1;i>=0;i--)o[i](t);else for(let i=0;i<n;i++)o[i](t)});this._listeners=new Set(t)}}function z(e){return new yt(e)}var B=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function bt(){this.__data__=[],this.size=0}var $t=bt;function mt(e,t){return e===t||e!==e&&t!==t}var Ve=mt,At=Ve;function wt(e,t){for(var r=e.length;r--;)if(At(e[r][0],t))return r;return-1}var Q=wt,Tt=Q,jt=Array.prototype,St=jt.splice;function Et(e){var t=this.__data__,r=Tt(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():St.call(t,r,1),--this.size,!0}var Ot=Et,Ct=Q;function Pt(e){var t=this.__data__,r=Ct(t,e);return r<0?void 0:t[r][1]}var Dt=Pt,Lt=Q;function It(e){return Lt(this.__data__,e)>-1}var Mt=It,xt=Q;function Gt(e,t){var r=this.__data__,a=xt(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var Ft=Gt,Rt=$t,qt=Ot,zt=Dt,Ht=Mt,Nt=Ft;function D(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}D.prototype.clear=Rt;D.prototype.delete=qt;D.prototype.get=zt;D.prototype.has=Ht;D.prototype.set=Nt;var ee=D,Bt=ee;function Ut(){this.__data__=new Bt,this.size=0}var kt=Ut;function Kt(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var Vt=Kt;function Wt(e){return this.__data__.get(e)}var Jt=Wt;function Yt(e){return this.__data__.has(e)}var Xt=Yt,Zt=typeof B=="object"&&B&&B.Object===Object&&B,We=Zt,Qt=We,er=typeof self=="object"&&self&&self.Object===Object&&self,tr=Qt||er||Function("return this")(),S=tr,rr=S,ar=rr.Symbol,ve=ar,be=ve,Je=Object.prototype,nr=Je.hasOwnProperty,sr=Je.toString,q=be?be.toStringTag:void 0;function ir(e){var t=nr.call(e,q),r=e[q];try{e[q]=void 0;var a=!0}catch{}var s=sr.call(e);return a&&(t?e[q]=r:delete e[q]),s}var or=ir,ur=Object.prototype,cr=ur.toString;function lr(e){return cr.call(e)}var fr=lr,$e=ve,dr=or,vr=fr,hr="[object Null]",gr="[object Undefined]",me=$e?$e.toStringTag:void 0;function pr(e){return e==null?e===void 0?gr:hr:me&&me in Object(e)?dr(e):vr(e)}var te=pr;function yr(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ye=yr,_r=te,br=Ye,$r="[object AsyncFunction]",mr="[object Function]",Ar="[object GeneratorFunction]",wr="[object Proxy]";function Tr(e){if(!br(e))return!1;var t=_r(e);return t==mr||t==Ar||t==$r||t==wr}var Xe=Tr,jr=S,Sr=jr["__core-js_shared__"],Er=Sr,se=Er,Ae=function(){var e=/[^.]+$/.exec(se&&se.keys&&se.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Or(e){return!!Ae&&Ae in e}var Cr=Or,Pr=Function.prototype,Dr=Pr.toString;function Lr(e){if(e!=null){try{return Dr.call(e)}catch{}try{return e+""}catch{}}return""}var Ze=Lr,Ir=Xe,Mr=Cr,xr=Ye,Gr=Ze,Fr=/[\\^$.*+?()[\]{}|]/g,Rr=/^\[object .+?Constructor\]$/,qr=Function.prototype,zr=Object.prototype,Hr=qr.toString,Nr=zr.hasOwnProperty,Br=RegExp("^"+Hr.call(Nr).replace(Fr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ur(e){if(!xr(e)||Mr(e))return!1;var t=Ir(e)?Br:Rr;return t.test(Gr(e))}var kr=Ur;function Kr(e,t){return e==null?void 0:e[t]}var Vr=Kr,Wr=kr,Jr=Vr;function Yr(e,t){var r=Jr(e,t);return Wr(r)?r:void 0}var L=Yr,Xr=L,Zr=S,Qr=Xr(Zr,"Map"),he=Qr,ea=L,ta=ea(Object,"create"),re=ta,we=re;function ra(){this.__data__=we?we(null):{},this.size=0}var aa=ra;function na(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var sa=na,ia=re,oa="__lodash_hash_undefined__",ua=Object.prototype,ca=ua.hasOwnProperty;function la(e){var t=this.__data__;if(ia){var r=t[e];return r===oa?void 0:r}return ca.call(t,e)?t[e]:void 0}var fa=la,da=re,va=Object.prototype,ha=va.hasOwnProperty;function ga(e){var t=this.__data__;return da?t[e]!==void 0:ha.call(t,e)}var pa=ga,ya=re,_a="__lodash_hash_undefined__";function ba(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ya&&t===void 0?_a:t,this}var $a=ba,ma=aa,Aa=sa,wa=fa,Ta=pa,ja=$a;function I(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}I.prototype.clear=ma;I.prototype.delete=Aa;I.prototype.get=wa;I.prototype.has=Ta;I.prototype.set=ja;var Sa=I,Te=Sa,Ea=ee,Oa=he;function Ca(){this.size=0,this.__data__={hash:new Te,map:new(Oa||Ea),string:new Te}}var Pa=Ca;function Da(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var La=Da,Ia=La;function Ma(e,t){var r=e.__data__;return Ia(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ae=Ma,xa=ae;function Ga(e){var t=xa(this,e).delete(e);return this.size-=t?1:0,t}var Fa=Ga,Ra=ae;function qa(e){return Ra(this,e).get(e)}var za=qa,Ha=ae;function Na(e){return Ha(this,e).has(e)}var Ba=Na,Ua=ae;function ka(e,t){var r=Ua(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var Ka=ka,Va=Pa,Wa=Fa,Ja=za,Ya=Ba,Xa=Ka;function M(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}M.prototype.clear=Va;M.prototype.delete=Wa;M.prototype.get=Ja;M.prototype.has=Ya;M.prototype.set=Xa;var Qe=M,Za=ee,Qa=he,en=Qe,tn=200;function rn(e,t){var r=this.__data__;if(r instanceof Za){var a=r.__data__;if(!Qa||a.length<tn-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new en(a)}return r.set(e,t),this.size=r.size,this}var an=rn,nn=ee,sn=kt,on=Vt,un=Jt,cn=Xt,ln=an;function x(e){var t=this.__data__=new nn(e);this.size=t.size}x.prototype.clear=sn;x.prototype.delete=on;x.prototype.get=un;x.prototype.has=cn;x.prototype.set=ln;var fn=x,dn="__lodash_hash_undefined__";function vn(e){return this.__data__.set(e,dn),this}var hn=vn;function gn(e){return this.__data__.has(e)}var pn=gn,yn=Qe,_n=hn,bn=pn;function W(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new yn;++t<r;)this.add(e[t])}W.prototype.add=W.prototype.push=_n;W.prototype.has=bn;var $n=W;function mn(e,t){for(var r=-1,a=e==null?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}var An=mn;function wn(e,t){return e.has(t)}var Tn=wn,jn=$n,Sn=An,En=Tn,On=1,Cn=2;function Pn(e,t,r,a,s,n){var o=r&On,i=e.length,c=t.length;if(i!=c&&!(o&&c>i))return!1;var u=n.get(e),f=n.get(t);if(u&&f)return u==t&&f==e;var d=-1,l=!0,y=r&Cn?new jn:void 0;for(n.set(e,t),n.set(t,e);++d<i;){var v=e[d],g=t[d];if(a)var b=o?a(g,v,d,t,e,n):a(v,g,d,e,t,n);if(b!==void 0){if(b)continue;l=!1;break}if(y){if(!Sn(t,function(A,w){if(!En(y,w)&&(v===A||s(v,A,r,a,n)))return y.push(w)})){l=!1;break}}else if(!(v===g||s(v,g,r,a,n))){l=!1;break}}return n.delete(e),n.delete(t),l}var et=Pn,Dn=S,Ln=Dn.Uint8Array,In=Ln;function Mn(e){var t=-1,r=Array(e.size);return e.forEach(function(a,s){r[++t]=[s,a]}),r}var xn=Mn;function Gn(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}var Fn=Gn,je=ve,Se=In,Rn=Ve,qn=et,zn=xn,Hn=Fn,Nn=1,Bn=2,Un="[object Boolean]",kn="[object Date]",Kn="[object Error]",Vn="[object Map]",Wn="[object Number]",Jn="[object RegExp]",Yn="[object Set]",Xn="[object String]",Zn="[object Symbol]",Qn="[object ArrayBuffer]",es="[object DataView]",Ee=je?je.prototype:void 0,ie=Ee?Ee.valueOf:void 0;function ts(e,t,r,a,s,n,o){switch(r){case es:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Qn:return!(e.byteLength!=t.byteLength||!n(new Se(e),new Se(t)));case Un:case kn:case Wn:return Rn(+e,+t);case Kn:return e.name==t.name&&e.message==t.message;case Jn:case Xn:return e==t+"";case Vn:var i=zn;case Yn:var c=a&Nn;if(i||(i=Hn),e.size!=t.size&&!c)return!1;var u=o.get(e);if(u)return u==t;a|=Bn,o.set(e,t);var f=qn(i(e),i(t),a,s,n,o);return o.delete(e),f;case Zn:if(ie)return ie.call(e)==ie.call(t)}return!1}var rs=ts;function as(e,t){for(var r=-1,a=t.length,s=e.length;++r<a;)e[s+r]=t[r];return e}var ns=as,ss=Array.isArray,ge=ss,is=ns,os=ge;function us(e,t,r){var a=t(e);return os(e)?a:is(a,r(e))}var cs=us;function ls(e,t){for(var r=-1,a=e==null?0:e.length,s=0,n=[];++r<a;){var o=e[r];t(o,r,e)&&(n[s++]=o)}return n}var fs=ls;function ds(){return[]}var vs=ds,hs=fs,gs=vs,ps=Object.prototype,ys=ps.propertyIsEnumerable,Oe=Object.getOwnPropertySymbols,_s=Oe?function(e){return e==null?[]:(e=Object(e),hs(Oe(e),function(t){return ys.call(e,t)}))}:gs,bs=_s;function $s(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}var ms=$s;function As(e){return e!=null&&typeof e=="object"}var ne=As,ws=te,Ts=ne,js="[object Arguments]";function Ss(e){return Ts(e)&&ws(e)==js}var Es=Ss,Ce=Es,Os=ne,tt=Object.prototype,Cs=tt.hasOwnProperty,Ps=tt.propertyIsEnumerable,Ds=Ce(function(){return arguments}())?Ce:function(e){return Os(e)&&Cs.call(e,"callee")&&!Ps.call(e,"callee")},Ls=Ds,J={exports:{}};function Is(){return!1}var Ms=Is;J.exports;(function(e,t){var r=S,a=Ms,s=t&&!t.nodeType&&t,n=s&&!0&&e&&!e.nodeType&&e,o=n&&n.exports===s,i=o?r.Buffer:void 0,c=i?i.isBuffer:void 0,u=c||a;e.exports=u})(J,J.exports);var rt=J.exports,xs=9007199254740991,Gs=/^(?:0|[1-9]\d*)$/;function Fs(e,t){var r=typeof e;return t=t??xs,!!t&&(r=="number"||r!="symbol"&&Gs.test(e))&&e>-1&&e%1==0&&e<t}var Rs=Fs,qs=9007199254740991;function zs(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=qs}var at=zs,Hs=te,Ns=at,Bs=ne,Us="[object Arguments]",ks="[object Array]",Ks="[object Boolean]",Vs="[object Date]",Ws="[object Error]",Js="[object Function]",Ys="[object Map]",Xs="[object Number]",Zs="[object Object]",Qs="[object RegExp]",ei="[object Set]",ti="[object String]",ri="[object WeakMap]",ai="[object ArrayBuffer]",ni="[object DataView]",si="[object Float32Array]",ii="[object Float64Array]",oi="[object Int8Array]",ui="[object Int16Array]",ci="[object Int32Array]",li="[object Uint8Array]",fi="[object Uint8ClampedArray]",di="[object Uint16Array]",vi="[object Uint32Array]",h={};h[si]=h[ii]=h[oi]=h[ui]=h[ci]=h[li]=h[fi]=h[di]=h[vi]=!0;h[Us]=h[ks]=h[ai]=h[Ks]=h[ni]=h[Vs]=h[Ws]=h[Js]=h[Ys]=h[Xs]=h[Zs]=h[Qs]=h[ei]=h[ti]=h[ri]=!1;function hi(e){return Bs(e)&&Ns(e.length)&&!!h[Hs(e)]}var gi=hi;function pi(e){return function(t){return e(t)}}var yi=pi,Y={exports:{}};Y.exports;(function(e,t){var r=We,a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,n=s&&s.exports===a,o=n&&r.process,i=function(){try{var c=s&&s.require&&s.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();e.exports=i})(Y,Y.exports);var _i=Y.exports,bi=gi,$i=yi,Pe=_i,De=Pe&&Pe.isTypedArray,mi=De?$i(De):bi,nt=mi,Ai=ms,wi=Ls,Ti=ge,ji=rt,Si=Rs,Ei=nt,Oi=Object.prototype,Ci=Oi.hasOwnProperty;function Pi(e,t){var r=Ti(e),a=!r&&wi(e),s=!r&&!a&&ji(e),n=!r&&!a&&!s&&Ei(e),o=r||a||s||n,i=o?Ai(e.length,String):[],c=i.length;for(var u in e)(t||Ci.call(e,u))&&!(o&&(u=="length"||s&&(u=="offset"||u=="parent")||n&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Si(u,c)))&&i.push(u);return i}var Di=Pi,Li=Object.prototype;function Ii(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Li;return e===r}var Mi=Ii;function xi(e,t){return function(r){return e(t(r))}}var Gi=xi,Fi=Gi,Ri=Fi(Object.keys,Object),qi=Ri,zi=Mi,Hi=qi,Ni=Object.prototype,Bi=Ni.hasOwnProperty;function Ui(e){if(!zi(e))return Hi(e);var t=[];for(var r in Object(e))Bi.call(e,r)&&r!="constructor"&&t.push(r);return t}var ki=Ui,Ki=Xe,Vi=at;function Wi(e){return e!=null&&Vi(e.length)&&!Ki(e)}var Ji=Wi,Yi=Di,Xi=ki,Zi=Ji;function Qi(e){return Zi(e)?Yi(e):Xi(e)}var eo=Qi,to=cs,ro=bs,ao=eo;function no(e){return to(e,ao,ro)}var so=no,Le=so,io=1,oo=Object.prototype,uo=oo.hasOwnProperty;function co(e,t,r,a,s,n){var o=r&io,i=Le(e),c=i.length,u=Le(t),f=u.length;if(c!=f&&!o)return!1;for(var d=c;d--;){var l=i[d];if(!(o?l in t:uo.call(t,l)))return!1}var y=n.get(e),v=n.get(t);if(y&&v)return y==t&&v==e;var g=!0;n.set(e,t),n.set(t,e);for(var b=o;++d<c;){l=i[d];var A=e[l],w=t[l];if(a)var F=o?a(w,A,l,t,e,n):a(A,w,l,e,t,n);if(!(F===void 0?A===w||s(A,w,r,a,n):F)){g=!1;break}b||(b=l=="constructor")}if(g&&!b){var _=e.constructor,$=t.constructor;_!=$&&"constructor"in e&&"constructor"in t&&!(typeof _=="function"&&_ instanceof _&&typeof $=="function"&&$ instanceof $)&&(g=!1)}return n.delete(e),n.delete(t),g}var lo=co,fo=L,vo=S,ho=fo(vo,"DataView"),go=ho,po=L,yo=S,_o=po(yo,"Promise"),bo=_o,$o=L,mo=S,Ao=$o(mo,"Set"),wo=Ao,To=L,jo=S,So=To(jo,"WeakMap"),Eo=So,ue=go,ce=he,le=bo,fe=wo,de=Eo,st=te,G=Ze,Ie="[object Map]",Oo="[object Object]",Me="[object Promise]",xe="[object Set]",Ge="[object WeakMap]",Fe="[object DataView]",Co=G(ue),Po=G(ce),Do=G(le),Lo=G(fe),Io=G(de),O=st;(ue&&O(new ue(new ArrayBuffer(1)))!=Fe||ce&&O(new ce)!=Ie||le&&O(le.resolve())!=Me||fe&&O(new fe)!=xe||de&&O(new de)!=Ge)&&(O=function(e){var t=st(e),r=t==Oo?e.constructor:void 0,a=r?G(r):"";if(a)switch(a){case Co:return Fe;case Po:return Ie;case Do:return Me;case Lo:return xe;case Io:return Ge}return t});var Mo=O,oe=fn,xo=et,Go=rs,Fo=lo,Re=Mo,qe=ge,ze=rt,Ro=nt,qo=1,He="[object Arguments]",Ne="[object Array]",U="[object Object]",zo=Object.prototype,Be=zo.hasOwnProperty;function Ho(e,t,r,a,s,n){var o=qe(e),i=qe(t),c=o?Ne:Re(e),u=i?Ne:Re(t);c=c==He?U:c,u=u==He?U:u;var f=c==U,d=u==U,l=c==u;if(l&&ze(e)){if(!ze(t))return!1;o=!0,f=!1}if(l&&!f)return n||(n=new oe),o||Ro(e)?xo(e,t,r,a,s,n):Go(e,t,c,r,a,s,n);if(!(r&qo)){var y=f&&Be.call(e,"__wrapped__"),v=d&&Be.call(t,"__wrapped__");if(y||v){var g=y?e.value():e,b=v?t.value():t;return n||(n=new oe),s(g,b,r,a,n)}}return l?(n||(n=new oe),Fo(e,t,r,a,s,n)):!1}var No=Ho,Bo=No,Ue=ne;function it(e,t,r,a,s){return e===t?!0:e==null||t==null||!Ue(e)&&!Ue(t)?e!==e&&t!==t:Bo(e,t,r,a,it,s)}var Uo=it,ko=Uo;function Ko(e,t){return ko(e,t)}var Vo=Ko;const Wo=_t(Vo);function Jo(e,t){return Object.is(e,t)}function H(e,t,r=Object.is){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(const n of a)if(!Object.prototype.hasOwnProperty.call(t,n)||!r(e[n],t[n]))return!1;return!0}function ot(e,t){return H(e,t,H)}function Yo(e,t){return H(e,t,ot)}const Xo=Wo;function pe(e){return!e||e==="strict"?Jo:e==="shallow"?H:e==="shallow2"?ot:e==="shallow3"?Yo:e==="deep"?Xo:e}function ke(e){const t=e;let r=e;return Object.assign((...a)=>r(...a),{getOriginal:()=>t,getCurrent:()=>r,setCurrent(a){r=a}})}function Zo(e){return typeof e=="function"&&"getOriginal"in e&&"getCurrent"in e&&"setCurrent"in e}function Qo(e,t,r){return e?typeof t=="function"?Zo(e.value)?(e.value.setCurrent(t),[e.value,!0]):[ke(t),!1]:t&&t instanceof Date?e.value&&e.value instanceof Date&&t.getTime()===e.value.getTime()?[e.value,!0]:[t,!1]:r(e.value,t)?[e.value,!0]:[t,!1]:typeof t=="function"?[ke(t),!1]:[t,!1]}const X=V(e=>e()),Z=Symbol.for("atomirx.atom"),N=Symbol.for("atomirx.derived");function ut(e){return Object.assign(e,{use(t){const r=t(e);return r?typeof r=="object"||typeof r=="function"?"use"in r?r:ut(r):r:e}})}function m(e){return e!==null&&typeof e=="object"&&"then"in e&&typeof e.then=="function"}const P=new WeakMap;function j(e){const t=P.get(e);if(t)return t;const r={status:"pending",promise:e};return P.set(e,r),e.then(a=>{const s=P.get(e);(s==null?void 0:s.status)==="pending"&&P.set(e,{status:"fulfilled",value:a})},a=>{const s=P.get(e);(s==null?void 0:s.status)==="pending"&&P.set(e,{status:"rejected",error:a})}),r}function eu(e){return e!==null&&typeof e=="object"&&N in e&&e[N]===!0}function K(e){if(eu(e))return e.state();const t=e.value;if(!m(t))return{status:"ready",value:t};const r=j(t);switch(r.status){case"fulfilled":return{status:"ready",value:r.value};case"rejected":return{status:"error",error:r.error};case"pending":return{status:"loading",promise:r.promise}}}function tu(e){if(!m(e))return e;const r=j(e);switch(r.status){case"pending":throw r.promise;case"rejected":throw r.error;case"fulfilled":return r.value}}function ru(e){return m(e)?j(e).status==="pending":!1}function au(e){return m(e)?j(e).status==="fulfilled":!1}function nu(e){return m(e)?j(e).status==="rejected":!1}function su(e,t={}){var l,y;const r=z(),a=pe(t.equals);let n=typeof e=="function"?e():e,o=!1;m(n)&&j(n);const i=()=>{r.forEach(v=>{X.current(v)})},c=v=>{let g;typeof v=="function"?g=v(n):g=v,!a(g,n)&&(n=g,o=!0,m(n)&&j(n),i())},u=()=>{const v=typeof e=="function"?e():e;m(v)&&j(v);const g=!a(v,n);n=v,o=!1,g&&i()},f=()=>o,d=ut({[Z]:!0,meta:t.meta,get value(){return n},set:c,reset:u,dirty:f,on:r.on});return(y=T.current)==null||y.call(T,{type:"mutable",key:(l=t.meta)==null?void 0:l.key,meta:t.meta,atom:d}),d}let k=0;function ct(e){if(k++,k===1){let t=new Set;const r=a=>{t.add(a)};try{return V.use([X(()=>r)],e)}finally{k--,V.use([X(()=>r)],()=>{for(;t.size>0;){const a=t;t=new Set;for(const s of a)s()}})}}try{return e()}finally{k--}}function iu(e,t){let r,a;const s=i=>{i&&typeof i=="object"&&"dispose"in i&&typeof i.dispose=="function"&&i.dispose()},n=()=>{s(r),r=void 0};return Object.assign(()=>{var i;return r||(a?r=a(e):r=e(),(i=T.current)==null||i.call(T,{type:"module",key:t==null?void 0:t.key,meta:t==null?void 0:t.meta,module:r})),r},{key:t==null?void 0:t.key,override:i=>{if(r!==void 0)throw new Error("Cannot override after initialization. Call override() before accessing the service.");a=i},reset:()=>{a=void 0,n()},invalidate:()=>{a=void 0,n()},isOverridden:()=>a!==void 0,isInitialized:()=>r!==void 0})}const ou=typeof AggregateError<"u"?AggregateError:class extends Error{constructor(r,a){super(a);p(this,"errors");this.name="AggregateError",this.errors=r}};class uu extends Error{constructor(r,a="All atoms rejected"){super(a);p(this,"errors");this.name="AllAtomsRejectedError",this.errors=r}}function lt(e){const t=new Set,i={get:c=>{t.add(c);const u=K(c);switch(u.status){case"ready":return u.value;case"error":throw u.error;case"loading":throw u.promise}},all:(...c)=>{const u=[];let f=null;for(const d of c){t.add(d);const l=K(d);switch(l.status){case"ready":u.push(l.value);break;case"error":throw l.error;case"loading":f||(f=l.promise);break}}if(f)throw f;return u},any:(...c)=>{const u=[];let f=null;for(const d of c){t.add(d);const l=Ke(d);switch(l.status){case"ready":return l.value;case"error":u.push(l.error);break;case"loading":f||(f=l.promise);break}}throw f||new ou(u,"All atoms rejected")},race:(...c)=>{let u=null;for(const f of c){t.add(f);const d=Ke(f);switch(d.status){case"ready":return d.value;case"error":throw d.error;case"loading":u||(u=d.promise);break}}throw u||new Error("race() called with no atoms")},settled:(...c)=>{const u=[];let f=null;for(const d of c){t.add(d);const l=K(d);switch(l.status){case"ready":u.push({status:"ready",value:l.value});break;case"error":u.push({status:"error",error:l.error});break;case"loading":f||(f=l.promise);break}}if(f)throw f;return u}};try{const c=e(i);if(m(c))throw new Error("select() selector must return a synchronous value, not a Promise. For async data, create an async atom with atom(Promise) and use get() to read it.");return{value:c,error:void 0,promise:void 0,dependencies:t}}catch(c){return m(c)?{value:void 0,error:void 0,promise:c,dependencies:t}:{value:void 0,error:c,promise:void 0,dependencies:t}}}function Ke(e){const t=e.value;if(!m(t))return{status:"ready",value:t};const r=j(t);switch(r.status){case"fulfilled":return{status:"ready",value:r.value};case"rejected":return{status:"error",error:r.error};case"pending":return{status:"loading",promise:r.promise}}}function ft(e,t={}){var w,F;const r=z(),a=pe(t.equals),s="fallback"in t,n=t.fallback;let o,i,c=null,u=!1,f=!1,d=0;const l=new Map,y=()=>{r.forEach(_=>{X.current(_)})},v=_=>{for(const[$,R]of l)_.has($)||(R(),l.delete($));for(const $ of _)if(!l.has($)){const R=$.on(()=>{g()});l.set($,R)}},g=(_=!1)=>{const $=++d;return f=!0,i=void 0,c=new Promise((R,ye)=>{const _e=()=>{const E=lt(e);if(v(E.dependencies),E.promise)E.promise.then(()=>{d===$&&_e()},C=>{d===$&&(f=!1,i=C,ye(C),_||y())});else if(E.error!==void 0)f=!1,i=E.error,ye(E.error),_||y();else{const C=E.value;f=!1,i=void 0,(!o||!a(C,o.value))&&(o={value:C},_||y()),R(C)}};_e()}),c},b=()=>{u||(u=!0,g(!0))},A={[Z]:!0,[N]:!0,meta:t.meta,get value(){return b(),c},get staleValue(){if(b(),o)return o.value;if(s)return n},state(){return b(),f?{status:"loading",promise:c}:i!==void 0?{status:"error",error:i}:o?{status:"ready",value:o.value}:{status:"loading",promise:c}},refresh(){u?g():b()},on(_){return b(),r.on(_)}};return(F=T.current)==null||F.call(T,{type:"derived",key:(w=t.meta)==null?void 0:w.key,meta:t.meta,atom:A}),A}function cu(e,t){let r=!1;const a=z(),s=z();return ft(o=>{if(s.clear(),a.emitAndClear(),!r)try{ct(()=>e({...o,onCleanup:a.on,onError:s.on}))}catch(i){if(m(i))throw i;s.size()>0?s.emitAndClear(i):t!=null&&t.onError&&i instanceof Error&&t.onError(i)}}).value.catch(o=>{t!=null&&t.onError&&o instanceof Error&&t.onError(o)}),()=>{r||(r=!0,s.clear(),a.emitAndClear())}}function lu(e){return e!==null&&typeof e=="object"&&Z in e&&e[Z]===!0}function fu(e){return e!==null&&typeof e=="object"&&N in e&&e[N]===!0}exports.AllAtomsRejectedError=uu;exports.atom=su;exports.batch=ct;exports.define=iu;exports.derived=ft;exports.effect=cu;exports.emitter=z;exports.getAtomState=K;exports.isAtom=lu;exports.isDerived=fu;exports.isFulfilled=au;exports.isPending=ru;exports.isPromiseLike=m;exports.isRejected=nu;exports.onCreateHook=T;exports.resolveEquality=pe;exports.select=lt;exports.shallowEqual=H;exports.trackPromise=j;exports.tryStabilize=Qo;exports.unwrap=tu;