atomirx 0.0.2 → 0.0.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.
Files changed (65) hide show
  1. package/README.md +868 -161
  2. package/coverage/src/core/onCreateHook.ts.html +72 -70
  3. package/dist/core/atom.d.ts +83 -6
  4. package/dist/core/batch.d.ts +3 -3
  5. package/dist/core/derived.d.ts +69 -22
  6. package/dist/core/effect.d.ts +52 -52
  7. package/dist/core/getAtomState.d.ts +29 -0
  8. package/dist/core/hook.d.ts +1 -1
  9. package/dist/core/onCreateHook.d.ts +37 -23
  10. package/dist/core/onErrorHook.d.ts +49 -0
  11. package/dist/core/promiseCache.d.ts +23 -32
  12. package/dist/core/select.d.ts +208 -29
  13. package/dist/core/types.d.ts +107 -22
  14. package/dist/core/withReady.d.ts +115 -0
  15. package/dist/core/withReady.test.d.ts +1 -0
  16. package/dist/index-CBVj1kSj.js +1350 -0
  17. package/dist/index-Cxk9v0um.cjs +1 -0
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.ts +12 -8
  20. package/dist/index.js +18 -15
  21. package/dist/react/index.cjs +10 -10
  22. package/dist/react/index.d.ts +2 -1
  23. package/dist/react/index.js +422 -377
  24. package/dist/react/rx.d.ts +114 -25
  25. package/dist/react/useAction.d.ts +5 -4
  26. package/dist/react/{useValue.d.ts → useSelector.d.ts} +56 -25
  27. package/dist/react/useSelector.test.d.ts +1 -0
  28. package/package.json +1 -1
  29. package/src/core/atom.test.ts +307 -43
  30. package/src/core/atom.ts +144 -22
  31. package/src/core/batch.test.ts +10 -10
  32. package/src/core/batch.ts +3 -3
  33. package/src/core/define.test.ts +12 -11
  34. package/src/core/define.ts +1 -1
  35. package/src/core/derived.test.ts +906 -72
  36. package/src/core/derived.ts +192 -81
  37. package/src/core/effect.test.ts +651 -45
  38. package/src/core/effect.ts +102 -98
  39. package/src/core/getAtomState.ts +69 -0
  40. package/src/core/hook.test.ts +5 -5
  41. package/src/core/hook.ts +1 -1
  42. package/src/core/onCreateHook.ts +38 -23
  43. package/src/core/onErrorHook.test.ts +350 -0
  44. package/src/core/onErrorHook.ts +52 -0
  45. package/src/core/promiseCache.test.ts +5 -3
  46. package/src/core/promiseCache.ts +76 -71
  47. package/src/core/select.ts +405 -130
  48. package/src/core/selector.test.ts +574 -32
  49. package/src/core/types.ts +107 -29
  50. package/src/core/withReady.test.ts +534 -0
  51. package/src/core/withReady.ts +191 -0
  52. package/src/core/withUse.ts +1 -1
  53. package/src/index.test.ts +4 -4
  54. package/src/index.ts +21 -7
  55. package/src/react/index.ts +2 -1
  56. package/src/react/rx.test.tsx +173 -18
  57. package/src/react/rx.tsx +274 -43
  58. package/src/react/useAction.test.ts +12 -14
  59. package/src/react/useAction.ts +11 -9
  60. package/src/react/{useValue.test.ts → useSelector.test.ts} +16 -16
  61. package/src/react/{useValue.ts → useSelector.ts} +64 -33
  62. package/v2.md +44 -44
  63. package/dist/index-2ok7ilik.js +0 -1217
  64. package/dist/index-B_5SFzfl.cjs +0 -1
  65. /package/dist/{react/useValue.test.d.ts → core/onErrorHook.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";var mt=Object.defineProperty;var At=(e,t,r)=>t in e?mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var A=(e,t,r)=>At(e,typeof t!="symbol"?t+"":t,r);function wt(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 Tt(e,t){const r=[];for(const a of e)r.push(a());try{return t()}finally{for(const a of r.reverse())a()}}const U=Object.assign(wt,{use:Tt}),j=U(),St=()=>{};class jt{constructor(t){A(this,"_listeners");A(this,"_settledPayload");A(this,"_isSettled",!1);A(this,"size",()=>this._listeners.size);A(this,"settled",()=>this._isSettled);A(this,"forEach",t=>{this._listeners.forEach(t)});A(this,"on",(t,r)=>{let a;if(r===void 0)a=Array.isArray(t)?t:[t];else{const n=t,u=Array.isArray(r)?r:[r];a=[i=>{const l=n(i);if(l)for(let f=0;f<u.length;f++)u[f](l.value)}]}if(this._isSettled){const n=this._settledPayload;for(let u=0;u<a.length;u++)a[u](n);return St}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])}});A(this,"emit",t=>{this._isSettled||this._doEmit(t,!1,!1)});A(this,"emitLifo",t=>{this._isSettled||this._doEmit(t,!1,!0)});A(this,"clear",()=>{this._listeners.clear()});A(this,"emitAndClear",t=>{this._isSettled||this._doEmit(t,!0,!1)});A(this,"emitAndClearLifo",t=>{this._isSettled||this._doEmit(t,!0,!0)});A(this,"settle",t=>{this._isSettled||(this._settledPayload=t,this._isSettled=!0,this._doEmit(t,!0,!1))});A(this,"_doEmit",(t,r,a)=>{const s=this._listeners,n=s.size;if(n===0)return;const u=Array.from(s);if(r&&s.clear(),a)for(let i=n-1;i>=0;i--)u[i](t);else for(let i=0;i<n;i++)u[i](t)});this._listeners=new Set(t)}}function B(e){return new jt(e)}var V=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Et(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ct(){this.__data__=[],this.size=0}var Ot=Ct;function Pt(e,t){return e===t||e!==e&&t!==t}var tt=Pt,It=tt;function Dt(e,t){for(var r=e.length;r--;)if(It(e[r][0],t))return r;return-1}var ae=Dt,Lt=ae,xt=Array.prototype,Mt=xt.splice;function Ft(e){var t=this.__data__,r=Lt(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():Mt.call(t,r,1),--this.size,!0}var Gt=Ft,Rt=ae;function qt(e){var t=this.__data__,r=Rt(t,e);return r<0?void 0:t[r][1]}var Nt=qt,kt=ae;function zt(e){return kt(this.__data__,e)>-1}var Ut=zt,Bt=ae;function Ht(e,t){var r=this.__data__,a=Bt(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var Kt=Ht,Vt=Ot,Wt=Gt,Jt=Nt,Yt=Ut,Xt=Kt;function F(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])}}F.prototype.clear=Vt;F.prototype.delete=Wt;F.prototype.get=Jt;F.prototype.has=Yt;F.prototype.set=Xt;var ne=F,Zt=ne;function Qt(){this.__data__=new Zt,this.size=0}var er=Qt;function tr(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var rr=tr;function ar(e){return this.__data__.get(e)}var nr=ar;function sr(e){return this.__data__.has(e)}var ir=sr,or=typeof V=="object"&&V&&V.Object===Object&&V,rt=or,ur=rt,cr=typeof self=="object"&&self&&self.Object===Object&&self,lr=ur||cr||Function("return this")(),I=lr,fr=I,dr=fr.Symbol,be=dr,je=be,at=Object.prototype,vr=at.hasOwnProperty,hr=at.toString,z=je?je.toStringTag:void 0;function gr(e){var t=vr.call(e,z),r=e[z];try{e[z]=void 0;var a=!0}catch{}var s=hr.call(e);return a&&(t?e[z]=r:delete e[z]),s}var yr=gr,_r=Object.prototype,pr=_r.toString;function br(e){return pr.call(e)}var $r=br,Ee=be,mr=yr,Ar=$r,wr="[object Null]",Tr="[object Undefined]",Ce=Ee?Ee.toStringTag:void 0;function Sr(e){return e==null?e===void 0?Tr:wr:Ce&&Ce in Object(e)?mr(e):Ar(e)}var se=Sr;function jr(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var nt=jr,Er=se,Cr=nt,Or="[object AsyncFunction]",Pr="[object Function]",Ir="[object GeneratorFunction]",Dr="[object Proxy]";function Lr(e){if(!Cr(e))return!1;var t=Er(e);return t==Pr||t==Ir||t==Or||t==Dr}var st=Lr,xr=I,Mr=xr["__core-js_shared__"],Fr=Mr,ce=Fr,Oe=function(){var e=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Gr(e){return!!Oe&&Oe in e}var Rr=Gr,qr=Function.prototype,Nr=qr.toString;function kr(e){if(e!=null){try{return Nr.call(e)}catch{}try{return e+""}catch{}}return""}var it=kr,zr=st,Ur=Rr,Br=nt,Hr=it,Kr=/[\\^$.*+?()[\]{}|]/g,Vr=/^\[object .+?Constructor\]$/,Wr=Function.prototype,Jr=Object.prototype,Yr=Wr.toString,Xr=Jr.hasOwnProperty,Zr=RegExp("^"+Yr.call(Xr).replace(Kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Qr(e){if(!Br(e)||Ur(e))return!1;var t=zr(e)?Zr:Vr;return t.test(Hr(e))}var ea=Qr;function ta(e,t){return e==null?void 0:e[t]}var ra=ta,aa=ea,na=ra;function sa(e,t){var r=na(e,t);return aa(r)?r:void 0}var G=sa,ia=G,oa=I,ua=ia(oa,"Map"),$e=ua,ca=G,la=ca(Object,"create"),ie=la,Pe=ie;function fa(){this.__data__=Pe?Pe(null):{},this.size=0}var da=fa;function va(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ha=va,ga=ie,ya="__lodash_hash_undefined__",_a=Object.prototype,pa=_a.hasOwnProperty;function ba(e){var t=this.__data__;if(ga){var r=t[e];return r===ya?void 0:r}return pa.call(t,e)?t[e]:void 0}var $a=ba,ma=ie,Aa=Object.prototype,wa=Aa.hasOwnProperty;function Ta(e){var t=this.__data__;return ma?t[e]!==void 0:wa.call(t,e)}var Sa=Ta,ja=ie,Ea="__lodash_hash_undefined__";function Ca(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ja&&t===void 0?Ea:t,this}var Oa=Ca,Pa=da,Ia=ha,Da=$a,La=Sa,xa=Oa;function R(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])}}R.prototype.clear=Pa;R.prototype.delete=Ia;R.prototype.get=Da;R.prototype.has=La;R.prototype.set=xa;var Ma=R,Ie=Ma,Fa=ne,Ga=$e;function Ra(){this.size=0,this.__data__={hash:new Ie,map:new(Ga||Fa),string:new Ie}}var qa=Ra;function Na(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var ka=Na,za=ka;function Ua(e,t){var r=e.__data__;return za(t)?r[typeof t=="string"?"string":"hash"]:r.map}var oe=Ua,Ba=oe;function Ha(e){var t=Ba(this,e).delete(e);return this.size-=t?1:0,t}var Ka=Ha,Va=oe;function Wa(e){return Va(this,e).get(e)}var Ja=Wa,Ya=oe;function Xa(e){return Ya(this,e).has(e)}var Za=Xa,Qa=oe;function en(e,t){var r=Qa(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var tn=en,rn=qa,an=Ka,nn=Ja,sn=Za,on=tn;function q(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])}}q.prototype.clear=rn;q.prototype.delete=an;q.prototype.get=nn;q.prototype.has=sn;q.prototype.set=on;var ot=q,un=ne,cn=$e,ln=ot,fn=200;function dn(e,t){var r=this.__data__;if(r instanceof un){var a=r.__data__;if(!cn||a.length<fn-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new ln(a)}return r.set(e,t),this.size=r.size,this}var vn=dn,hn=ne,gn=er,yn=rr,_n=nr,pn=ir,bn=vn;function N(e){var t=this.__data__=new hn(e);this.size=t.size}N.prototype.clear=gn;N.prototype.delete=yn;N.prototype.get=_n;N.prototype.has=pn;N.prototype.set=bn;var $n=N,mn="__lodash_hash_undefined__";function An(e){return this.__data__.set(e,mn),this}var wn=An;function Tn(e){return this.__data__.has(e)}var Sn=Tn,jn=ot,En=wn,Cn=Sn;function Z(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new jn;++t<r;)this.add(e[t])}Z.prototype.add=Z.prototype.push=En;Z.prototype.has=Cn;var On=Z;function Pn(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 In=Pn;function Dn(e,t){return e.has(t)}var Ln=Dn,xn=On,Mn=In,Fn=Ln,Gn=1,Rn=2;function qn(e,t,r,a,s,n){var u=r&Gn,i=e.length,l=t.length;if(i!=l&&!(u&&l>i))return!1;var f=n.get(e),v=n.get(t);if(f&&v)return f==t&&v==e;var p=-1,o=!0,c=r&Rn?new xn:void 0;for(n.set(e,t),n.set(t,e);++p<i;){var d=e[p],g=t[p];if(a)var h=u?a(g,d,p,t,e,n):a(d,g,p,e,t,n);if(h!==void 0){if(h)continue;o=!1;break}if(c){if(!Mn(t,function(_,$){if(!Fn(c,$)&&(d===_||s(d,_,r,a,n)))return c.push($)})){o=!1;break}}else if(!(d===g||s(d,g,r,a,n))){o=!1;break}}return n.delete(e),n.delete(t),o}var ut=qn,Nn=I,kn=Nn.Uint8Array,zn=kn;function Un(e){var t=-1,r=Array(e.size);return e.forEach(function(a,s){r[++t]=[s,a]}),r}var Bn=Un;function Hn(e){var t=-1,r=Array(e.size);return e.forEach(function(a){r[++t]=a}),r}var Kn=Hn,De=be,Le=zn,Vn=tt,Wn=ut,Jn=Bn,Yn=Kn,Xn=1,Zn=2,Qn="[object Boolean]",es="[object Date]",ts="[object Error]",rs="[object Map]",as="[object Number]",ns="[object RegExp]",ss="[object Set]",is="[object String]",os="[object Symbol]",us="[object ArrayBuffer]",cs="[object DataView]",xe=De?De.prototype:void 0,le=xe?xe.valueOf:void 0;function ls(e,t,r,a,s,n,u){switch(r){case cs:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case us:return!(e.byteLength!=t.byteLength||!n(new Le(e),new Le(t)));case Qn:case es:case as:return Vn(+e,+t);case ts:return e.name==t.name&&e.message==t.message;case ns:case is:return e==t+"";case rs:var i=Jn;case ss:var l=a&Xn;if(i||(i=Yn),e.size!=t.size&&!l)return!1;var f=u.get(e);if(f)return f==t;a|=Zn,u.set(e,t);var v=Wn(i(e),i(t),a,s,n,u);return u.delete(e),v;case os:if(le)return le.call(e)==le.call(t)}return!1}var fs=ls;function ds(e,t){for(var r=-1,a=t.length,s=e.length;++r<a;)e[s+r]=t[r];return e}var vs=ds,hs=Array.isArray,me=hs,gs=vs,ys=me;function _s(e,t,r){var a=t(e);return ys(e)?a:gs(a,r(e))}var ps=_s;function bs(e,t){for(var r=-1,a=e==null?0:e.length,s=0,n=[];++r<a;){var u=e[r];t(u,r,e)&&(n[s++]=u)}return n}var $s=bs;function ms(){return[]}var As=ms,ws=$s,Ts=As,Ss=Object.prototype,js=Ss.propertyIsEnumerable,Me=Object.getOwnPropertySymbols,Es=Me?function(e){return e==null?[]:(e=Object(e),ws(Me(e),function(t){return js.call(e,t)}))}:Ts,Cs=Es;function Os(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}var Ps=Os;function Is(e){return e!=null&&typeof e=="object"}var ue=Is,Ds=se,Ls=ue,xs="[object Arguments]";function Ms(e){return Ls(e)&&Ds(e)==xs}var Fs=Ms,Fe=Fs,Gs=ue,ct=Object.prototype,Rs=ct.hasOwnProperty,qs=ct.propertyIsEnumerable,Ns=Fe(function(){return arguments}())?Fe:function(e){return Gs(e)&&Rs.call(e,"callee")&&!qs.call(e,"callee")},ks=Ns,Q={exports:{}};function zs(){return!1}var Us=zs;Q.exports;(function(e,t){var r=I,a=Us,s=t&&!t.nodeType&&t,n=s&&!0&&e&&!e.nodeType&&e,u=n&&n.exports===s,i=u?r.Buffer:void 0,l=i?i.isBuffer:void 0,f=l||a;e.exports=f})(Q,Q.exports);var lt=Q.exports,Bs=9007199254740991,Hs=/^(?:0|[1-9]\d*)$/;function Ks(e,t){var r=typeof e;return t=t??Bs,!!t&&(r=="number"||r!="symbol"&&Hs.test(e))&&e>-1&&e%1==0&&e<t}var Vs=Ks,Ws=9007199254740991;function Js(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ws}var ft=Js,Ys=se,Xs=ft,Zs=ue,Qs="[object Arguments]",ei="[object Array]",ti="[object Boolean]",ri="[object Date]",ai="[object Error]",ni="[object Function]",si="[object Map]",ii="[object Number]",oi="[object Object]",ui="[object RegExp]",ci="[object Set]",li="[object String]",fi="[object WeakMap]",di="[object ArrayBuffer]",vi="[object DataView]",hi="[object Float32Array]",gi="[object Float64Array]",yi="[object Int8Array]",_i="[object Int16Array]",pi="[object Int32Array]",bi="[object Uint8Array]",$i="[object Uint8ClampedArray]",mi="[object Uint16Array]",Ai="[object Uint32Array]",y={};y[hi]=y[gi]=y[yi]=y[_i]=y[pi]=y[bi]=y[$i]=y[mi]=y[Ai]=!0;y[Qs]=y[ei]=y[di]=y[ti]=y[vi]=y[ri]=y[ai]=y[ni]=y[si]=y[ii]=y[oi]=y[ui]=y[ci]=y[li]=y[fi]=!1;function wi(e){return Zs(e)&&Xs(e.length)&&!!y[Ys(e)]}var Ti=wi;function Si(e){return function(t){return e(t)}}var ji=Si,ee={exports:{}};ee.exports;(function(e,t){var r=rt,a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,n=s&&s.exports===a,u=n&&r.process,i=function(){try{var l=s&&s.require&&s.require("util").types;return l||u&&u.binding&&u.binding("util")}catch{}}();e.exports=i})(ee,ee.exports);var Ei=ee.exports,Ci=Ti,Oi=ji,Ge=Ei,Re=Ge&&Ge.isTypedArray,Pi=Re?Oi(Re):Ci,dt=Pi,Ii=Ps,Di=ks,Li=me,xi=lt,Mi=Vs,Fi=dt,Gi=Object.prototype,Ri=Gi.hasOwnProperty;function qi(e,t){var r=Li(e),a=!r&&Di(e),s=!r&&!a&&xi(e),n=!r&&!a&&!s&&Fi(e),u=r||a||s||n,i=u?Ii(e.length,String):[],l=i.length;for(var f in e)(t||Ri.call(e,f))&&!(u&&(f=="length"||s&&(f=="offset"||f=="parent")||n&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Mi(f,l)))&&i.push(f);return i}var Ni=qi,ki=Object.prototype;function zi(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ki;return e===r}var Ui=zi;function Bi(e,t){return function(r){return e(t(r))}}var Hi=Bi,Ki=Hi,Vi=Ki(Object.keys,Object),Wi=Vi,Ji=Ui,Yi=Wi,Xi=Object.prototype,Zi=Xi.hasOwnProperty;function Qi(e){if(!Ji(e))return Yi(e);var t=[];for(var r in Object(e))Zi.call(e,r)&&r!="constructor"&&t.push(r);return t}var eo=Qi,to=st,ro=ft;function ao(e){return e!=null&&ro(e.length)&&!to(e)}var no=ao,so=Ni,io=eo,oo=no;function uo(e){return oo(e)?so(e):io(e)}var co=uo,lo=ps,fo=Cs,vo=co;function ho(e){return lo(e,vo,fo)}var go=ho,qe=go,yo=1,_o=Object.prototype,po=_o.hasOwnProperty;function bo(e,t,r,a,s,n){var u=r&yo,i=qe(e),l=i.length,f=qe(t),v=f.length;if(l!=v&&!u)return!1;for(var p=l;p--;){var o=i[p];if(!(u?o in t:po.call(t,o)))return!1}var c=n.get(e),d=n.get(t);if(c&&d)return c==t&&d==e;var g=!0;n.set(e,t),n.set(t,e);for(var h=u;++p<l;){o=i[p];var _=e[o],$=t[o];if(a)var b=u?a($,_,o,t,e,n):a(_,$,o,e,t,n);if(!(b===void 0?_===$||s(_,$,r,a,n):b)){g=!1;break}h||(h=o=="constructor")}if(g&&!h){var m=e.constructor,D=t.constructor;m!=D&&"constructor"in e&&"constructor"in t&&!(typeof m=="function"&&m instanceof m&&typeof D=="function"&&D instanceof D)&&(g=!1)}return n.delete(e),n.delete(t),g}var $o=bo,mo=G,Ao=I,wo=mo(Ao,"DataView"),To=wo,So=G,jo=I,Eo=So(jo,"Promise"),Co=Eo,Oo=G,Po=I,Io=Oo(Po,"Set"),Do=Io,Lo=G,xo=I,Mo=Lo(xo,"WeakMap"),Fo=Mo,de=To,ve=$e,he=Co,ge=Do,ye=Fo,vt=se,k=it,Ne="[object Map]",Go="[object Object]",ke="[object Promise]",ze="[object Set]",Ue="[object WeakMap]",Be="[object DataView]",Ro=k(de),qo=k(ve),No=k(he),ko=k(ge),zo=k(ye),L=vt;(de&&L(new de(new ArrayBuffer(1)))!=Be||ve&&L(new ve)!=Ne||he&&L(he.resolve())!=ke||ge&&L(new ge)!=ze||ye&&L(new ye)!=Ue)&&(L=function(e){var t=vt(e),r=t==Go?e.constructor:void 0,a=r?k(r):"";if(a)switch(a){case Ro:return Be;case qo:return Ne;case No:return ke;case ko:return ze;case zo:return Ue}return t});var Uo=L,fe=$n,Bo=ut,Ho=fs,Ko=$o,He=Uo,Ke=me,Ve=lt,Vo=dt,Wo=1,We="[object Arguments]",Je="[object Array]",W="[object Object]",Jo=Object.prototype,Ye=Jo.hasOwnProperty;function Yo(e,t,r,a,s,n){var u=Ke(e),i=Ke(t),l=u?Je:He(e),f=i?Je:He(t);l=l==We?W:l,f=f==We?W:f;var v=l==W,p=f==W,o=l==f;if(o&&Ve(e)){if(!Ve(t))return!1;u=!0,v=!1}if(o&&!v)return n||(n=new fe),u||Vo(e)?Bo(e,t,r,a,s,n):Ho(e,t,l,r,a,s,n);if(!(r&Wo)){var c=v&&Ye.call(e,"__wrapped__"),d=p&&Ye.call(t,"__wrapped__");if(c||d){var g=c?e.value():e,h=d?t.value():t;return n||(n=new fe),s(g,h,r,a,n)}}return o?(n||(n=new fe),Ko(e,t,r,a,s,n)):!1}var Xo=Yo,Zo=Xo,Xe=ue;function ht(e,t,r,a,s){return e===t?!0:e==null||t==null||!Xe(e)&&!Xe(t)?e!==e&&t!==t:Zo(e,t,r,a,ht,s)}var Qo=ht,eu=Qo;function tu(e,t){return eu(e,t)}var ru=tu;const au=Et(ru);function nu(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 Ae(e,t){return H(e,t,H)}function su(e,t){return H(e,t,Ae)}const iu=au;function we(e){return!e||e==="strict"?nu:e==="shallow"?H:e==="shallow2"?Ae:e==="shallow3"?su:e==="deep"?iu:e}function Ze(e){const t=e;let r=e;return Object.assign((...a)=>r(...a),{getOriginal:()=>t,getCurrent:()=>r,setCurrent(a){r=a}})}function ou(e){return typeof e=="function"&&"getOriginal"in e&&"getCurrent"in e&&"setCurrent"in e}function uu(e,t,r){return e?typeof t=="function"?ou(e.value)?(e.value.setCurrent(t),[e.value,!0]):[Ze(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"?[Ze(t),!1]:[t,!1]}const te=U(e=>e()),re=Symbol.for("atomirx.atom"),_e=Symbol.for("atomirx.derived");function K(e){return Object.assign(e,{use(t){const r=t(e);return r?typeof r=="object"||typeof r=="function"?"use"in r?r:K(r):r:e}})}function w(e){return e!==null&&typeof e=="object"&&"then"in e&&typeof e.then=="function"}const pe=new WeakMap;function Qe(e){return pe.get(e)}function J(e,t){if(t.length===1){if(e==="allSettled"){const a=Promise.allSettled(t).then(()=>{});return pe.set(a,{type:e,promises:t}),a}return t[0]}const r=Promise[e](t);return r.catch(()=>{}),pe.set(r,{type:e,promises:t}),r}function cu(e,t){if(e===t)return!0;if(!e||!t)return!1;const r=Qe(e),a=Qe(t);return!!r&&!!a&&Ae(r,a)}const M=new WeakMap;function O(e){const t=M.get(e);if(t)return t;const r={status:"pending",promise:e};return M.set(e,r),e.then(a=>{const s=M.get(e);(s==null?void 0:s.status)==="pending"&&M.set(e,{status:"fulfilled",value:a})},a=>{const s=M.get(e);(s==null?void 0:s.status)==="pending"&&M.set(e,{status:"rejected",error:a})}),r}function lu(e){if(!w(e))return e;const r=O(e);switch(r.status){case"pending":throw r.promise;case"rejected":throw r.error;case"fulfilled":return r.value}}function fu(e){return w(e)?O(e).status==="pending":!1}function du(e){return w(e)?O(e).status==="fulfilled":!1}function vu(e){return w(e)?O(e).status==="rejected":!1}function hu(e,t={}){var _,$;const r=B(),a=we(t.equals);let s=null;const n=B(),u=b=>{s&&(s.abort(b),s=null),n.emitAndClear()},i=()=>(s=new AbortController,K({signal:s.signal,onCleanup:n.on})),l=typeof e=="function";let v=l?e(i()):e,p=!1;w(v)&&O(v);const o=()=>{r.forEach(b=>{te.current(b)})},c=b=>{let m;typeof b=="function"?m=b(v):m=b,!a(m,v)&&(u("value changed"),v=m,p=!0,w(v)&&O(v),o())},d=()=>{u("reset");const b=l?e(i()):e;w(b)&&O(b);const m=!a(b,v);v=b,p=!1,m&&o()},g=()=>p,h=K({[re]:!0,meta:t.meta,get(){return v},use:void 0,set:c,reset:d,dirty:g,on:r.on});return($=j.current)==null||$.call(j,{type:"mutable",key:(_=t.meta)==null?void 0:_.key,meta:t.meta,instance:h}),h}function gu(e){return e}let Y=0;function gt(e){if(Y++,Y===1){let t=new Set;const r=a=>{t.add(a)};try{return U.use([te(()=>r)],e)}finally{Y--,U.use([te(()=>r)],()=>{for(;t.size>0;){const a=t;t=new Set;for(const s of a)s()}})}}try{return e()}finally{Y--}}function yu(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=j.current)==null||i.call(j,{type:"module",key:t==null?void 0:t.key,meta:t==null?void 0:t.meta,instance: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 X=U();function yt(e){return e!==null&&typeof e=="object"&&re in e&&e[re]===!0}function _t(e){return e!==null&&typeof e=="object"&&_e in e&&e[_e]===!0}function x(e){if(_t(e))return e.state();const t=e.get();if(!w(t))return{status:"ready",value:t};const r=O(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}}}const _u=typeof AggregateError<"u"?AggregateError:class extends Error{constructor(r,a){super(a);A(this,"errors");this.name="AggregateError",this.errors=r}};class pu extends Error{constructor(r,a="All atoms rejected"){super(a);A(this,"errors");this.name="AllAtomsRejectedError",this.errors=r}}function pt(e){const t=new Set;let r=!0;const a=o=>{if(!r)throw new Error(`${o}() was called outside of the selection context. This usually happens when calling context methods in async callbacks (setTimeout, Promise.then, etc.). All atom reads must happen synchronously during selector execution. For async access, use atom.get() directly (e.g., myMutableAtom$.get() or await myDerivedAtom$.get()).`)},s=o=>{a("read"),t.add(o);const c=x(o);switch(c.status){case"ready":return c.value;case"error":throw c.error;case"loading":throw c.promise}},n=o=>{a("all");const c=[],d=[];for(const g of o){t.add(g);const h=x(g);switch(h.status){case"ready":c.push(h.value);break;case"error":throw h.error;case"loading":d.push(h.promise);break}}if(d.length>0)throw J("all",d);return c},u=o=>{a("race");const c=[],d=Object.entries(o);for(const[g,h]of d){t.add(h);const _=x(h);switch(_.status){case"ready":return{key:g,value:_.value};case"error":throw _.error;case"loading":c.push(_.promise);break}}throw c.length>0?J("race",c):new Error("race() called with no atoms")},i=o=>{a("any");const c=[],d=[],g=Object.entries(o);for(const[h,_]of g){t.add(_);const $=x(_);switch($.status){case"ready":return{key:h,value:$.value};case"error":c.push($.error);break;case"loading":d.push($.promise);break}}throw d.length>0?J("race",d):new _u(c,"All atoms rejected")},l=o=>{a("settled");const c=[],d=[];for(const g of o){t.add(g);const h=x(g);switch(h.status){case"ready":c.push({status:"ready",value:h.value});break;case"error":c.push({status:"error",error:h.error});break;case"loading":d.push(h.promise);break}}if(d.length>0)throw J("allSettled",d);return c},f=o=>{a("safe");try{return[void 0,o()]}catch(c){if(w(c))throw c;return[c,void 0]}};function v(o){if(a("state"),yt(o)){t.add(o);const c=x(o);switch(c.status){case"ready":return{status:"ready",value:c.value,error:void 0};case"error":return{status:"error",value:void 0,error:c.error};case"loading":return{status:"loading",value:void 0,error:void 0}}}try{return{status:"ready",value:o(),error:void 0}}catch(c){return w(c)?{status:"loading",value:void 0,error:void 0}:{status:"error",value:void 0,error:c}}}const p=K({read:s,all:n,any:i,race:u,settled:l,safe:f,state:v});try{const o=e(p);if(w(o))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:o,error:void 0,promise:void 0,dependencies:t}}catch(o){return w(o)?{value:void 0,error:void 0,promise:o,dependencies:t}:{value:void 0,error:o,promise:void 0,dependencies:t}}finally{r=!1}}function et(e){if(e==null)throw new Promise(()=>{});if(w(e)){const t=O(e);if(t.status==="pending")throw t.promise;if(t.status==="fulfilled")return t.value;throw t.error}return e}function bu(){return e=>({...e,ready:(t,r)=>{if(typeof t=="function"){const n=t();if(w(n))throw new Error("ready(callback) overload does not support async callbacks. Use ready(atom, selector?) instead.");return et(n)}const a=e.read(t),s=r?r(a):a;return et(s)}})}function bt(e,t={}){var Te,Se;const r=B(),a=we(t.equals),s="fallback"in t,n=t.fallback;let u,i,l=null,f=!1,v=!1,p=0,o=null,c=null;const d=new Map;let g;const h=T=>{var P,S;(P=t.onError)==null||P.call(t,T);const E=t._errorSource??g;(S=X.current)==null||S.call(X,{source:E,error:T})},_=()=>{r.forEach(T=>{te.current(T)})},$=T=>{for(const[E,P]of d)T.has(E)||(P(),d.delete(E));for(const E of T)if(!d.has(E)){const P=E.on(()=>{b()});d.set(E,P)}},b=(T=!1)=>{const E=++p;v=!0,i=void 0,o||(l=new Promise((S,C)=>{o=S,c=C}),l.catch(()=>{}));const P=()=>{const S=pt(C=>e(C.use(bu())));if($(S.dependencies),S.promise)T||_(),S.promise.then(()=>{p===E&&P()},C=>{p===E&&(v=!1,i=C,c==null||c(C),o=null,c=null,h(C),_())});else if(S.error!==void 0)v=!1,i=S.error,c==null||c(S.error),o=null,c=null,h(S.error),T||_();else{const C=S.value,$t=!u;v=!1,i=void 0,(!u||!a(C,u.value))&&(u={value:C},($t||!T)&&_()),o==null||o(C),o=null,c=null}};return P(),l},m=()=>{f||(f=!0,b(!0))},D={[re]:!0,[_e]:!0,meta:t.meta,get(){return m(),l},get staleValue(){if(m(),u)return u.value;if(s)return n},state(){return m(),v?{status:"loading",promise:l}:i!==void 0?{status:"error",error:i}:u?{status:"ready",value:u.value}:{status:"loading",promise:l}},refresh(){f?b():m()},on(T){return m(),r.on(T)}};return g={type:"derived",key:(Te=t.meta)==null?void 0:Te.key,meta:t.meta,instance:D},(Se=j.current)==null||Se.call(j,g),D}function $u(e,t){var i,l;let r=!1;const a=B(),s={meta:t==null?void 0:t.meta,dispose:()=>{r||(r=!0,a.emitAndClear())}},n={type:"effect",key:(i=t==null?void 0:t.meta)==null?void 0:i.key,meta:t==null?void 0:t.meta,instance:s};return bt(f=>{if(a.emitAndClear(),r)return;const v={...f,onCleanup:a.on};gt(()=>e(v))},{onError:t==null?void 0:t.onError,_errorSource:n}).get(),(l=j.current)==null||l.call(j,n),s}exports.AllAtomsRejectedError=pu;exports.atom=hu;exports.batch=gt;exports.define=yu;exports.derived=bt;exports.effect=$u;exports.emitter=B;exports.getAtomState=x;exports.isAtom=yt;exports.isDerived=_t;exports.isFulfilled=du;exports.isPending=fu;exports.isPromiseLike=w;exports.isRejected=vu;exports.onCreateHook=j;exports.onErrorHook=X;exports.promisesEqual=cu;exports.readonly=gu;exports.resolveEquality=we;exports.select=pt;exports.shallowEqual=H;exports.trackPromise=O;exports.tryStabilize=uu;exports.unwrap=lu;exports.withUse=K;
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-B_5SFzfl.cjs");exports.AllAtomsRejectedError=e.AllAtomsRejectedError;exports.atom=e.atom;exports.batch=e.batch;exports.define=e.define;exports.derived=e.derived;exports.effect=e.effect;exports.emitter=e.emitter;exports.getAtomState=e.getAtomState;exports.isAtom=e.isAtom;exports.isDerived=e.isDerived;exports.isFulfilled=e.isFulfilled;exports.isPending=e.isPending;exports.isRejected=e.isRejected;exports.onCreateHook=e.onCreateHook;exports.select=e.select;exports.trackPromise=e.trackPromise;exports.unwrap=e.unwrap;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-Cxk9v0um.cjs");exports.AllAtomsRejectedError=e.AllAtomsRejectedError;exports.atom=e.atom;exports.batch=e.batch;exports.define=e.define;exports.derived=e.derived;exports.effect=e.effect;exports.emitter=e.emitter;exports.getAtomState=e.getAtomState;exports.isAtom=e.isAtom;exports.isDerived=e.isDerived;exports.isFulfilled=e.isFulfilled;exports.isPending=e.isPending;exports.isRejected=e.isRejected;exports.onCreateHook=e.onCreateHook;exports.onErrorHook=e.onErrorHook;exports.promisesEqual=e.promisesEqual;exports.readonly=e.readonly;exports.select=e.select;exports.trackPromise=e.trackPromise;exports.unwrap=e.unwrap;
package/dist/index.d.ts CHANGED
@@ -1,14 +1,18 @@
1
- export { atom } from './core/atom';
1
+ export { atom, readonly } from './core/atom';
2
2
  export { batch } from './core/batch';
3
3
  export { define } from './core/define';
4
- export { derived } from './core/derived';
5
- export { effect } from './core/effect';
4
+ export { derived, type DerivedContext } from './core/derived';
5
+ export { effect, type EffectContext } from './core/effect';
6
6
  export { emitter } from './core/emitter';
7
7
  export { isAtom, isDerived } from './core/isAtom';
8
8
  export { select, AllAtomsRejectedError } from './core/select';
9
- export { getAtomState, isPending, isFulfilled, isRejected, trackPromise, unwrap, } from './core/promiseCache';
10
- export type { Atom, AtomMeta, AtomOptions, AtomState, AtomValue, AnyAtom, DerivedAtom, DerivedAtomMeta, DerivedOptions, EffectOptions, Equality, EqualityShorthand, Getter, MutableAtom, MutableAtomMeta, Pipeable, SettledResult, } from './core/types';
9
+ export { getAtomState } from './core/getAtomState';
10
+ export { isPending, isFulfilled, isRejected, trackPromise, unwrap, } from './core/promiseCache';
11
+ export type { Atom, AtomMeta, AtomOptions, AtomState, AtomValue, AnyAtom, DerivedAtom, DerivedAtomMeta, DerivedOptions, EffectOptions, Equality, EqualityShorthand, Getter, KeyedResult, MutableAtom, MutableAtomMeta, Pipeable, SelectStateResult, SettledResult, } from './core/types';
11
12
  export { onCreateHook } from './core/onCreateHook';
12
- export type { AtomCreateInfo, ModuleCreateInfo } from './core/onCreateHook';
13
- export type { SelectContext, SelectResult, ContextSelectorFn, } from './core/select';
14
- export type { PromiseState } from './core/promiseCache';
13
+ export type { CreateInfo, MutableInfo, DerivedInfo, EffectInfo, ModuleInfo, } from './core/onCreateHook';
14
+ export { onErrorHook } from './core/onErrorHook';
15
+ export type { ErrorInfo } from './core/onErrorHook';
16
+ export type { SelectContext, SelectResult, ReactiveSelector as ContextSelectorFn, SafeResult, } from './core/select';
17
+ export type { PromiseState, CombinedPromiseMeta } from './core/promiseCache';
18
+ export { promisesEqual } from './core/promiseCache';
package/dist/index.js CHANGED
@@ -1,20 +1,23 @@
1
- import { A as a, c as t, d as i, e as o, f as r, g as d, h as m, k as c, i as l, j as f, m as n, l as A, n as g, p as j, s as k, o as p, u } from "./index-2ok7ilik.js";
1
+ import { A as a, c as o, e as r, f as t, g as i, h as d, j as l, l as m, i as n, k as c, n as f, m as A, o as k, q as p, v as u, x as g, d as j, s as v, p as E, u as h } from "./index-CBVj1kSj.js";
2
2
  export {
3
3
  a as AllAtomsRejectedError,
4
- t as atom,
5
- i as batch,
6
- o as define,
7
- r as derived,
4
+ o as atom,
5
+ r as batch,
6
+ t as define,
7
+ i as derived,
8
8
  d as effect,
9
- m as emitter,
10
- c as getAtomState,
11
- l as isAtom,
12
- f as isDerived,
13
- n as isFulfilled,
9
+ l as emitter,
10
+ m as getAtomState,
11
+ n as isAtom,
12
+ c as isDerived,
13
+ f as isFulfilled,
14
14
  A as isPending,
15
- g as isRejected,
16
- j as onCreateHook,
17
- k as select,
18
- p as trackPromise,
19
- u as unwrap
15
+ k as isRejected,
16
+ p as onCreateHook,
17
+ u as onErrorHook,
18
+ g as promisesEqual,
19
+ j as readonly,
20
+ v as select,
21
+ E as trackPromise,
22
+ h as unwrap
20
23
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react"),u=require("../index-B_5SFzfl.cjs");function ae(c,l){const O=u.isAtom(c)?({get:v})=>v(c):c,b=u.resolveEquality(l??"shallow"),S=h.useRef(O),P=h.useRef(b);S.current=O,P.current=b;const y=h.useRef(new Map),p=h.useRef(new Set),i=h.useRef({value:void 0,initialized:!1}),C=h.useCallback(()=>{const v=u.select(S.current);if(p.current=v.dependencies,v.promise!==void 0)throw v.promise;if(v.error!==void 0)throw v.error;const R=v.value;return(!i.current.initialized||!P.current(R,i.current.value))&&(i.current={value:R,initialized:!0}),i.current.value},[]),d=h.useCallback(v=>{const R=y.current,k=()=>{const D=p.current;for(const[x,E]of R)D.has(x)||(E(),R.delete(x));for(const x of D)if(!R.has(x)){const E=x.on(()=>{const T=u.select(S.current);p.current=T.dependencies,k(),v()});R.set(x,E)}};return k(),()=>{for(const D of R.values())D();R.clear()}},[]);return h.useSyncExternalStore(d,C,C)}function pr(c){return c==null?"strict":Array.isArray(c)?"shallow":c instanceof Date?"deep":typeof c=="object"?"shallow":"strict"}function br(c,l){const O=h.useRef({}),b=h.useRef(null);b.current===null&&(b.current={});const S=O.current,P=b.current;for(const y of Object.keys(c)){const p=c[y],i=S[y];if(typeof p=="function"){const[R]=u.tryStabilize(i,p,()=>!1);S[y]={value:R},P[y]=R;continue}const C=l==null?void 0:l[y],d=C?u.resolveEquality(C):u.resolveEquality(pr(p)),[v]=u.tryStabilize(i,p,d);S[y]={value:v},P[y]=v}for(const y of Object.keys(S))y in c||(delete S[y],delete P[y]);return P}const De={status:"idle",result:void 0,error:void 0},Fe={status:"loading",result:void 0,error:void 0};function Rr(c,l){switch(l.type){case"START":return Fe;case"SUCCESS":return{status:"success",result:l.result,error:void 0};case"ERROR":return{status:"error",result:void 0,error:l.error};case"RESET":return De;default:return c}}function Er(c,l={}){const{lazy:O=!0,exclusive:b=!0,deps:S=[]}=l,P=O?De:Fe,[y,p]=h.useReducer(Rr,P),i=h.useRef(null),C=h.useRef(c);C.current=c;const d=h.useCallback(()=>{const E=i.current;return E?(E.abort(),i.current=null,!0):!1},[]),v=(O?[]:S??[]).filter(u.isAtom),R=ae(({get:E})=>v.map(T=>E(T))),k=h.useCallback(()=>{b&&d();const E=new AbortController;i.current=E,p({type:"START"});let T;try{T=C.current({signal:E.signal})}catch(m){return p({type:"ERROR",error:m}),Object.assign(Promise.reject(m),{abort:()=>E.abort()})}if(u.isPromiseLike(T)){const m=T;return m.then(F=>{i.current===E&&p({type:"SUCCESS",result:F})},F=>{if(F instanceof DOMException&&F.name==="AbortError"){(i.current===null||i.current===E)&&p({type:"ERROR",error:F});return}i.current===E&&p({type:"ERROR",error:F})}),Object.assign(m,{abort:()=>{E.abort(),i.current===E&&(i.current=null)}})}return p({type:"SUCCESS",result:T}),Object.assign(Promise.resolve(T),{abort:()=>E.abort()})},[b,d]),D=(S??[]).filter(E=>!u.isAtom(E));h.useEffect(()=>{O||k()},[O,...R,...D]),h.useEffect(()=>()=>{b&&d()},[b,d]);const x=h.useCallback(()=>{b&&d(),p({type:"RESET"})},[b,d]);return Object.assign(k,{...y,abort:d,reset:x})}var te={exports:{}},U={};/**
1
+ "use strict";var br=Object.defineProperty;var Rr=(n,o,f)=>o in n?br(n,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):n[o]=f;var Pe=(n,o,f)=>Rr(n,typeof o!="symbol"?o+"":o,f);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react"),u=require("../index-Cxk9v0um.cjs");function oe(n,o){const f=u.isAtom(n)?({read:v})=>v(n):n,E=u.resolveEquality(o??"shallow"),S=R.useRef(f),j=R.useRef(E);S.current=f,j.current=E;const h=R.useRef(new Map),p=R.useRef(new Set),i=R.useRef({value:void 0,initialized:!1}),T=R.useCallback(()=>{const v=u.select(S.current);if(p.current=v.dependencies,v.promise!==void 0)throw v.promise;if(v.error!==void 0)throw v.error;const m=v.value;return(!i.current.initialized||!j.current(m,i.current.value))&&(i.current={value:m,initialized:!0}),i.current.value},[]),d=R.useCallback(v=>{const m=h.current,k=()=>{const F=p.current;for(const[D,y]of m)F.has(D)||(y(),m.delete(D));for(const D of F)if(!m.has(D)){const y=D.on(()=>{const w=u.select(S.current);p.current=w.dependencies,k(),v()});m.set(D,y)}};return k(),()=>{for(const F of m.values())F();m.clear()}},[]);return R.useSyncExternalStore(d,T,T)}function Er(n){return n==null?"strict":Array.isArray(n)?"shallow":n instanceof Date?"deep":typeof n=="object"?"shallow":"strict"}function hr(n,o){const f=R.useRef({}),E=R.useRef(null);E.current===null&&(E.current={});const S=f.current,j=E.current;for(const h of Object.keys(n)){const p=n[h],i=S[h];if(typeof p=="function"){const[m]=u.tryStabilize(i,p,()=>!1);S[h]={value:m},j[h]=m;continue}const T=o==null?void 0:o[h],d=T?u.resolveEquality(T):u.resolveEquality(Er(p)),[v]=u.tryStabilize(i,p,d);S[h]={value:v},j[h]=v}for(const h of Object.keys(S))h in n||(delete S[h],delete j[h]);return j}const Fe={status:"idle",result:void 0,error:void 0},Ie={status:"loading",result:void 0,error:void 0};function mr(n,o){switch(o.type){case"START":return Ie;case"SUCCESS":return{status:"success",result:o.result,error:void 0};case"ERROR":return{status:"error",result:void 0,error:o.error};case"RESET":return Fe;default:return n}}function yr(n,o={}){const{lazy:f=!0,exclusive:E=!0,deps:S=[]}=o,j=f?Fe:Ie,[h,p]=R.useReducer(mr,j),i=R.useRef(null),T=R.useRef(n);T.current=n;const d=R.useCallback(()=>{const y=i.current;return y?(y.abort(),i.current=null,!0):!1},[]),v=(f?[]:S??[]).filter(u.isAtom),m=oe(({read:y})=>v.map(w=>y(w))),k=R.useCallback(()=>{E&&d();const y=new AbortController;i.current=y,p({type:"START"});let w;try{w=T.current(u.withUse({signal:y.signal}))}catch(g){return p({type:"ERROR",error:g}),Object.assign(Promise.reject(g),{abort:()=>y.abort()})}if(u.isPromiseLike(w)){const g=w;return g.then(I=>{i.current===y&&p({type:"SUCCESS",result:I})},I=>{if(I instanceof DOMException&&I.name==="AbortError"){(i.current===null||i.current===y)&&p({type:"ERROR",error:I});return}i.current===y&&p({type:"ERROR",error:I})}),Object.assign(g,{abort:()=>{y.abort(),i.current===y&&(i.current=null)}})}return p({type:"SUCCESS",result:w}),Object.assign(Promise.resolve(w),{abort:()=>y.abort()})},[E,d]),F=(S??[]).filter(y=>!u.isAtom(y));R.useEffect(()=>{f||k()},[f,...m,...F]),R.useEffect(()=>()=>{E&&d()},[E,d]);const D=R.useCallback(()=>{E&&d(),p({type:"RESET"})},[E,d]);return Object.assign(k,{...h,abort:d,reset:D})}var ne={exports:{}},M={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var ke;function yr(){if(ke)return U;ke=1;var c=h,l=Symbol.for("react.element"),O=Symbol.for("react.fragment"),b=Object.prototype.hasOwnProperty,S=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,P={key:!0,ref:!0,__self:!0,__source:!0};function y(p,i,C){var d,v={},R=null,k=null;C!==void 0&&(R=""+C),i.key!==void 0&&(R=""+i.key),i.ref!==void 0&&(k=i.ref);for(d in i)b.call(i,d)&&!P.hasOwnProperty(d)&&(v[d]=i[d]);if(p&&p.defaultProps)for(d in i=p.defaultProps,i)v[d]===void 0&&(v[d]=i[d]);return{$$typeof:l,type:p,key:R,ref:k,props:v,_owner:S.current}}return U.Fragment=O,U.jsx=y,U.jsxs=y,U}var q={};/**
9
+ */var ke;function gr(){if(ke)return M;ke=1;var n=R,o=Symbol.for("react.element"),f=Symbol.for("react.fragment"),E=Object.prototype.hasOwnProperty,S=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,j={key:!0,ref:!0,__self:!0,__source:!0};function h(p,i,T){var d,v={},m=null,k=null;T!==void 0&&(m=""+T),i.key!==void 0&&(m=""+i.key),i.ref!==void 0&&(k=i.ref);for(d in i)E.call(i,d)&&!j.hasOwnProperty(d)&&(v[d]=i[d]);if(p&&p.defaultProps)for(d in i=p.defaultProps,i)v[d]===void 0&&(v[d]=i[d]);return{$$typeof:o,type:p,key:m,ref:k,props:v,_owner:S.current}}return M.Fragment=f,M.jsx=h,M.jsxs=h,M}var z={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,17 +14,17 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var xe;function mr(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&function(){var c=h,l=Symbol.for("react.element"),O=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),y=Symbol.for("react.provider"),p=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),k=Symbol.for("react.offscreen"),D=Symbol.iterator,x="@@iterator";function E(e){if(e===null||typeof e!="object")return null;var r=D&&e[D]||e[x];return typeof r=="function"?r:null}var T=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function m(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];F("error",e,t)}}function F(e,r,t){{var n=T.ReactDebugCurrentFrame,s=n.getStackAddendum();s!==""&&(r+="%s",t=t.concat([s]));var f=t.map(function(o){return String(o)});f.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,f)}}var oe=!1,Ie=!1,$e=!1,We=!1,Ye=!1,ie;ie=Symbol.for("react.module.reference");function Ve(e){return!!(typeof e=="string"||typeof e=="function"||e===b||e===P||Ye||e===S||e===C||e===d||We||e===k||oe||Ie||$e||typeof e=="object"&&e!==null&&(e.$$typeof===R||e.$$typeof===v||e.$$typeof===y||e.$$typeof===p||e.$$typeof===i||e.$$typeof===ie||e.getModuleId!==void 0))}function Le(e,r,t){var n=e.displayName;if(n)return n;var s=r.displayName||r.name||"";return s!==""?t+"("+s+")":t}function se(e){return e.displayName||"Context"}function I(e){if(e==null)return null;if(typeof e.tag=="number"&&m("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case b:return"Fragment";case O:return"Portal";case P:return"Profiler";case S:return"StrictMode";case C:return"Suspense";case d:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case p:var r=e;return se(r)+".Consumer";case y:var t=e;return se(t._context)+".Provider";case i:return Le(e,e.render,"ForwardRef");case v:var n=e.displayName||null;return n!==null?n:I(e.type)||"Memo";case R:{var s=e,f=s._payload,o=s._init;try{return I(o(f))}catch{return null}}}return null}var $=Object.assign,L=0,ue,ce,le,fe,de,ve,pe;function be(){}be.__reactDisabledLog=!0;function Me(){{if(L===0){ue=console.log,ce=console.info,le=console.warn,fe=console.error,de=console.group,ve=console.groupCollapsed,pe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:be,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}L++}}function Ue(){{if(L--,L===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},e,{value:ue}),info:$({},e,{value:ce}),warn:$({},e,{value:le}),error:$({},e,{value:fe}),group:$({},e,{value:de}),groupCollapsed:$({},e,{value:ve}),groupEnd:$({},e,{value:pe})})}L<0&&m("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var K=T.ReactCurrentDispatcher,G;function N(e,r,t){{if(G===void 0)try{throw Error()}catch(s){var n=s.stack.trim().match(/\n( *(at )?)/);G=n&&n[1]||""}return`
18
- `+G+e}}var H=!1,z;{var qe=typeof WeakMap=="function"?WeakMap:Map;z=new qe}function Re(e,r){if(!e||H)return"";{var t=z.get(e);if(t!==void 0)return t}var n;H=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var f;f=K.current,K.current=null,Me();try{if(r){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(j){n=j}Reflect.construct(e,[],o)}else{try{o.call()}catch(j){n=j}e.call(o.prototype)}}else{try{throw Error()}catch(j){n=j}e()}}catch(j){if(j&&n&&typeof j.stack=="string"){for(var a=j.stack.split(`
19
- `),w=n.stack.split(`
20
- `),g=a.length-1,_=w.length-1;g>=1&&_>=0&&a[g]!==w[_];)_--;for(;g>=1&&_>=0;g--,_--)if(a[g]!==w[_]){if(g!==1||_!==1)do if(g--,_--,_<0||a[g]!==w[_]){var A=`
21
- `+a[g].replace(" at new "," at ");return e.displayName&&A.includes("<anonymous>")&&(A=A.replace("<anonymous>",e.displayName)),typeof e=="function"&&z.set(e,A),A}while(g>=1&&_>=0);break}}}finally{H=!1,K.current=f,Ue(),Error.prepareStackTrace=s}var V=e?e.displayName||e.name:"",W=V?N(V):"";return typeof e=="function"&&z.set(e,W),W}function Ne(e,r,t){return Re(e,!1)}function ze(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function B(e,r,t){if(e==null)return"";if(typeof e=="function")return Re(e,ze(e));if(typeof e=="string")return N(e);switch(e){case C:return N("Suspense");case d:return N("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case i:return Ne(e.render);case v:return B(e.type,r,t);case R:{var n=e,s=n._payload,f=n._init;try{return B(f(s),r,t)}catch{}}}return""}var M=Object.prototype.hasOwnProperty,Ee={},ye=T.ReactDebugCurrentFrame;function J(e){if(e){var r=e._owner,t=B(e.type,e._source,r?r.type:null);ye.setExtraStackFrame(t)}else ye.setExtraStackFrame(null)}function Be(e,r,t,n,s){{var f=Function.call.bind(M);for(var o in e)if(f(e,o)){var a=void 0;try{if(typeof e[o]!="function"){var w=Error((n||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw w.name="Invariant Violation",w}a=e[o](r,o,n,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(g){a=g}a&&!(a instanceof Error)&&(J(s),m("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",t,o,typeof a),J(null)),a instanceof Error&&!(a.message in Ee)&&(Ee[a.message]=!0,J(s),m("Failed %s type: %s",t,a.message),J(null))}}}var Je=Array.isArray;function X(e){return Je(e)}function Ke(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t}}function Ge(e){try{return me(e),!1}catch{return!0}}function me(e){return""+e}function ge(e){if(Ge(e))return m("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ke(e)),me(e)}var he=T.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},_e,Se;function Xe(e){if(M.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ze(e){if(M.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Qe(e,r){typeof e.ref=="string"&&he.current}function er(e,r){{var t=function(){_e||(_e=!0,m("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}}function rr(e,r){{var t=function(){Se||(Se=!0,m("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}}var tr=function(e,r,t,n,s,f,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:f};return a._store={},Object.defineProperty(a._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,"_source",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function nr(e,r,t,n,s){{var f,o={},a=null,w=null;t!==void 0&&(ge(t),a=""+t),Ze(r)&&(ge(r.key),a=""+r.key),Xe(r)&&(w=r.ref,Qe(r,s));for(f in r)M.call(r,f)&&!He.hasOwnProperty(f)&&(o[f]=r[f]);if(e&&e.defaultProps){var g=e.defaultProps;for(f in g)o[f]===void 0&&(o[f]=g[f])}if(a||w){var _=typeof e=="function"?e.displayName||e.name||"Unknown":e;a&&er(o,_),w&&rr(o,_)}return tr(e,a,w,s,n,he.current,o)}}var Z=T.ReactCurrentOwner,Te=T.ReactDebugCurrentFrame;function Y(e){if(e){var r=e._owner,t=B(e.type,e._source,r?r.type:null);Te.setExtraStackFrame(t)}else Te.setExtraStackFrame(null)}var Q;Q=!1;function ee(e){return typeof e=="object"&&e!==null&&e.$$typeof===l}function Oe(){{if(Z.current){var e=I(Z.current.type);if(e)return`
17
+ */var De;function _r(){return De||(De=1,process.env.NODE_ENV!=="production"&&function(){var n=R,o=Symbol.for("react.element"),f=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),h=Symbol.for("react.provider"),p=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),k=Symbol.for("react.offscreen"),F=Symbol.iterator,D="@@iterator";function y(e){if(e===null||typeof e!="object")return null;var r=F&&e[F]||e[D];return typeof r=="function"?r:null}var w=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),a=1;a<r;a++)t[a-1]=arguments[a];I("error",e,t)}}function I(e,r,t){{var a=w.ReactDebugCurrentFrame,l=a.getStackAddendum();l!==""&&(r+="%s",t=t.concat([l]));var b=t.map(function(c){return String(c)});b.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,b)}}var ae=!1,We=!1,$e=!1,qe=!1,Ye=!1,ie;ie=Symbol.for("react.module.reference");function Le(e){return!!(typeof e=="string"||typeof e=="function"||e===E||e===j||Ye||e===S||e===T||e===d||qe||e===k||ae||We||$e||typeof e=="object"&&e!==null&&(e.$$typeof===m||e.$$typeof===v||e.$$typeof===h||e.$$typeof===p||e.$$typeof===i||e.$$typeof===ie||e.getModuleId!==void 0))}function Ue(e,r,t){var a=e.displayName;if(a)return a;var l=r.displayName||r.name||"";return l!==""?t+"("+l+")":t}function se(e){return e.displayName||"Context"}function W(e){if(e==null)return null;if(typeof e.tag=="number"&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case E:return"Fragment";case f:return"Portal";case j:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case d:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case p:var r=e;return se(r)+".Consumer";case h:var t=e;return se(t._context)+".Provider";case i:return Ue(e,e.render,"ForwardRef");case v:var a=e.displayName||null;return a!==null?a:W(e.type)||"Memo";case m:{var l=e,b=l._payload,c=l._init;try{return W(c(b))}catch{return null}}}return null}var $=Object.assign,U=0,ue,ce,le,fe,de,ve,pe;function be(){}be.__reactDisabledLog=!0;function Ve(){{if(U===0){ue=console.log,ce=console.info,le=console.warn,fe=console.error,de=console.group,ve=console.groupCollapsed,pe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:be,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}U++}}function Me(){{if(U--,U===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},e,{value:ue}),info:$({},e,{value:ce}),warn:$({},e,{value:le}),error:$({},e,{value:fe}),group:$({},e,{value:de}),groupCollapsed:$({},e,{value:ve}),groupEnd:$({},e,{value:pe})})}U<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var G=w.ReactCurrentDispatcher,H;function N(e,r,t){{if(H===void 0)try{throw Error()}catch(l){var a=l.stack.trim().match(/\n( *(at )?)/);H=a&&a[1]||""}return`
18
+ `+H+e}}var X=!1,B;{var ze=typeof WeakMap=="function"?WeakMap:Map;B=new ze}function Re(e,r){if(!e||X)return"";{var t=B.get(e);if(t!==void 0)return t}var a;X=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var b;b=G.current,G.current=null,Ve();try{if(r){var c=function(){throw Error()};if(Object.defineProperty(c.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(c,[])}catch(A){a=A}Reflect.construct(e,[],c)}else{try{c.call()}catch(A){a=A}e.call(c.prototype)}}else{try{throw Error()}catch(A){a=A}e()}}catch(A){if(A&&a&&typeof A.stack=="string"){for(var s=A.stack.split(`
19
+ `),x=a.stack.split(`
20
+ `),_=s.length-1,O=x.length-1;_>=1&&O>=0&&s[_]!==x[O];)O--;for(;_>=1&&O>=0;_--,O--)if(s[_]!==x[O]){if(_!==1||O!==1)do if(_--,O--,O<0||s[_]!==x[O]){var P=`
21
+ `+s[_].replace(" at new "," at ");return e.displayName&&P.includes("<anonymous>")&&(P=P.replace("<anonymous>",e.displayName)),typeof e=="function"&&B.set(e,P),P}while(_>=1&&O>=0);break}}}finally{X=!1,G.current=b,Me(),Error.prepareStackTrace=l}var L=e?e.displayName||e.name:"",q=L?N(L):"";return typeof e=="function"&&B.set(e,q),q}function Ne(e,r,t){return Re(e,!1)}function Be(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function J(e,r,t){if(e==null)return"";if(typeof e=="function")return Re(e,Be(e));if(typeof e=="string")return N(e);switch(e){case T:return N("Suspense");case d:return N("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case i:return Ne(e.render);case v:return J(e.type,r,t);case m:{var a=e,l=a._payload,b=a._init;try{return J(b(l),r,t)}catch{}}}return""}var V=Object.prototype.hasOwnProperty,Ee={},he=w.ReactDebugCurrentFrame;function K(e){if(e){var r=e._owner,t=J(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}function Je(e,r,t,a,l){{var b=Function.call.bind(V);for(var c in e)if(b(e,c)){var s=void 0;try{if(typeof e[c]!="function"){var x=Error((a||"React class")+": "+t+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[c]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw x.name="Invariant Violation",x}s=e[c](r,c,a,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(_){s=_}s&&!(s instanceof Error)&&(K(l),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",a||"React class",t,c,typeof s),K(null)),s instanceof Error&&!(s.message in Ee)&&(Ee[s.message]=!0,K(l),g("Failed %s type: %s",t,s.message),K(null))}}}var Ke=Array.isArray;function Z(e){return Ke(e)}function Ge(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t}}function He(e){try{return me(e),!1}catch{return!0}}function me(e){return""+e}function ye(e){if(He(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ge(e)),me(e)}var ge=w.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},_e,Se;function Ze(e){if(V.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Qe(e){if(V.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function er(e,r){typeof e.ref=="string"&&ge.current}function rr(e,r){{var t=function(){_e||(_e=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}}function tr(e,r){{var t=function(){Se||(Se=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}}var nr=function(e,r,t,a,l,b,c){var s={$$typeof:o,type:e,key:r,ref:t,props:c,_owner:b};return s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,"_self",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.defineProperty(s,"_source",{configurable:!1,enumerable:!1,writable:!1,value:l}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function or(e,r,t,a,l){{var b,c={},s=null,x=null;t!==void 0&&(ye(t),s=""+t),Qe(r)&&(ye(r.key),s=""+r.key),Ze(r)&&(x=r.ref,er(r,l));for(b in r)V.call(r,b)&&!Xe.hasOwnProperty(b)&&(c[b]=r[b]);if(e&&e.defaultProps){var _=e.defaultProps;for(b in _)c[b]===void 0&&(c[b]=_[b])}if(s||x){var O=typeof e=="function"?e.displayName||e.name||"Unknown":e;s&&rr(c,O),x&&tr(c,O)}return nr(e,s,x,l,a,ge.current,c)}}var Q=w.ReactCurrentOwner,Oe=w.ReactDebugCurrentFrame;function Y(e){if(e){var r=e._owner,t=J(e.type,e._source,r?r.type:null);Oe.setExtraStackFrame(t)}else Oe.setExtraStackFrame(null)}var ee;ee=!1;function re(e){return typeof e=="object"&&e!==null&&e.$$typeof===o}function Te(){{if(Q.current){var e=W(Q.current.type);if(e)return`
22
22
 
23
- Check the render method of \``+e+"`."}return""}}function ar(e){return""}var Ce={};function or(e){{var r=Oe();if(!r){var t=typeof e=="string"?e:e.displayName||e.name;t&&(r=`
23
+ Check the render method of \``+e+"`."}return""}}function ar(e){return""}var Ce={};function ir(e){{var r=Te();if(!r){var t=typeof e=="string"?e:e.displayName||e.name;t&&(r=`
24
24
 
25
- Check the top-level render call using <`+t+">.")}return r}}function we(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=or(r);if(Ce[t])return;Ce[t]=!0;var n="";e&&e._owner&&e._owner!==Z.current&&(n=" It was passed a child from "+I(e._owner.type)+"."),Y(e),m('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),Y(null)}}function Pe(e,r){{if(typeof e!="object")return;if(X(e))for(var t=0;t<e.length;t++){var n=e[t];ee(n)&&we(n,r)}else if(ee(e))e._store&&(e._store.validated=!0);else if(e){var s=E(e);if(typeof s=="function"&&s!==e.entries)for(var f=s.call(e),o;!(o=f.next()).done;)ee(o.value)&&we(o.value,r)}}}function ir(e){{var r=e.type;if(r==null||typeof r=="string")return;var t;if(typeof r=="function")t=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===i||r.$$typeof===v))t=r.propTypes;else return;if(t){var n=I(r);Be(t,e.props,"prop",n,e)}else if(r.PropTypes!==void 0&&!Q){Q=!0;var s=I(r);m("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",s||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&m("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function sr(e){{for(var r=Object.keys(e.props),t=0;t<r.length;t++){var n=r[t];if(n!=="children"&&n!=="key"){Y(e),m("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),Y(null);break}}e.ref!==null&&(Y(e),m("Invalid attribute `ref` supplied to `React.Fragment`."),Y(null))}}var je={};function Ae(e,r,t,n,s,f){{var o=Ve(e);if(!o){var a="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(a+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w=ar();w?a+=w:a+=Oe();var g;e===null?g="null":X(e)?g="array":e!==void 0&&e.$$typeof===l?(g="<"+(I(e.type)||"Unknown")+" />",a=" Did you accidentally export a JSX literal instead of a component?"):g=typeof e,m("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",g,a)}var _=nr(e,r,t,s,f);if(_==null)return _;if(o){var A=r.children;if(A!==void 0)if(n)if(X(A)){for(var V=0;V<A.length;V++)Pe(A[V],e);Object.freeze&&Object.freeze(A)}else m("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Pe(A,e)}if(M.call(r,"key")){var W=I(e),j=Object.keys(r).filter(function(vr){return vr!=="key"}),re=j.length>0?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}";if(!je[W+re]){var dr=j.length>0?"{"+j.join(": ..., ")+": ...}":"{}";m(`A props object containing a "key" prop is being spread into JSX:
25
+ Check the top-level render call using <`+t+">.")}return r}}function je(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=ir(r);if(Ce[t])return;Ce[t]=!0;var a="";e&&e._owner&&e._owner!==Q.current&&(a=" It was passed a child from "+W(e._owner.type)+"."),Y(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,a),Y(null)}}function we(e,r){{if(typeof e!="object")return;if(Z(e))for(var t=0;t<e.length;t++){var a=e[t];re(a)&&je(a,r)}else if(re(e))e._store&&(e._store.validated=!0);else if(e){var l=y(e);if(typeof l=="function"&&l!==e.entries)for(var b=l.call(e),c;!(c=b.next()).done;)re(c.value)&&je(c.value,r)}}}function sr(e){{var r=e.type;if(r==null||typeof r=="string")return;var t;if(typeof r=="function")t=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===i||r.$$typeof===v))t=r.propTypes;else return;if(t){var a=W(r);Je(t,e.props,"prop",a,e)}else if(r.PropTypes!==void 0&&!ee){ee=!0;var l=W(r);g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",l||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function ur(e){{for(var r=Object.keys(e.props),t=0;t<r.length;t++){var a=r[t];if(a!=="children"&&a!=="key"){Y(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",a),Y(null);break}}e.ref!==null&&(Y(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),Y(null))}}var xe={};function Ae(e,r,t,a,l,b){{var c=Le(e);if(!c){var s="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(s+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var x=ar();x?s+=x:s+=Te();var _;e===null?_="null":Z(e)?_="array":e!==void 0&&e.$$typeof===o?(_="<"+(W(e.type)||"Unknown")+" />",s=" Did you accidentally export a JSX literal instead of a component?"):_=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",_,s)}var O=or(e,r,t,l,b);if(O==null)return O;if(c){var P=r.children;if(P!==void 0)if(a)if(Z(P)){for(var L=0;L<P.length;L++)we(P[L],e);Object.freeze&&Object.freeze(P)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else we(P,e)}if(V.call(r,"key")){var q=W(e),A=Object.keys(r).filter(function(pr){return pr!=="key"}),te=A.length>0?"{key: someKey, "+A.join(": ..., ")+": ...}":"{key: someKey}";if(!xe[q+te]){var vr=A.length>0?"{"+A.join(": ..., ")+": ...}":"{}";g(`A props object containing a "key" prop is being spread into JSX:
26
26
  let props = %s;
27
27
  <%s {...props} />
28
28
  React keys must be passed directly to JSX without using spread:
29
29
  let props = %s;
30
- <%s key={someKey} {...props} />`,re,W,dr,W),je[W+re]=!0}}return e===b?sr(_):ir(_),_}}function ur(e,r,t){return Ae(e,r,t,!0)}function cr(e,r,t){return Ae(e,r,t,!1)}var lr=cr,fr=ur;q.Fragment=b,q.jsx=lr,q.jsxs=fr}()),q}process.env.NODE_ENV==="production"?te.exports=yr():te.exports=mr();var ne=te.exports;function gr(c,l){return ne.jsx(hr,{selectorOrAtom:c,equals:l})}const hr=h.memo(function(l){const O=u.isAtom(l.selectorOrAtom)?({get:S})=>S(l.selectorOrAtom):l.selectorOrAtom,b=ae(O,l.equals);return ne.jsx(ne.Fragment,{children:b??null})},(c,l)=>u.shallowEqual(c.selectorOrAtom,l.selectorOrAtom)&&c.equals===l.equals);exports.AllAtomsRejectedError=u.AllAtomsRejectedError;exports.atom=u.atom;exports.batch=u.batch;exports.define=u.define;exports.derived=u.derived;exports.effect=u.effect;exports.emitter=u.emitter;exports.getAtomState=u.getAtomState;exports.isAtom=u.isAtom;exports.isDerived=u.isDerived;exports.isFulfilled=u.isFulfilled;exports.isPending=u.isPending;exports.isRejected=u.isRejected;exports.onCreateHook=u.onCreateHook;exports.select=u.select;exports.trackPromise=u.trackPromise;exports.unwrap=u.unwrap;exports.rx=gr;exports.useAction=Er;exports.useStable=br;exports.useValue=ae;
30
+ <%s key={someKey} {...props} />`,te,q,vr,q),xe[q+te]=!0}}return e===E?ur(O):sr(O),O}}function cr(e,r,t){return Ae(e,r,t,!0)}function lr(e,r,t){return Ae(e,r,t,!1)}var fr=lr,dr=cr;z.Fragment=E,z.jsx=fr,z.jsxs=dr}()),z}process.env.NODE_ENV==="production"?ne.exports=gr():ne.exports=_r();var C=ne.exports;function Sr(n,o){const f=o===void 0?void 0:typeof o=="object"&&o!==null&&!Array.isArray(o)&&("equals"in o||"loading"in o||"error"in o)?o:{equals:o};return C.jsx(xr,{selectorOrAtom:n,options:f})}class Or extends R.Component{constructor(){super(...arguments);Pe(this,"state",{error:null})}static getDerivedStateFromError(f){return{error:f}}componentDidCatch(f,E){}render(){if(this.state.error!==null&&this.props.onError)return C.jsx(C.Fragment,{children:this.props.onError({error:this.state.error})});if(this.state.error!==null)throw this.state.error;return this.props.children}}function Tr(n){const o=oe(n.selector,n.equals);return C.jsx(C.Fragment,{children:o??null})}function Cr(n){return C.jsx(C.Fragment,{children:n.render()})}function jr(n){return n.fallback?C.jsx(R.Suspense,{fallback:C.jsx(Cr,{render:n.fallback}),children:n.children}):C.jsx(C.Fragment,{children:n.children})}function wr(n){return n.onError?C.jsx(Or,{onError:n.onError,children:n.children}):C.jsx(C.Fragment,{children:n.children})}const xr=R.memo(function(o){var p,i,T,d;const f=R.useRef(o.selectorOrAtom);f.current=o.selectorOrAtom;const E=u.isAtom(o.selectorOrAtom),S=(p=o.options)==null?void 0:p.deps,j=E?[o.selectorOrAtom,...S??[]]:S??[{}],h=R.useCallback(v=>u.isAtom(f.current)?v.read(f.current):f.current(v),j);return C.jsx(wr,{onError:(i=o.options)==null?void 0:i.error,children:C.jsx(jr,{fallback:(T=o.options)==null?void 0:T.loading,children:C.jsx(Tr,{selector:h,equals:(d=o.options)==null?void 0:d.equals})})})},(n,o)=>u.shallowEqual(n.selectorOrAtom,o.selectorOrAtom)&&u.shallowEqual(n.options,o.options));exports.AllAtomsRejectedError=u.AllAtomsRejectedError;exports.atom=u.atom;exports.batch=u.batch;exports.define=u.define;exports.derived=u.derived;exports.effect=u.effect;exports.emitter=u.emitter;exports.getAtomState=u.getAtomState;exports.isAtom=u.isAtom;exports.isDerived=u.isDerived;exports.isFulfilled=u.isFulfilled;exports.isPending=u.isPending;exports.isRejected=u.isRejected;exports.onCreateHook=u.onCreateHook;exports.onErrorHook=u.onErrorHook;exports.promisesEqual=u.promisesEqual;exports.readonly=u.readonly;exports.select=u.select;exports.trackPromise=u.trackPromise;exports.unwrap=u.unwrap;exports.rx=Sr;exports.useAction=yr;exports.useSelector=oe;exports.useStable=hr;
@@ -1,7 +1,8 @@
1
- export { useValue } from './useValue';
1
+ export { useSelector } from './useSelector';
2
2
  export { useStable } from './useStable';
3
3
  export type { UseStableResult } from './useStable';
4
4
  export { useAction } from './useAction';
5
5
  export { rx } from './rx';
6
+ export type { RxOptions } from './rx';
6
7
  export type { ActionState, ActionIdleState, ActionLoadingState, ActionSuccessState, ActionErrorState, ActionStateWithoutIdle, AbortablePromise, UseActionOptions, ActionContext, ActionApi, Action, } from './useAction';
7
8
  export * from '../index';