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