UNPKG

5.17 kBJavaScriptView Raw
1System.register(["react","jotai"],function(U){"use strict";var g,N,y,z,S,R,C,G;return{setters:[function(i){g=i.useContext,N=i.useState,y=i.useEffect,z=i.useDebugValue,S=i.useRef,R=i.useCallback},function(i){C=i.SECRET_INTERNAL_getScopeContext,G=i.useAtom}],execute:function(){U({useAtomDevtools:j,useAtomsDevtools:K,useAtomsSnapshot:B,useGotoAtomsSnapshot:W});const i="h",w="n",L="l",P="a",J="m",k=e=>e.debugLabel||e.toString(),X=([e,n])=>Object.fromEntries(n.flatMap(t=>{var s,o;const r=(s=e[J])==null?void 0:s.call(e,t);if(!r)return[];const c=r.t,u=((o=e[P])==null?void 0:o.call(e,t))||{};return[[k(t),{..."e"in u&&{error:u.e},..."p"in u&&{promise:u.p},..."v"in u&&{value:u.v},dependents:Array.from(c).map(k)}]]})),Q=U("useAtomsDebugValue",e=>{var n;const t=(n=e==null?void 0:e.enabled)!=null?n:!1,s=C(e==null?void 0:e.scope),{s:o}=g(s),[r,c]=N([]);y(()=>{var u;if(!t)return;const d=()=>{var T;c(Array.from(((T=o[L])==null?void 0:T.call(o))||[]))},m=(u=o[w])==null?void 0:u.call(o,d);return d(),m},[t,o]),z([o,r],X)});function j(e,n,t){(typeof n=="string"||typeof t<"u")&&(console.warn("DEPRECATED [useAtomDevtools] use DevtoolOptions"),n={name:n,scope:t});const{enabled:s,name:o,scope:r}=n||{};let c;try{c=(s!=null?s:!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}const[u,d]=G(e,r),m=S(u),T=S(!1),l=S(),_=o||e.debugLabel||e.toString();y(()=>{if(!c)return;const f=a=>{if(typeof d=="function"){d(a);return}console.warn(`[Warn] you cannot do write operations (Time-travelling, etc) in read-only atoms
2`,e)};l.current=c.connect({name:_});const O=l.current.subscribe(a=>{var p,b,v,E,M,I;if(a.type==="ACTION"&&a.payload)try{f(JSON.parse(a.payload))}catch(D){console.error(`please dispatch a serializable value that JSON.parse() support
3`,D)}else a.type==="DISPATCH"&&a.state?(((p=a.payload)==null?void 0:p.type)==="JUMP_TO_ACTION"||((b=a.payload)==null?void 0:b.type)==="JUMP_TO_STATE")&&(T.current=!0,f(JSON.parse(a.state))):a.type==="DISPATCH"&&((v=a.payload)==null?void 0:v.type)==="COMMIT"?(E=l.current)==null||E.init(m.current):a.type==="DISPATCH"&&((M=a.payload)==null?void 0:M.type)==="IMPORT_STATE"&&(((I=a.payload.nextLiftedState)==null?void 0:I.computedStates)||[]).forEach(({state:D},A)=>{var h;A===0?(h=l.current)==null||h.init(D):f(D)})});return l.current.shouldInit=!0,O},[e,c,_,d]),y(()=>{!l.current||(m.current=u,l.current.shouldInit?(l.current.init(u),l.current.shouldInit=!1):T.current?T.current=!1:l.current.send(`${_} - ${new Date().toLocaleString()}`,u))},[e,c,_,u])}const H=(e,n)=>{const t=n.map(s=>{var o,r;const c=(r=(o=e[P])==null?void 0:o.call(e,s))!=null?r:{};return[s,"v"in c?c.v:void 0]});return new Map(t)};function B(e){const n=C(e),t=g(n).s;if(!t[w])throw new Error("useAtomsSnapshot can only be used in dev mode.");const[s,o]=N(()=>new Map);return y(()=>{var r;const c=()=>{var d;const m=Array.from(((d=t[L])==null?void 0:d.call(t))||[]);o(H(t,m))},u=(r=t[w])==null?void 0:r.call(t,c);return c(),u},[t]),s}function W(e){const n=C(e),t=g(n).s;if(!t[w])throw new Error("useGotoAtomsSnapshot can only be used in dev mode.");return R(s=>{t[i](s)},[t])}const q=(e,n)=>e.size===n.size&&Array.from(e).every(([t,s])=>Object.is(n.get(t),s)),F=(e,n)=>e.size===n.size&&Array.from(e).every(([t,s])=>{const o=n.get(t);return o&&s.size===o.size&&Array.from(s).every(r=>o.has(r))}),V=e=>e.debugLabel?`${e}:${e.debugLabel}`:`${e}`,x=e=>{const n={};e.values.forEach((s,o)=>{n[V(o)]=s});const t={};return e.dependents.forEach((s,o)=>{t[V(o)]=Array.from(s).map(V)}),{values:n,dependents:t}};function K(e,n){typeof n<"u"&&typeof n!="object"&&(console.warn("DEPRECATED [useAtomsDevtools] use DevtoolsOptions"),n={scope:n});const{enabled:t,scope:s}=n||{},o=C(s),{s:r,w:c}=g(o);let u;try{u=(t!=null?t:!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(u&&!r[w])throw new Error("useAtomsDevtools can only be used in dev mode.");const[d,m]=N(()=>({values:new Map,dependents:new Map}));y(()=>{var a;if(!u)return;const p=()=>{var v,E,M;const I=new Map,D=new Map;for(const A of((v=r[L])==null?void 0:v.call(r))||[]){const h=(E=r[P])==null?void 0:E.call(r,A);if(h){if(h.r===h.i)return;"v"in h&&I.set(A,h.v)}const $=(M=r[J])==null?void 0:M.call(r,A);$&&D.set(A,$.t)}m(A=>q(A.values,I)&&F(A.dependents,D)?A:{values:I,dependents:D})},b=(a=r[w])==null?void 0:a.call(r,p);return p(),b},[u,r]);const T=R(a=>{const{values:p}=a;c?c(b=>{r[i](p,b)}):r[i](p)},[r,c]),l=S(!1),_=S(!0),f=S(),O=S([]);y(()=>{if(!u)return;const a=(v=O.current.length-1)=>{const E=O.current[v>=0?v:0];if(!E)throw new Error("snaphost index out of bounds");return E},p=u.connect({name:e}),b=p.subscribe(v=>{var E;switch(v.type){case"DISPATCH":switch((E=v.payload)==null?void 0:E.type){case"RESET":break;case"COMMIT":p.init(x(a())),O.current=[];break;case"JUMP_TO_ACTION":case"JUMP_TO_STATE":l.current=!0,T(a(v.payload.actionId-1));break;case"PAUSE_RECORDING":_.current=!_.current;break}}});return f.current=p,f.current.shouldInit=!0,b},[u,T,e]),y(()=>{if(f.current){if(f.current.shouldInit){f.current.init(void 0),f.current.shouldInit=!1;return}l.current?l.current=!1:_.current&&(O.current.push(d),f.current.send({type:`${O.current.length}`,updatedAt:new Date().toLocaleString()},x(d)))}},[d])}}}});