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