UNPKG

jotai

Version:

👻 Primitive and flexible state management for React

2 lines (1 loc) • 6.43 kB
System.register([],(function(B){"use strict";return{execute:(function(){B({INTERNAL_abortPromise:D,INTERNAL_addPendingPromiseToDependency:O,INTERNAL_buildStoreRev2:dn,INTERNAL_getBuildingBlocksRev2:un,INTERNAL_getMountedOrPendingDependents:V,INTERNAL_hasInitialValue:M,INTERNAL_initializeStoreHooksRev2:G,INTERNAL_isActuallyWritableAtom:z,INTERNAL_isAtomStateInitialized:W,INTERNAL_isPendingPromise:P,INTERNAL_isPromiseLike:I,INTERNAL_registerAbortHandler:H,INTERNAL_returnAtomValue:m});function M(n){return"init"in n}function z(n){return!!n.write}function W(n){return"v"in n||"e"in n}function m(n){if("e"in n)throw n.e;return n.v}const L=B("INTERNAL_promiseStateMap",new WeakMap);function P(n){var e;return I(n)&&!!((e=L.get(n))!=null&&e[0])}function D(n){const e=L.get(n);e!=null&&e[0]&&(e[0]=!1,e[1].forEach(r=>r()))}function H(n,e){let r=L.get(n);if(!r){r=[!0,new Set],L.set(n,r);const t=()=>{r[0]=!1};n.then(t,t)}r[1].add(e)}function I(n){return typeof(n==null?void 0:n.then)=="function"}function O(n,e,r){if(!r.p.has(n)){r.p.add(n);const t=()=>r.p.delete(n);e.then(t,t)}}function V(n,e,r){var t;const o=new Set;for(const l of((t=r.get(n))==null?void 0:t.t)||[])o.add(l);for(const l of e.p)o.add(l);return o}const F=()=>{const n=new Set,e=()=>n.forEach(r=>r());return e.add=r=>(n.add(r),()=>n.delete(r)),e},k=()=>{const n={},e=new WeakMap,r=t=>{var o,l;(o=e.get(n))==null||o.forEach(s=>s(t)),(l=e.get(t))==null||l.forEach(s=>s())};return r.add=(t,o)=>{const l=t||n;let s=e.get(l);return s||(s=new Set,e.set(l,s)),s.add(o),()=>{s.delete(o),s.size||e.delete(l)}},r};function G(n){return n.i||(n.i=k()),n.r||(n.r=k()),n.c||(n.c=k()),n.m||(n.m=k()),n.u||(n.u=k()),n.f||(n.f=F()),n}const J=(n,e,...r)=>e.read(...r),K=(n,e,...r)=>e.write(...r),Q=(n,e)=>{var r;return(r=e.INTERNAL_onInit)==null?void 0:r.call(e,n)},U=(n,e,r)=>{var t;return(t=e.onMount)==null?void 0:t.call(e,r)},X=(n,e)=>{var r;const t=g(n),o=t[0],l=t[6],s=t[9];let u=o.get(e);return u||(u={d:new Map,p:new Set,n:0},o.set(e,u),(r=l.i)==null||r.call(l,e),s==null||s(n,e)),u},Y=n=>{const e=g(n),r=e[1],t=e[3],o=e[4],l=e[5],s=e[6],u=e[13],f=[],p=h=>{try{h()}catch(i){f.push(i)}};do{s.f&&p(s.f);const h=new Set,i=h.add.bind(h);t.forEach(c=>{var a;return(a=r.get(c))==null?void 0:a.l.forEach(i)}),t.clear(),l.forEach(i),l.clear(),o.forEach(i),o.clear(),h.forEach(p),t.size&&u(n)}while(t.size||l.size||o.size);if(f.length)throw new AggregateError(f)},Z=n=>{const e=g(n),r=e[1],t=e[2],o=e[3],l=e[11],s=e[14],u=e[17],f=[],p=new WeakSet,h=new WeakSet,i=Array.from(o);for(;i.length;){const c=i[i.length-1],a=l(n,c);if(h.has(c)){i.pop();continue}if(p.has(c)){t.get(c)===a.n&&f.push([c,a]),h.add(c),i.pop();continue}p.add(c);for(const w of V(c,a,r))p.has(w)||i.push(w)}for(let c=f.length-1;c>=0;--c){const[a,w]=f[c];let A=!1;for(const y of w.d.keys())if(y!==a&&o.has(y)){A=!0;break}A&&(s(n,a),u(n,a)),t.delete(a)}},$=(n,e)=>{var r,t;const o=g(n),l=o[1],s=o[2],u=o[3],f=o[6],p=o[7],h=o[11],i=o[12],c=o[13],a=o[14],w=o[16],A=o[17],y=o[20],d=h(n,e);if(W(d)){if(l.has(e)&&s.get(e)!==d.n)return d;let v=!1;for(const[_,R]of d.d)if(a(n,_).n!==R){v=!0;break}if(!v)return d}d.d.clear();let N=!0;function S(){l.has(e)&&(A(n,e),c(n),i(n))}function T(v){var _;if(v===e){const x=h(n,v);if(!W(x))if(M(v))y(n,v,v.init);else throw new Error("no atom init");return m(x)}const R=a(n,v);try{return m(R)}finally{d.d.set(v,R.n),P(d.v)&&O(e,d.v,R),l.has(e)&&((_=l.get(v))==null||_.t.add(e)),N||S()}}let E,b;const j={get signal(){return E||(E=new AbortController),E.signal},get setSelf(){return!b&&z(e)&&(b=(...v)=>{if(!N)try{return w(n,e,...v)}finally{c(n),i(n)}}),b}},q=d.n;try{const v=p(n,e,T,j);return y(n,e,v),I(v)&&(H(v,()=>E==null?void 0:E.abort()),v.then(S,S)),(r=f.r)==null||r.call(f,e),d}catch(v){return delete d.v,d.e=v,++d.n,d}finally{N=!1,q!==d.n&&s.get(e)===q&&(s.set(e,d.n),u.add(e),(t=f.c)==null||t.call(f,e))}},nn=(n,e)=>{const r=g(n),t=r[1],o=r[2],l=r[11],s=[e];for(;s.length;){const u=s.pop(),f=l(n,u);for(const p of V(u,f,t)){const h=l(n,p);o.set(p,h.n),s.push(p)}}},en=(n,e,...r)=>{const t=g(n),o=t[3],l=t[6],s=t[8],u=t[11],f=t[12],p=t[13],h=t[14],i=t[15],c=t[16],a=t[17],w=t[20];let A=!0;const y=N=>m(h(n,N)),d=(N,...S)=>{var T;const E=u(n,N);try{if(N===e){if(!M(N))throw new Error("atom not writable");const b=E.n,j=S[0];w(n,N,j),a(n,N),b!==E.n&&(o.add(N),i(n,N),(T=l.c)==null||T.call(l,N));return}else return c(n,N,...S)}finally{A||(p(n),f(n))}};try{return s(n,e,y,d,...r)}finally{A=!1}},tn=(n,e)=>{var r;const t=g(n),o=t[1],l=t[3],s=t[6],u=t[11],f=t[15],p=t[18],h=t[19],i=u(n,e),c=o.get(e);if(c&&!P(i.v)){for(const[a,w]of i.d)if(!c.d.has(a)){const A=u(n,a);p(n,a).t.add(e),c.d.add(a),w!==A.n&&(l.add(a),f(n,a),(r=s.c)==null||r.call(s,a))}for(const a of c.d)if(!i.d.has(a)){c.d.delete(a);const w=h(n,a);w==null||w.t.delete(e)}}},rn=(n,e)=>{var r;const t=g(n),o=t[1],l=t[4],s=t[6],u=t[10],f=t[11],p=t[12],h=t[13],i=t[14],c=t[16],a=t[18],w=f(n,e);let A=o.get(e);if(!A){i(n,e);for(const y of w.d.keys())a(n,y).t.add(e);if(A={l:new Set,d:new Set(w.d.keys()),t:new Set},o.set(e,A),z(e)){const y=()=>{let d=!0;const N=(...S)=>{try{return c(n,e,...S)}finally{d||(h(n),p(n))}};try{const S=u(n,e,N);S&&(A.u=()=>{d=!0;try{S()}finally{d=!1}})}finally{d=!1}};l.add(y)}(r=s.m)==null||r.call(s,e)}return A},on=(n,e)=>{var r,t;const o=g(n),l=o[1],s=o[5],u=o[6],f=o[11],p=o[19],h=f(n,e);let i=l.get(e);if(!i||i.l.size)return i;let c=!1;for(const a of i.t)if((r=l.get(a))!=null&&r.d.has(e)){c=!0;break}if(!c){i.u&&s.add(i.u),i=void 0,l.delete(e);for(const a of h.d.keys()){const w=p(n,a);w==null||w.t.delete(e)}(t=u.u)==null||t.call(u,e);return}return i},ln=(n,e,r)=>{const t=g(n)[11],o=t(n,e),l="v"in o,s=o.v;if(I(r))for(const u of o.d.keys())O(e,r,t(n,u));o.v=r,delete o.e,(!l||!Object.is(s,o.v))&&(++o.n,I(s)&&D(s))},sn=(n,e)=>{const r=g(n)[14];return m(r(n,e))},an=(n,e,...r)=>{const t=g(n),o=t[12],l=t[13],s=t[16];try{return s(n,e,...r)}finally{l(n),o(n)}},cn=(n,e,r)=>{const t=g(n),o=t[12],l=t[18],s=t[19],u=l(n,e).l;return u.add(r),o(n),()=>{u.delete(r),s(n,e),o(n)}},C=new WeakMap,g=n=>C.get(n);function un(n){const e=g(n),r=e[24];return r?r(e):e}function dn(...n){const e={get(t){const o=g(e)[21];return o(e,t)},set(t,...o){const l=g(e)[22];return l(e,t,...o)},sub(t,o){const l=g(e)[23];return l(e,t,o)}},r=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},J,K,Q,U,X,Y,Z,$,nn,en,tn,rn,on,ln,sn,an,cn,void 0].map((t,o)=>n[o]||t);return C.set(e,Object.freeze(r)),e}})}}));