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