tinybase 3.1.6 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/lib/cjs/queries.cjs +1 -1
  2. package/lib/cjs/queries.cjs.gz +0 -0
  3. package/lib/cjs/store.cjs +1 -1
  4. package/lib/cjs/store.cjs.gz +0 -0
  5. package/lib/cjs/tinybase.cjs +1 -1
  6. package/lib/cjs/tinybase.cjs.gz +0 -0
  7. package/lib/cjs/tools.cjs +1 -1
  8. package/lib/cjs/tools.cjs.gz +0 -0
  9. package/lib/cjs-es6/queries.cjs +1 -1
  10. package/lib/cjs-es6/queries.cjs.gz +0 -0
  11. package/lib/cjs-es6/store.cjs +1 -1
  12. package/lib/cjs-es6/store.cjs.gz +0 -0
  13. package/lib/cjs-es6/tinybase.cjs +1 -1
  14. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  15. package/lib/cjs-es6/tools.cjs +1 -1
  16. package/lib/cjs-es6/tools.cjs.gz +0 -0
  17. package/lib/debug/queries.js +1 -1
  18. package/lib/debug/store.js +19 -11
  19. package/lib/debug/tinybase.js +20 -12
  20. package/lib/debug/tools.js +8 -0
  21. package/lib/es6/queries.js +1 -1
  22. package/lib/es6/queries.js.gz +0 -0
  23. package/lib/es6/store.js +1 -1
  24. package/lib/es6/store.js.gz +0 -0
  25. package/lib/es6/tinybase.js +1 -1
  26. package/lib/es6/tinybase.js.gz +0 -0
  27. package/lib/es6/tools.js +1 -1
  28. package/lib/es6/tools.js.gz +0 -0
  29. package/lib/queries.js +1 -1
  30. package/lib/queries.js.gz +0 -0
  31. package/lib/store.js +1 -1
  32. package/lib/store.js.gz +0 -0
  33. package/lib/tinybase.js +1 -1
  34. package/lib/tinybase.js.gz +0 -0
  35. package/lib/tools.js +1 -1
  36. package/lib/tools.js.gz +0 -0
  37. package/lib/types/store.d.ts +53 -0
  38. package/lib/types/with-schemas/store.d.ts +59 -0
  39. package/lib/umd/queries.js +1 -1
  40. package/lib/umd/queries.js.gz +0 -0
  41. package/lib/umd/store.js +1 -1
  42. package/lib/umd/store.js.gz +0 -0
  43. package/lib/umd/tinybase.js +1 -1
  44. package/lib/umd/tinybase.js.gz +0 -0
  45. package/lib/umd/tools.js +1 -1
  46. package/lib/umd/tools.js.gz +0 -0
  47. package/lib/umd-es6/queries.js +1 -1
  48. package/lib/umd-es6/queries.js.gz +0 -0
  49. package/lib/umd-es6/store.js +1 -1
  50. package/lib/umd-es6/store.js.gz +0 -0
  51. package/lib/umd-es6/tinybase.js +1 -1
  52. package/lib/umd-es6/tinybase.js.gz +0 -0
  53. package/lib/umd-es6/tools.js +1 -1
  54. package/lib/umd-es6/tools.js.gz +0 -0
  55. package/package.json +6 -6
  56. package/readme.md +2 -2
package/lib/es6/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),r=e(e),a="type",o="default",u="Ids",i="Table",c=i+"s",d=i+u,v="Row"+u,h="Cell",f=h+u,g="Value",T=g+"s",V=g+u,b=e=>l+e,S=(e,l)=>e.forEach(l),w=(e,l)=>e.map(l),R=e=>e.length,y=(e,l,t)=>e.slice(l,t),J=(e,...l)=>e.push(...l),m=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),C=JSON.parse,I=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==r,O=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},k=e=>L(e)||0==(e=>e.size)(e),A=e=>e.clear(),M=(e,l)=>null==e?void 0:e.forEach(l),N=(e,l)=>null==e?void 0:e.delete(l),P=e=>new Map(e),j=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},x=(e,l)=>null==e?void 0:e.get(l),D=(e,l)=>M(e,((e,t)=>l(t,e))),W=(e,l,t)=>L(t)?(N(e,l),e):null==e?void 0:e.set(l,t),$=(e,l,t)=>(O(e,l)||W(e,l,t()),x(e,l)),q=(e,l,t)=>{const n={},s=null!=l?l:e=>e;return M(e,((e,l)=>E(s(e),(e=>(null==t?void 0:t(e))?0:n[l]=e)))),n},B=(e,l)=>{const t=P(),n=null!=l?l:e=>e;return M(e,((e,l)=>t.set(l,n(e)))),t},G=e=>B(e,B),H=(e,l,t,n,s=0)=>E((t?$:x)(e,l[s],s>R(l)-2?t:P),(r=>{if(s>R(l)-2)return(null==n?void 0:n(r))&&W(e,l[s]),r;const a=H(r,l,t,n,s+1);return k(r)&&W(e,l[s]),a})),K=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Q=(e,l)=>null==e?void 0:e.add(l),U=/^\d+$/,X=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{U.test(l)&&R(e)<1e3&&J(e,l)}]},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,le=e=>p(e,Y)&&e.constructor==Y,te=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),ne=(e,l)=>delete e[l],se=(e,l)=>w(Y.entries(e),(([e,t])=>l(t,e))),re=e=>{return le(e)&&(l=Z(e),0==R(l));var l},ae=e=>[e,e],oe=()=>[P(),P()],ue=l=>{const t=e(l);return F(t)||t==s&&I(l)?t:void 0},ie=(e,l,t,n=W)=>(se(l,((l,n)=>t(e,n,l))),D(e,(t=>te(l,t)?0:n(e,t))),e),ce=(e,l,t)=>L(e)||!le(e)||re(e)||_(e)?(null==t||t(),!1):(se(e,((t,n)=>{l(t,n)||ne(e,n)})),!re(e)),de=(e,l,t)=>W(e,l,x(e,l)==-t?void 0:t),ve=()=>{let e,t,n,r,u=0;const I=P(),p=P(),U=P(),Y=P(),Z=P(),_=P(),le=P(),he=P(),fe=P(),ge=P(),Te=P(),Ve=P(),be=K(),Se=P(),we=P(),Re=P(),ye=oe(),Je=oe(),me=oe(),Ce=oe(),Ie=oe(),pe=oe(),Le=oe(),Ee=oe(),Fe=oe(),ze=oe(),Oe=oe(),ke=oe(),Ae=oe(),Me=oe(),[Ne,Pe,je,xe]=(e=>{let t;const[n,s]=X(),r=P();return[(e,s,a,o=[],u=(()=>[]))=>{null!=t||(t=Ql);const i=n(1);return W(r,i,[e,s,a,o,u]),Q(H(s,null!=a?a:[l],K),i),i},(e,n,...s)=>S(((e,t=[l])=>{const n=[],s=(e,l)=>l==R(t)?J(n,e):null===t[l]?M(e,(e=>s(e,l+1))):S([t[l],null],(t=>s(x(e,t),l+1)));return s(e,0),n})(e,n),(e=>M(e,(e=>x(r,e)[0](t,...null!=n?n:[],...s))))),e=>E(x(r,e),(([,t,n])=>(H(t,null!=n?n:[l],void 0,(l=>(N(l,e),k(l)?1:0))),W(r,e),s(e),n))),e=>E(x(r,e),(([e,,l=[],n,s])=>{const r=(...a)=>{var o,u;const i=R(a);i==R(l)?e(t,...a,...s(a)):L(l[i])?S(null!=(u=null==(o=n[i])?void 0:o.call(n,...a))?u:[],(e=>r(...a,e))):r(...a,l[i])};r()}))]})(),De=e=>{if(!ce(e,((e,l)=>[a,o].includes(l))))return!1;const l=e[a];return!(!F(l)&&l!=s||(ue(e[o])!=l&&ne(e,o),0))},We=(l,t)=>(!e||O(fe,t)||Vl(t))&&ce(l,((e,l)=>$e(t,l,e)),(()=>Vl(t))),$e=(e,l,t,n)=>ce(n?t:He(t,e,l),((n,s)=>E(qe(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Vl(e,l))),qe=(l,t,n,s)=>e?E(x(x(fe,l),n),(e=>ue(s)!=e[a]?Vl(l,t,n,s,e[o]):s),(()=>Vl(l,t,n,s))):L(ue(s))?Vl(l,t,n,s):s,Be=(e,l)=>ce(l?e:Ke(e),((l,t)=>E(Ge(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>bl())),Ge=(e,l)=>t?E(x(Te,e),(t=>ue(l)!=t[a]?bl(e,l,t[o]):l),(()=>bl(e,l))):L(ue(l))?bl(e,l):l,He=(e,l,t)=>(E(x(ge,l),(([n,s])=>{M(n,((l,t)=>{te(e,t)||(e[t]=l)})),M(s,(n=>{te(e,n)||Vl(l,t,n)}))})),e),Ke=e=>(t&&(M(Ve,((l,t)=>{te(e,t)||(e[t]=l)})),M(be,(l=>{te(e,l)||bl(l)}))),e),Qe=e=>ie(fe,e,((e,l,t)=>{const n=P(),s=K();ie($(fe,l,P),t,((e,l,t)=>{W(e,l,t),E(t[o],(e=>W(n,l,e)),(()=>Q(s,l)))})),W(ge,l,[n,s])}),((e,l)=>{W(fe,l),W(ge,l)})),Ue=e=>ie(Te,e,((e,l,t)=>{W(Te,l,t),E(t[o],(e=>W(Ve,l,e)),(()=>Q(be,l)))}),((e,l)=>{W(Te,l),W(Ve,l),N(be,l)})),Xe=e=>re(e)?Wl():Nl(e),Ye=e=>ie(we,e,((e,l,t)=>Ze(l,t)),((e,l)=>ol(l))),Ze=(e,l)=>ie($(we,e,(()=>(dl(e,1),P()))),l,((l,t,n)=>_e(e,l,t,n)),((l,t)=>ul(e,l,t))),_e=(e,l,t,n,s)=>ie($(l,t,(()=>(vl(e,t,1),P()))),n,((l,n,s)=>el(e,t,l,n,s)),((n,r)=>il(e,l,t,n,r,s))),el=(e,l,t,n,s)=>{O(t,n)||hl(e,l,n,1);const r=x(t,n);s!==r&&(fl(e,l,n,r,s),W(t,n,s))},ll=(e,l,t,n,s)=>E(x(l,t),(l=>el(e,t,l,n,s)),(()=>_e(e,l,t,He({[n]:s},e,t)))),tl=e=>re(e)?$l():Pl(e),nl=e=>ie(Re,e,((e,l,t)=>sl(l,t)),((e,l)=>cl(l))),sl=(e,l)=>{O(Re,e)||gl(e,1);const t=x(Re,e);l!==t&&(Tl(e,t,l),W(Re,e,l))},rl=(e,l)=>{const[t]=$(Se,e,X),n=t(l);return O(x(we,e),n)?rl(e,l):n},al=e=>{var l;return null!=(l=x(we,e))?l:Ze(e,{})},ol=e=>Ze(e,{}),ul=(e,l,t)=>{const[,n]=$(Se,e,X);n(t),_e(e,l,t,{},!0)},il=(e,l,t,n,s,r)=>{var a;const o=x(null==(a=x(ge,e))?void 0:a[0],s);if(!L(o)&&!r)return el(e,t,n,s,o);const u=l=>{fl(e,t,l,x(n,l)),hl(e,t,l,-1),W(n,l)};L(o)?u(s):D(n,u),k(n)&&(vl(e,t,-1),k(W(l,t))&&(dl(e,-1),W(we,e),W(Se,e)))},cl=e=>{const l=x(Ve,e);if(!L(l))return sl(e,l);Tl(e,x(Re,e)),gl(e,-1),W(Re,e)},dl=(e,l)=>de(I,e,l),vl=(e,l,t)=>de($(p,e,P),l,t),hl=(e,l,t,n)=>de($($(U,e,P),l,P),t,n),fl=(e,l,t,n,s)=>$($($(Y,e,P),l,P),t,(()=>[n,0]))[1]=s,gl=(e,l)=>de(Z,e,l),Tl=(e,l,t)=>$(_,e,(()=>[l,0]))[1]=t,Vl=(e,l,t,n,s)=>(J($($($(le,e,P),l,P),t,(()=>[])),n),s),bl=(e,l,t)=>(J($(he,e,(()=>[])),l),t),Sl=(e,l,t)=>E(x(x(x(Y,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ae(Ol(e,l,t))])),wl=e=>E(x(_,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ae(Ml(e))])),Rl=e=>k(le)||k(Fe[e])?0:M(e?B(le,G):le,((l,t)=>M(l,((l,n)=>M(l,((l,s)=>Pe(Fe[e],[t,n,s],l))))))),yl=e=>k(he)||k(ze[e])?0:M(e?B(he):he,((l,t)=>Pe(ze[e],[t],l))),Jl=(e,l,t)=>{if(!k(l))return Pe(e,t),1},ml=e=>{const l=k(Ie[e]),t=k(Le[e])&&k(Ce[e])&&l&&k(Je[e]),n=k(Ee[e])&&k(pe[e])&&k(me[e])&&k(ye[e]);if(!t||!n){const s=e?[B(I),G(p),B(U,G),B(Y,G)]:[I,p,U,Y];if(!t){M(s[2],((l,t)=>M(l,((l,n)=>Jl(Le[e],l,[t,n])))));const t=K();M(s[1],((n,s)=>{Jl(Ce[e],n,[s])&&!l&&(Pe(Ie[e],[s,null]),Q(t,s))})),l||M(s[3],((l,n)=>{if(!O(t,n)){const t=K();M(l,(e=>M(e,(([l,n],s)=>n!==l?Q(t,s):N(e,s))))),M(t,(l=>Pe(Ie[e],[n,l])))}})),Jl(Je[e],s[0])}if(!n){let l;M(s[3],((t,n)=>{let s;M(t,((t,r)=>{let a;M(t,(([t,o],u)=>{o!==t&&(Pe(Ee[e],[n,r,u],o,t,Sl),l=s=a=1)})),a&&Pe(pe[e],[n,r],Sl)})),s&&Pe(me[e],[n],Sl)})),l&&Pe(ye[e],void 0,Sl)}}},Cl=e=>{const l=k(ke[e]),t=k(Ae[e])&&k(Oe[e]);if(!l||!t){const n=e?[B(Z),B(_)]:[Z,_];if(l||Jl(ke[e],n[0]),!t){let l;M(n[1],(([t,n],s)=>{n!==t&&(Pe(Ae[e],[s],n,t,wl),l=1)})),l&&Pe(Oe[e],void 0,wl)}}},Il=(e,...l)=>(Gl((()=>e(...w(l,b)))),Ql),pl=()=>q(we,(e=>q(e,q))),Ll=()=>j(we),El=e=>j(x(we,b(e))),Fl=(e,l,t,n=0,s)=>{return w(y((a=x(we,b(e)),o=(e,t)=>[L(l)?t:x(e,b(l)),t],r=([e],[l])=>(e<l?-1:1)*(t?-1:1),w([...null!=(u=null==a?void 0:a.entries())?u:[]],(([e,l])=>o(l,e))).sort(r)),n,L(s)?s:n+s),(([,e])=>e));var r,a,o,u},zl=(e,l)=>j(x(x(we,b(e)),b(l))),Ol=(e,l,t)=>x(x(x(we,b(e)),b(l)),b(t)),kl=()=>q(Re),Al=()=>j(Re),Ml=e=>x(Re,b(e)),Nl=e=>Il((()=>(e=>ce(e,We,Vl))(e)?Ye(e):0)),Pl=e=>Il((()=>Be(e)?nl(e):0)),jl=e=>{try{Xe(C(e))}catch(e){}return Ql},xl=l=>Il((()=>{if((e=ce(l,(e=>ce(e,De))))&&(Qe(l),!k(we))){const e=pl();Wl(),Nl(e)}})),Dl=e=>Il((()=>{if(t=(e=>ce(e,De))(e)){const l=kl();Bl(),$l(),t=!0,Ue(e),Pl(l)}})),Wl=()=>Il((()=>Ye({}))),$l=()=>Il((()=>nl({}))),ql=()=>Il((()=>{Qe({}),e=!1})),Bl=()=>Il((()=>{Ue({}),t=!1})),Gl=(e,l)=>{if(-1==u)return;Hl();const t=e();return Kl(l),t},Hl=()=>(u++,Ql),Kl=e=>(u>0&&(u--,0==u&&(n=!k(Y),r=!k(_),u=1,Rl(1),n&&ml(1),yl(1),r&&Cl(1),u=-1,(null==e?void 0:e(q(Y,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,l])=>e===l))),re)),re),q(le,(e=>q(e,q))),q(_,(e=>[...e]),(([e,l])=>e===l)),q(he)))&&(u=1,M(Y,((e,l)=>M(e,((e,t)=>M(e,(([e],n)=>((e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s))(Ql,l,t,n,e))))))),M(_,(([e],l)=>((e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t))(Ql,l,e))),u=-1,n=r=!1),Pe(Me[0],void 0,n,r),Rl(0),n&&ml(0),yl(0),r&&Cl(0),Pe(Me[1],void 0,n,r),u=0,S([I,p,U,Y,le,Z,_,he],A))),Ql),Ql={getTables:pl,getTableIds:Ll,getTable:e=>q(x(we,b(e)),q),getRowIds:El,getSortedRowIds:Fl,getRow:(e,l)=>q(x(x(we,b(e)),b(l))),getCellIds:zl,getCell:Ol,getValues:kl,getValueIds:Al,getValue:Ml,hasTables:()=>!k(we),hasTable:e=>O(we,b(e)),hasRow:(e,l)=>O(x(we,b(e)),b(l)),hasCell:(e,l,t)=>O(x(x(we,b(e)),b(l)),b(t)),hasValues:()=>!k(Re),hasValue:e=>O(Re,b(e)),getTablesJson:()=>m(we),getValuesJson:()=>m(Re),getJson:()=>m([we,Re]),getTablesSchemaJson:()=>m(fe),getValuesSchemaJson:()=>m(Te),getSchemaJson:()=>m([fe,Te]),setTables:Nl,setTable:(e,l)=>Il((e=>We(l,e)?Ze(e,l):0),e),setRow:(e,l,t)=>Il(((e,l)=>$e(e,l,t)?_e(e,al(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Gl((()=>{let n;return $e(e,n,l)&&(e=b(e),_e(e,al(e),n=rl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Il(((e,l)=>{if($e(e,l,t,1)){const n=al(e);se(t,((t,s)=>ll(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Il(((e,l,t)=>E(qe(e,l,t,z(n)?n(Ol(e,l,t)):n),(n=>ll(e,al(e),l,t,n)))),e,l,t),setValues:Pl,setPartialValues:e=>Il((()=>Be(e,1)?se(e,((e,l)=>sl(l,e))):0)),setValue:(e,l)=>Il((e=>E(Ge(e,z(l)?l(Ml(e)):l),(l=>sl(e,l)))),e),setTablesJson:jl,setValuesJson:e=>{try{tl(C(e))}catch(e){}return Ql},setJson:e=>{try{const[l,t]=C(e);Xe(l),tl(t)}catch(l){jl(e)}return Ql},setTablesSchema:xl,setValuesSchema:Dl,setSchema:(e,l)=>Il((()=>{xl(e),Dl(l)})),delTables:Wl,delTable:e=>Il((e=>O(we,e)?ol(e):0),e),delRow:(e,l)=>Il(((e,l)=>E(x(we,e),(t=>O(t,l)?ul(e,t,l):0))),e,l),delCell:(e,l,t,n)=>Il(((e,l,t)=>E(x(we,e),(s=>E(x(s,l),(r=>O(r,t)?il(e,s,l,r,t,n):0))))),e,l,t),delValues:$l,delValue:e=>Il((e=>O(Re,e)?cl(e):0),e),delTablesSchema:ql,delValuesSchema:Bl,delSchema:()=>Il((()=>{ql(),Bl()})),transaction:Gl,startTransaction:Hl,finishTransaction:Kl,forEachTable:e=>M(we,((l,t)=>e(t,(e=>M(l,((l,t)=>e(t,(e=>D(l,e))))))))),forEachRow:(e,l)=>M(x(we,b(e)),((e,t)=>l(t,(l=>D(e,l))))),forEachCell:(e,l,t)=>D(x(x(we,b(e)),b(l)),t),forEachValue:e=>D(Re,e),addSortedRowIdsListener:(e,l,t,n,s,r,a)=>{let o=Fl(e,l,t,n,s);return Ne((()=>{const a=Fl(e,l,t,n,s);var u,i,c;i=o,R(u=a)===R(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=a,r(Ql,e,l,t,n,s,o))}),Ie[a?1:0],[e,l],[Ll])},addWillFinishTransactionListener:e=>Ne(e,Me[0]),addDidFinishTransactionListener:e=>Ne(e,Me[1]),callListener:e=>(xe(e),Ql),delListener:e=>(je(e),Ql),getListenerStats:()=>({}),createStore:ve};return se({[c]:[0,ye],[d]:[0,Je],[i]:[1,me,[Ll]],[v]:[1,Ce,[Ll]],Row:[2,pe,[Ll,El]],[f]:[2,Le,[Ll,El]],[h]:[3,Ee,[Ll,El,zl],e=>ae(Ol(...e))],InvalidCell:[3,Fe],[T]:[0,Oe],[V]:[0,ke],[g]:[1,Ae,[Al],e=>ae(Ml(e[0]))],InvalidValue:[1,ze]},(([e,l,t,n],s)=>{Ql["add"+s+"Listener"]=(...s)=>Ne(s[e],l[s[e+1]?1:0],e>0?y(s,0,e):void 0,t,n)})),ee(Ql)};export{ve as createStore};
1
+ const e=e=>typeof e,t="",l=e(t),n=e(!0),s=e(0),r=e(e),a="type",o="default",u="Ids",i="Table",c=i+"s",d=i+u,v="Row"+u,h="Cell",f=h+u,g="Value",T=g+"s",V=g+u,b=e=>t+e,S=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),R=e=>e.length,y=(e,t,l)=>e.slice(t,l),J=(e,...t)=>e.push(...t),m=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),C=JSON.parse,I=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,l)=>L(e)?null==l?void 0:l():t(e),F=e=>e==l||e==n,z=t=>e(t)==r,O=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},k=e=>L(e)||0==(e=>e.size)(e),A=e=>e.clear(),M=(e,t)=>null==e?void 0:e.forEach(t),N=(e,t)=>null==e?void 0:e.delete(t),P=e=>new Map(e),j=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},x=(e,t)=>null==e?void 0:e.get(t),D=(e,t)=>M(e,((e,l)=>t(l,e))),W=(e,t,l)=>L(l)?(N(e,t),e):null==e?void 0:e.set(t,l),$=(e,t,l)=>(O(e,t)||W(e,t,l()),x(e,t)),q=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return M(e,((e,t)=>E(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},B=(e,t)=>{const l=P(),n=null!=t?t:e=>e;return M(e,((e,t)=>l.set(t,n(e)))),l},G=e=>B(e,B),H=(e,t,l,n,s=0)=>E((l?$:x)(e,t[s],s>R(t)-2?l:P),(r=>{if(s>R(t)-2)return(null==n?void 0:n(r))&&W(e,t[s]),r;const a=H(r,t,l,n,s+1);return k(r)&&W(e,t[s]),a})),K=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Q=(e,t)=>null==e?void 0:e.add(t),U=/^\d+$/,X=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},t=>{U.test(t)&&R(e)<1e3&&J(e,t)}]},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>p(e,Y)&&e.constructor==Y,le=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),ne=(e,t)=>delete e[t],se=(e,t)=>w(Y.entries(e),(([e,l])=>t(l,e))),re=e=>{return te(e)&&(t=Z(e),0==R(t));var t},ae=e=>[e,e],oe=()=>[P(),P()],ue=t=>{const l=e(t);return F(l)||l==s&&I(t)?l:void 0},ie=(e,t,l,n=W)=>(se(t,((t,n)=>l(e,n,t))),D(e,(l=>le(t,l)?0:n(e,l))),e),ce=(e,t,l)=>L(e)||!te(e)||re(e)||_(e)?(null==l||l(),!1):(se(e,((l,n)=>{t(l,n)||ne(e,n)})),!re(e)),de=(e,t,l)=>W(e,t,x(e,t)==-l?void 0:l),ve=()=>{let e,l,n,r,u=0;const I=P(),p=P(),U=P(),Y=P(),Z=P(),_=P(),te=P(),he=P(),fe=P(),ge=P(),Te=P(),Ve=P(),be=K(),Se=P(),we=P(),Re=P(),ye=oe(),Je=oe(),me=oe(),Ce=oe(),Ie=oe(),pe=oe(),Le=oe(),Ee=oe(),Fe=oe(),ze=oe(),Oe=oe(),ke=oe(),Ae=oe(),Me=P(),Ne=oe(),[Pe,je,xe,De]=(e=>{let l;const[n,s]=X(),r=P();return[(e,s,a,o=[],u=(()=>[]))=>{null!=l||(l=Ut);const i=n(1);return W(r,i,[e,s,a,o,u]),Q(H(s,null!=a?a:[t],K),i),i},(e,n,...s)=>S(((e,l=[t])=>{const n=[],s=(e,t)=>t==R(l)?J(n,e):null===l[t]?M(e,(e=>s(e,t+1))):S([l[t],null],(l=>s(x(e,l),t+1)));return s(e,0),n})(e,n),(e=>M(e,(e=>x(r,e)[0](l,...null!=n?n:[],...s))))),e=>E(x(r,e),(([,l,n])=>(H(l,null!=n?n:[t],void 0,(t=>(N(t,e),k(t)?1:0))),W(r,e),s(e),n))),e=>E(x(r,e),(([e,,t=[],n,s])=>{const r=(...a)=>{var o,u;const i=R(a);i==R(t)?e(l,...a,...s(a)):L(t[i])?S(null!=(u=null==(o=n[i])?void 0:o.call(n,...a))?u:[],(e=>r(...a,e))):r(...a,t[i])};r()}))]})(),We=e=>{if(!ce(e,((e,t)=>[a,o].includes(t))))return!1;const t=e[a];return!(!F(t)&&t!=s||(ue(e[o])!=t&&ne(e,o),0))},$e=(t,l)=>(!e||O(fe,l)||bt(l))&&ce(t,((e,t)=>qe(l,t,e)),(()=>bt(l))),qe=(e,t,l,n)=>ce(n?l:Ke(l,e,t),((n,s)=>E(Be(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>bt(e,t))),Be=(t,l,n,s)=>e?E(x(x(fe,t),n),(e=>ue(s)!=e[a]?bt(t,l,n,s,e[o]):s),(()=>bt(t,l,n,s))):L(ue(s))?bt(t,l,n,s):s,Ge=(e,t)=>ce(t?e:Qe(e),((t,l)=>E(He(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>St())),He=(e,t)=>l?E(x(Te,e),(l=>ue(t)!=l[a]?St(e,t,l[o]):t),(()=>St(e,t))):L(ue(t))?St(e,t):t,Ke=(e,t,l)=>(E(x(ge,t),(([n,s])=>{M(n,((t,l)=>{le(e,l)||(e[l]=t)})),M(s,(n=>{le(e,n)||bt(t,l,n)}))})),e),Qe=e=>(l&&(M(Ve,((t,l)=>{le(e,l)||(e[l]=t)})),M(be,(t=>{le(e,t)||St(t)}))),e),Ue=e=>ie(fe,e,((e,t,l)=>{const n=P(),s=K();ie($(fe,t,P),l,((e,t,l)=>{W(e,t,l),E(l[o],(e=>W(n,t,e)),(()=>Q(s,t)))})),W(ge,t,[n,s])}),((e,t)=>{W(fe,t),W(ge,t)})),Xe=e=>ie(Te,e,((e,t,l)=>{W(Te,t,l),E(l[o],(e=>W(Ve,t,e)),(()=>Q(be,t)))}),((e,t)=>{W(Te,t),W(Ve,t),N(be,t)})),Ye=e=>re(e)?$t():Pt(e),Ze=e=>ie(we,e,((e,t,l)=>_e(t,l)),((e,t)=>ut(t))),_e=(e,t)=>ie($(we,e,(()=>(vt(e,1),P()))),t,((t,l,n)=>et(e,t,l,n)),((t,l)=>it(e,t,l))),et=(e,t,l,n,s)=>ie($(t,l,(()=>(ht(e,l,1),P()))),n,((t,n,s)=>tt(e,l,t,n,s)),((n,r)=>ct(e,t,l,n,r,s))),tt=(e,t,l,n,s)=>{O(l,n)||ft(e,t,n,1);const r=x(l,n);s!==r&&(gt(e,t,n,r,s),W(l,n,s))},lt=(e,t,l,n,s)=>E(x(t,l),(t=>tt(e,l,t,n,s)),(()=>et(e,t,l,Ke({[n]:s},e,l)))),nt=e=>re(e)?qt():jt(e),st=e=>ie(Re,e,((e,t,l)=>rt(t,l)),((e,t)=>dt(t))),rt=(e,t)=>{O(Re,e)||Tt(e,1);const l=x(Re,e);t!==l&&(Vt(e,l,t),W(Re,e,t))},at=(e,t)=>{const[l]=$(Se,e,X),n=l(t);return O(x(we,e),n)?at(e,t):n},ot=e=>{var t;return null!=(t=x(we,e))?t:_e(e,{})},ut=e=>_e(e,{}),it=(e,t,l)=>{const[,n]=$(Se,e,X);n(l),et(e,t,l,{},!0)},ct=(e,t,l,n,s,r)=>{var a;const o=x(null==(a=x(ge,e))?void 0:a[0],s);if(!L(o)&&!r)return tt(e,l,n,s,o);const u=t=>{gt(e,l,t,x(n,t)),ft(e,l,t,-1),W(n,t)};L(o)?u(s):D(n,u),k(n)&&(ht(e,l,-1),k(W(t,l))&&(vt(e,-1),W(we,e),W(Se,e)))},dt=e=>{const t=x(Ve,e);if(!L(t))return rt(e,t);Vt(e,x(Re,e)),Tt(e,-1),W(Re,e)},vt=(e,t)=>de(I,e,t),ht=(e,t,l)=>de($(p,e,P),t,l),ft=(e,t,l,n)=>de($($(U,e,P),t,P),l,n),gt=(e,t,l,n,s)=>$($($(Y,e,P),t,P),l,(()=>[n,0]))[1]=s,Tt=(e,t)=>de(Z,e,t),Vt=(e,t,l)=>$(_,e,(()=>[t,0]))[1]=l,bt=(e,t,l,n,s)=>(J($($($(te,e,P),t,P),l,(()=>[])),n),s),St=(e,t,l)=>(J($(he,e,(()=>[])),t),l),wt=(e,t,l)=>E(x(x(x(Y,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...ae(kt(e,t,l))])),Rt=e=>E(x(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ae(Nt(e))])),yt=e=>k(te)||k(Fe[e])?0:M(e?B(te,G):te,((t,l)=>M(t,((t,n)=>M(t,((t,s)=>je(Fe[e],[l,n,s],t))))))),Jt=e=>k(he)||k(ze[e])?0:M(e?B(he):he,((t,l)=>je(ze[e],[l],t))),mt=(e,t,l)=>{if(!k(t))return je(e,l),1},Ct=e=>{const t=k(Ie[e]),l=k(Le[e])&&k(Ce[e])&&t&&k(Je[e]),n=k(Ee[e])&&k(pe[e])&&k(me[e])&&k(ye[e]);if(!l||!n){const s=e?[B(I),G(p),B(U,G),B(Y,G)]:[I,p,U,Y];if(!l){M(s[2],((t,l)=>M(t,((t,n)=>mt(Le[e],t,[l,n])))));const l=K();M(s[1],((n,s)=>{mt(Ce[e],n,[s])&&!t&&(je(Ie[e],[s,null]),Q(l,s))})),t||M(s[3],((t,n)=>{if(!O(l,n)){const l=K();M(t,(e=>M(e,(([t,n],s)=>n!==t?Q(l,s):N(e,s))))),M(l,(t=>je(Ie[e],[n,t])))}})),mt(Je[e],s[0])}if(!n){let t;M(s[3],((l,n)=>{let s;M(l,((l,r)=>{let a;M(l,(([l,o],u)=>{o!==l&&(je(Ee[e],[n,r,u],o,l,wt),t=s=a=1)})),a&&je(pe[e],[n,r],wt)})),s&&je(me[e],[n],wt)})),t&&je(ye[e],void 0,wt)}}},It=e=>{const t=k(ke[e]),l=k(Ae[e])&&k(Oe[e]);if(!t||!l){const n=e?[B(Z),B(_)]:[Z,_];if(t||mt(ke[e],n[0]),!l){let t;M(n[1],(([l,n],s)=>{n!==l&&(je(Ae[e],[s],n,l,Rt),t=1)})),t&&je(Oe[e],void 0,Rt)}}},pt=(e,...t)=>(Ht((()=>e(...w(t,b)))),Ut),Lt=()=>q(we,(e=>q(e,q))),Et=()=>j(we),Ft=e=>j(x(we,b(e))),zt=(e,t,l,n=0,s)=>{return w(y((a=x(we,b(e)),o=(e,l)=>[L(t)?l:x(e,b(t)),l],r=([e],[t])=>(e<t?-1:1)*(l?-1:1),w([...null!=(u=null==a?void 0:a.entries())?u:[]],(([e,t])=>o(t,e))).sort(r)),n,L(s)?s:n+s),(([,e])=>e));var r,a,o,u},Ot=(e,t)=>j(x(x(we,b(e)),b(t))),kt=(e,t,l)=>x(x(x(we,b(e)),b(t)),b(l)),At=()=>q(Re),Mt=()=>j(Re),Nt=e=>x(Re,b(e)),Pt=e=>pt((()=>(e=>ce(e,$e,bt))(e)?Ze(e):0)),jt=e=>pt((()=>Ge(e)?st(e):0)),xt=e=>{try{Ye(C(e))}catch(e){}return Ut},Dt=t=>pt((()=>{if((e=ce(t,(e=>ce(e,We))))&&(Ue(t),!k(we))){const e=Lt();$t(),Pt(e)}})),Wt=e=>pt((()=>{if(l=(e=>ce(e,We))(e)){const t=At();Gt(),qt(),l=!0,Xe(e),jt(t)}})),$t=()=>pt((()=>Ze({}))),qt=()=>pt((()=>st({}))),Bt=()=>pt((()=>{Ue({}),e=!1})),Gt=()=>pt((()=>{Xe({}),l=!1})),Ht=(e,t)=>{if(-1!=u){Kt();const l=e();return Qt(t),l}},Kt=()=>(-1!=u&&u++,1==u&&je(Me,void 0,!1,!1),Ut),Qt=e=>(u>0&&(u--,0==u&&(n=!k(Y),r=!k(_),u=1,yt(1),n&&Ct(1),Jt(1),r&&It(1),(null==e?void 0:e(q(Y,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),re)),re),q(te,(e=>q(e,q))),q(_,(e=>[...e]),(([e,t])=>e===t)),q(he)))&&(M(Y,((e,t)=>M(e,((e,l)=>M(e,(([e],n)=>((e,t,l,n,s)=>L(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Ut,t,l,n,e))))))),M(_,(([e],t)=>((e,t,l)=>L(l)?e.delValue(t):e.setValue(t,l))(Ut,t,e))),n=r=!1),je(Ne[0],void 0,n,r),u=-1,yt(0),n&&Ct(0),Jt(0),r&&It(0),je(Ne[1],void 0,n,r),u=0,S([I,p,U,Y,te,Z,_,he],A))),Ut),Ut={getTables:Lt,getTableIds:Et,getTable:e=>q(x(we,b(e)),q),getRowIds:Ft,getSortedRowIds:zt,getRow:(e,t)=>q(x(x(we,b(e)),b(t))),getCellIds:Ot,getCell:kt,getValues:At,getValueIds:Mt,getValue:Nt,hasTables:()=>!k(we),hasTable:e=>O(we,b(e)),hasRow:(e,t)=>O(x(we,b(e)),b(t)),hasCell:(e,t,l)=>O(x(x(we,b(e)),b(t)),b(l)),hasValues:()=>!k(Re),hasValue:e=>O(Re,b(e)),getTablesJson:()=>m(we),getValuesJson:()=>m(Re),getJson:()=>m([we,Re]),getTablesSchemaJson:()=>m(fe),getValuesSchemaJson:()=>m(Te),getSchemaJson:()=>m([fe,Te]),setTables:Pt,setTable:(e,t)=>pt((e=>$e(t,e)?_e(e,t):0),e),setRow:(e,t,l)=>pt(((e,t)=>qe(e,t,l)?et(e,ot(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Ht((()=>{let n;return qe(e,n,t)&&(e=b(e),et(e,ot(e),n=at(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>pt(((e,t)=>{if(qe(e,t,l,1)){const n=ot(e);se(l,((l,s)=>lt(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>pt(((e,t,l)=>E(Be(e,t,l,z(n)?n(kt(e,t,l)):n),(n=>lt(e,ot(e),t,l,n)))),e,t,l),setValues:jt,setPartialValues:e=>pt((()=>Ge(e,1)?se(e,((e,t)=>rt(t,e))):0)),setValue:(e,t)=>pt((e=>E(He(e,z(t)?t(Nt(e)):t),(t=>rt(e,t)))),e),setTablesJson:xt,setValuesJson:e=>{try{nt(C(e))}catch(e){}return Ut},setJson:e=>{try{const[t,l]=C(e);Ye(t),nt(l)}catch(t){xt(e)}return Ut},setTablesSchema:Dt,setValuesSchema:Wt,setSchema:(e,t)=>pt((()=>{Dt(e),Wt(t)})),delTables:$t,delTable:e=>pt((e=>O(we,e)?ut(e):0),e),delRow:(e,t)=>pt(((e,t)=>E(x(we,e),(l=>O(l,t)?it(e,l,t):0))),e,t),delCell:(e,t,l,n)=>pt(((e,t,l)=>E(x(we,e),(s=>E(x(s,t),(r=>O(r,l)?ct(e,s,t,r,l,n):0))))),e,t,l),delValues:qt,delValue:e=>pt((e=>O(Re,e)?dt(e):0),e),delTablesSchema:Bt,delValuesSchema:Gt,delSchema:()=>pt((()=>{Bt(),Gt()})),transaction:Ht,startTransaction:Kt,finishTransaction:Qt,forEachTable:e=>M(we,((t,l)=>e(l,(e=>M(t,((t,l)=>e(l,(e=>D(t,e))))))))),forEachRow:(e,t)=>M(x(we,b(e)),((e,l)=>t(l,(t=>D(e,t))))),forEachCell:(e,t,l)=>D(x(x(we,b(e)),b(t)),l),forEachValue:e=>D(Re,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=zt(e,t,l,n,s);return Pe((()=>{const a=zt(e,t,l,n,s);var u,i,c;i=o,R(u=a)===R(i)&&(c=(e,t)=>i[t]===e,u.every(c))||(o=a,r(Ut,e,t,l,n,s,o))}),Ie[a?1:0],[e,t],[Et])},addStartTransactionListener:e=>Pe(e,Me),addWillFinishTransactionListener:e=>Pe(e,Ne[0]),addDidFinishTransactionListener:e=>Pe(e,Ne[1]),callListener:e=>(De(e),Ut),delListener:e=>(xe(e),Ut),getListenerStats:()=>({}),createStore:ve};return se({[c]:[0,ye],[d]:[0,Je],[i]:[1,me,[Et]],[v]:[1,Ce,[Et]],Row:[2,pe,[Et,Ft]],[f]:[2,Le,[Et,Ft]],[h]:[3,Ee,[Et,Ft,Ot],e=>ae(kt(...e))],InvalidCell:[3,Fe],[T]:[0,Oe],[V]:[0,ke],[g]:[1,Ae,[Mt],e=>ae(Nt(e[0]))],InvalidValue:[1,ze]},(([e,t,l,n],s)=>{Ut["add"+s+"Listener"]=(...s)=>Pe(s[e],t[s[e+1]?1:0],e>0?y(s,0,e):void 0,l,n)})),ee(Ut)};export{ve as createStore};
Binary file
@@ -1 +1 @@
1
- import{watch as e,promises as t}from"fs";const n=e=>typeof e,l="",o=n(l),s=n(!0),r=n(0),a=n(n),i="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",L=g+"s",y=g+f,p="Row",w=p+f,S="Sorted"+p+f,I="Cell",R=I+f,T="Value",b=T+"s",m=T+f,C=e=>l+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&E(e,((e,n)=>t[n]===e)),k=(e,t)=>E(e,((n,l)=>0==l||t(e[l-1],n)<=0)),J=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),M=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==s,Y=e=>n(e)==a,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),se=(e,t)=>null==e?void 0:e.forEach(t),re=(e,t)=>null==e?void 0:e.delete(t),ae=e=>new Map(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>se(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(re(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return se(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},fe=(e,t)=>{const n=ae(),l=null!=t?t:e=>e;return se(e,((e,t)=>n.set(t,l(e)))),n},ge=e=>fe(e,fe),Le=(e,t,n,l,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ae),(s=>{if(o>D(t)-2)return(null==l?void 0:l(s))&&ue(e,t[o]),s;const r=Le(s,t,n,l,o+1);return ne(s)&&ue(e,t[o]),r})),ye=e=>{const t=n(e);return X(t)||t==r&&q(e)?t:void 0},pe=(e,t,n,l,o)=>K(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Ie=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const l=e.hasRow,o=ae(),s=ae(),r=ae(),a=ae(),i=ae(),d=(t,n,...l)=>{const o=ve(i,t,Se);return P(l,(t=>Ie(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>U(de(i,t),(l=>{P(O(n)?le(l):n,(t=>{e.delListener(t),re(l,t)})),ne(l)&&ue(i,t)})),u=(e,n)=>{ue(o,e,n),te(s,e)||(ue(s,e,t()),ue(r,e,ae()),ue(a,e,ae()))},v=e=>{ue(o,e),ue(s,e),ue(r,e),ue(a,e),c(e)};return[()=>e,()=>ie(o),e=>ce(s,e),e=>te(s,e),e=>de(o,e),e=>de(s,e),(e,t)=>ue(s,e,t),u,(t,o,s,i,v)=>{u(t,o);const h=ae(),f=ae(),g=de(r,t),L=de(a,t),y=t=>{const s=n=>e.getCell(o,t,n),r=de(g,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||Z(r)&&Z(a)&&x(r,a)||ue(h,t,[r,a]),!K(v)){const e=de(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ue(f,t,n)}},p=e=>{s((()=>{se(h,(([,e],t)=>ue(g,t,e))),se(f,((e,t)=>ue(L,t,e)))}),h,f,g,L,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&P(e.getRowIds(o),(e=>{te(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>p())))},v,()=>ce(i,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:l,be=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{me.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),s=ae();return[(o,r,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(s,c,[o,r,a,i,d]),Ie(Le(r,null!=a?a:[l],Se),c),c},(e,n,...o)=>P(((e,t=[l])=>{const n=[],o=(e,l)=>l==D(t)?Q(n,e):null===t[l]?se(e,(e=>o(e,l+1))):P([t[l],null],(t=>o(de(e,t),l+1)));return o(e,0),n})(e,n),(e=>se(e,(e=>de(s,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(s,e),(([,t,n])=>(Le(t,null!=n?n:[l],void 0,(t=>(re(t,e),ne(t)?1:0))),ue(s,e),o(e),n))),e=>U(de(s,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=D(r);d==D(n)?e(t,...r,...o(r)):K(n[d])?P(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},Ee=Object,xe=Ee.keys,ke=Ee.isFrozen,Je=Ee.freeze,Pe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],De=(e,t)=>A(Ee.entries(e),(([e,n])=>t(n,e))),Oe=e=>Pe(e)&&O(xe(e)),Fe=be((e=>{let t,n,o,s=100,r=ae(),a=ae(),i=1;const d=ae(),c=ae(),[u,v,h]=Ve((()=>F)),f=ae(),g=ae(),L=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=de(f,n);se(l,((n,l)=>se(n,((n,o)=>se(n,((n,s)=>pe(e,l,o,s,n[t]))))))),se(o,((n,l)=>we(e,l,n[t])))})),i=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>P(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),I=()=>S(L,D(L)-s),R=()=>U(t,(()=>{Q(L,t),I(),S(y),t=void 0,o=1})),T=()=>{t=z(L),o=1},b=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(i){R();const e=ve(r,t,ae),a=ve(e,n,ae),i=ve(a,l,(()=>[s,void 0]));i[1]=o,i[0]===o&&ne(ue(a,l))&&ne(ue(e,n))&&ne(ue(r,t))&&T(),k()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(i){R();const e=ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ne(ue(a,t))&&T(),k()}})),C=(e="")=>(K(t)&&(t=l+n++,ue(f,t,[r,a]),A(t,e),r=ae(),a=ae(),o=1),t),E=()=>{O(L)||(((e,...t)=>{e.unshift(...t)})(y,C()),p(0,t),t=z(L),o=1)},x=()=>{O(y)||(Q(L,t),t=N(y),p(1,t),o=1)},k=()=>{o&&(v(d),o=0)},J=e=>{const t=C(e);return k(),t},A=(e,t)=>(M(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),M=e=>te(f,e),F={setSize:e=>(s=e,I(),F),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:M,getCheckpoint:e=>de(g,e),goBackward:()=>(E(),k(),F),goForward:()=>(x(),k(),F),goTo:e=>{const n=V(L,e)?E:V(y,e)?x:null;for(;!K(n)&&e!=t;)n();return k(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(L),S(y),K(t)||w(t),t=void 0,n=0,J(),F),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Je(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=be((e=>{const t=ae(),n=ae(),[o,s,r,a,i,d,c,,u,v,h]=Re(e,ae,(e=>K(e)?l:Z(e)?A(e,C):C(e))),[f,g,L]=Ve((()=>p)),y=(t,n,l)=>{const o=i(t);se(l,((t,l)=>n(l,(n=>se(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},p={setIndexDefinition:(e,l,o,s,r,a=je)=>{const i=K(r)?void 0:([e],[t])=>r(e,t);return u(e,l,((l,o,r,u,v,h)=>{let f=0;const L=Se(),y=Se(),p=d(e);if(se(o,(([e,t],n)=>{const l=Se(e),o=Se(t);se(l,(e=>re(o,e)?re(l,e):0)),se(l,(e=>{Ie(L,e),U(de(p,e),(t=>{re(t,n),ne(t)&&(ue(p,e),f=1)}))})),se(o,(e=>{Ie(L,e),te(p,e)||(ue(p,e,Se()),f=1),Ie(de(p,e),n),K(s)||Ie(y,e)}))})),l(),ne(v)||(h?ce(p,(e=>Ie(y,e))):ce(r,(e=>U(de(u,e),(e=>Ie(y,e))))),se(y,(e=>{const t=(t,n)=>a(de(v,t),de(v,n),e),n=[...de(p,e)];k(n,t)||(ue(p,e,Se(J(n,t))),Ie(L,e))}))),(f||h)&&!K(i)){const t=[...p];k(t,i)||(c(e,ae(J(t,i))),f=1)}f&&g(t,[e]),se(L,(t=>g(n,[e,t])))}),Te(o),U(s,Te)),p},delIndexDefinition:e=>(v(e),p),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>te(d(e),t),getTableId:i,getSliceIds:e=>ie(d(e)),getSliceRowIds:(e,t)=>le(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return Je(p)})),ze=ae([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:$(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,o,s=!1)=>{if(ne(n))return;const[r,a,i,d]=o;return s||(s=K(e)),se(l,(([n,l])=>{s||(e=K(n)?null==a?void 0:a(e,l,t++):K(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=K(e)))})),s?r(le(n),ee(n)):e},We=be((e=>{const t=ae(),[n,o,s,r,a,i,d,,c,u,v]=Re(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Ve((()=>L)),L={setMetricDefinition:(e,n,l,o,s,r,a)=>{var u;const v=Y(l)?[l,s,r,a]:null!=(u=de(ze,l))?u:de(ze,"sum");return c(e,n,((n,l,o,s,r,a)=>{const c=i(e),u=ee(s);a||(a=K(c)),n();let h=Ne(c,u,s,l,v,a);q(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Je(L)}));var Be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const He=(e,t,n,o,s)=>{let r,a,i=0;const d={load:(...n)=>Be(void 0,[...n],(function*(n={},o={}){if(2!=i){i=1;const s=yield t();K(s)||s==l?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(s),i=0}return d})),startAutoLoad:(...e)=>Be(void 0,[...e],(function*(e={},t={}){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(s(),d),save:()=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),r=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(r,e.delListener),U(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Je(d)};var $e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const qe="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let l;return He(e,(()=>$e(void 0,null,(function*(){return n.getItem(t)}))),(e=>$e(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ge.addEventListener(qe,l)}),(()=>{Ge.removeEventListener(qe,l),l=void 0}))},Ue=(e,t)=>Ke(e,t,localStorage),Xe=(e,t)=>Ke(e,t,sessionStorage);var Ye=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ze=(n,l)=>{let o;return He(n,(()=>Ye(void 0,null,(function*(){try{return yield t.readFile(l,c)}catch(e){}}))),(e=>Ye(void 0,null,(function*(){try{yield t.writeFile(l,e,c)}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var _e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const et=e=>e.headers.get("ETag"),tt=(e,t,n,l)=>{let o,s;return He(e,(()=>_e(void 0,null,(function*(){const e=yield fetch(t);return s=et(e),e.text()}))),(e=>_e(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>_e(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=et(n);K(s)||K(l)||l==s||(s=l,e())}))),1e3*l)}),(()=>{U(o,clearInterval),o=void 0}))};var nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;const st=be((e=>{const t=e.createStore,[n,o,s,r,a,,,i,,d,c,f,L]=Re(e,(()=>!0),_),y=t(),T=t(),b=ae(),m=(e,t,...n)=>P(n,(n=>Ie(ve(ve(b,t,ae),e,Se),n))),C=e=>{U(de(b,e),(e=>{ce(e,((e,t)=>se(t,(t=>e.delListener(t))))),oe(e)})),P([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>m(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(t,n,o)=>{i(t,n),C(t);const s=[],r=[[null,[n,null,null,[],ae()]]],a=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(s)+l,e]:[K(t)?e:t,n=>n(e,t)];return Q(s,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=K(n)||Y(t)?null:t,o=K(l)?t:n,s=[e,[e,l,Y(o)?o:e=>e(o),[],ae()]];return Q(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>Q(a,Y(e)?e:K(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,Y(t)?[t,n,l,o]:null!=(s=de(ze,t))?s:[(e,t)=>t]]];return Q(d,r),{as:e=>r[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ae(s);if(ne(u))return x;const v=ae(r);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ae(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ae();ce(h,((t,[n,l])=>Ie(ve(e,n,Se),[t,l])));const n=Se();ce(u,(t=>te(e,t)?0:Ie(n,t)));const l=ae(),o=(n,l,o,s)=>U(n,(([r,a,i,d])=>{ce(l,((t,[n])=>{const l=ve(r,t,ae),a=de(l,o),i=s?void 0:n;if(a!==i){const n=Se([[a,i]]),s=ee(l);ue(l,o,i),se(de(e,t),(([e,t])=>{const o=Ne(d[e],s,l,n,t);d[e]=K(ye(o))?null:o}))}})),ne(a)||!E(c,(e=>e((e=>d[e]))))?T.delRow(t,i):K(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));m(g,t,g.addRowListener(t,null,((s,r,a,i)=>{const d=[],c=[],u=ae(),v=g.hasRow(t,a);let h=!v;se(n,(e=>{const[n,l,o]=i(t,a,e);Q(d,l),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ue(u,e,[l])})),h&&o(Le(l,d,void 0,(([,e])=>(re(e,a),ne(e)))),u,a,1),v&&o(Le(l,c,(()=>{const e={};return se(n,(n=>e[n]=g.getCell(t,a,n))),[ae(),Se(),void 0,e]}),(([,e])=>{Ie(e,a)})),u,a)})))}V(t,e,g);const p=(l,o,s,r)=>{const i=t=>e.getCell(o,s,t);P(r,(n=>{var o;const[s,,r,a,d]=de(v,n),c=null==r?void 0:r(i,l),[u,h]=null!=(o=de(d,l))?o:[];c!=u&&(K(h)||L(t,h),ue(d,l,K(c)?null:[c,...f(t,1,e.addRowListener(s,c,(()=>p(l,s,c,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...K(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=de(v,t))?void 0:s[0],null==(a=de(null==(r=de(v,t))?void 0:r[4],l))?void 0:a[0],o])};g.transaction((()=>E(a,(e=>e(o)))?ce(u,((e,n)=>pe(g,t,l,e,n(o,l)))):g.delRow(t,l)))})(l)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?p(s,n,s,w):(g.delRow(t,s),se(v,(({4:e})=>U(de(e,s),(([,n])=>{L(t,n),ue(e,s)})))))}))))),x},delQueryDefinition:e=>(C(e),d(e),x),getStore:n,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:a,delListener:e=>(T.delListener(e),x),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)lt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&nt)for(var l of nt(e))t.indexOf(l)<0&&ot.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[p]:[1,2],[R]:[0,2],[I]:[1,3]},(([e,t],n)=>{P(e?["get","has","forEach"]:["get"],(e=>x[e+v+n]=(...t)=>T[e+n](...t))),x[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...l)=>e[t](x,...l)))})),Je(x)})),rt=be((e=>{const t=ae(),n=ae(),o=ae(),s=ae(),[r,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[ae(),ae(),ae(),ae()]),(e=>K(e)?void 0:e+l)),[g,L,y]=Ve((()=>I)),p=(e,t,n)=>U(u(e),(([l,,o])=>{if(!te(o,t)){const s=Se();if(c(e)!=S(e))Ie(s,t);else{let e=t;for(;!K(e)&&!te(s,e);)Ie(s,e),e=de(l,e)}if(n)return s;ue(o,t,s)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),I={setRelationshipDefinition:(e,l,r,a)=>(ue(t,e,r),v(e,l,((t,l)=>{const r=Se(),a=Se(),i=Se(),[d,c]=u(e);se(l,(([t,n],l)=>{K(t)||(Ie(a,t),U(de(c,t),(e=>{re(e,l),ne(e)&&ue(c,t)}))),K(n)||(Ie(a,n),te(c,n)||ue(c,n,Se()),Ie(de(c,n),l)),Ie(r,l),ue(d,l,n),ce(de(s,e),(t=>{te(p(e,t),l)&&Ie(i,t)}))})),t(),se(r,(t=>L(n,[e,t]))),se(a,(t=>L(o,[e,t]))),se(i,(t=>{w(e,t),L(s,[e,t])}))}),Te(a)),I),delRelationshipDefinition:e=>(ue(t,e),h(e),I),getStore:r,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return le(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:le(p(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Je(I)})),at=e=>[e,e],it=()=>[ae(),ae()],dt=(e,t,n,l=ue)=>(De(t,((t,l)=>n(e,l,t))),ce(e,(n=>Ae(t,n)?0:l(e,n))),e),ct=(e,t,n)=>K(e)||!Pe(e)||Oe(e)||ke(e)?(null==n||n(),!1):(De(e,((n,l)=>{t(n,l)||Me(e,l)})),!Oe(e)),ut=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),vt=()=>{let e,t,n,l,o=0;const s=ae(),a=ae(),c=ae(),v=ae(),f=ae(),S=ae(),E=ae(),k=ae(),M=ae(),D=ae(),O=ae(),F=ae(),z=Se(),N=ae(),H=ae(),$=ae(),q=it(),G=it(),Z=it(),_=it(),ee=it(),le=it(),Le=it(),Re=it(),Te=it(),be=it(),me=it(),Ee=it(),xe=it(),ke=it(),[Pe,Fe,Qe,ze]=Ve((()=>tn)),Ne=e=>{if(!ct(e,((e,t)=>V([i,d],t))))return!1;const t=e[i];return!(!X(t)&&t!=r||(ye(e[d])!=t&&Me(e,d),0))},We=(t,n)=>(!e||te(M,n)||bt(n))&&ct(t,((e,t)=>Be(n,t,e)),(()=>bt(n))),Be=(e,t,n,l)=>ct(l?n:Ge(n,e,t),((l,o)=>U(He(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,n,l,o)=>e?U(de(de(M,t),l),(e=>ye(o)!=e[i]?bt(t,n,l,o,e[d]):o),(()=>bt(t,n,l,o))):K(ye(o))?bt(t,n,l,o):o,$e=(e,t)=>ct(t?e:Ke(e),((t,n)=>U(qe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[i]?mt(e,n,t[d]):n),(()=>mt(e,n))):K(ye(n))?mt(e,n):n,Ge=(e,t,n)=>(U(de(D,t),(([l,o])=>{se(l,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(o,(l=>{Ae(e,l)||bt(t,n,l)}))})),e),Ke=e=>(t&&(se(F,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(z,(t=>{Ae(e,t)||mt(t)}))),e),Ue=e=>dt(M,e,((e,t,n)=>{const l=ae(),o=Se();dt(ve(M,t,ae),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(l,t,e)),(()=>Ie(o,t)))})),ue(D,t,[l,o])}),((e,t)=>{ue(M,t),ue(D,t)})),Xe=e=>dt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Ie(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),re(z,t)})),Ye=e=>Oe(e)?Kt():Bt(e),Ze=e=>dt(H,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>dt(ve(H,e,(()=>(pt(e,1),ae()))),t,((t,n,l)=>et(e,t,n,l)),((t,n)=>gt(e,t,n))),et=(e,t,n,l,o)=>dt(ve(t,n,(()=>(wt(e,n,1),ae()))),l,((t,l,o)=>tt(e,n,t,l,o)),((l,s)=>Lt(e,t,n,l,s,o))),tt=(e,t,n,l,o)=>{te(n,l)||St(e,t,l,1);const s=de(n,l);o!==s&&(It(e,t,l,s,o),ue(n,l,o))},nt=(e,t,n,l,o)=>U(de(t,n),(t=>tt(e,n,t,l,o)),(()=>et(e,t,n,Ge({[l]:o},e,n)))),lt=e=>Oe(e)?Ut():Ht(e),ot=e=>dt($,e,((e,t,n)=>st(t,n)),((e,t)=>yt(t))),st=(e,t)=>{te($,e)||Rt(e,1);const n=de($,e);t!==n&&(Tt(e,n,t),ue($,e,t))},rt=(e,t)=>{const[n]=ve(N,e,Ce),l=n(t);return te(de(H,e),l)?rt(e,t):l},ht=e=>{var t;return null!=(t=de(H,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,l]=ve(N,e,Ce);l(n),et(e,t,n,{},!0)},Lt=(e,t,n,l,o,s)=>{var r;const a=de(null==(r=de(D,e))?void 0:r[0],o);if(!K(a)&&!s)return tt(e,n,l,o,a);const i=t=>{It(e,n,t,de(l,t)),St(e,n,t,-1),ue(l,t)};K(a)?i(o):ce(l,i),ne(l)&&(wt(e,n,-1),ne(ue(t,n))&&(pt(e,-1),ue(H,e),ue(N,e)))},yt=e=>{const t=de(F,e);if(!K(t))return st(e,t);Tt(e,de($,e)),Rt(e,-1),ue($,e)},pt=(e,t)=>ut(s,e,t),wt=(e,t,n)=>ut(ve(a,e,ae),t,n),St=(e,t,n,l)=>ut(ve(ve(c,e,ae),t,ae),n,l),It=(e,t,n,l,o)=>ve(ve(ve(v,e,ae),t,ae),n,(()=>[l,0]))[1]=o,Rt=(e,t)=>ut(f,e,t),Tt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,bt=(e,t,n,l,o)=>(Q(ve(ve(ve(E,e,ae),t,ae),n,(()=>[])),l),o),mt=(e,t,n)=>(Q(ve(k,e,(()=>[])),t),n),Ct=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Qt(e,t,n))])),Vt=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Wt(e))])),Et=e=>ne(E)||ne(Te[e])?0:se(e?fe(E,ge):E,((t,n)=>se(t,((t,l)=>se(t,((t,o)=>Fe(Te[e],[n,l,o],t))))))),xt=e=>ne(k)||ne(be[e])?0:se(e?fe(k):k,((t,n)=>Fe(be[e],[n],t))),kt=(e,t,n)=>{if(!ne(t))return Fe(e,n),1},Jt=e=>{const t=ne(ee[e]),n=ne(Le[e])&&ne(_[e])&&t&&ne(G[e]),l=ne(Re[e])&&ne(le[e])&&ne(Z[e])&&ne(q[e]);if(!n||!l){const o=e?[fe(s),ge(a),fe(c,ge),fe(v,ge)]:[s,a,c,v];if(!n){se(o[2],((t,n)=>se(t,((t,l)=>kt(Le[e],t,[n,l])))));const n=Se();se(o[1],((l,o)=>{kt(_[e],l,[o])&&!t&&(Fe(ee[e],[o,null]),Ie(n,o))})),t||se(o[3],((t,l)=>{if(!te(n,l)){const n=Se();se(t,(e=>se(e,(([t,l],o)=>l!==t?Ie(n,o):re(e,o))))),se(n,(t=>Fe(ee[e],[l,t])))}})),kt(G[e],o[0])}if(!l){let t;se(o[3],((n,l)=>{let o;se(n,((n,s)=>{let r;se(n,(([n,a],i)=>{a!==n&&(Fe(Re[e],[l,s,i],a,n,Ct),t=o=r=1)})),r&&Fe(le[e],[l,s],Ct)})),o&&Fe(Z[e],[l],Ct)})),t&&Fe(q[e],void 0,Ct)}}},Pt=e=>{const t=ne(Ee[e]),n=ne(xe[e])&&ne(me[e]);if(!t||!n){const l=e?[fe(f),fe(S)]:[f,S];if(t||kt(Ee[e],l[0]),!n){let t;se(l[1],(([n,l],o)=>{l!==n&&(Fe(xe[e],[o],l,n,Vt),t=1)})),t&&Fe(me[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...A(t,C)))),tn),Mt=()=>he(H,(e=>he(e,he))),Dt=()=>ie(H),Ot=e=>ie(de(H,C(e))),Ft=(e,t,n,l=0,o)=>{return A(j(J((s=de(H,C(e)),r=(e,n)=>[K(t)?n:de(e,C(t)),n],A([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,K(o)?o:l+o),(([,e])=>e));var s,r,a},jt=(e,t)=>ie(de(de(H,C(e)),C(t))),Qt=(e,t,n)=>de(de(de(H,C(e)),C(t)),C(n)),zt=()=>he($),Nt=()=>ie($),Wt=e=>de($,C(e)),Bt=e=>At((()=>(e=>ct(e,We,bt))(e)?Ze(e):0)),Ht=e=>At((()=>$e(e)?ot(e):0)),$t=e=>{try{Ye(B(e))}catch(e){}return tn},qt=t=>At((()=>{if((e=ct(t,(e=>ct(e,Ne))))&&(Ue(t),!ne(H))){const e=Mt();Kt(),Bt(e)}})),Gt=e=>At((()=>{if(t=(e=>ct(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),Ht(n)}})),Kt=()=>At((()=>Ze({}))),Ut=()=>At((()=>ot({}))),Xt=()=>At((()=>{Ue({}),e=!1})),Yt=()=>At((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const n=e();return en(t),n},_t=()=>(o++,tn),en=e=>(o>0&&(o--,0==o&&(n=!ne(v),l=!ne(S),o=1,Et(1),n&&Jt(1),xt(1),l&&Pt(1),o=-1,(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(E,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(k)))&&(o=1,se(v,((e,t)=>se(e,((e,n)=>se(e,(([e],l)=>pe(tn,t,n,l,e))))))),se(S,(([e],t)=>we(tn,t,e))),o=-1,n=l=!1),Fe(ke[0],void 0,n,l),Et(0),n&&Jt(0),xt(0),l&&Pt(0),Fe(ke[1],void 0,n,l),o=0,P([s,a,c,v,E,f,S,k],oe))),tn),tn={getTables:Mt,getTableIds:Dt,getTable:e=>he(de(H,C(e)),he),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>he(de(de(H,C(e)),C(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!ne(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(de(H,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(H,C(e)),C(t)),C(n)),hasValues:()=>!ne($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(M),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([M,O]),setTables:Bt,setTable:(e,t)=>At((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>At(((e,t)=>Be(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let l;return Be(e,l,t)&&(e=C(e),et(e,ht(e),l=rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>At(((e,t)=>{if(Be(e,t,n,1)){const l=ht(e);De(n,((n,o)=>nt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>At(((e,t,n)=>U(He(e,t,n,Y(l)?l(Qt(e,t,n)):l),(l=>nt(e,ht(e),t,n,l)))),e,t,n),setValues:Ht,setPartialValues:e=>At((()=>$e(e,1)?De(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>At((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>st(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{lt(B(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=B(e);Ye(t),lt(n)}catch(t){$t(e)}return tn},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>At(((e,t)=>U(de(H,e),(n=>te(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>At(((e,t,n)=>U(de(H,e),(o=>U(de(o,t),(s=>te(s,n)?Lt(e,o,t,s,n,l):0))))),e,t,n),delValues:Ut,delValue:e=>At((e=>te($,e)?yt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>se(H,((t,n)=>e(n,(e=>se(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>se(de(H,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(H,C(e)),C(t)),n),forEachValue:e=>ce($,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Ft(e,t,n,l,o);return Pe((()=>{const r=Ft(e,t,n,l,o);x(r,a)||(a=r,s(tn,e,t,n,l,o,a))}),ee[r?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Pe(e,ke[0]),addDidFinishTransactionListener:e=>Pe(e,ke[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:vt};return De({[L]:[0,q],[y]:[0,G],[g]:[1,Z,[Dt]],[w]:[1,_,[Dt]],[p]:[2,le,[Dt,Ot]],[R]:[2,Le,[Dt,Ot]],[I]:[3,Re,[Dt,Ot,jt],e=>at(Qt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,xe,[Nt],e=>at(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,n,l],o)=>{tn[h+o+u]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),Je(tn)};export{Fe as createCheckpoints,He as createCustomPersister,Ze as createFilePersister,Qe as createIndexes,Ue as createLocalPersister,We as createMetrics,st as createQueries,rt as createRelationships,tt as createRemotePersister,Xe as createSessionPersister,vt as createStore,je as defaultSorter};
1
+ import{watch as e,promises as t}from"fs";const n=e=>typeof e,l="",o=n(l),r=n(!0),s=n(0),a=n(n),i="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",L=g+"s",y=g+f,p="Row",w=p+f,S="Sorted"+p+f,I="Cell",R=I+f,T="Value",b=T+"s",m=T+f,C=e=>l+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&E(e,((e,n)=>t[n]===e)),k=(e,t)=>E(e,((n,l)=>0==l||t(e[l-1],n)<=0)),J=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),M=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==r,Y=e=>n(e)==a,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),re=(e,t)=>null==e?void 0:e.forEach(t),se=(e,t)=>null==e?void 0:e.delete(t),ae=e=>new Map(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>re(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(se(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return re(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},fe=(e,t)=>{const n=ae(),l=null!=t?t:e=>e;return re(e,((e,t)=>n.set(t,l(e)))),n},ge=e=>fe(e,fe),Le=(e,t,n,l,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ae),(r=>{if(o>D(t)-2)return(null==l?void 0:l(r))&&ue(e,t[o]),r;const s=Le(r,t,n,l,o+1);return ne(r)&&ue(e,t[o]),s})),ye=e=>{const t=n(e);return X(t)||t==s&&q(e)?t:void 0},pe=(e,t,n,l,o)=>K(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Ie=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const l=e.hasRow,o=ae(),r=ae(),s=ae(),a=ae(),i=ae(),d=(t,n,...l)=>{const o=ve(i,t,Se);return P(l,(t=>Ie(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>U(de(i,t),(l=>{P(O(n)?le(l):n,(t=>{e.delListener(t),se(l,t)})),ne(l)&&ue(i,t)})),u=(e,n)=>{ue(o,e,n),te(r,e)||(ue(r,e,t()),ue(s,e,ae()),ue(a,e,ae()))},v=e=>{ue(o,e),ue(r,e),ue(s,e),ue(a,e),c(e)};return[()=>e,()=>ie(o),e=>ce(r,e),e=>te(r,e),e=>de(o,e),e=>de(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,i,v)=>{u(t,o);const h=ae(),f=ae(),g=de(s,t),L=de(a,t),y=t=>{const r=n=>e.getCell(o,t,n),s=de(g,t),a=l(o,t)?n(i(r,t)):void 0;if(s===a||Z(s)&&Z(a)&&x(s,a)||ue(h,t,[s,a]),!K(v)){const e=de(L,t),n=l(o,t)?v(r,t):void 0;e!=n&&ue(f,t,n)}},p=e=>{r((()=>{re(h,(([,e],t)=>ue(g,t,e))),re(f,((e,t)=>ue(L,t,e)))}),h,f,g,L,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&P(e.getRowIds(o),(e=>{te(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>p())))},v,()=>ce(i,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:l,be=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{me.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),r=ae();return[(o,s,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(r,c,[o,s,a,i,d]),Ie(Le(s,null!=a?a:[l],Se),c),c},(e,n,...o)=>P(((e,t=[l])=>{const n=[],o=(e,l)=>l==D(t)?Q(n,e):null===t[l]?re(e,(e=>o(e,l+1))):P([t[l],null],(t=>o(de(e,t),l+1)));return o(e,0),n})(e,n),(e=>re(e,(e=>de(r,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(r,e),(([,t,n])=>(Le(t,null!=n?n:[l],void 0,(t=>(se(t,e),ne(t)?1:0))),ue(r,e),o(e),n))),e=>U(de(r,e),(([e,,n=[],l,o])=>{const r=(...s)=>{var a,i;const d=D(s);d==D(n)?e(t,...s,...o(s)):K(n[d])?P(null!=(i=null==(a=l[d])?void 0:a.call(l,...s))?i:[],(e=>r(...s,e))):r(...s,n[d])};r()}))]},Ee=Object,xe=Ee.keys,ke=Ee.isFrozen,Je=Ee.freeze,Pe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],De=(e,t)=>A(Ee.entries(e),(([e,n])=>t(n,e))),Oe=e=>Pe(e)&&O(xe(e)),Fe=be((e=>{let t,n,o,r=100,s=ae(),a=ae(),i=1;const d=ae(),c=ae(),[u,v,h]=Ve((()=>F)),f=ae(),g=ae(),L=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=de(f,n);re(l,((n,l)=>re(n,((n,o)=>re(n,((n,r)=>pe(e,l,o,r,n[t]))))))),re(o,((n,l)=>we(e,l,n[t])))})),i=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>P(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),I=()=>S(L,D(L)-r),R=()=>U(t,(()=>{Q(L,t),I(),S(y),t=void 0,o=1})),T=()=>{t=z(L),o=1},b=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(i){R();const e=ve(s,t,ae),a=ve(e,n,ae),i=ve(a,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&ne(ue(a,l))&&ne(ue(e,n))&&ne(ue(s,t))&&T(),k()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(i){R();const e=ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ne(ue(a,t))&&T(),k()}})),C=(e="")=>(K(t)&&(t=l+n++,ue(f,t,[s,a]),A(t,e),s=ae(),a=ae(),o=1),t),E=()=>{O(L)||(((e,...t)=>{e.unshift(...t)})(y,C()),p(0,t),t=z(L),o=1)},x=()=>{O(y)||(Q(L,t),t=N(y),p(1,t),o=1)},k=()=>{o&&(v(d),o=0)},J=e=>{const t=C(e);return k(),t},A=(e,t)=>(M(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),M=e=>te(f,e),F={setSize:e=>(r=e,I(),F),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:M,getCheckpoint:e=>de(g,e),goBackward:()=>(E(),k(),F),goForward:()=>(x(),k(),F),goTo:e=>{const n=V(L,e)?E:V(y,e)?x:null;for(;!K(n)&&e!=t;)n();return k(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(L),S(y),K(t)||w(t),t=void 0,n=0,J(),F),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Je(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=be((e=>{const t=ae(),n=ae(),[o,r,s,a,i,d,c,,u,v,h]=Re(e,ae,(e=>K(e)?l:Z(e)?A(e,C):C(e))),[f,g,L]=Ve((()=>p)),y=(t,n,l)=>{const o=i(t);re(l,((t,l)=>n(l,(n=>re(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},p={setIndexDefinition:(e,l,o,r,s,a=je)=>{const i=K(s)?void 0:([e],[t])=>s(e,t);return u(e,l,((l,o,s,u,v,h)=>{let f=0;const L=Se(),y=Se(),p=d(e);if(re(o,(([e,t],n)=>{const l=Se(e),o=Se(t);re(l,(e=>se(o,e)?se(l,e):0)),re(l,(e=>{Ie(L,e),U(de(p,e),(t=>{se(t,n),ne(t)&&(ue(p,e),f=1)}))})),re(o,(e=>{Ie(L,e),te(p,e)||(ue(p,e,Se()),f=1),Ie(de(p,e),n),K(r)||Ie(y,e)}))})),l(),ne(v)||(h?ce(p,(e=>Ie(y,e))):ce(s,(e=>U(de(u,e),(e=>Ie(y,e))))),re(y,(e=>{const t=(t,n)=>a(de(v,t),de(v,n),e),n=[...de(p,e)];k(n,t)||(ue(p,e,Se(J(n,t))),Ie(L,e))}))),(f||h)&&!K(i)){const t=[...p];k(t,i)||(c(e,ae(J(t,i))),f=1)}f&&g(t,[e]),re(L,(t=>g(n,[e,t])))}),Te(o),U(r,Te)),p},delIndexDefinition:e=>(v(e),p),getStore:o,getIndexIds:r,forEachIndex:e=>s(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>te(d(e),t),getTableId:i,getSliceIds:e=>ie(d(e)),getSliceRowIds:(e,t)=>le(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return Je(p)})),ze=ae([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:$(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,o,r=!1)=>{if(ne(n))return;const[s,a,i,d]=o;return r||(r=K(e)),re(l,(([n,l])=>{r||(e=K(n)?null==a?void 0:a(e,l,t++):K(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),r||(r=K(e)))})),r?s(le(n),ee(n)):e},We=be((e=>{const t=ae(),[n,o,r,s,a,i,d,,c,u,v]=Re(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Ve((()=>L)),L={setMetricDefinition:(e,n,l,o,r,s,a)=>{var u;const v=Y(l)?[l,r,s,a]:null!=(u=de(ze,l))?u:de(ze,"sum");return c(e,n,((n,l,o,r,s,a)=>{const c=i(e),u=ee(r);a||(a=K(c)),n();let h=Ne(c,u,r,l,v,a);q(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:o,forEachMetric:r,hasMetric:s,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Je(L)}));var Be=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())}));const He=(e,t,n,o,r)=>{let s,a,i=0;const d={load:(...n)=>Be(void 0,[...n],(function*(n={},o={}){if(2!=i){i=1;const r=yield t();K(r)||r==l?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(r),i=0}return d})),startAutoLoad:(...e)=>Be(void 0,[...e],(function*(e={},t={}){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(r(),d),save:()=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),s=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(s,e.delListener),U(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Je(d)};var $e=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())}));const qe="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let l;return He(e,(()=>$e(void 0,null,(function*(){return n.getItem(t)}))),(e=>$e(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ge.addEventListener(qe,l)}),(()=>{Ge.removeEventListener(qe,l),l=void 0}))},Ue=(e,t)=>Ke(e,t,localStorage),Xe=(e,t)=>Ke(e,t,sessionStorage);var Ye=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())}));const Ze=(n,l)=>{let o;return He(n,(()=>Ye(void 0,null,(function*(){try{return yield t.readFile(l,c)}catch(e){}}))),(e=>Ye(void 0,null,(function*(){try{yield t.writeFile(l,e,c)}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var _e=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{a(n.next(e))}catch(e){o(e)}},s=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,s);a((n=n.apply(e,t)).next())}));const et=e=>e.headers.get("ETag"),tt=(e,t,n,l)=>{let o,r;return He(e,(()=>_e(void 0,null,(function*(){const e=yield fetch(t);return r=et(e),e.text()}))),(e=>_e(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>_e(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=et(n);K(r)||K(l)||l==r||(r=l,e())}))),1e3*l)}),(()=>{U(o,clearInterval),o=void 0}))};var nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;const rt=be((e=>{const t=e.createStore,[n,o,r,s,a,,,i,,d,c,f,L]=Re(e,(()=>!0),_),y=t(),T=t(),b=ae(),m=(e,t,...n)=>P(n,(n=>Ie(ve(ve(b,t,ae),e,Se),n))),C=e=>{U(de(b,e),(e=>{ce(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),P([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>m(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(t,n,o)=>{i(t,n),C(t);const r=[],s=[[null,[n,null,null,[],ae()]]],a=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(r)+l,e]:[K(t)?e:t,n=>n(e,t)];return Q(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=K(n)||Y(t)?null:t,o=K(l)?t:n,r=[e,[e,l,Y(o)?o:e=>e(o),[],ae()]];return Q(s,r),{as:e=>r[0]=e}},where:(e,t,n)=>Q(a,Y(e)?e:K(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var r;const s=[e,[e,Y(t)?[t,n,l,o]:null!=(r=de(ze,t))?r:[(e,t)=>t]]];return Q(d,s),{as:e=>s[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ae(r);if(ne(u))return x;const v=ae(s);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ae(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ae();ce(h,((t,[n,l])=>Ie(ve(e,n,Se),[t,l])));const n=Se();ce(u,(t=>te(e,t)?0:Ie(n,t)));const l=ae(),o=(n,l,o,r)=>U(n,(([s,a,i,d])=>{ce(l,((t,[n])=>{const l=ve(s,t,ae),a=de(l,o),i=r?void 0:n;if(a!==i){const n=Se([[a,i]]),r=ee(l);ue(l,o,i),re(de(e,t),(([e,t])=>{const o=Ne(d[e],r,l,n,t);d[e]=K(ye(o))?null:o}))}})),ne(a)||!E(c,(e=>e((e=>d[e]))))?T.delRow(t,i):K(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));m(g,t,g.addRowListener(t,null,((r,s,a,i)=>{const d=[],c=[],u=ae(),v=g.hasRow(t,a);let h=!v;re(n,(e=>{const[n,l,o]=i(t,a,e);Q(d,l),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ue(u,e,[l])})),h&&o(Le(l,d,void 0,(([,e])=>(se(e,a),ne(e)))),u,a,1),v&&o(Le(l,c,(()=>{const e={};return re(n,(n=>e[n]=g.getCell(t,a,n))),[ae(),Se(),void 0,e]}),(([,e])=>{Ie(e,a)})),u,a)})))}V(t,e,g);const p=(l,o,r,s)=>{const i=t=>e.getCell(o,r,t);P(s,(n=>{var o;const[r,,s,a,d]=de(v,n),c=null==s?void 0:s(i,l),[u,h]=null!=(o=de(d,l))?o:[];c!=u&&(K(h)||L(t,h),ue(d,l,K(c)?null:[c,...f(t,1,e.addRowListener(r,c,(()=>p(l,r,c,a))))]))})),(l=>{const o=(t,o)=>{var r,s,a;return e.getCell(...K(o)?[n,l,t]:t===n?[n,l,o]:[null==(r=de(v,t))?void 0:r[0],null==(a=de(null==(s=de(v,t))?void 0:s[4],l))?void 0:a[0],o])};g.transaction((()=>E(a,(e=>e(o)))?ce(u,((e,n)=>pe(g,t,l,e,n(o,l)))):g.delRow(t,l)))})(l)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((l,o,r)=>{e.hasRow(n,r)?p(r,n,r,w):(g.delRow(t,r),re(v,(({4:e})=>U(de(e,r),(([,n])=>{L(t,n),ue(e,r)})))))}))))),x},delQueryDefinition:e=>(C(e),d(e),x),getStore:n,getQueryIds:o,forEachQuery:r,hasQuery:s,getTableId:a,delListener:e=>(T.delListener(e),x),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)lt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&nt)for(var l of nt(e))t.indexOf(l)<0&&ot.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[p]:[1,2],[R]:[0,2],[I]:[1,3]},(([e,t],n)=>{P(e?["get","has","forEach"]:["get"],(e=>x[e+v+n]=(...t)=>T[e+n](...t))),x[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...l)=>e[t](x,...l)))})),Je(x)})),st=be((e=>{const t=ae(),n=ae(),o=ae(),r=ae(),[s,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[ae(),ae(),ae(),ae()]),(e=>K(e)?void 0:e+l)),[g,L,y]=Ve((()=>I)),p=(e,t,n)=>U(u(e),(([l,,o])=>{if(!te(o,t)){const r=Se();if(c(e)!=S(e))Ie(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)Ie(r,e),e=de(l,e)}if(n)return r;ue(o,t,r)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),I={setRelationshipDefinition:(e,l,s,a)=>(ue(t,e,s),v(e,l,((t,l)=>{const s=Se(),a=Se(),i=Se(),[d,c]=u(e);re(l,(([t,n],l)=>{K(t)||(Ie(a,t),U(de(c,t),(e=>{se(e,l),ne(e)&&ue(c,t)}))),K(n)||(Ie(a,n),te(c,n)||ue(c,n,Se()),Ie(de(c,n),l)),Ie(s,l),ue(d,l,n),ce(de(r,e),(t=>{te(p(e,t),l)&&Ie(i,t)}))})),t(),re(s,(t=>L(n,[e,t]))),re(a,(t=>L(o,[e,t]))),re(i,(t=>{w(e,t),L(r,[e,t])}))}),Te(a)),I),delRelationshipDefinition:e=>(ue(t,e),h(e),I),getStore:s,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return le(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:le(p(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,r,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Je(I)})),at=e=>[e,e],it=()=>[ae(),ae()],dt=(e,t,n,l=ue)=>(De(t,((t,l)=>n(e,l,t))),ce(e,(n=>Ae(t,n)?0:l(e,n))),e),ct=(e,t,n)=>K(e)||!Pe(e)||Oe(e)||ke(e)?(null==n||n(),!1):(De(e,((n,l)=>{t(n,l)||Me(e,l)})),!Oe(e)),ut=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),vt=()=>{let e,t,n,l,o=0;const r=ae(),a=ae(),c=ae(),v=ae(),f=ae(),S=ae(),E=ae(),k=ae(),M=ae(),D=ae(),O=ae(),F=ae(),z=Se(),N=ae(),H=ae(),$=ae(),q=it(),G=it(),Z=it(),_=it(),ee=it(),le=it(),Le=it(),Re=it(),Te=it(),be=it(),me=it(),Ee=it(),xe=it(),ke=ae(),Pe=it(),[Fe,Qe,ze,Ne]=Ve((()=>nn)),We=e=>{if(!ct(e,((e,t)=>V([i,d],t))))return!1;const t=e[i];return!(!X(t)&&t!=s||(ye(e[d])!=t&&Me(e,d),0))},Be=(t,n)=>(!e||te(M,n)||mt(n))&&ct(t,((e,t)=>He(n,t,e)),(()=>mt(n))),He=(e,t,n,l)=>ct(l?n:Ke(n,e,t),((l,o)=>U($e(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>mt(e,t))),$e=(t,n,l,o)=>e?U(de(de(M,t),l),(e=>ye(o)!=e[i]?mt(t,n,l,o,e[d]):o),(()=>mt(t,n,l,o))):K(ye(o))?mt(t,n,l,o):o,qe=(e,t)=>ct(t?e:Ue(e),((t,n)=>U(Ge(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Ct())),Ge=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[i]?Ct(e,n,t[d]):n),(()=>Ct(e,n))):K(ye(n))?Ct(e,n):n,Ke=(e,t,n)=>(U(de(D,t),(([l,o])=>{re(l,((t,n)=>{Ae(e,n)||(e[n]=t)})),re(o,(l=>{Ae(e,l)||mt(t,n,l)}))})),e),Ue=e=>(t&&(re(F,((t,n)=>{Ae(e,n)||(e[n]=t)})),re(z,(t=>{Ae(e,t)||Ct(t)}))),e),Xe=e=>dt(M,e,((e,t,n)=>{const l=ae(),o=Se();dt(ve(M,t,ae),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(l,t,e)),(()=>Ie(o,t)))})),ue(D,t,[l,o])}),((e,t)=>{ue(M,t),ue(D,t)})),Ye=e=>dt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Ie(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),se(z,t)})),Ze=e=>Oe(e)?Ut():Ht(e),_e=e=>dt(H,e,((e,t,n)=>et(t,n)),((e,t)=>gt(t))),et=(e,t)=>dt(ve(H,e,(()=>(wt(e,1),ae()))),t,((t,n,l)=>tt(e,t,n,l)),((t,n)=>Lt(e,t,n))),tt=(e,t,n,l,o)=>dt(ve(t,n,(()=>(St(e,n,1),ae()))),l,((t,l,o)=>nt(e,n,t,l,o)),((l,r)=>yt(e,t,n,l,r,o))),nt=(e,t,n,l,o)=>{te(n,l)||It(e,t,l,1);const r=de(n,l);o!==r&&(Rt(e,t,l,r,o),ue(n,l,o))},lt=(e,t,n,l,o)=>U(de(t,n),(t=>nt(e,n,t,l,o)),(()=>tt(e,t,n,Ke({[l]:o},e,n)))),ot=e=>Oe(e)?Xt():$t(e),rt=e=>dt($,e,((e,t,n)=>st(t,n)),((e,t)=>pt(t))),st=(e,t)=>{te($,e)||Tt(e,1);const n=de($,e);t!==n&&(bt(e,n,t),ue($,e,t))},ht=(e,t)=>{const[n]=ve(N,e,Ce),l=n(t);return te(de(H,e),l)?ht(e,t):l},ft=e=>{var t;return null!=(t=de(H,e))?t:et(e,{})},gt=e=>et(e,{}),Lt=(e,t,n)=>{const[,l]=ve(N,e,Ce);l(n),tt(e,t,n,{},!0)},yt=(e,t,n,l,o,r)=>{var s;const a=de(null==(s=de(D,e))?void 0:s[0],o);if(!K(a)&&!r)return nt(e,n,l,o,a);const i=t=>{Rt(e,n,t,de(l,t)),It(e,n,t,-1),ue(l,t)};K(a)?i(o):ce(l,i),ne(l)&&(St(e,n,-1),ne(ue(t,n))&&(wt(e,-1),ue(H,e),ue(N,e)))},pt=e=>{const t=de(F,e);if(!K(t))return st(e,t);bt(e,de($,e)),Tt(e,-1),ue($,e)},wt=(e,t)=>ut(r,e,t),St=(e,t,n)=>ut(ve(a,e,ae),t,n),It=(e,t,n,l)=>ut(ve(ve(c,e,ae),t,ae),n,l),Rt=(e,t,n,l,o)=>ve(ve(ve(v,e,ae),t,ae),n,(()=>[l,0]))[1]=o,Tt=(e,t)=>ut(f,e,t),bt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,mt=(e,t,n,l,o)=>(Q(ve(ve(ve(E,e,ae),t,ae),n,(()=>[])),l),o),Ct=(e,t,n)=>(Q(ve(k,e,(()=>[])),t),n),Vt=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...at(zt(e,t,n))])),Et=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Bt(e))])),xt=e=>ne(E)||ne(Te[e])?0:re(e?fe(E,ge):E,((t,n)=>re(t,((t,l)=>re(t,((t,o)=>Qe(Te[e],[n,l,o],t))))))),kt=e=>ne(k)||ne(be[e])?0:re(e?fe(k):k,((t,n)=>Qe(be[e],[n],t))),Jt=(e,t,n)=>{if(!ne(t))return Qe(e,n),1},Pt=e=>{const t=ne(ee[e]),n=ne(Le[e])&&ne(_[e])&&t&&ne(G[e]),l=ne(Re[e])&&ne(le[e])&&ne(Z[e])&&ne(q[e]);if(!n||!l){const o=e?[fe(r),ge(a),fe(c,ge),fe(v,ge)]:[r,a,c,v];if(!n){re(o[2],((t,n)=>re(t,((t,l)=>Jt(Le[e],t,[n,l])))));const n=Se();re(o[1],((l,o)=>{Jt(_[e],l,[o])&&!t&&(Qe(ee[e],[o,null]),Ie(n,o))})),t||re(o[3],((t,l)=>{if(!te(n,l)){const n=Se();re(t,(e=>re(e,(([t,l],o)=>l!==t?Ie(n,o):se(e,o))))),re(n,(t=>Qe(ee[e],[l,t])))}})),Jt(G[e],o[0])}if(!l){let t;re(o[3],((n,l)=>{let o;re(n,((n,r)=>{let s;re(n,(([n,a],i)=>{a!==n&&(Qe(Re[e],[l,r,i],a,n,Vt),t=o=s=1)})),s&&Qe(le[e],[l,r],Vt)})),o&&Qe(Z[e],[l],Vt)})),t&&Qe(q[e],void 0,Vt)}}},At=e=>{const t=ne(Ee[e]),n=ne(xe[e])&&ne(me[e]);if(!t||!n){const l=e?[fe(f),fe(S)]:[f,S];if(t||Jt(Ee[e],l[0]),!n){let t;re(l[1],(([n,l],o)=>{l!==n&&(Qe(xe[e],[o],l,n,Et),t=1)})),t&&Qe(me[e],void 0,Et)}}},Mt=(e,...t)=>(_t((()=>e(...A(t,C)))),nn),Dt=()=>he(H,(e=>he(e,he))),Ot=()=>ie(H),Ft=e=>ie(de(H,C(e))),jt=(e,t,n,l=0,o)=>{return A(j(J((r=de(H,C(e)),s=(e,n)=>[K(t)?n:de(e,C(t)),n],A([...null!=(a=null==r?void 0:r.entries())?a:[]],(([e,t])=>s(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,K(o)?o:l+o),(([,e])=>e));var r,s,a},Qt=(e,t)=>ie(de(de(H,C(e)),C(t))),zt=(e,t,n)=>de(de(de(H,C(e)),C(t)),C(n)),Nt=()=>he($),Wt=()=>ie($),Bt=e=>de($,C(e)),Ht=e=>Mt((()=>(e=>ct(e,Be,mt))(e)?_e(e):0)),$t=e=>Mt((()=>qe(e)?rt(e):0)),qt=e=>{try{Ze(B(e))}catch(e){}return nn},Gt=t=>Mt((()=>{if((e=ct(t,(e=>ct(e,We))))&&(Xe(t),!ne(H))){const e=Dt();Ut(),Ht(e)}})),Kt=e=>Mt((()=>{if(t=(e=>ct(e,We))(e)){const n=Nt();Zt(),Xt(),t=!0,Ye(e),$t(n)}})),Ut=()=>Mt((()=>_e({}))),Xt=()=>Mt((()=>rt({}))),Yt=()=>Mt((()=>{Xe({}),e=!1})),Zt=()=>Mt((()=>{Ye({}),t=!1})),_t=(e,t)=>{if(-1!=o){en();const n=e();return tn(t),n}},en=()=>(-1!=o&&o++,1==o&&Qe(ke,void 0,!1,!1),nn),tn=e=>(o>0&&(o--,0==o&&(n=!ne(v),l=!ne(S),o=1,xt(1),n&&Pt(1),kt(1),l&&At(1),(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(E,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(k)))&&(re(v,((e,t)=>re(e,((e,n)=>re(e,(([e],l)=>pe(nn,t,n,l,e))))))),re(S,(([e],t)=>we(nn,t,e))),n=l=!1),Qe(Pe[0],void 0,n,l),o=-1,xt(0),n&&Pt(0),kt(0),l&&At(0),Qe(Pe[1],void 0,n,l),o=0,P([r,a,c,v,E,f,S,k],oe))),nn),nn={getTables:Dt,getTableIds:Ot,getTable:e=>he(de(H,C(e)),he),getRowIds:Ft,getSortedRowIds:jt,getRow:(e,t)=>he(de(de(H,C(e)),C(t))),getCellIds:Qt,getCell:zt,getValues:Nt,getValueIds:Wt,getValue:Bt,hasTables:()=>!ne(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(de(H,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(H,C(e)),C(t)),C(n)),hasValues:()=>!ne($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(M),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([M,O]),setTables:Ht,setTable:(e,t)=>Mt((e=>Be(t,e)?et(e,t):0),e),setRow:(e,t,n)=>Mt(((e,t)=>He(e,t,n)?tt(e,ft(e),t,n):0),e,t),addRow:(e,t,n=!0)=>_t((()=>{let l;return He(e,l,t)&&(e=C(e),tt(e,ft(e),l=ht(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Mt(((e,t)=>{if(He(e,t,n,1)){const l=ft(e);De(n,((n,o)=>lt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>Mt(((e,t,n)=>U($e(e,t,n,Y(l)?l(zt(e,t,n)):l),(l=>lt(e,ft(e),t,n,l)))),e,t,n),setValues:$t,setPartialValues:e=>Mt((()=>qe(e,1)?De(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>Mt((e=>U(Ge(e,Y(t)?t(Bt(e)):t),(t=>st(e,t)))),e),setTablesJson:qt,setValuesJson:e=>{try{ot(B(e))}catch(e){}return nn},setJson:e=>{try{const[t,n]=B(e);Ze(t),ot(n)}catch(t){qt(e)}return nn},setTablesSchema:Gt,setValuesSchema:Kt,setSchema:(e,t)=>Mt((()=>{Gt(e),Kt(t)})),delTables:Ut,delTable:e=>Mt((e=>te(H,e)?gt(e):0),e),delRow:(e,t)=>Mt(((e,t)=>U(de(H,e),(n=>te(n,t)?Lt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>Mt(((e,t,n)=>U(de(H,e),(o=>U(de(o,t),(r=>te(r,n)?yt(e,o,t,r,n,l):0))))),e,t,n),delValues:Xt,delValue:e=>Mt((e=>te($,e)?pt(e):0),e),delTablesSchema:Yt,delValuesSchema:Zt,delSchema:()=>Mt((()=>{Yt(),Zt()})),transaction:_t,startTransaction:en,finishTransaction:tn,forEachTable:e=>re(H,((t,n)=>e(n,(e=>re(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>re(de(H,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(H,C(e)),C(t)),n),forEachValue:e=>ce($,e),addSortedRowIdsListener:(e,t,n,l,o,r,s)=>{let a=jt(e,t,n,l,o);return Fe((()=>{const s=jt(e,t,n,l,o);x(s,a)||(a=s,r(nn,e,t,n,l,o,a))}),ee[s?1:0],[e,t],[Ot])},addStartTransactionListener:e=>Fe(e,ke),addWillFinishTransactionListener:e=>Fe(e,Pe[0]),addDidFinishTransactionListener:e=>Fe(e,Pe[1]),callListener:e=>(Ne(e),nn),delListener:e=>(ze(e),nn),getListenerStats:()=>({}),createStore:vt};return De({[L]:[0,q],[y]:[0,G],[g]:[1,Z,[Ot]],[w]:[1,_,[Ot]],[p]:[2,le,[Ot,Ft]],[R]:[2,Le,[Ot,Ft]],[I]:[3,Re,[Ot,Ft,Qt],e=>at(zt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,xe,[Wt],e=>at(Bt(e[0]))],InvalidValue:[1,be]},(([e,t,n,l],o)=>{nn[h+o+u]=(...o)=>Fe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),Je(nn)};export{Fe as createCheckpoints,He as createCustomPersister,Ze as createFilePersister,Qe as createIndexes,Ue as createLocalPersister,We as createMetrics,rt as createQueries,st as createRelationships,tt as createRemotePersister,Xe as createSessionPersister,vt as createStore,je as defaultSorter};
Binary file
package/lib/es6/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",$="Table",i=$+"s",u=$+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",g=h+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),k=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,N=(e,t)=>e instanceof t,j=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},W=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},B=(e,t)=>null==e?void 0:e.forEach(t),F=(e,t)=>null==e?void 0:e.delete(t),U=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},Q=(e,t,l)=>j(l)?(F(e,t),e):null==e?void 0:e.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",ce="Invalid",$e="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",ve="Set",Te=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",Pe=X(Re),ke="Execute a "+Pe+" to make multiple mutations",Se="Explicitly starts a "+Pe,Ae="Explicitly finishes a "+Pe,Oe="the end of the "+Pe,Ee="void",De=" => "+Ee,Ne="WhenSet",je=" when setting it",Le=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+$,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+$,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+Le,"Sets "+Le,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+Le+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+$+Me+c,Y+$,Je+p+Me+c,Y+p,Je+h+Me+c,Y+h,"invalid Cell changes",f,Je+m+Me+c,Y+m,"invalid Value changes",Je+"sorted "+p+Me+c],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||j(e)?e:[e]),st=(e,t)=>null==e?void 0:e.add(t),It=/[^A-Za-z]+/,ct=/[^A-Za-z0-9]+/,$t=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace($t,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split(ct),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split(ct),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(P(e,(e=>e)),", "),vt=(...e)=>"{"+ht(e,"; ")+"}",Tt=(...e)=>vt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...v(H(e[l],((e,t)=>`import {${ht(v(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],k(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},xt=Object,Rt=xt.keys,Pt=xt.freeze,kt=e=>N(e,xt)&&e.constructor==xt,St=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>kt(e)&&R(Rt(e)),Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Et=(e,t,l)=>[t=>St(e,((e,a)=>t(a,mt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>St(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),mt(t,1)))),e=>St(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),mt(a,1))))],Dt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+Ne,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),c=e($+Ie,"keyof "+s,"A "+$+" Id in "+xe),m=`<TId extends ${c}>`,f=e($,be+`<${s}[TId]>`,"A "+$+" in "+xe,m),w=e($+Ne,be+`<${I}[TId]>`,"A "+$+" in "+xe+je,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+$,m),v=e(p+Ne,w+"<TId>[Id]","A "+p+" in a "+$+je,m),T=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+De,He(Y+h+" Id, and "+h),m),P=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+De+") "+De,He(Y+p+" Id, and a "+h+" iterator"),m),k=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${De}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),S=e($+le,`(...[tableId, forEachRow]: ${k})`+De,He(Y+$+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+Pe),E=e(i+r,`(${d}, getCellChange: ${O}${pe})`+De,Qe(1)),D=e(u+r,`(${d})`+De,Qe(2)),N=e($+r,`(${d}, tableId: ${c}, getCellChange: ${O}${pe})`+De,Qe(3)),L=e(b+r,`(${d}, tableId: ${c})`+De,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+c,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+De,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+c,we,`getCellChange: ${O}${pe}`)+")"+De,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+c,we)+")"+De,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${O} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,S,E,D,N,L,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+De,Qe(7,5)),e(ce+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+De,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,vt(...n(((e,l,a)=>`'${e}'${j(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+Ne,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),c=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${$})`+De,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+Pe),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+De,Qe(9)),b=e(w+r,`(${o})`+De,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${pe}, oldValue: ${c}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+De,Qe(11)),e(ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+De,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+De,ee+" listening to the completion of a "+Pe)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),jt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,S]=Vt(),[O,E,D]=Et(e,l,x),[N,L,G]=Dt(v,O,E,D),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),k(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?jt:Nt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,Lt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,S,A,D,L,G,J,z,B,Z]=N(Y,X),H=U();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+$,r+l,fe+` the '${e}' `+$),v(t+$+Ne,s+l,fe+` the '${e}' `+$+je),v(t+p,I+l,Fe(e)),v(t+p+Ne,m+l,Fe(e,1)),v(t+h+Ie,f+l,`A Cell Id for the '${e}' `+$),v(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+$)),v(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,P,S,A,D,L,G,J,z,B,Z),ae=[e,l,n,f,S,A,D,L,G,J,z,B,H],T([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue($,xe)),F(5,t,$,Ee,_e($,xe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);T([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,$,a,Ye(e,r),o,n+d))),F(0,l,b,c,Ue(p,Ke(e)),t,n),F(0,l,C,c,Ue(p,Ke(e),1),"cellId?: "+I+Te,n+", cellId, descending, offset, limit"),F(5,l,p,Ee,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,g,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,Ee,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+mt(d,1);Q(te,d,c);const $=d+(j(r)?pe:t);T([[$],[a],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([a,d=t,r=t],c)=>F(c,l+I,h,a,tt(e,o,c),we+d,n+", rowId, "+s+r)))}))})),F(0,t,i+$e,$e,Be(1,6)),F(2,t,i+$e,X,Be(1,7),"tablesJson: "+$e,"tables"+$e),q(i,S,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q($,D,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,L,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(O((e=>{var l,a;return null!=(a=null==(l=_(H,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),q(ce+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),k(ee,".set"+i+ye+"({",gt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${j(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,c,$,i]=L(Y,X);y(1,K,e,l,n,s,I,c,$,i),ne=[e,l,n,I,c,$],T([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),T([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,f+$e,$e,Be(2,6)),F(2,t,f+$e,X,Be(2,7),"valuesJson: "+$e,"values"+$e),q(f,I,Be(2,8)+" changes"),q(w,c,qe(10,0,1)),q(m,$,qe(11,0),`valueId: ${n} | null`,"valueId"),q(ce+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),k(ee,".set"+f+ye+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${j(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>v(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",$e,"Store"),F(0,t,$e,$e,Be(0,6)),F(2,t,$e,X,Be(0,7),"tablesAndValuesJson: "+$e,"tablesAndValuesJson"),F(7,t,Pe,"Return",ke,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Se),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("WillFinish"+Re,oe,me+" just before "+Oe,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Oe,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...P(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+De,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Vt(),[R,P,S]=Et(e,l,v),O=`./${mt(a)}.d`,E=`./${mt(a)}-ui-react.d`,D="tinybase/ui-react",N=mt(a,1),L=mt(N),M=N+"Or"+N+Ie,G=L+"Or"+N+Ie,J=L+`={${L}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),k(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,N);const q=I(M,N+" | "+Ie,`Used when you need to refer to a ${N} in a React hook or component`),K=I(ge+he,Tt(L+ue+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${ge} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,q,K);const X=G+ue+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+oe,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const ee=B(N,"id?: Id",N+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ce=v("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,k]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,N),s(null,"tinybase",c,"IdOrNull");const S=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ce),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ce} : `)))+ce);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue($,xe)+te);F(ve+i+le,ve+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+De,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,Tt("tableId?: TId","rowId: Id","cellId?: CId",L+ue+N,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,Tt("tableId?: TId","rowId: Id",L+ue+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I($+he,Tt("tableId?: TId",L+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+$),`<TId extends ${a}>`),B=I("Sorted"+$+he,Tt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+$),`<TId extends ${a}>`),U=I(i+he,Tt(L+ue+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,E,U,W,B,z,G),Z(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(k,e);s(null,O,n,o,d,r,I),F(l+$,$,n,Ye(e)+te,t,a);const i=F(l+b,b,c,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,c,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(ve+l+$+le,ve+$+le,qt,Ye(e,9)+Zt,yt(Gt($)+Ut+o,Gt($)+oe),yt(a,Jt($)),Qt,yt(tl,`table: ${o})`+De,Bt),al),F(ae+l+$+le,ae+$+le,le,Ye(e,12),t,a,t,ll,al),F(ve+l+p+le,ve+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+De,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+De,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(ve+l+Ce+p+le,ve+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+De,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+$+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,S+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+$+ol,`props: ${W}<'${e}'>`,S+"(props, "+i+`(props.${L}), ${a}, ${f});`,Ye(e,13)+te),P(e,((n,o,d,r,I)=>{const c="Map"+mt(o,1);s(0,O,c),s(1,O,c);const $=F(l+I+h,h,o+(j(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(ve+l+I+h+le,ve+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+c,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${c})`+De,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${L}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>{var l,a;return null!=(a=null==(l=_(k,e))?void 0:l[4])?a:t}))," | ");F(i+r,i+r,Ee,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,Ee,qe(2,0,1),dl(m),rl()),F($+r,$+r,Ee,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ee,qe(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ee,qe(13,3,1),dl(v,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ee,qe(5,3),dl(T,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,Ee,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,Ee,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,N);const $=y("getDefaultValueComponent","valueId: Id",ht(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ce);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(m,xe)+te);F(ve+f+le,ve+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+De,Bt),al),F(ve+Ce+f+le,ve+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+De,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,Tt("valueId?: VId",L+ue+N,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,Tt(L+ue+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,E,p,u),Z(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),S(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(ve+o+m+le,ve+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+De,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,Ee,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,Ee,qe(10,0,1),dl(d),rl()),F(m+r,m+r,Ee,qe(11,0),dl(c,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Q(0)),d(...T(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]};var cl=Object.defineProperty,$l=Object.defineProperties,il=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,bl=Object.prototype.propertyIsEnumerable,Cl=(e,t,l)=>t in e?cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))pl.call(t,l)&&Cl(e,l,t[l]);if(ul)for(var l of ul(t))bl.call(t,l)&&Cl(e,l,t[l]);return e},gl=(e,t)=>$l(e,il(t)),ml=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const fl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},wl=Ot((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,c=q(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),Q(s,o,c),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=e=>ml(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,gl(hl({},fl),{filepath:"_."+t[a]})))))}));return Pt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{wl as createTools};
1
+ const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",$="Table",i=$+"s",u=$+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",g=h+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),k=(e,...t)=>e.push(...t),S=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,j=(e,t)=>e instanceof t,N=e=>null==e,L=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},W=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},B=(e,t)=>null==e?void 0:e.forEach(t),F=(e,t)=>null==e?void 0:e.delete(t),U=e=>new Map(e),_=(e,t)=>null==e?void 0:e.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},Q=(e,t,l)=>N(l)?(F(e,t),e):null==e?void 0:e.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",ce="Invalid",$e="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",ve="Set",Te=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",Pe=X(Re),ke="Execute a "+Pe+" to make multiple mutations",Se="Explicitly starts a "+Pe,Ae="Explicitly finishes a "+Pe,Oe="the end of the "+Pe,Ee="void",De=" => "+Ee,je="WhenSet",Ne=" when setting it",Le=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+$,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+$,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+Le,"Sets "+Le,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+Le+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+$+Me+c,Y+$,Je+p+Me+c,Y+p,Je+h+Me+c,Y+h,"invalid Cell changes",f,Je+m+Me+c,Y+m,"invalid Value changes",Je+"sorted "+p+Me+c],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||N(e)?e:[e]),st=(e,t)=>null==e?void 0:e.add(t),It=/[^A-Za-z]+/,ct=/[^A-Za-z0-9]+/,$t=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace($t,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split(ct),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split(ct),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(P(e,(e=>e)),", "),vt=(...e)=>"{"+ht(e,"; ")+"}",Tt=(...e)=>vt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...v(H(e[l],((e,t)=>`import {${ht(v(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],k(e,S(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},xt=Object,Rt=xt.keys,Pt=xt.freeze,kt=e=>j(e,xt)&&e.constructor==xt,St=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>kt(e)&&R(Rt(e)),Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Et=(e,t,l)=>[t=>St(e,((e,a)=>t(a,mt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>St(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),mt(t,1)))),e=>St(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),mt(a,1))))],Dt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+je,vt(...l((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),c=e($+Ie,"keyof "+s,"A "+$+" Id in "+xe),m=`<TId extends ${c}>`,f=e($,be+`<${s}[TId]>`,"A "+$+" in "+xe,m),w=e($+je,be+`<${I}[TId]>`,"A "+$+" in "+xe+Ne,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+$,m),v=e(p+je,w+"<TId>[Id]","A "+p+" in a "+$+Ne,m),T=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+De,He(Y+h+" Id, and "+h),m),P=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+De+") "+De,He(Y+p+" Id, and a "+h+" iterator"),m),k=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${De}] : never`,$+" Ids and callback types",`<TId = ${c}>`,0),S=e($+le,`(...[tableId, forEachRow]: ${k})`+De,He(Y+$+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+Pe),E=e(i+r,`(${d}, getCellChange: ${O}${pe})`+De,Qe(1)),D=e(u+r,`(${d})`+De,Qe(2)),j=e($+r,`(${d}, tableId: ${c}, getCellChange: ${O}${pe})`+De,Qe(3)),L=e(b+r,`(${d}, tableId: ${c})`+De,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+c,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+De,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+c,we,`getCellChange: ${O}${pe}`)+")"+De,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+c,we)+")"+De,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${O} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,S,E,D,j,L,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+De,Qe(7,5)),e(ce+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+De,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,vt(...n(((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),c=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${$})`+De,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+Pe),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+De,Qe(9)),b=e(w+r,`(${o})`+De,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${pe}, oldValue: ${c}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+De,Qe(11)),e(ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+De,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+De,ee+" listening to the completion of a "+Pe)],jt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Nt=(e,l=t)=>`fluent(() => ${jt(e,l)})`,Lt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,S]=Vt(),[O,E,D]=Et(e,l,x),[j,L,G]=Dt(v,O,E,D),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),k(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Nt:jt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,Lt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,S,A,D,L,G,J,z,B,Z]=j(Y,X),H=U();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+$,r+l,fe+` the '${e}' `+$),v(t+$+je,s+l,fe+` the '${e}' `+$+Ne),v(t+p,I+l,Fe(e)),v(t+p+je,m+l,Fe(e,1)),v(t+h+Ie,f+l,`A Cell Id for the '${e}' `+$),v(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+$)),v(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,P,S,A,D,L,G,J,z,B,Z),ae=[e,l,n,f,S,A,D,L,G,J,z,B,H],T([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue($,xe)),F(5,t,$,Ee,_e($,xe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);T([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,$,a,Ye(e,r),o,n+d))),F(0,l,b,c,Ue(p,Ke(e)),t,n),F(0,l,C,c,Ue(p,Ke(e),1),"cellId?: "+I+Te,n+", cellId, descending, offset, limit"),F(5,l,p,Ee,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,g,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,Ee,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+mt(d,1);Q(te,d,c);const $=d+(N(r)?pe:t);T([[$],[a],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([a,d=t,r=t],c)=>F(c,l+I,h,a,tt(e,o,c),we+d,n+", rowId, "+s+r)))}))})),F(0,t,i+$e,$e,Be(1,6)),F(2,t,i+$e,X,Be(1,7),"tablesJson: "+$e,"tables"+$e),q(i,S,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q($,D,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,L,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(O((e=>{var l,a;return null!=(a=null==(l=_(H,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),q(ce+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),k(ee,".set"+i+ye+"({",gt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,c,$,i]=L(Y,X);y(1,K,e,l,n,s,I,c,$,i),ne=[e,l,n,I,c,$],T([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),T([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,f+$e,$e,Be(2,6)),F(2,t,f+$e,X,Be(2,7),"valuesJson: "+$e,"values"+$e),q(f,I,Be(2,8)+" changes"),q(w,c,qe(10,0,1)),q(m,$,qe(11,0),`valueId: ${n} | null`,"valueId"),q(ce+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),k(ee,".set"+f+ye+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${N(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>v(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",$e,"Store"),F(0,t,$e,$e,Be(0,6)),F(2,t,$e,X,Be(0,7),"tablesAndValuesJson: "+$e,"tablesAndValuesJson"),F(7,t,Pe,"Return",ke,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Se),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("Start"+Re,oe,me+" just before the start of the "+Pe,t,t,0),q("WillFinish"+Re,oe,me+" just before "+Oe,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Oe,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...P(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+De,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Vt(),[R,P,S]=Et(e,l,v),O=`./${mt(a)}.d`,E=`./${mt(a)}-ui-react.d`,D="tinybase/ui-react",j=mt(a,1),L=mt(j),M=j+"Or"+j+Ie,G=L+"Or"+j+Ie,J=L+`={${L}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),k(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,j);const q=I(M,j+" | "+Ie,`Used when you need to refer to a ${j} in a React hook or component`),K=I(ge+he,Tt(L+ue+j,L+`ById?: {[${L}Id: Id]: ${j}}`),`Used with the ${ge} component, so that a `+j+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,q,K);const X=G+ue+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${j}?, {[${L}Id: Id]: ${j}}?]>([])`),B("Create"+j,`create: () => ${j}, create`+oe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const ee=B(j,"id?: Id",j+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${L} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ce=v("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,k]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,j),s(null,"tinybase",c,"IdOrNull");const S=y("tableView",`{${L}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ce),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ce} : `)))+ce);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue($,xe)+te);F(ve+i+le,ve+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+De,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,Tt("tableId?: TId","rowId: Id","cellId?: CId",L+ue+j,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,Tt("tableId?: TId","rowId: Id",L+ue+j,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I($+he,Tt("tableId?: TId",L+ue+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+$),`<TId extends ${a}>`),B=I("Sorted"+$+he,Tt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+ue+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+$),`<TId extends ${a}>`),U=I(i+he,Tt(L+ue+j,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,E,U,W,B,z,G),Z(i+ol,"{"+L+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(k,e);s(null,O,n,o,d,r,I),F(l+$,$,n,Ye(e)+te,t,a);const i=F(l+b,b,c,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,c,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(ve+l+$+le,ve+$+le,qt,Ye(e,9)+Zt,yt(Gt($)+Ut+o,Gt($)+oe),yt(a,Jt($)),Qt,yt(tl,`table: ${o})`+De,Bt),al),F(ae+l+$+le,ae+$+le,le,Ye(e,12),t,a,t,ll,al),F(ve+l+p+le,ve+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+De,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+De,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(ve+l+Ce+p+le,ve+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+De,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+L+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+$+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,S+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+$+ol,`props: ${W}<'${e}'>`,S+"(props, "+i+`(props.${L}), ${a}, ${f});`,Ye(e,13)+te),P(e,((n,o,d,r,I)=>{const c="Map"+mt(o,1);s(0,O,c),s(1,O,c);const $=F(l+I+h,h,o+(N(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(ve+l+I+h+le,ve+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+c,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${c})`+De,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${L}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>{var l,a;return null!=(a=null==(l=_(k,e))?void 0:l[4])?a:t}))," | ");F(i+r,i+r,Ee,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,Ee,qe(2,0,1),dl(m),rl()),F($+r,$+r,Ee,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,Ee,qe(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,Ee,qe(13,3,1),dl(v,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Ee,qe(5,3),dl(T,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,Ee,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,Ee,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,j);const $=y("getDefaultValueComponent","valueId: Id",ht(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ce);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(m,xe)+te);F(ve+f+le,ve+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+De,Bt),al),F(ve+Ce+f+le,ve+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+De,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,Tt("valueId?: VId",L+ue+j,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,Tt(L+ue+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,E,p,u),Z(f+ol,"{"+L+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+$+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),S(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(ve+o+m+le,ve+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+De,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${L}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,Ee,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,Ee,qe(10,0,1),dl(d),rl()),F(m+r,m+r,Ee,qe(11,0),dl(c,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${L}, ${L}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Q(0)),d(...T(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]};var cl=Object.defineProperty,$l=Object.defineProperties,il=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,bl=Object.prototype.propertyIsEnumerable,Cl=(e,t,l)=>t in e?cl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,hl=(e,t)=>{for(var l in t||(t={}))pl.call(t,l)&&Cl(e,l,t[l]);if(ul)for(var l of ul(t))bl.call(t,l)&&Cl(e,l,t[l]);return e},gl=(e,t)=>$l(e,il(t)),ml=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const fl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},wl=Ot((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,c=q(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),Q(s,o,c),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]=hl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=e=>ml(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,gl(hl({},fl),{filepath:"_."+t[a]})))))}));return Pt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),hl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{wl as createTools};
Binary file
package/lib/queries.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Row",d=i+l,c="Sorted"+i+l,u="Cell",h=u+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),f=e=>e.length,L=e=>0==f(e),R=(e,t,n)=>e.reduce(t,n),y=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,p=isFinite,C=e=>null==e,m=(e,t,n)=>C(e)?n?.():t(e),S=t=>e(t)==r,I=e=>Array.isArray(e),Q=()=>{},E=e=>e.size,M=(e,t)=>e?.has(t)??!1,x=e=>C(e)||0==E(e),D=e=>[...e?.values()??[]],F=e=>e.clear(),j=(e,t)=>e?.forEach(t),k=(e,t)=>e?.delete(t),z=e=>new Map(e),A=(e,t)=>e?.get(t),W=(e,t)=>j(e,((e,n)=>t(n,e))),O=(e,t,n)=>C(n)?(k(e,t),e):e?.set(t,n),q=(e,t,n)=>(M(e,t)||O(e,t,n()),A(e,t)),B=(e,t,n,s,r=0)=>m((n?q:A)(e,t[r],r>f(t)-2?n:z),(o=>{if(r>f(t)-2)return s?.(o)&&O(e,t[r]),o;const a=B(o,t,n,s,r+1);return x(o)&&O(e,t[r]),a})),G=e=>new Set(I(e)||C(e)?e:[e]),H=(e,t)=>e?.add(t),J=z([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),K=Object,N=K.freeze,P=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,[w,R,T,b,P,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=z(),o=z(),a=z(),l=z(),i=z(),d=(t,n,...s)=>{const r=q(i,t,G);return v(s,(t=>H(r,t)&&n&&e.callListener(t))),s},c=(t,...n)=>m(A(i,t),(s=>{v(L(n)?D(s):n,(t=>{e.delListener(t),k(s,t)})),x(s)&&O(i,t)})),u=(e,t)=>{O(r,e,t),M(o,e)||(O(o,e,!0),O(a,e,z()),O(l,e,z()))},h=e=>{O(r,e),O(o,e),O(a,e),O(l,e),c(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>W(o,e),e=>M(o,e),e=>A(r,e),e=>A(o,e),(e,t)=>O(o,e,t),u,(t,r,o,i,h)=>{u(t,r);const w=z(),L=z(),R=A(a,t),y=A(l,t),T=t=>{const o=n=>e.getCell(r,t,n),a=A(R,t),l=s(r,t)?n(i(o,t)):void 0;var d,c;if(a===l||I(a)&&I(l)&&(c=l,f(d=a)===f(c)&&g(d,((e,t)=>c[t]===e)))||O(w,t,[a,l]),!C(h)){const e=A(y,t),n=s(r,t)?h(o,t):void 0;e!=n&&O(L,t,n)}},b=e=>{o((()=>{j(w,(([,e],t)=>O(R,t,e))),j(L,((e,t)=>O(y,t,e)))}),w,L,R,y,e),F(w),F(L)};W(R,T),e.hasTable(r)&&v(e.getRowIds(r),(e=>{M(R,e)||T(e)})),b(!0),c(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>b())))},h,()=>W(i,h),d,c]})(r,0,Q),$=l(),_=l(),ee=z(),te=(e,t,...n)=>v(n,(n=>H(q(q(ee,t,z),e,G),n))),ne=e=>{m(A(ee,e),(e=>{W(e,((e,t)=>j(t,(t=>e.delListener(t))))),F(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,l)=>{U(o,a),ne(o);const i=[],d=[[null,[a,null,null,[],z()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=S(e)?[f(i)+"",e]:[C(t)?e:t,n=>n(e,t)];return y(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||S(t)?null:t,r=C(s)?t:n,o=[e,[e,s,S(r)?r:e=>e(r),[],z()]];return y(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>y(c,S(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,S(t)?[t,n,s,r]:A(J,t)??[(e,t)=>t]]];return y(u,o),{as:e=>o[0]=e}},having:(e,t)=>y(h,S(e)?e:n=>n(e)===t)});const w=z(i);if(x(w))return re;const R=z(d);W(R,((e,[,t])=>m(A(R,t),(({3:t})=>C(e)?0:y(t,e)))));const T=z(u);let b=$;if(x(T)&&L(h))b=_;else{se(o,b,_);const r=z();W(T,((e,[t,n])=>H(q(r,t,G),[e,n])));const a=G();W(w,(e=>M(r,e)?0:H(a,e)));const l=z(),i=(a,l,i,d)=>m(a,(([c,u,v,w])=>{W(l,((o,[a])=>{const l=q(c,o,z),u=A(l,i),h=d?void 0:a;if(u!==h){const a=G([[u,h]]),d=E(l);O(l,i,h),j(A(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(x(n))return;const[a,l,i,d]=r;return o||=C(e),j(s,(([n,s])=>{o||(e=C(n)?l?.(e,s,t++):C(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=C(e))})),o?a(D(n),E(n)):e})(w[r],d,l,a,o);w[r]=C((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&p(r)?o:void 0})(i))?null:i}))}})),x(u)||!g(h,(e=>e((e=>w[e]))))?_.delRow(o,v):C(v)?a[2]=_.addRow(o,w):_.setRow(o,v,w)}));te(b,o,b.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=z(),h=b.hasRow(o,n);let g=!h;j(a,(e=>{const[t,r,a]=s(o,n,e);y(d,r),y(c,a),g||=t})),W(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&O(u,e,[r])})),g&&i(B(l,d,void 0,(([,e])=>(k(e,n),x(e)))),u,n,1),h&&i(B(l,c,(()=>{const e={};return j(a,(t=>e[t]=b.getCell(o,n,t))),[z(),G(),void 0,e]}),(([,e])=>{H(e,n)})),u,n)})))}se(o,r,b);const I=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);v(s,(t=>{const[n,,s,a,i]=A(R,t),d=s?.(l,e),[c,u]=A(i,e)??[];d!=c&&(C(u)||Z(o,u),O(i,e,C(d)?null:[d,...Y(o,1,r.addRowListener(n,d,(()=>I(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...C(n)?[a,e,t]:t===a?[a,e,n]:[A(R,t)?.[0],A(A(R,t)?.[4],e)?.[0],n]);b.transaction((()=>g(c,(e=>e(t)))?W(w,((n,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,e,n,s(t,e)))):b.delRow(o,e)))})(e)},{3:Q}=A(R,null);return b.transaction((()=>Y(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?I(n,a,n,Q):(b.delRow(o,n),j(R,(({4:e})=>m(A(e,n),(([,t])=>{Z(o,t),O(e,n)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:w,getQueryIds:R,forEachQuery:T,hasQuery:b,getTableId:P,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[d]:[0,1],[c]:[0,5],[i]:[1,2],[h]:[0,2],[u]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+a+n]=(...t)=>_[e+n](...t))),re["add"+a+n+o]=(...e)=>{return _["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(K.entries(oe),(([e,t])=>ae(t,e))),N(re)})(r)),l.get(r))})();export{P as createQueries};
1
+ const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),o="Listener",a="Result",l="Ids",i="Row",d=i+l,c="Sorted"+i+l,u="Cell",h=u+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),f=e=>e.length,L=e=>0==f(e),R=(e,t,n)=>e.reduce(t,n),y=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,p=isFinite,C=e=>null==e,S=(e,t,n)=>C(e)?n?.():t(e),m=t=>e(t)==r,I=e=>Array.isArray(e),Q=()=>{},E=e=>e.size,M=(e,t)=>e?.has(t)??!1,x=e=>C(e)||0==E(e),D=e=>[...e?.values()??[]],j=e=>e.clear(),k=(e,t)=>e?.forEach(t),z=(e,t)=>e?.delete(t),A=e=>new Map(e),F=(e,t)=>e?.get(t),O=(e,t)=>k(e,((e,n)=>t(n,e))),W=(e,t,n)=>C(n)?(z(e,t),e):e?.set(t,n),q=(e,t,n)=>(M(e,t)||W(e,t,n()),F(e,t)),B=(e,t,n,s,r=0)=>S((n?q:F)(e,t[r],r>f(t)-2?n:A),(o=>{if(r>f(t)-2)return s?.(o)&&W(e,t[r]),o;const a=B(o,t,n,s,r+1);return x(o)&&W(e,t[r]),a})),G=e=>new Set(I(e)||C(e)?e:[e]),H=(e,t)=>e?.add(t),J=A([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),K=Object,N=K.freeze,P=(r=>{const l=new WeakMap;return r=>(l.has(r)||l.set(r,(r=>{const l=r.createStore,[w,R,T,b,P,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=A(),o=A(),a=A(),l=A(),i=A(),d=(t,n,...s)=>{const r=q(i,t,G);return v(s,(t=>H(r,t)&&n&&e.callListener(t))),s},c=(t,...n)=>S(F(i,t),(s=>{v(L(n)?D(s):n,(t=>{e.delListener(t),z(s,t)})),x(s)&&W(i,t)})),u=(e,t)=>{W(r,e,t),M(o,e)||(W(o,e,!0),W(a,e,A()),W(l,e,A()))},h=e=>{W(r,e),W(o,e),W(a,e),W(l,e),c(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>O(o,e),e=>M(o,e),e=>F(r,e),e=>F(o,e),(e,t)=>W(o,e,t),u,(t,r,o,i,h)=>{u(t,r);const w=A(),L=A(),R=F(a,t),y=F(l,t),T=t=>{const o=n=>e.getCell(r,t,n),a=F(R,t),l=s(r,t)?n(i(o,t)):void 0;var d,c;if(a===l||I(a)&&I(l)&&(c=l,f(d=a)===f(c)&&g(d,((e,t)=>c[t]===e)))||W(w,t,[a,l]),!C(h)){const e=F(y,t),n=s(r,t)?h(o,t):void 0;e!=n&&W(L,t,n)}},b=e=>{o((()=>{k(w,(([,e],t)=>W(R,t,e))),k(L,((e,t)=>W(y,t,e)))}),w,L,R,y,e),j(w),j(L)};O(R,T),e.hasTable(r)&&v(e.getRowIds(r),(e=>{M(R,e)||T(e)})),b(!0),c(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>b())))},h,()=>O(i,h),d,c]})(r,0,Q),$=l(),_=l(),ee=A(),te=(e,t,...n)=>v(n,(n=>H(q(q(ee,t,A),e,G),n))),ne=e=>{S(F(ee,e),(e=>{O(e,((e,t)=>k(t,(t=>e.delListener(t))))),j(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,l)=>{U(o,a),ne(o);const i=[],d=[[null,[a,null,null,[],A()]]],c=[],u=[],h=[];l({select:(e,t)=>{const n=m(e)?[f(i)+"",e]:[C(t)?e:t,n=>n(e,t)];return y(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||m(t)?null:t,r=C(s)?t:n,o=[e,[e,s,m(r)?r:e=>e(r),[],A()]];return y(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>y(c,m(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,m(t)?[t,n,s,r]:F(J,t)??[(e,t)=>t]]];return y(u,o),{as:e=>o[0]=e}},having:(e,t)=>y(h,m(e)?e:n=>n(e)===t)});const w=A(i);if(x(w))return re;const R=A(d);O(R,((e,[,t])=>S(F(R,t),(({3:t})=>C(e)?0:y(t,e)))));const T=A(u);let b=$;if(x(T)&&L(h))b=_;else{se(o,b,_);const r=A();O(T,((e,[t,n])=>H(q(r,t,G),[e,n])));const a=G();O(w,(e=>M(r,e)?0:H(a,e)));const l=A(),i=(a,l,i,d)=>S(a,(([c,u,v,w])=>{O(l,((o,[a])=>{const l=q(c,o,A),u=F(l,i),h=d?void 0:a;if(u!==h){const a=G([[u,h]]),d=E(l);W(l,i,h),k(F(r,o),(([r,o])=>{const i=((e,t,n,s,r,o=!1)=>{if(x(n))return;const[a,l,i,d]=r;return o||=C(e),k(s,(([n,s])=>{o||(e=C(n)?l?.(e,s,t++):C(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=C(e))})),o?a(D(n),E(n)):e})(w[r],d,l,a,o);w[r]=C((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==s&&p(r)?o:void 0})(i))?null:i}))}})),x(u)||!g(h,(e=>e((e=>w[e]))))?_.delRow(o,v):C(v)?a[2]=_.addRow(o,w):_.setRow(o,v,w)}));te(b,o,b.addRowListener(o,null,((e,t,n,s)=>{const d=[],c=[],u=A(),h=b.hasRow(o,n);let g=!h;k(a,(e=>{const[t,r,a]=s(o,n,e);y(d,r),y(c,a),g||=t})),O(r,(e=>{const[t,,r]=s(o,n,e);(g||t)&&W(u,e,[r])})),g&&i(B(l,d,void 0,(([,e])=>(z(e,n),x(e)))),u,n,1),h&&i(B(l,c,(()=>{const e={};return k(a,(t=>e[t]=b.getCell(o,n,t))),[A(),G(),void 0,e]}),(([,e])=>{H(e,n)})),u,n)})))}se(o,r,b);const I=(e,t,n,s)=>{const l=e=>r.getCell(t,n,e);v(s,(t=>{const[n,,s,a,i]=F(R,t),d=s?.(l,e),[c,u]=F(i,e)??[];d!=c&&(C(u)||Z(o,u),W(i,e,C(d)?null:[d,...Y(o,1,r.addRowListener(n,d,(()=>I(e,n,d,a))))]))})),(e=>{const t=(t,n)=>r.getCell(...C(n)?[a,e,t]:t===a?[a,e,n]:[F(R,t)?.[0],F(F(R,t)?.[4],e)?.[0],n]);b.transaction((()=>g(c,(e=>e(t)))?O(w,((n,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(b,o,e,n,s(t,e)))):b.delRow(o,e)))})(e)},{3:Q}=F(R,null);return b.transaction((()=>Y(o,1,r.addRowListener(a,null,((e,t,n)=>{r.hasRow(a,n)?I(n,a,n,Q):(b.delRow(o,n),k(R,(({4:e})=>S(F(e,n),(([,t])=>{Z(o,t),W(e,n)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:w,getQueryIds:R,forEachQuery:T,hasQuery:b,getTableId:P,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[d]:[0,1],[c]:[0,5],[i]:[1,2],[h]:[0,2],[u]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+a+n]=(...t)=>_[e+n](...t))),re["add"+a+n+o]=(...e)=>{return _["add"+n+o](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(K.entries(oe),(([e,t])=>ae(t,e))),N(re)})(r)),l.get(r))})();export{P as createQueries};
package/lib/queries.js.gz CHANGED
Binary file
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),r=e(e),a="type",o="default",c="Ids",i="Table",u=i+"s",d=i+c,h="Row"+c,f="Cell",g=f+c,T="Value",V=T+"s",b=T+c,S=e=>t+e,v=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),R=e=>e.length,y=(e,t,s)=>e.slice(t,s),J=(e,...t)=>e.push(...t),m=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),C=JSON.parse,I=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==n,z=t=>e(t)==r,O=(e,t)=>e?.has(t)??!1,k=e=>L(e)||0==(e=>e.size)(e),A=e=>e.clear(),M=(e,t)=>e?.forEach(t),N=(e,t)=>e?.delete(t),P=e=>new Map(e),j=e=>[...e?.keys()??[]],x=(e,t)=>e?.get(t),D=(e,t)=>M(e,((e,s)=>t(s,e))),W=(e,t,s)=>L(s)?(N(e,t),e):e?.set(t,s),$=(e,t,s)=>(O(e,t)||W(e,t,s()),x(e,t)),q=(e,t,s)=>{const n={},l=t??(e=>e);return M(e,((e,t)=>E(l(e),(e=>s?.(e)?0:n[t]=e)))),n},B=(e,t)=>{const s=P(),n=t??(e=>e);return M(e,((e,t)=>s.set(t,n(e)))),s},G=e=>B(e,B),H=(e,t,s,n,l=0)=>E((s?$:x)(e,t[l],l>R(t)-2?s:P),(r=>{if(l>R(t)-2)return n?.(r)&&W(e,t[l]),r;const a=H(r,t,s,n,l+1);return k(r)&&W(e,t[l]),a})),K=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Q=(e,t)=>e?.add(t),U=/^\d+$/,X=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{U.test(t)&&R(e)<1e3&&J(e,t)}]},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>p(e,Y)&&e.constructor==Y,se=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),ne=(e,t)=>delete e[t],le=(e,t)=>w(Y.entries(e),(([e,s])=>t(s,e))),re=e=>{return te(e)&&(t=Z(e),0==R(t));var t},ae=e=>[e,e],oe=()=>[P(),P()],ce=t=>{const s=e(t);return F(s)||s==l&&I(t)?s:void 0},ie=(e,t,s,n=W)=>(le(t,((t,n)=>s(e,n,t))),D(e,(s=>se(t,s)?0:n(e,s))),e),ue=(e,t,s)=>L(e)||!te(e)||re(e)||_(e)?(s?.(),!1):(le(e,((s,n)=>{t(s,n)||ne(e,n)})),!re(e)),de=(e,t,s)=>W(e,t,x(e,t)==-s?void 0:s),he=()=>{let e,s,n,r,c=0;const I=P(),p=P(),U=P(),Y=P(),Z=P(),_=P(),te=P(),fe=P(),ge=P(),Te=P(),Ve=P(),be=P(),Se=K(),ve=P(),we=P(),Re=P(),ye=oe(),Je=oe(),me=oe(),Ce=oe(),Ie=oe(),pe=oe(),Le=oe(),Ee=oe(),Fe=oe(),ze=oe(),Oe=oe(),ke=oe(),Ae=oe(),Me=oe(),[Ne,Pe,je,xe]=(e=>{let s;const[n,l]=X(),r=P();return[(e,l,a,o=[],c=(()=>[]))=>{s??=Qt;const i=n(1);return W(r,i,[e,l,a,o,c]),Q(H(l,a??[t],K),i),i},(e,n,...l)=>v(((e,s=[t])=>{const n=[],l=(e,t)=>t==R(s)?J(n,e):null===s[t]?M(e,(e=>l(e,t+1))):v([s[t],null],(s=>l(x(e,s),t+1)));return l(e,0),n})(e,n),(e=>M(e,(e=>x(r,e)[0](s,...n??[],...l))))),e=>E(x(r,e),(([,s,n])=>(H(s,n??[t],void 0,(t=>(N(t,e),k(t)?1:0))),W(r,e),l(e),n))),e=>E(x(r,e),(([e,,t=[],n,l])=>{const r=(...a)=>{const o=R(a);o==R(t)?e(s,...a,...l(a)):L(t[o])?v(n[o]?.(...a)??[],(e=>r(...a,e))):r(...a,t[o])};r()}))]})(),De=e=>{if(!ue(e,((e,t)=>[a,o].includes(t))))return!1;const t=e[a];return!(!F(t)&&t!=l||(ce(e[o])!=t&&ne(e,o),0))},We=(t,s)=>(!e||O(ge,s)||bt(s))&&ue(t,((e,t)=>$e(s,t,e)),(()=>bt(s))),$e=(e,t,s,n)=>ue(n?s:He(s,e,t),((n,l)=>E(qe(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>bt(e,t))),qe=(t,s,n,l)=>e?E(x(x(ge,t),n),(e=>ce(l)!=e[a]?bt(t,s,n,l,e[o]):l),(()=>bt(t,s,n,l))):L(ce(l))?bt(t,s,n,l):l,Be=(e,t)=>ue(t?e:Ke(e),((t,s)=>E(Ge(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>St())),Ge=(e,t)=>s?E(x(Ve,e),(s=>ce(t)!=s[a]?St(e,t,s[o]):t),(()=>St(e,t))):L(ce(t))?St(e,t):t,He=(e,t,s)=>(E(x(Te,t),(([n,l])=>{M(n,((t,s)=>{se(e,s)||(e[s]=t)})),M(l,(n=>{se(e,n)||bt(t,s,n)}))})),e),Ke=e=>(s&&(M(be,((t,s)=>{se(e,s)||(e[s]=t)})),M(Se,(t=>{se(e,t)||St(t)}))),e),Qe=e=>ie(ge,e,((e,t,s)=>{const n=P(),l=K();ie($(ge,t,P),s,((e,t,s)=>{W(e,t,s),E(s[o],(e=>W(n,t,e)),(()=>Q(l,t)))})),W(Te,t,[n,l])}),((e,t)=>{W(ge,t),W(Te,t)})),Ue=e=>ie(Ve,e,((e,t,s)=>{W(Ve,t,s),E(s[o],(e=>W(be,t,e)),(()=>Q(Se,t)))}),((e,t)=>{W(Ve,t),W(be,t),N(Se,t)})),Xe=e=>re(e)?Wt():Nt(e),Ye=e=>ie(we,e,((e,t,s)=>Ze(t,s)),((e,t)=>ot(t))),Ze=(e,t)=>ie($(we,e,(()=>(dt(e,1),P()))),t,((t,s,n)=>_e(e,t,s,n)),((t,s)=>ct(e,t,s))),_e=(e,t,s,n,l)=>ie($(t,s,(()=>(ht(e,s,1),P()))),n,((t,n,l)=>et(e,s,t,n,l)),((n,r)=>it(e,t,s,n,r,l))),et=(e,t,s,n,l)=>{O(s,n)||ft(e,t,n,1);const r=x(s,n);l!==r&&(gt(e,t,n,r,l),W(s,n,l))},tt=(e,t,s,n,l)=>E(x(t,s),(t=>et(e,s,t,n,l)),(()=>_e(e,t,s,He({[n]:l},e,s)))),st=e=>re(e)?$t():Pt(e),nt=e=>ie(Re,e,((e,t,s)=>lt(t,s)),((e,t)=>ut(t))),lt=(e,t)=>{O(Re,e)||Tt(e,1);const s=x(Re,e);t!==s&&(Vt(e,s,t),W(Re,e,t))},rt=(e,t)=>{const[s]=$(ve,e,X),n=s(t);return O(x(we,e),n)?rt(e,t):n},at=e=>x(we,e)??Ze(e,{}),ot=e=>Ze(e,{}),ct=(e,t,s)=>{const[,n]=$(ve,e,X);n(s),_e(e,t,s,{},!0)},it=(e,t,s,n,l,r)=>{const a=x(x(Te,e)?.[0],l);if(!L(a)&&!r)return et(e,s,n,l,a);const o=t=>{gt(e,s,t,x(n,t)),ft(e,s,t,-1),W(n,t)};L(a)?o(l):D(n,o),k(n)&&(ht(e,s,-1),k(W(t,s))&&(dt(e,-1),W(we,e),W(ve,e)))},ut=e=>{const t=x(be,e);if(!L(t))return lt(e,t);Vt(e,x(Re,e)),Tt(e,-1),W(Re,e)},dt=(e,t)=>de(I,e,t),ht=(e,t,s)=>de($(p,e,P),t,s),ft=(e,t,s,n)=>de($($(U,e,P),t,P),s,n),gt=(e,t,s,n,l)=>$($($(Y,e,P),t,P),s,(()=>[n,0]))[1]=l,Tt=(e,t)=>de(Z,e,t),Vt=(e,t,s)=>$(_,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,l)=>(J($($($(te,e,P),t,P),s,(()=>[])),n),l),St=(e,t,s)=>(J($(fe,e,(()=>[])),t),s),vt=(e,t,s)=>E(x(x(x(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ae(Ot(e,t,s))])),wt=e=>E(x(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ae(Mt(e))])),Rt=e=>k(te)||k(Fe[e])?0:M(e?B(te,G):te,((t,s)=>M(t,((t,n)=>M(t,((t,l)=>Pe(Fe[e],[s,n,l],t))))))),yt=e=>k(fe)||k(ze[e])?0:M(e?B(fe):fe,((t,s)=>Pe(ze[e],[s],t))),Jt=(e,t,s)=>{if(!k(t))return Pe(e,s),1},mt=e=>{const t=k(Ie[e]),s=k(Le[e])&&k(Ce[e])&&t&&k(Je[e]),n=k(Ee[e])&&k(pe[e])&&k(me[e])&&k(ye[e]);if(!s||!n){const l=e?[B(I),G(p),B(U,G),B(Y,G)]:[I,p,U,Y];if(!s){M(l[2],((t,s)=>M(t,((t,n)=>Jt(Le[e],t,[s,n])))));const s=K();M(l[1],((n,l)=>{Jt(Ce[e],n,[l])&&!t&&(Pe(Ie[e],[l,null]),Q(s,l))})),t||M(l[3],((t,n)=>{if(!O(s,n)){const s=K();M(t,(e=>M(e,(([t,n],l)=>n!==t?Q(s,l):N(e,l))))),M(s,(t=>Pe(Ie[e],[n,t])))}})),Jt(Je[e],l[0])}if(!n){let t;M(l[3],((s,n)=>{let l;M(s,((s,r)=>{let a;M(s,(([s,o],c)=>{o!==s&&(Pe(Ee[e],[n,r,c],o,s,vt),t=l=a=1)})),a&&Pe(pe[e],[n,r],vt)})),l&&Pe(me[e],[n],vt)})),t&&Pe(ye[e],void 0,vt)}}},Ct=e=>{const t=k(ke[e]),s=k(Ae[e])&&k(Oe[e]);if(!t||!s){const n=e?[B(Z),B(_)]:[Z,_];if(t||Jt(ke[e],n[0]),!s){let t;M(n[1],(([s,n],l)=>{n!==s&&(Pe(Ae[e],[l],n,s,wt),t=1)})),t&&Pe(Oe[e],void 0,wt)}}},It=(e,...t)=>(Gt((()=>e(...w(t,S)))),Qt),pt=()=>q(we,(e=>q(e,q))),Lt=()=>j(we),Et=e=>j(x(we,S(e))),Ft=(e,t,s,n=0,l)=>{return w(y((a=x(we,S(e)),o=(e,s)=>[L(t)?s:x(e,S(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),w([...a?.entries()??[]],(([e,t])=>o(t,e))).sort(r)),n,L(l)?l:n+l),(([,e])=>e));var r,a,o},zt=(e,t)=>j(x(x(we,S(e)),S(t))),Ot=(e,t,s)=>x(x(x(we,S(e)),S(t)),S(s)),kt=()=>q(Re),At=()=>j(Re),Mt=e=>x(Re,S(e)),Nt=e=>It((()=>(e=>ue(e,We,bt))(e)?Ye(e):0)),Pt=e=>It((()=>Be(e)?nt(e):0)),jt=e=>{try{Xe(C(e))}catch{}return Qt},xt=t=>It((()=>{if((e=ue(t,(e=>ue(e,De))))&&(Qe(t),!k(we))){const e=pt();Wt(),Nt(e)}})),Dt=e=>It((()=>{if(s=(e=>ue(e,De))(e)){const t=kt();Bt(),$t(),s=!0,Ue(e),Pt(t)}})),Wt=()=>It((()=>Ye({}))),$t=()=>It((()=>nt({}))),qt=()=>It((()=>{Qe({}),e=!1})),Bt=()=>It((()=>{Ue({}),s=!1})),Gt=(e,t)=>{if(-1==c)return;Ht();const s=e();return Kt(t),s},Ht=()=>(c++,Qt),Kt=e=>(c>0&&(c--,0==c&&(n=!k(Y),r=!k(_),c=1,Rt(1),n&&mt(1),yt(1),r&&Ct(1),c=-1,e?.(q(Y,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),re)),re),q(te,(e=>q(e,q))),q(_,(e=>[...e]),(([e,t])=>e===t)),q(fe))&&(c=1,M(Y,((e,t)=>M(e,((e,s)=>M(e,(([e],n)=>((e,t,s,n,l)=>L(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l))(Qt,t,s,n,e))))))),M(_,(([e],t)=>((e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s))(Qt,t,e))),c=-1,n=r=!1),Pe(Me[0],void 0,n,r),Rt(0),n&&mt(0),yt(0),r&&Ct(0),Pe(Me[1],void 0,n,r),c=0,v([I,p,U,Y,te,Z,_,fe],A))),Qt),Qt={getTables:pt,getTableIds:Lt,getTable:e=>q(x(we,S(e)),q),getRowIds:Et,getSortedRowIds:Ft,getRow:(e,t)=>q(x(x(we,S(e)),S(t))),getCellIds:zt,getCell:Ot,getValues:kt,getValueIds:At,getValue:Mt,hasTables:()=>!k(we),hasTable:e=>O(we,S(e)),hasRow:(e,t)=>O(x(we,S(e)),S(t)),hasCell:(e,t,s)=>O(x(x(we,S(e)),S(t)),S(s)),hasValues:()=>!k(Re),hasValue:e=>O(Re,S(e)),getTablesJson:()=>m(we),getValuesJson:()=>m(Re),getJson:()=>m([we,Re]),getTablesSchemaJson:()=>m(ge),getValuesSchemaJson:()=>m(Ve),getSchemaJson:()=>m([ge,Ve]),setTables:Nt,setTable:(e,t)=>It((e=>We(t,e)?Ze(e,t):0),e),setRow:(e,t,s)=>It(((e,t)=>$e(e,t,s)?_e(e,at(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Gt((()=>{let n;return $e(e,n,t)&&(e=S(e),_e(e,at(e),n=rt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>It(((e,t)=>{if($e(e,t,s,1)){const n=at(e);le(s,((s,l)=>tt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>It(((e,t,s)=>E(qe(e,t,s,z(n)?n(Ot(e,t,s)):n),(n=>tt(e,at(e),t,s,n)))),e,t,s),setValues:Pt,setPartialValues:e=>It((()=>Be(e,1)?le(e,((e,t)=>lt(t,e))):0)),setValue:(e,t)=>It((e=>E(Ge(e,z(t)?t(Mt(e)):t),(t=>lt(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{st(C(e))}catch{}return Qt},setJson:e=>{try{const[t,s]=C(e);Xe(t),st(s)}catch{jt(e)}return Qt},setTablesSchema:xt,setValuesSchema:Dt,setSchema:(e,t)=>It((()=>{xt(e),Dt(t)})),delTables:Wt,delTable:e=>It((e=>O(we,e)?ot(e):0),e),delRow:(e,t)=>It(((e,t)=>E(x(we,e),(s=>O(s,t)?ct(e,s,t):0))),e,t),delCell:(e,t,s,n)=>It(((e,t,s)=>E(x(we,e),(l=>E(x(l,t),(r=>O(r,s)?it(e,l,t,r,s,n):0))))),e,t,s),delValues:$t,delValue:e=>It((e=>O(Re,e)?ut(e):0),e),delTablesSchema:qt,delValuesSchema:Bt,delSchema:()=>It((()=>{qt(),Bt()})),transaction:Gt,startTransaction:Ht,finishTransaction:Kt,forEachTable:e=>M(we,((t,s)=>e(s,(e=>M(t,((t,s)=>e(s,(e=>D(t,e))))))))),forEachRow:(e,t)=>M(x(we,S(e)),((e,s)=>t(s,(t=>D(e,t))))),forEachCell:(e,t,s)=>D(x(x(we,S(e)),S(t)),s),forEachValue:e=>D(Re,e),addSortedRowIdsListener:(e,t,s,n,l,r,a)=>{let o=Ft(e,t,s,n,l);return Ne((()=>{const a=Ft(e,t,s,n,l);var c,i,u;i=o,R(c=a)===R(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=a,r(Qt,e,t,s,n,l,o))}),Ie[a?1:0],[e,t],[Lt])},addWillFinishTransactionListener:e=>Ne(e,Me[0]),addDidFinishTransactionListener:e=>Ne(e,Me[1]),callListener:e=>(xe(e),Qt),delListener:e=>(je(e),Qt),getListenerStats:()=>({}),createStore:he};return le({[u]:[0,ye],[d]:[0,Je],[i]:[1,me,[Lt]],[h]:[1,Ce,[Lt]],Row:[2,pe,[Lt,Et]],[g]:[2,Le,[Lt,Et]],[f]:[3,Ee,[Lt,Et,zt],e=>ae(Ot(...e))],InvalidCell:[3,Fe],[V]:[0,Oe],[b]:[0,ke],[T]:[1,Ae,[At],e=>ae(Mt(e[0]))],InvalidValue:[1,ze]},(([e,t,s,n],l)=>{Qt["add"+l+"Listener"]=(...l)=>Ne(l[e],t[l[e+1]?1:0],e>0?y(l,0,e):void 0,s,n)})),ee(Qt)};export{he as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Ids",i="Table",u=i+"s",d=i+c,h="Row"+c,f="Cell",g=f+c,T="Value",V=T+"s",b=T+c,S=e=>t+e,v=(e,t)=>e.forEach(t),w=(e,t)=>e.map(t),R=e=>e.length,y=(e,t,s)=>e.slice(t,s),J=(e,...t)=>e.push(...t),m=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),C=JSON.parse,I=isFinite,p=(e,t)=>e instanceof t,L=e=>null==e,E=(e,t,s)=>L(e)?s?.():t(e),F=e=>e==s||e==n,z=t=>e(t)==l,O=(e,t)=>e?.has(t)??!1,k=e=>L(e)||0==(e=>e.size)(e),A=e=>e.clear(),M=(e,t)=>e?.forEach(t),N=(e,t)=>e?.delete(t),P=e=>new Map(e),j=e=>[...e?.keys()??[]],x=(e,t)=>e?.get(t),D=(e,t)=>M(e,((e,s)=>t(s,e))),W=(e,t,s)=>L(s)?(N(e,t),e):e?.set(t,s),$=(e,t,s)=>(O(e,t)||W(e,t,s()),x(e,t)),q=(e,t,s)=>{const n={},a=t??(e=>e);return M(e,((e,t)=>E(a(e),(e=>s?.(e)?0:n[t]=e)))),n},B=(e,t)=>{const s=P(),n=t??(e=>e);return M(e,((e,t)=>s.set(t,n(e)))),s},G=e=>B(e,B),H=(e,t,s,n,a=0)=>E((s?$:x)(e,t[a],a>R(t)-2?s:P),(l=>{if(a>R(t)-2)return n?.(l)&&W(e,t[a]),l;const r=H(l,t,s,n,a+1);return k(l)&&W(e,t[a]),r})),K=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Q=(e,t)=>e?.add(t),U=/^\d+$/,X=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{U.test(t)&&R(e)<1e3&&J(e,t)}]},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>p(e,Y)&&e.constructor==Y,se=(e,t)=>!L(((e,t)=>E(e,(e=>e[t])))(e,t)),ne=(e,t)=>delete e[t],ae=(e,t)=>w(Y.entries(e),(([e,s])=>t(s,e))),le=e=>{return te(e)&&(t=Z(e),0==R(t));var t},re=e=>[e,e],oe=()=>[P(),P()],ce=t=>{const s=e(t);return F(s)||s==a&&I(t)?s:void 0},ie=(e,t,s,n=W)=>(ae(t,((t,n)=>s(e,n,t))),D(e,(s=>se(t,s)?0:n(e,s))),e),ue=(e,t,s)=>L(e)||!te(e)||le(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!le(e)),de=(e,t,s)=>W(e,t,x(e,t)==-s?void 0:s),he=()=>{let e,s,n,l,c=0;const I=P(),p=P(),U=P(),Y=P(),Z=P(),_=P(),te=P(),fe=P(),ge=P(),Te=P(),Ve=P(),be=P(),Se=K(),ve=P(),we=P(),Re=P(),ye=oe(),Je=oe(),me=oe(),Ce=oe(),Ie=oe(),pe=oe(),Le=oe(),Ee=oe(),Fe=oe(),ze=oe(),Oe=oe(),ke=oe(),Ae=oe(),Me=P(),Ne=oe(),[Pe,je,xe,De]=(e=>{let s;const[n,a]=X(),l=P();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Ut;const i=n(1);return W(l,i,[e,a,r,o,c]),Q(H(a,r??[t],K),i),i},(e,n,...a)=>v(((e,s=[t])=>{const n=[],a=(e,t)=>t==R(s)?J(n,e):null===s[t]?M(e,(e=>a(e,t+1))):v([s[t],null],(s=>a(x(e,s),t+1)));return a(e,0),n})(e,n),(e=>M(e,(e=>x(l,e)[0](s,...n??[],...a))))),e=>E(x(l,e),(([,s,n])=>(H(s,n??[t],void 0,(t=>(N(t,e),k(t)?1:0))),W(l,e),a(e),n))),e=>E(x(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=R(r);o==R(t)?e(s,...r,...a(r)):L(t[o])?v(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),We=e=>{if(!ue(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!F(t)&&t!=a||(ce(e[o])!=t&&ne(e,o),0))},$e=(t,s)=>(!e||O(ge,s)||St(s))&&ue(t,((e,t)=>qe(s,t,e)),(()=>St(s))),qe=(e,t,s,n)=>ue(n?s:Ke(s,e,t),((n,a)=>E(Be(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>St(e,t))),Be=(t,s,n,a)=>e?E(x(x(ge,t),n),(e=>ce(a)!=e[r]?St(t,s,n,a,e[o]):a),(()=>St(t,s,n,a))):L(ce(a))?St(t,s,n,a):a,Ge=(e,t)=>ue(t?e:Qe(e),((t,s)=>E(He(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>vt())),He=(e,t)=>s?E(x(Ve,e),(s=>ce(t)!=s[r]?vt(e,t,s[o]):t),(()=>vt(e,t))):L(ce(t))?vt(e,t):t,Ke=(e,t,s)=>(E(x(Te,t),(([n,a])=>{M(n,((t,s)=>{se(e,s)||(e[s]=t)})),M(a,(n=>{se(e,n)||St(t,s,n)}))})),e),Qe=e=>(s&&(M(be,((t,s)=>{se(e,s)||(e[s]=t)})),M(Se,(t=>{se(e,t)||vt(t)}))),e),Ue=e=>ie(ge,e,((e,t,s)=>{const n=P(),a=K();ie($(ge,t,P),s,((e,t,s)=>{W(e,t,s),E(s[o],(e=>W(n,t,e)),(()=>Q(a,t)))})),W(Te,t,[n,a])}),((e,t)=>{W(ge,t),W(Te,t)})),Xe=e=>ie(Ve,e,((e,t,s)=>{W(Ve,t,s),E(s[o],(e=>W(be,t,e)),(()=>Q(Se,t)))}),((e,t)=>{W(Ve,t),W(be,t),N(Se,t)})),Ye=e=>le(e)?$t():Pt(e),Ze=e=>ie(we,e,((e,t,s)=>_e(t,s)),((e,t)=>ct(t))),_e=(e,t)=>ie($(we,e,(()=>(ht(e,1),P()))),t,((t,s,n)=>et(e,t,s,n)),((t,s)=>it(e,t,s))),et=(e,t,s,n,a)=>ie($(t,s,(()=>(ft(e,s,1),P()))),n,((t,n,a)=>tt(e,s,t,n,a)),((n,l)=>ut(e,t,s,n,l,a))),tt=(e,t,s,n,a)=>{O(s,n)||gt(e,t,n,1);const l=x(s,n);a!==l&&(Tt(e,t,n,l,a),W(s,n,a))},st=(e,t,s,n,a)=>E(x(t,s),(t=>tt(e,s,t,n,a)),(()=>et(e,t,s,Ke({[n]:a},e,s)))),nt=e=>le(e)?qt():jt(e),at=e=>ie(Re,e,((e,t,s)=>lt(t,s)),((e,t)=>dt(t))),lt=(e,t)=>{O(Re,e)||Vt(e,1);const s=x(Re,e);t!==s&&(bt(e,s,t),W(Re,e,t))},rt=(e,t)=>{const[s]=$(ve,e,X),n=s(t);return O(x(we,e),n)?rt(e,t):n},ot=e=>x(we,e)??_e(e,{}),ct=e=>_e(e,{}),it=(e,t,s)=>{const[,n]=$(ve,e,X);n(s),et(e,t,s,{},!0)},ut=(e,t,s,n,a,l)=>{const r=x(x(Te,e)?.[0],a);if(!L(r)&&!l)return tt(e,s,n,a,r);const o=t=>{Tt(e,s,t,x(n,t)),gt(e,s,t,-1),W(n,t)};L(r)?o(a):D(n,o),k(n)&&(ft(e,s,-1),k(W(t,s))&&(ht(e,-1),W(we,e),W(ve,e)))},dt=e=>{const t=x(be,e);if(!L(t))return lt(e,t);bt(e,x(Re,e)),Vt(e,-1),W(Re,e)},ht=(e,t)=>de(I,e,t),ft=(e,t,s)=>de($(p,e,P),t,s),gt=(e,t,s,n)=>de($($(U,e,P),t,P),s,n),Tt=(e,t,s,n,a)=>$($($(Y,e,P),t,P),s,(()=>[n,0]))[1]=a,Vt=(e,t)=>de(Z,e,t),bt=(e,t,s)=>$(_,e,(()=>[t,0]))[1]=s,St=(e,t,s,n,a)=>(J($($($(te,e,P),t,P),s,(()=>[])),n),a),vt=(e,t,s)=>(J($(fe,e,(()=>[])),t),s),wt=(e,t,s)=>E(x(x(x(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...re(kt(e,t,s))])),Rt=e=>E(x(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...re(Nt(e))])),yt=e=>k(te)||k(Fe[e])?0:M(e?B(te,G):te,((t,s)=>M(t,((t,n)=>M(t,((t,a)=>je(Fe[e],[s,n,a],t))))))),Jt=e=>k(fe)||k(ze[e])?0:M(e?B(fe):fe,((t,s)=>je(ze[e],[s],t))),mt=(e,t,s)=>{if(!k(t))return je(e,s),1},Ct=e=>{const t=k(Ie[e]),s=k(Le[e])&&k(Ce[e])&&t&&k(Je[e]),n=k(Ee[e])&&k(pe[e])&&k(me[e])&&k(ye[e]);if(!s||!n){const a=e?[B(I),G(p),B(U,G),B(Y,G)]:[I,p,U,Y];if(!s){M(a[2],((t,s)=>M(t,((t,n)=>mt(Le[e],t,[s,n])))));const s=K();M(a[1],((n,a)=>{mt(Ce[e],n,[a])&&!t&&(je(Ie[e],[a,null]),Q(s,a))})),t||M(a[3],((t,n)=>{if(!O(s,n)){const s=K();M(t,(e=>M(e,(([t,n],a)=>n!==t?Q(s,a):N(e,a))))),M(s,(t=>je(Ie[e],[n,t])))}})),mt(Je[e],a[0])}if(!n){let t;M(a[3],((s,n)=>{let a;M(s,((s,l)=>{let r;M(s,(([s,o],c)=>{o!==s&&(je(Ee[e],[n,l,c],o,s,wt),t=a=r=1)})),r&&je(pe[e],[n,l],wt)})),a&&je(me[e],[n],wt)})),t&&je(ye[e],void 0,wt)}}},It=e=>{const t=k(ke[e]),s=k(Ae[e])&&k(Oe[e]);if(!t||!s){const n=e?[B(Z),B(_)]:[Z,_];if(t||mt(ke[e],n[0]),!s){let t;M(n[1],(([s,n],a)=>{n!==s&&(je(Ae[e],[a],n,s,Rt),t=1)})),t&&je(Oe[e],void 0,Rt)}}},pt=(e,...t)=>(Ht((()=>e(...w(t,S)))),Ut),Lt=()=>q(we,(e=>q(e,q))),Et=()=>j(we),Ft=e=>j(x(we,S(e))),zt=(e,t,s,n=0,a)=>{return w(y((r=x(we,S(e)),o=(e,s)=>[L(t)?s:x(e,S(t)),s],l=([e],[t])=>(e<t?-1:1)*(s?-1:1),w([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,L(a)?a:n+a),(([,e])=>e));var l,r,o},Ot=(e,t)=>j(x(x(we,S(e)),S(t))),kt=(e,t,s)=>x(x(x(we,S(e)),S(t)),S(s)),At=()=>q(Re),Mt=()=>j(Re),Nt=e=>x(Re,S(e)),Pt=e=>pt((()=>(e=>ue(e,$e,St))(e)?Ze(e):0)),jt=e=>pt((()=>Ge(e)?at(e):0)),xt=e=>{try{Ye(C(e))}catch{}return Ut},Dt=t=>pt((()=>{if((e=ue(t,(e=>ue(e,We))))&&(Ue(t),!k(we))){const e=Lt();$t(),Pt(e)}})),Wt=e=>pt((()=>{if(s=(e=>ue(e,We))(e)){const t=At();Gt(),qt(),s=!0,Xe(e),jt(t)}})),$t=()=>pt((()=>Ze({}))),qt=()=>pt((()=>at({}))),Bt=()=>pt((()=>{Ue({}),e=!1})),Gt=()=>pt((()=>{Xe({}),s=!1})),Ht=(e,t)=>{if(-1!=c){Kt();const s=e();return Qt(t),s}},Kt=()=>(-1!=c&&c++,1==c&&je(Me,void 0,!1,!1),Ut),Qt=e=>(c>0&&(c--,0==c&&(n=!k(Y),l=!k(_),c=1,yt(1),n&&Ct(1),Jt(1),l&&It(1),e?.(q(Y,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),le)),le),q(te,(e=>q(e,q))),q(_,(e=>[...e]),(([e,t])=>e===t)),q(fe))&&(M(Y,((e,t)=>M(e,((e,s)=>M(e,(([e],n)=>((e,t,s,n,a)=>L(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a))(Ut,t,s,n,e))))))),M(_,(([e],t)=>((e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s))(Ut,t,e))),n=l=!1),je(Ne[0],void 0,n,l),c=-1,yt(0),n&&Ct(0),Jt(0),l&&It(0),je(Ne[1],void 0,n,l),c=0,v([I,p,U,Y,te,Z,_,fe],A))),Ut),Ut={getTables:Lt,getTableIds:Et,getTable:e=>q(x(we,S(e)),q),getRowIds:Ft,getSortedRowIds:zt,getRow:(e,t)=>q(x(x(we,S(e)),S(t))),getCellIds:Ot,getCell:kt,getValues:At,getValueIds:Mt,getValue:Nt,hasTables:()=>!k(we),hasTable:e=>O(we,S(e)),hasRow:(e,t)=>O(x(we,S(e)),S(t)),hasCell:(e,t,s)=>O(x(x(we,S(e)),S(t)),S(s)),hasValues:()=>!k(Re),hasValue:e=>O(Re,S(e)),getTablesJson:()=>m(we),getValuesJson:()=>m(Re),getJson:()=>m([we,Re]),getTablesSchemaJson:()=>m(ge),getValuesSchemaJson:()=>m(Ve),getSchemaJson:()=>m([ge,Ve]),setTables:Pt,setTable:(e,t)=>pt((e=>$e(t,e)?_e(e,t):0),e),setRow:(e,t,s)=>pt(((e,t)=>qe(e,t,s)?et(e,ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ht((()=>{let n;return qe(e,n,t)&&(e=S(e),et(e,ot(e),n=rt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>pt(((e,t)=>{if(qe(e,t,s,1)){const n=ot(e);ae(s,((s,a)=>st(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>pt(((e,t,s)=>E(Be(e,t,s,z(n)?n(kt(e,t,s)):n),(n=>st(e,ot(e),t,s,n)))),e,t,s),setValues:jt,setPartialValues:e=>pt((()=>Ge(e,1)?ae(e,((e,t)=>lt(t,e))):0)),setValue:(e,t)=>pt((e=>E(He(e,z(t)?t(Nt(e)):t),(t=>lt(e,t)))),e),setTablesJson:xt,setValuesJson:e=>{try{nt(C(e))}catch{}return Ut},setJson:e=>{try{const[t,s]=C(e);Ye(t),nt(s)}catch{xt(e)}return Ut},setTablesSchema:Dt,setValuesSchema:Wt,setSchema:(e,t)=>pt((()=>{Dt(e),Wt(t)})),delTables:$t,delTable:e=>pt((e=>O(we,e)?ct(e):0),e),delRow:(e,t)=>pt(((e,t)=>E(x(we,e),(s=>O(s,t)?it(e,s,t):0))),e,t),delCell:(e,t,s,n)=>pt(((e,t,s)=>E(x(we,e),(a=>E(x(a,t),(l=>O(l,s)?ut(e,a,t,l,s,n):0))))),e,t,s),delValues:qt,delValue:e=>pt((e=>O(Re,e)?dt(e):0),e),delTablesSchema:Bt,delValuesSchema:Gt,delSchema:()=>pt((()=>{Bt(),Gt()})),transaction:Ht,startTransaction:Kt,finishTransaction:Qt,forEachTable:e=>M(we,((t,s)=>e(s,(e=>M(t,((t,s)=>e(s,(e=>D(t,e))))))))),forEachRow:(e,t)=>M(x(we,S(e)),((e,s)=>t(s,(t=>D(e,t))))),forEachCell:(e,t,s)=>D(x(x(we,S(e)),S(t)),s),forEachValue:e=>D(Re,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=zt(e,t,s,n,a);return Pe((()=>{const r=zt(e,t,s,n,a);var c,i,u;i=o,R(c=r)===R(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,l(Ut,e,t,s,n,a,o))}),Ie[r?1:0],[e,t],[Et])},addStartTransactionListener:e=>Pe(e,Me),addWillFinishTransactionListener:e=>Pe(e,Ne[0]),addDidFinishTransactionListener:e=>Pe(e,Ne[1]),callListener:e=>(De(e),Ut),delListener:e=>(xe(e),Ut),getListenerStats:()=>({}),createStore:he};return ae({[u]:[0,ye],[d]:[0,Je],[i]:[1,me,[Et]],[h]:[1,Ce,[Et]],Row:[2,pe,[Et,Ft]],[g]:[2,Le,[Et,Ft]],[f]:[3,Ee,[Et,Ft,Ot],e=>re(kt(...e))],InvalidCell:[3,Fe],[V]:[0,Oe],[b]:[0,ke],[T]:[1,Ae,[Mt],e=>re(Nt(e[0]))],InvalidValue:[1,ze]},(([e,t,s,n],a)=>{Ut["add"+a+"Listener"]=(...a)=>Pe(a[e],t[a[e+1]?1:0],e>0?y(a,0,e):void 0,s,n)})),ee(Ut)};export{he as createStore};
package/lib/store.js.gz CHANGED
Binary file
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- import{promises as e,watch as t}from"fs";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",g="add",f="Ids",L="Table",w=L+"s",v=L+f,S="Row",R=S+f,I="Sorted"+S+f,T="Cell",y=T+f,p="Value",b=p+"s",m=p+f,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),A=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),x=e=>z(e,((e,t)=>e+t),0),F=e=>e.length,Q=e=>0==F(e),z=(e,t,s)=>e.reduce(t,s),N=(e,t,s)=>e.slice(t,s),O=(e,...t)=>e.push(...t),j=e=>e.pop(),P=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?z([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),ge=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},fe=(e,t)=>{const s=ie(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>fe(e,fe),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&q(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Re=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Ie=e=>new Set(Z(e)||K(e)?e:[e]),Te=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=ie(),a=ie(),r=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Ie);return M(n,(t=>Te(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{M(Q(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=ie(),f=ie(),L=ce(r,t),w=ce(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||Z(r)&&Z(i)&&k(r,i)||ue(g,t,[r,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(f,t,s)}},S=e=>{a((()=>{ae(g,(([,e],t)=>ue(L,t,e))),ae(f,((e,t)=>ue(w,t,e)))}),g,f,L,w,e),oe(g),oe(f)};de(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},pe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?P(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&O(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),a=ie();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,i,l,c]),Te(we(r,i??[n],Ie),d),d},(e,s,...o)=>M(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?O(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):M([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=F(r);i==F(s)?e(t,...r,...o(r)):K(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Ae=Ee.freeze,Me=e=>G(e,Ee)&&e.constructor==Ee,De=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),xe=(e,t)=>delete e[t],Fe=(e,t)=>D(Ee.entries(e),(([e,s])=>t(s,e))),Qe=e=>Me(e)&&Q(ke(e)),ze=be((e=>{let t,s,o,a=100,r=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,g]=Ve((()=>z)),f=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(f,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Re(e,n,s[t])))})),l=1},R=e=>{ue(f,e),ue(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??F(e)),R),T=()=>I(w,F(w)-a),y=()=>U(t,(()=>{O(w,t),T(),I(v),t=void 0,o=1})),p=()=>{t=j(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){y();const e=he(r,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(r,t))&&p(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&p(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(f,t,[r,i]),D(t,e),r=ie(),i=ie(),o=1),t),E=()=>{Q(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=j(w),o=1)},k=()=>{Q(v)||(O(w,t),t=P(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},A=e=>{const t=C(e);return J(),t},D=(e,t)=>(x(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),z),x=e=>te(f,e),z={setSize:e=>(a=e,T(),z),addCheckpoint:A,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:x,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),z),goForward:()=>(k(),J(),z),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),z},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),z),clear:()=>(I(w),I(v),K(t)||R(t),t=void 0,s=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Ae(z.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=be((e=>{const t=ie(),s=ie(),[o,a,r,i,l,c,d,,u,h,g]=ye(e,ie,(e=>K(e)?n:Z(e)?D(e,C):C(e))),[f,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=Ne)=>{const l=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,g)=>{let f=0;const w=Ie(),v=Ie(),S=c(e);if(ae(o,(([e,t],s)=>{const n=Ie(e),o=Ie(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Te(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),f=1)}))})),ae(o,(e=>{Te(w,e),te(S,e)||(ue(S,e,Ie()),f=1),Te(ce(S,e),s),K(a)||Te(v,e)}))})),n(),se(h)||(g?de(S,(e=>Te(v,e))):de(r,(e=>U(ce(u,e),(e=>Te(v,e))))),ae(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Ie(A(s,t))),Te(w,e))}))),(f||g)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(A(t,l))),f=1)}f&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),pe(o),U(a,pe)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,s,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return Ae(S)})),je=ie([["avg",[(e,t)=>x(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:$(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,i,l,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,a,r,i,l,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[g,f,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=Y(n)?[n,a,r,i]:ce(je,n)??ce(je,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ee(a);i||=K(d),s();let g=Pe(d,h,a,n,u,i);q(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),pe(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ae(w)})),Be=(e,t,s,o,a)=>{let r,i,l=0;const c={load:async(s={},o={})=>{if(2!=l){l=1;const a=await t();K(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),l=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(a(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),r=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(U(r,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ae(c)},He="storage",$e=globalThis.window,qe=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},$e.addEventListener(He,n)}),(()=>{$e.removeEventListener(He,n),n=void 0}))},Ge=(e,t)=>qe(e,t,localStorage),Ke=(e,t)=>qe(e,t,sessionStorage),Ue=(s,n)=>{let o;return Be(s,(async()=>{try{return await e.readFile(n,d)}catch{}}),(async t=>{try{await e.writeFile(n,t,d)}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Xe=e=>e.headers.get("ETag"),Ye=(e,t,s,n)=>{let o,a;return Be(e,(async()=>{const e=await fetch(t);return a=Xe(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Xe(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},Ze=be((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,d,f,w]=ye(e,(()=>!0),_),v=t(),p=t(),b=ie(),m=(e,t,...s)=>M(s,(s=>Te(he(he(b,t,ie),e,Ie),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),M([p,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const a=[],r=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return O(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return O(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>O(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(je,t)??[(e,t)=>t]]];return O(c,a),{as:e=>a[0]=e}},having:(e,t)=>O(d,Y(e)?e:s=>s(e)===t)});const u=ie(a);if(se(u))return k;const h=ie(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:O(t,e)))));const g=ie(c);let L=v;if(se(g)&&Q(d))L=p;else{V(t,L,p);const e=ie();de(g,((t,[s,n])=>Te(he(e,s,Ie),[t,n])));const s=Ie();de(u,(t=>te(e,t)?0:Te(s,t)));const n=ie(),o=(s,n,o,a)=>U(s,(([r,i,l,c])=>{de(n,((t,[s])=>{const n=he(r,t,ie),i=ce(n,o),l=a?void 0:s;if(i!==l){const s=Ie([[i,l]]),a=ee(n);ue(n,o,l),ae(ce(e,t),(([e,t])=>{const o=Pe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?p.delRow(t,l):K(l)?s[2]=p.addRow(t,c):p.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let g=!h;ae(s,(e=>{const[s,n,o]=l(t,i,e);O(c,n),O(d,o),g||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&ue(u,e,[n])})),g&&o(we(n,c,void 0,(([,e])=>(re(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Ie(),void 0,e]}),(([,e])=>{Te(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(s=>{const[o,,a,r,i]=ce(h,s),c=a?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...f(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:R}=ce(h,null);return L.transaction((()=>f(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,R):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return Fe({[L]:[1,1],[R]:[0,1],[I]:[0,5],[S]:[1,2],[y]:[0,2],[T]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>p[e+s](...t))),k[g+h+s+u]=(...e)=>p[g+s+u](...N(e,0,t),((s,...n)=>e[t](k,...n)))})),Ae(k)})),_e=be((e=>{const t=ie(),s=ie(),o=ie(),a=ie(),[r,i,l,c,d,u,,,h,g,f]=ye(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>T)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=Ie();if(d(e)!=I(e))Te(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Te(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),R=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),I=e=>ce(t,e),T={setRelationshipDefinition:(e,n,r,i)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=Ie(),i=Ie(),l=Ie(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Te(i,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Te(i,s),te(d,s)||ue(d,s,Ie()),Te(ce(d,s),n)),Te(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Te(l,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(i,(t=>w(o,[e,t]))),ae(l,(t=>{R(e,t),w(a,[e,t])}))}),pe(i)),T),delRelationshipDefinition:e=>(ue(t,e),g(e),T),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(R(...v(e)),T),destroy:f,getListenerStats:()=>({})};return Ae(T)})),et=e=>[e,e],tt=()=>[ie(),ie()],st=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>De(t,s)?0:n(e,s))),e),nt=(e,t,s)=>K(e)||!Me(e)||Qe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||xe(e,n)})),!Qe(e)),ot=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),at=()=>{let e,t,s,n,o=0;const a=ie(),i=ie(),d=ie(),h=ie(),f=ie(),I=ie(),E=ie(),J=ie(),x=ie(),F=ie(),Q=ie(),z=ie(),j=Ie(),P=ie(),H=ie(),$=ie(),q=tt(),G=tt(),Z=tt(),_=tt(),ee=tt(),ne=tt(),we=tt(),ye=tt(),pe=tt(),be=tt(),me=tt(),Ee=tt(),ke=tt(),Je=tt(),[Me,ze,Oe,je]=Ve((()=>ts)),Pe=e=>{if(!nt(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=r||(ve(e[c])!=t&&xe(e,c),0))},We=(t,s)=>(!e||te(x,s)||bt(s))&&nt(t,((e,t)=>Be(s,t,e)),(()=>bt(s))),Be=(e,t,s,n)=>nt(n?s:Ge(s,e,t),((n,o)=>U(He(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,s,n,o)=>e?U(ce(ce(x,t),n),(e=>ve(o)!=e[l]?bt(t,s,n,o,e[c]):o),(()=>bt(t,s,n,o))):K(ve(o))?bt(t,s,n,o):o,$e=(e,t)=>nt(t?e:Ke(e),((t,s)=>U(qe(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,s)=>t?U(ce(Q,e),(t=>ve(s)!=t[l]?mt(e,s,t[c]):s),(()=>mt(e,s))):K(ve(s))?mt(e,s):s,Ge=(e,t,s)=>(U(ce(F,t),(([n,o])=>{ae(n,((t,s)=>{De(e,s)||(e[s]=t)})),ae(o,(n=>{De(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(ae(z,((t,s)=>{De(e,s)||(e[s]=t)})),ae(j,(t=>{De(e,t)||mt(t)}))),e),Ue=e=>st(x,e,((e,t,s)=>{const n=ie(),o=Ie();st(he(x,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Te(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(x,t),ue(F,t)})),Xe=e=>st(Q,e,((e,t,s)=>{ue(Q,t,s),U(s[c],(e=>ue(z,t,e)),(()=>Te(j,t)))}),((e,t)=>{ue(Q,t),ue(z,t),re(j,t)})),Ye=e=>Qe(e)?Kt():Bt(e),Ze=e=>st(H,e,((e,t,s)=>_e(t,s)),((e,t)=>ft(t))),_e=(e,t)=>st(he(H,e,(()=>(St(e,1),ie()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Lt(e,t,s))),rt=(e,t,s,n,o)=>st(he(t,s,(()=>(Rt(e,s,1),ie()))),n,((t,n,o)=>it(e,s,t,n,o)),((n,a)=>wt(e,t,s,n,a,o))),it=(e,t,s,n,o)=>{te(s,n)||It(e,t,n,1);const a=ce(s,n);o!==a&&(Tt(e,t,n,a,o),ue(s,n,o))},lt=(e,t,s,n,o)=>U(ce(t,s),(t=>it(e,s,t,n,o)),(()=>rt(e,t,s,Ge({[n]:o},e,s)))),ct=e=>Qe(e)?Ut():Ht(e),dt=e=>st($,e,((e,t,s)=>ut(t,s)),((e,t)=>vt(t))),ut=(e,t)=>{te($,e)||yt(e,1);const s=ce($,e);t!==s&&(pt(e,s,t),ue($,e,t))},ht=(e,t)=>{const[s]=he(P,e,Ce),n=s(t);return te(ce(H,e),n)?ht(e,t):n},gt=e=>ce(H,e)??_e(e,{}),ft=e=>_e(e,{}),Lt=(e,t,s)=>{const[,n]=he(P,e,Ce);n(s),rt(e,t,s,{},!0)},wt=(e,t,s,n,o,a)=>{const r=ce(ce(F,e)?.[0],o);if(!K(r)&&!a)return it(e,s,n,o,r);const i=t=>{Tt(e,s,t,ce(n,t)),It(e,s,t,-1),ue(n,t)};K(r)?i(o):de(n,i),se(n)&&(Rt(e,s,-1),se(ue(t,s))&&(St(e,-1),ue(H,e),ue(P,e)))},vt=e=>{const t=ce(z,e);if(!K(t))return ut(e,t);pt(e,ce($,e)),yt(e,-1),ue($,e)},St=(e,t)=>ot(a,e,t),Rt=(e,t,s)=>ot(he(i,e,ie),t,s),It=(e,t,s,n)=>ot(he(he(d,e,ie),t,ie),s,n),Tt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,yt=(e,t)=>ot(f,e,t),pt=(e,t,s)=>he(I,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,o)=>(O(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),mt=(e,t,s)=>(O(he(J,e,(()=>[])),t),s),Ct=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Ot(e,t,s))])),Vt=e=>U(ce(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Wt(e))])),Et=e=>se(E)||se(pe[e])?0:ae(e?fe(E,Le):E,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>ze(pe[e],[s,n,o],t))))))),kt=e=>se(J)||se(be[e])?0:ae(e?fe(J):J,((t,s)=>ze(be[e],[s],t))),Jt=(e,t,s)=>{if(!se(t))return ze(e,s),1},At=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(ye[e])&&se(ne[e])&&se(Z[e])&&se(q[e]);if(!s||!n){const o=e?[fe(a),Le(i),fe(d,Le),fe(h,Le)]:[a,i,d,h];if(!s){ae(o[2],((t,s)=>ae(t,((t,n)=>Jt(we[e],t,[s,n])))));const s=Ie();ae(o[1],((n,o)=>{Jt(_[e],n,[o])&&!t&&(ze(ee[e],[o,null]),Te(s,o))})),t||ae(o[3],((t,n)=>{if(!te(s,n)){const s=Ie();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Te(s,o):re(e,o))))),ae(s,(t=>ze(ee[e],[n,t])))}})),Jt(G[e],o[0])}if(!n){let t;ae(o[3],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,i],l)=>{i!==s&&(ze(ye[e],[n,a,l],i,s,Ct),t=o=r=1)})),r&&ze(ne[e],[n,a],Ct)})),o&&ze(Z[e],[n],Ct)})),t&&ze(q[e],void 0,Ct)}}},Mt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[fe(f),fe(I)]:[f,I];if(t||Jt(Ee[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(ze(ke[e],[o],n,s,Vt),t=1)})),t&&ze(me[e],void 0,Vt)}}},Dt=(e,...t)=>(Zt((()=>e(...D(t,C)))),ts),xt=()=>ge(H,(e=>ge(e,ge))),Ft=()=>le(H),Qt=e=>le(ce(H,C(e))),zt=(e,t,s,n=0,o)=>{return D(N(A((a=ce(H,C(e)),r=(e,s)=>[K(t)?s:ce(e,C(t)),s],D([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Nt=(e,t)=>le(ce(ce(H,C(e)),C(t))),Ot=(e,t,s)=>ce(ce(ce(H,C(e)),C(t)),C(s)),jt=()=>ge($),Pt=()=>le($),Wt=e=>ce($,C(e)),Bt=e=>Dt((()=>(e=>nt(e,We,bt))(e)?Ze(e):0)),Ht=e=>Dt((()=>$e(e)?dt(e):0)),$t=e=>{try{Ye(B(e))}catch{}return ts},qt=t=>Dt((()=>{if((e=nt(t,(e=>nt(e,Pe))))&&(Ue(t),!se(H))){const e=xt();Kt(),Bt(e)}})),Gt=e=>Dt((()=>{if(t=(e=>nt(e,Pe))(e)){const s=jt();Yt(),Ut(),t=!0,Xe(e),Ht(s)}})),Kt=()=>Dt((()=>Ze({}))),Ut=()=>Dt((()=>dt({}))),Xt=()=>Dt((()=>{Ue({}),e=!1})),Yt=()=>Dt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const s=e();return es(t),s},_t=()=>(o++,ts),es=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(I),o=1,Et(1),s&&At(1),kt(1),n&&Mt(1),o=-1,e?.(ge(h,(e=>ge(e,(e=>ge(e,(e=>[...e]),(([e,t])=>e===t))),Qe)),Qe),ge(E,(e=>ge(e,ge))),ge(I,(e=>[...e]),(([e,t])=>e===t)),ge(J))&&(o=1,ae(h,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(ts,t,s,n,e))))))),ae(I,(([e],t)=>Re(ts,t,e))),o=-1,s=n=!1),ze(Je[0],void 0,s,n),Et(0),s&&At(0),kt(0),n&&Mt(0),ze(Je[1],void 0,s,n),o=0,M([a,i,d,h,E,f,I,J],oe))),ts),ts={getTables:xt,getTableIds:Ft,getTable:e=>ge(ce(H,C(e)),ge),getRowIds:Qt,getSortedRowIds:zt,getRow:(e,t)=>ge(ce(ce(H,C(e)),C(t))),getCellIds:Nt,getCell:Ot,getValues:jt,getValueIds:Pt,getValue:Wt,hasTables:()=>!se(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(ce(H,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(H,C(e)),C(t)),C(s)),hasValues:()=>!se($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(x),getValuesSchemaJson:()=>W(Q),getSchemaJson:()=>W([x,Q]),setTables:Bt,setTable:(e,t)=>Dt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,s)=>Dt(((e,t)=>Be(e,t,s)?rt(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return Be(e,n,t)&&(e=C(e),rt(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Dt(((e,t)=>{if(Be(e,t,s,1)){const n=gt(e);Fe(s,((s,o)=>lt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Dt(((e,t,s)=>U(He(e,t,s,Y(n)?n(Ot(e,t,s)):n),(n=>lt(e,gt(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Dt((()=>$e(e,1)?Fe(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Dt((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{ct(B(e))}catch{}return ts},setJson:e=>{try{const[t,s]=B(e);Ye(t),ct(s)}catch{$t(e)}return ts},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>Dt((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>Dt((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>Dt(((e,t)=>U(ce(H,e),(s=>te(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Dt(((e,t,s)=>U(ce(H,e),(o=>U(ce(o,t),(a=>te(a,s)?wt(e,o,t,a,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>Dt((e=>te($,e)?vt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Dt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>ae(H,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>ae(ce(H,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(H,C(e)),C(t)),s),forEachValue:e=>de($,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=zt(e,t,s,n,o);return Me((()=>{const r=zt(e,t,s,n,o);k(r,i)||(i=r,a(ts,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>Me(e,Je[0]),addDidFinishTransactionListener:e=>Me(e,Je[1]),callListener:e=>(je(e),ts),delListener:e=>(Oe(e),ts),getListenerStats:()=>({}),createStore:at};return Fe({[w]:[0,q],[v]:[0,G],[L]:[1,Z,[Ft]],[R]:[1,_,[Ft]],[S]:[2,ne,[Ft,Qt]],[y]:[2,we,[Ft,Qt]],[T]:[3,ye,[Ft,Qt,Nt],e=>et(Ot(...e))],InvalidCell:[3,pe],[b]:[0,me],[m]:[0,Ee],[p]:[1,ke,[Pt],e=>et(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ts[g+o+u]=(...o)=>Me(o[e],t[o[e+1]?1:0],e>0?N(o,0,e):void 0,s,n)})),Ae(ts)};export{ze as createCheckpoints,Be as createCustomPersister,Ue as createFilePersister,Oe as createIndexes,Ge as createLocalPersister,We as createMetrics,Ze as createQueries,_e as createRelationships,Ye as createRemotePersister,Ke as createSessionPersister,at as createStore,Ne as defaultSorter};
1
+ import{promises as e,watch as t}from"fs";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",g="add",f="Ids",L="Table",w=L+"s",v=L+f,S="Row",R=S+f,I="Sorted"+S+f,T="Cell",y=T+f,p="Value",b=p+"s",m=p+f,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),A=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),x=e=>z(e,((e,t)=>e+t),0),F=e=>e.length,Q=e=>0==F(e),z=(e,t,s)=>e.reduce(t,s),N=(e,t,s)=>e.slice(t,s),O=(e,...t)=>e.push(...t),j=e=>e.pop(),P=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?z([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),ge=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},fe=(e,t)=>{const s=ie(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>fe(e,fe),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&q(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Re=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Ie=e=>new Set(Z(e)||K(e)?e:[e]),Te=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=ie(),a=ie(),r=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Ie);return M(n,(t=>Te(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{M(Q(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=ie(),f=ie(),L=ce(r,t),w=ce(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||Z(r)&&Z(i)&&k(r,i)||ue(g,t,[r,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(f,t,s)}},S=e=>{a((()=>{ae(g,(([,e],t)=>ue(L,t,e))),ae(f,((e,t)=>ue(w,t,e)))}),g,f,L,w,e),oe(g),oe(f)};de(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},pe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?P(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&O(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),a=ie();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,i,l,c]),Te(we(r,i??[n],Ie),d),d},(e,s,...o)=>M(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?O(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):M([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=F(r);i==F(s)?e(t,...r,...o(r)):K(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Ae=Ee.freeze,Me=e=>G(e,Ee)&&e.constructor==Ee,De=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),xe=(e,t)=>delete e[t],Fe=(e,t)=>D(Ee.entries(e),(([e,s])=>t(s,e))),Qe=e=>Me(e)&&Q(ke(e)),ze=be((e=>{let t,s,o,a=100,r=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,g]=Ve((()=>z)),f=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(f,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Re(e,n,s[t])))})),l=1},R=e=>{ue(f,e),ue(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??F(e)),R),T=()=>I(w,F(w)-a),y=()=>U(t,(()=>{O(w,t),T(),I(v),t=void 0,o=1})),p=()=>{t=j(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){y();const e=he(r,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(r,t))&&p(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&p(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(f,t,[r,i]),D(t,e),r=ie(),i=ie(),o=1),t),E=()=>{Q(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=j(w),o=1)},k=()=>{Q(v)||(O(w,t),t=P(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},A=e=>{const t=C(e);return J(),t},D=(e,t)=>(x(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),z),x=e=>te(f,e),z={setSize:e=>(a=e,T(),z),addCheckpoint:A,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:x,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),z),goForward:()=>(k(),J(),z),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),z},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),z),clear:()=>(I(w),I(v),K(t)||R(t),t=void 0,s=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Ae(z.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=be((e=>{const t=ie(),s=ie(),[o,a,r,i,l,c,d,,u,h,g]=ye(e,ie,(e=>K(e)?n:Z(e)?D(e,C):C(e))),[f,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=Ne)=>{const l=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,g)=>{let f=0;const w=Ie(),v=Ie(),S=c(e);if(ae(o,(([e,t],s)=>{const n=Ie(e),o=Ie(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Te(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),f=1)}))})),ae(o,(e=>{Te(w,e),te(S,e)||(ue(S,e,Ie()),f=1),Te(ce(S,e),s),K(a)||Te(v,e)}))})),n(),se(h)||(g?de(S,(e=>Te(v,e))):de(r,(e=>U(ce(u,e),(e=>Te(v,e))))),ae(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Ie(A(s,t))),Te(w,e))}))),(f||g)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(A(t,l))),f=1)}f&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),pe(o),U(a,pe)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,s,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return Ae(S)})),je=ie([["avg",[(e,t)=>x(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:$(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,i,l,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,a,r,i,l,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[g,f,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=Y(n)?[n,a,r,i]:ce(je,n)??ce(je,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ee(a);i||=K(d),s();let g=Pe(d,h,a,n,u,i);q(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),pe(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ae(w)})),Be=(e,t,s,o,a)=>{let r,i,l=0;const c={load:async(s={},o={})=>{if(2!=l){l=1;const a=await t();K(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),l=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(a(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),r=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(U(r,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ae(c)},He="storage",$e=globalThis.window,qe=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},$e.addEventListener(He,n)}),(()=>{$e.removeEventListener(He,n),n=void 0}))},Ge=(e,t)=>qe(e,t,localStorage),Ke=(e,t)=>qe(e,t,sessionStorage),Ue=(s,n)=>{let o;return Be(s,(async()=>{try{return await e.readFile(n,d)}catch{}}),(async t=>{try{await e.writeFile(n,t,d)}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Xe=e=>e.headers.get("ETag"),Ye=(e,t,s,n)=>{let o,a;return Be(e,(async()=>{const e=await fetch(t);return a=Xe(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Xe(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},Ze=be((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,d,f,w]=ye(e,(()=>!0),_),v=t(),p=t(),b=ie(),m=(e,t,...s)=>M(s,(s=>Te(he(he(b,t,ie),e,Ie),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),M([p,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const a=[],r=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return O(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return O(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>O(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(je,t)??[(e,t)=>t]]];return O(c,a),{as:e=>a[0]=e}},having:(e,t)=>O(d,Y(e)?e:s=>s(e)===t)});const u=ie(a);if(se(u))return k;const h=ie(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:O(t,e)))));const g=ie(c);let L=v;if(se(g)&&Q(d))L=p;else{V(t,L,p);const e=ie();de(g,((t,[s,n])=>Te(he(e,s,Ie),[t,n])));const s=Ie();de(u,(t=>te(e,t)?0:Te(s,t)));const n=ie(),o=(s,n,o,a)=>U(s,(([r,i,l,c])=>{de(n,((t,[s])=>{const n=he(r,t,ie),i=ce(n,o),l=a?void 0:s;if(i!==l){const s=Ie([[i,l]]),a=ee(n);ue(n,o,l),ae(ce(e,t),(([e,t])=>{const o=Pe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?p.delRow(t,l):K(l)?s[2]=p.addRow(t,c):p.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let g=!h;ae(s,(e=>{const[s,n,o]=l(t,i,e);O(c,n),O(d,o),g||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&ue(u,e,[n])})),g&&o(we(n,c,void 0,(([,e])=>(re(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Ie(),void 0,e]}),(([,e])=>{Te(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(s=>{const[o,,a,r,i]=ce(h,s),c=a?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...f(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:R}=ce(h,null);return L.transaction((()=>f(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,R):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return Fe({[L]:[1,1],[R]:[0,1],[I]:[0,5],[S]:[1,2],[y]:[0,2],[T]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>p[e+s](...t))),k[g+h+s+u]=(...e)=>p[g+s+u](...N(e,0,t),((s,...n)=>e[t](k,...n)))})),Ae(k)})),_e=be((e=>{const t=ie(),s=ie(),o=ie(),a=ie(),[r,i,l,c,d,u,,,h,g,f]=ye(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>T)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=Ie();if(d(e)!=I(e))Te(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Te(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),R=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),I=e=>ce(t,e),T={setRelationshipDefinition:(e,n,r,i)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=Ie(),i=Ie(),l=Ie(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Te(i,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Te(i,s),te(d,s)||ue(d,s,Ie()),Te(ce(d,s),n)),Te(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Te(l,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(i,(t=>w(o,[e,t]))),ae(l,(t=>{R(e,t),w(a,[e,t])}))}),pe(i)),T),delRelationshipDefinition:e=>(ue(t,e),g(e),T),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(R(...v(e)),T),destroy:f,getListenerStats:()=>({})};return Ae(T)})),et=e=>[e,e],tt=()=>[ie(),ie()],st=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>De(t,s)?0:n(e,s))),e),nt=(e,t,s)=>K(e)||!Me(e)||Qe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||xe(e,n)})),!Qe(e)),ot=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),at=()=>{let e,t,s,n,o=0;const a=ie(),i=ie(),d=ie(),h=ie(),f=ie(),I=ie(),E=ie(),J=ie(),x=ie(),F=ie(),Q=ie(),z=ie(),j=Ie(),P=ie(),H=ie(),$=ie(),q=tt(),G=tt(),Z=tt(),_=tt(),ee=tt(),ne=tt(),we=tt(),ye=tt(),pe=tt(),be=tt(),me=tt(),Ee=tt(),ke=tt(),Je=ie(),Me=tt(),[ze,Oe,je,Pe]=Ve((()=>ss)),We=e=>{if(!nt(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=r||(ve(e[c])!=t&&xe(e,c),0))},Be=(t,s)=>(!e||te(x,s)||mt(s))&&nt(t,((e,t)=>He(s,t,e)),(()=>mt(s))),He=(e,t,s,n)=>nt(n?s:Ke(s,e,t),((n,o)=>U($e(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>mt(e,t))),$e=(t,s,n,o)=>e?U(ce(ce(x,t),n),(e=>ve(o)!=e[l]?mt(t,s,n,o,e[c]):o),(()=>mt(t,s,n,o))):K(ve(o))?mt(t,s,n,o):o,qe=(e,t)=>nt(t?e:Ue(e),((t,s)=>U(Ge(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ct())),Ge=(e,s)=>t?U(ce(Q,e),(t=>ve(s)!=t[l]?Ct(e,s,t[c]):s),(()=>Ct(e,s))):K(ve(s))?Ct(e,s):s,Ke=(e,t,s)=>(U(ce(F,t),(([n,o])=>{ae(n,((t,s)=>{De(e,s)||(e[s]=t)})),ae(o,(n=>{De(e,n)||mt(t,s,n)}))})),e),Ue=e=>(t&&(ae(z,((t,s)=>{De(e,s)||(e[s]=t)})),ae(j,(t=>{De(e,t)||Ct(t)}))),e),Xe=e=>st(x,e,((e,t,s)=>{const n=ie(),o=Ie();st(he(x,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Te(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(x,t),ue(F,t)})),Ye=e=>st(Q,e,((e,t,s)=>{ue(Q,t,s),U(s[c],(e=>ue(z,t,e)),(()=>Te(j,t)))}),((e,t)=>{ue(Q,t),ue(z,t),re(j,t)})),Ze=e=>Qe(e)?Ut():Ht(e),_e=e=>st(H,e,((e,t,s)=>rt(t,s)),((e,t)=>Lt(t))),rt=(e,t)=>st(he(H,e,(()=>(Rt(e,1),ie()))),t,((t,s,n)=>it(e,t,s,n)),((t,s)=>wt(e,t,s))),it=(e,t,s,n,o)=>st(he(t,s,(()=>(It(e,s,1),ie()))),n,((t,n,o)=>lt(e,s,t,n,o)),((n,a)=>vt(e,t,s,n,a,o))),lt=(e,t,s,n,o)=>{te(s,n)||Tt(e,t,n,1);const a=ce(s,n);o!==a&&(yt(e,t,n,a,o),ue(s,n,o))},ct=(e,t,s,n,o)=>U(ce(t,s),(t=>lt(e,s,t,n,o)),(()=>it(e,t,s,Ke({[n]:o},e,s)))),dt=e=>Qe(e)?Xt():$t(e),ut=e=>st($,e,((e,t,s)=>ht(t,s)),((e,t)=>St(t))),ht=(e,t)=>{te($,e)||pt(e,1);const s=ce($,e);t!==s&&(bt(e,s,t),ue($,e,t))},gt=(e,t)=>{const[s]=he(P,e,Ce),n=s(t);return te(ce(H,e),n)?gt(e,t):n},ft=e=>ce(H,e)??rt(e,{}),Lt=e=>rt(e,{}),wt=(e,t,s)=>{const[,n]=he(P,e,Ce);n(s),it(e,t,s,{},!0)},vt=(e,t,s,n,o,a)=>{const r=ce(ce(F,e)?.[0],o);if(!K(r)&&!a)return lt(e,s,n,o,r);const i=t=>{yt(e,s,t,ce(n,t)),Tt(e,s,t,-1),ue(n,t)};K(r)?i(o):de(n,i),se(n)&&(It(e,s,-1),se(ue(t,s))&&(Rt(e,-1),ue(H,e),ue(P,e)))},St=e=>{const t=ce(z,e);if(!K(t))return ht(e,t);bt(e,ce($,e)),pt(e,-1),ue($,e)},Rt=(e,t)=>ot(a,e,t),It=(e,t,s)=>ot(he(i,e,ie),t,s),Tt=(e,t,s,n)=>ot(he(he(d,e,ie),t,ie),s,n),yt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,pt=(e,t)=>ot(f,e,t),bt=(e,t,s)=>he(I,e,(()=>[t,0]))[1]=s,mt=(e,t,s,n,o)=>(O(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),Ct=(e,t,s)=>(O(he(J,e,(()=>[])),t),s),Vt=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...et(jt(e,t,s))])),Et=e=>U(ce(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Bt(e))])),kt=e=>se(E)||se(pe[e])?0:ae(e?fe(E,Le):E,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>Oe(pe[e],[s,n,o],t))))))),Jt=e=>se(J)||se(be[e])?0:ae(e?fe(J):J,((t,s)=>Oe(be[e],[s],t))),At=(e,t,s)=>{if(!se(t))return Oe(e,s),1},Mt=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(ye[e])&&se(ne[e])&&se(Z[e])&&se(q[e]);if(!s||!n){const o=e?[fe(a),Le(i),fe(d,Le),fe(h,Le)]:[a,i,d,h];if(!s){ae(o[2],((t,s)=>ae(t,((t,n)=>At(we[e],t,[s,n])))));const s=Ie();ae(o[1],((n,o)=>{At(_[e],n,[o])&&!t&&(Oe(ee[e],[o,null]),Te(s,o))})),t||ae(o[3],((t,n)=>{if(!te(s,n)){const s=Ie();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Te(s,o):re(e,o))))),ae(s,(t=>Oe(ee[e],[n,t])))}})),At(G[e],o[0])}if(!n){let t;ae(o[3],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,i],l)=>{i!==s&&(Oe(ye[e],[n,a,l],i,s,Vt),t=o=r=1)})),r&&Oe(ne[e],[n,a],Vt)})),o&&Oe(Z[e],[n],Vt)})),t&&Oe(q[e],void 0,Vt)}}},Dt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[fe(f),fe(I)]:[f,I];if(t||At(Ee[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(Oe(ke[e],[o],n,s,Et),t=1)})),t&&Oe(me[e],void 0,Et)}}},xt=(e,...t)=>(_t((()=>e(...D(t,C)))),ss),Ft=()=>ge(H,(e=>ge(e,ge))),Qt=()=>le(H),zt=e=>le(ce(H,C(e))),Nt=(e,t,s,n=0,o)=>{return D(N(A((a=ce(H,C(e)),r=(e,s)=>[K(t)?s:ce(e,C(t)),s],D([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Ot=(e,t)=>le(ce(ce(H,C(e)),C(t))),jt=(e,t,s)=>ce(ce(ce(H,C(e)),C(t)),C(s)),Pt=()=>ge($),Wt=()=>le($),Bt=e=>ce($,C(e)),Ht=e=>xt((()=>(e=>nt(e,Be,mt))(e)?_e(e):0)),$t=e=>xt((()=>qe(e)?ut(e):0)),qt=e=>{try{Ze(B(e))}catch{}return ss},Gt=t=>xt((()=>{if((e=nt(t,(e=>nt(e,We))))&&(Xe(t),!se(H))){const e=Ft();Ut(),Ht(e)}})),Kt=e=>xt((()=>{if(t=(e=>nt(e,We))(e)){const s=Pt();Zt(),Xt(),t=!0,Ye(e),$t(s)}})),Ut=()=>xt((()=>_e({}))),Xt=()=>xt((()=>ut({}))),Yt=()=>xt((()=>{Xe({}),e=!1})),Zt=()=>xt((()=>{Ye({}),t=!1})),_t=(e,t)=>{if(-1!=o){es();const s=e();return ts(t),s}},es=()=>(-1!=o&&o++,1==o&&Oe(Je,void 0,!1,!1),ss),ts=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(I),o=1,kt(1),s&&Mt(1),Jt(1),n&&Dt(1),e?.(ge(h,(e=>ge(e,(e=>ge(e,(e=>[...e]),(([e,t])=>e===t))),Qe)),Qe),ge(E,(e=>ge(e,ge))),ge(I,(e=>[...e]),(([e,t])=>e===t)),ge(J))&&(ae(h,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(ss,t,s,n,e))))))),ae(I,(([e],t)=>Re(ss,t,e))),s=n=!1),Oe(Me[0],void 0,s,n),o=-1,kt(0),s&&Mt(0),Jt(0),n&&Dt(0),Oe(Me[1],void 0,s,n),o=0,M([a,i,d,h,E,f,I,J],oe))),ss),ss={getTables:Ft,getTableIds:Qt,getTable:e=>ge(ce(H,C(e)),ge),getRowIds:zt,getSortedRowIds:Nt,getRow:(e,t)=>ge(ce(ce(H,C(e)),C(t))),getCellIds:Ot,getCell:jt,getValues:Pt,getValueIds:Wt,getValue:Bt,hasTables:()=>!se(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(ce(H,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(H,C(e)),C(t)),C(s)),hasValues:()=>!se($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(x),getValuesSchemaJson:()=>W(Q),getSchemaJson:()=>W([x,Q]),setTables:Ht,setTable:(e,t)=>xt((e=>Be(t,e)?rt(e,t):0),e),setRow:(e,t,s)=>xt(((e,t)=>He(e,t,s)?it(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>_t((()=>{let n;return He(e,n,t)&&(e=C(e),it(e,ft(e),n=gt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>xt(((e,t)=>{if(He(e,t,s,1)){const n=ft(e);Fe(s,((s,o)=>ct(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>xt(((e,t,s)=>U($e(e,t,s,Y(n)?n(jt(e,t,s)):n),(n=>ct(e,ft(e),t,s,n)))),e,t,s),setValues:$t,setPartialValues:e=>xt((()=>qe(e,1)?Fe(e,((e,t)=>ht(t,e))):0)),setValue:(e,t)=>xt((e=>U(Ge(e,Y(t)?t(Bt(e)):t),(t=>ht(e,t)))),e),setTablesJson:qt,setValuesJson:e=>{try{dt(B(e))}catch{}return ss},setJson:e=>{try{const[t,s]=B(e);Ze(t),dt(s)}catch{qt(e)}return ss},setTablesSchema:Gt,setValuesSchema:Kt,setSchema:(e,t)=>xt((()=>{Gt(e),Kt(t)})),delTables:Ut,delTable:e=>xt((e=>te(H,e)?Lt(e):0),e),delRow:(e,t)=>xt(((e,t)=>U(ce(H,e),(s=>te(s,t)?wt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>xt(((e,t,s)=>U(ce(H,e),(o=>U(ce(o,t),(a=>te(a,s)?vt(e,o,t,a,s,n):0))))),e,t,s),delValues:Xt,delValue:e=>xt((e=>te($,e)?St(e):0),e),delTablesSchema:Yt,delValuesSchema:Zt,delSchema:()=>xt((()=>{Yt(),Zt()})),transaction:_t,startTransaction:es,finishTransaction:ts,forEachTable:e=>ae(H,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>ae(ce(H,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(H,C(e)),C(t)),s),forEachValue:e=>de($,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=Nt(e,t,s,n,o);return ze((()=>{const r=Nt(e,t,s,n,o);k(r,i)||(i=r,a(ss,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Qt])},addStartTransactionListener:e=>ze(e,Je),addWillFinishTransactionListener:e=>ze(e,Me[0]),addDidFinishTransactionListener:e=>ze(e,Me[1]),callListener:e=>(Pe(e),ss),delListener:e=>(je(e),ss),getListenerStats:()=>({}),createStore:at};return Fe({[w]:[0,q],[v]:[0,G],[L]:[1,Z,[Qt]],[R]:[1,_,[Qt]],[S]:[2,ne,[Qt,zt]],[y]:[2,we,[Qt,zt]],[T]:[3,ye,[Qt,zt,Ot],e=>et(jt(...e))],InvalidCell:[3,pe],[b]:[0,me],[m]:[0,Ee],[p]:[1,ke,[Wt],e=>et(Bt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ss[g+o+u]=(...o)=>ze(o[e],t[o[e+1]?1:0],e>0?N(o,0,e):void 0,s,n)})),Ae(ss)};export{ze as createCheckpoints,Be as createCustomPersister,Ue as createFilePersister,Oe as createIndexes,Ge as createLocalPersister,We as createMetrics,Ze as createQueries,_e as createRelationships,Ye as createRemotePersister,Ke as createSessionPersister,at as createStore,Ne as defaultSorter};
Binary file