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