tinybase 2.0.0-beta.0 → 2.0.0-beta.3

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 (63) hide show
  1. package/lib/checkpoints.d.ts +4 -3
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/common.js +1 -1
  5. package/lib/common.js.gz +0 -0
  6. package/lib/debug/checkpoints.d.ts +4 -3
  7. package/lib/debug/checkpoints.js +13 -16
  8. package/lib/debug/common.js +4 -1
  9. package/lib/debug/indexes.d.ts +4 -2
  10. package/lib/debug/indexes.js +13 -15
  11. package/lib/debug/metrics.d.ts +1 -1
  12. package/lib/debug/metrics.js +13 -16
  13. package/lib/debug/persisters.d.ts +6 -0
  14. package/lib/debug/queries.d.ts +249 -299
  15. package/lib/debug/queries.js +67 -192
  16. package/lib/debug/relationships.d.ts +6 -5
  17. package/lib/debug/relationships.js +13 -16
  18. package/lib/debug/store.d.ts +386 -86
  19. package/lib/debug/store.js +278 -216
  20. package/lib/debug/tinybase.js +318 -390
  21. package/lib/debug/ui-react.d.ts +4320 -1796
  22. package/lib/debug/ui-react.js +380 -98
  23. package/lib/indexes.d.ts +4 -2
  24. package/lib/indexes.js +1 -1
  25. package/lib/indexes.js.gz +0 -0
  26. package/lib/metrics.d.ts +1 -1
  27. package/lib/metrics.js +1 -1
  28. package/lib/metrics.js.gz +0 -0
  29. package/lib/persisters.d.ts +6 -0
  30. package/lib/queries.d.ts +249 -299
  31. package/lib/queries.js +1 -1
  32. package/lib/queries.js.gz +0 -0
  33. package/lib/relationships.d.ts +6 -5
  34. package/lib/relationships.js +1 -1
  35. package/lib/relationships.js.gz +0 -0
  36. package/lib/store.d.ts +386 -86
  37. package/lib/store.js +1 -1
  38. package/lib/store.js.gz +0 -0
  39. package/lib/tinybase.js +1 -1
  40. package/lib/tinybase.js.gz +0 -0
  41. package/lib/ui-react.d.ts +4320 -1796
  42. package/lib/ui-react.js +1 -1
  43. package/lib/ui-react.js.gz +0 -0
  44. package/lib/umd/checkpoints.js +1 -1
  45. package/lib/umd/checkpoints.js.gz +0 -0
  46. package/lib/umd/common.js +1 -1
  47. package/lib/umd/common.js.gz +0 -0
  48. package/lib/umd/indexes.js +1 -1
  49. package/lib/umd/indexes.js.gz +0 -0
  50. package/lib/umd/metrics.js +1 -1
  51. package/lib/umd/metrics.js.gz +0 -0
  52. package/lib/umd/queries.js +1 -1
  53. package/lib/umd/queries.js.gz +0 -0
  54. package/lib/umd/relationships.js +1 -1
  55. package/lib/umd/relationships.js.gz +0 -0
  56. package/lib/umd/store.js +1 -1
  57. package/lib/umd/store.js.gz +0 -0
  58. package/lib/umd/tinybase.js +1 -1
  59. package/lib/umd/tinybase.js.gz +0 -0
  60. package/lib/umd/ui-react.js +1 -1
  61. package/lib/umd/ui-react.js.gz +0 -0
  62. package/package.json +26 -26
  63. package/readme.md +2 -2
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),l=(e,t)=>e.every(t),a=(e,t)=>e.forEach(t),o=e=>e.length,d=(e,t,n)=>e.reduce(t,n),i=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>h(t,Map)?d([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),u=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,v=(e,t,n)=>T(e)?n?.():t(e),b=e=>e==t||e==n,g=e=>e.size,L=(w=g,e=>d(y(e),((e,t)=>e+w(t)),0));var w;const p=(e,t)=>e?.has(t)??!1,R=e=>T(e)||0==g(e),y=e=>[...e?.values()??[]],C=e=>e.clear(),S=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),E=e=>new Map(e),J=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),m=(e,t)=>S(e,((e,n)=>t(n,e))),z=(e,t,n)=>T(n)?(I(e,t),e):e?.set(t,n),O=(e,t,n)=>(p(e,t)||e.set(t,n()),F(e,t)),k=(e,t,n)=>{const s={},r=t??(e=>e);return S(e,((e,t)=>v(r(e),(e=>n?.(e)?0:s[t]=e)))),s},M=(e,t)=>{const n=E(),s=t??(e=>e);return S(e,((e,t)=>n.set(t,s(e)))),n},N=e=>M(e,M),j=(e,t,n,s,r=0)=>v((n?O:F)(e,t[r],r>o(t)-2?n:E),(l=>{if(r>o(t)-2)return s?.(l)&&z(e,t[r]),l;const a=j(l,t,n,s,r+1);return R(l)&&z(e,t[r]),a})),x=Object,D=x.keys,P=x.isFrozen,W=x.freeze,q=(e,t)=>!T(((e,t)=>v(e,(e=>e[t])))(e,t)),A=(e,t)=>delete e[t],B=(e,t)=>a(x.entries(e),(([e,n])=>t(n,e))),G=e=>{return t=D(e),0==o(t);var t},H=e=>new Set(e),K=(e,t)=>e?.add(t),Q=(e,t=[""])=>{const n=[],s=(e,r)=>r==o(t)?i(n,e):a([t[r],null],(t=>s(F(e,t),r+1)));return s(e,0),n},U=e=>[e,e],V=e=>0==((e,t=L)=>t(e[0])+t(e[1]))(e),X=()=>[E(),E()],Y=()=>[X(),X()],Z=t=>{const n=e(t);return b(n)||n==s&&f(t)?n:void 0},$=(e,t,n,s=z)=>{const r=(l=J(e),o=e=>!q(t,e),l.filter(o));var l,o;return a(D(t),(s=>n(e,s,t[s]))),a(r,(t=>s(e,t))),e},_=(e,t,n)=>T(e)||!(e=>h(e,x)&&e.constructor==x)(e)||G(e)||P(e)?(n?.(),!1):(B(e,((n,s)=>{t(n,s)||A(e,s)})),!G(e)),ee=(e,t,n)=>z(e,t,F(e,t)==-n?void 0:n),te=()=>{let t,n,d=0,f=0;const h=E(),L=E(),w=E(),y=E(),x=E(),D=E(),P=E(),ne=E(),se=X(),re=Y(),le=X(),ae=Y(),oe=X(),de=Y(),ie=X(),ce=X(),ue=X(),[fe,he,Te,ve,be]=(e=>{let t,n=0;const s=[],r=E();return[(l,a,o)=>{t??=e();const d=s.pop()??""+n++;return z(r,d,[l,a,o]),K(j(a,o??[""],H),d),d},(e,n,...s)=>a(Q(e,n),(e=>S(e,(e=>v(F(r,e),(([e])=>e(t,...n??[],...s))))))),e=>v(F(r,e),(([,t,n])=>(j(t,n??[""],void 0,(t=>(I(t,e),R(t)?1:0))),z(r,e),o(s)<1e3&&i(s,e),n))),(e,t)=>!l(Q(e,t),T),(e,n,s)=>v(F(r,e),(([e,,r=[]])=>{const l=(...d)=>{const i=o(d);i==o(r)?e(t,...d,...s(d)):T(r[i])?a(n[i](...d),(e=>l(...d,e))):l(...d,r[i])};l()}))]})((()=>et)),ge=(e,n)=>(!t||p(D,n)||xe(n))&&_(e,((e,t)=>Le(n,t,e)),(()=>xe(n))),Le=(e,t,n,s)=>_(s?n:pe(n,e,t),((s,r)=>v(we(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>xe(e,t))),we=(e,n,s,r)=>t?v(F(F(D,e),s),(t=>Z(r)!=t.type?xe(e,n,s,r,t.default):r),(()=>xe(e,n,s,r))):T(Z(r))?xe(e,n,s,r):r,pe=(e,t,n)=>(v(F(P,t),(([s,r])=>{S(s,((t,n)=>{q(e,n)||(e[n]=t)})),S(r,(s=>{q(e,s)||xe(t,n,s)}))})),e),Re=e=>$(D,e,((e,t,n)=>{const s=E(),r=H();$(O(D,t,E),n,((e,t,n)=>{z(e,t,n),v(n.default,(e=>z(s,t,e)),(()=>K(r,t)))})),z(P,t,[s,r])}),((e,t)=>{z(D,t),z(P,t)})),ye=e=>$(ne,e,((e,t,n)=>Ce(t,n)),((e,t)=>me(t))),Ce=(e,t)=>$(O(ne,e,(()=>(ke(e,1),E()))),t,((t,n,s)=>Se(e,t,n,s)),((t,n)=>ze(e,t,n))),Se=(e,t,n,s,r)=>$(O(t,n,(()=>(Me(e,n,1),E()))),s,((t,s,r)=>Ie(e,n,t,s,r)),((s,l)=>Oe(e,t,n,s,l,r))),Ie=(e,t,n,s,r)=>{p(n,s)||Ne(e,t,s,1);const l=F(n,s);r!==l&&(je(e,t,s,l,r),z(n,s,r))},Ee=(e,t,n,s,r)=>v(F(t,n),(t=>Ie(e,n,t,s,r)),(()=>Se(e,t,n,pe({[s]:r},e,n)))),Je=e=>{const t=""+d++;return p(e,t)?Je(e):t},Fe=e=>F(ne,e)??Ce(e,{}),me=e=>Ce(e,{}),ze=(e,t,n)=>Se(e,t,n,{},!0),Oe=(e,t,n,s,r,l)=>{const a=F(F(P,e)?.[0],r);if(!T(a)&&!l)return Ie(e,n,s,r,a);const o=t=>{je(e,n,t,F(s,t)),Ne(e,n,t,-1),z(s,t)};T(a)?o(r):m(s,o),R(s)&&(Me(e,n,-1),R(z(t,n))&&(ke(e,-1),z(ne,e)))},ke=(e,t)=>ee(R(h)?z(h,null,ve(re[0][1])||ve(re[1][1])?Ge():0):h,e,t),Me=(e,t,n)=>ee(O(L,e,(()=>E([[null,ve(ae[0][1],[e])||ve(ae[1][1],[e])?He(e):0]]))),t,n),Ne=(e,t,n,s)=>ee(O(O(w,e,E),t,(()=>E([[null,ve(de[0][1],[e,t])||ve(de[1][1],[e,t])?Ke(e,t):0]]))),n,s),je=(e,t,n,s,r)=>O(O(O(y,e,E),t,E),n,(()=>[s,0]))[1]=r,xe=(e,t,n,s,r)=>(i(O(O(O(x,e,E),t,E),n,(()=>[])),s),r),De=(e,t,n)=>v(F(F(F(y,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...U(Qe(e,t,n))])),Pe=e=>R(x)||R(ce[e])?0:S(e?M(x,N):x,((t,n)=>S(t,((t,s)=>S(t,((t,r)=>he(ce[e],[n,s,r],t))))))),We=(e,t,n,s)=>{var r,a;g(t)>1?(he(e[0],s),he(e[1],s)):R(t)||0==F(t,null)||(r=F(t,null),a=n(...s??[]),o(r)===o(a)&&l(r,((e,t)=>a[t]===e)))||he(e[1],s)},qe=e=>{const t=V(de[e])&&V(ae[e])&&V(re[e]),n=R(ie[e])&&R(oe[e])&&R(le[e])&&R(se[e]);if(!t||!n){const s=e?[M(h),N(L),M(w,N),M(y,N)]:[h,L,w,y];if(t||(S(s[2],((t,n)=>S(t,((t,s)=>We(de[e],t,Ke,[n,s]))))),S(s[1],((t,n)=>We(ae[e],t,He,[n]))),We(re[e],s[0],Ge)),!n){let t;S(s[3],((n,s)=>{let r;S(n,((n,l)=>{let a;S(n,(([n,o],d)=>{o!==n&&(he(ie[e],[s,l,d],o,n,De),t=r=a=1)})),a&&he(oe[e],[s,l],De)})),r&&he(le[e],[s],De)})),t&&he(se[e],void 0,De)}}},Ae=e=>(Ze(e),et),Be=()=>k(ne,(e=>k(e,k))),Ge=()=>J(ne),He=e=>J(F(ne,e)),Ke=(e,t)=>J(F(F(ne,e),t)),Qe=(e,t,n)=>F(F(F(ne,e),t),n),Ue=e=>Ae((()=>(e=>_(e,ge,xe))(e)?ye(e):0)),Ve=(t,n,s,l)=>Ae((()=>v(we(t,n,s,e(l)==r?l(Qe(t,n,s)):l),(e=>Ee(t,Fe(t),n,s,e))))),Xe=()=>Ae((()=>ye({}))),Ye=(e,t,n,s)=>Ae((()=>v(F(ne,e),(r=>v(F(r,t),(l=>p(l,n)?Oe(e,r,t,l,n,s):0)))))),Ze=(e,t)=>{if(-1==f)return;$e();const n=e?.();return _e(t),n},$e=()=>(f++,et),_e=e=>(f>0&&(f--,0==f&&(n=!R(y),f=1,Pe(1),n&&qe(1),f=-1,e?.(k(y,(e=>k(e,(e=>k(e,(e=>[...e]),(([e,t])=>e===t))),G)),G),k(x,(e=>k(e,k))))&&(f=1,S(y,((e,t)=>S(e,((e,n)=>S(e,(([e],s)=>T(e)?Ye(t,n,s,!0):Ve(t,n,s,e))))))),f=-1,n=!1),he(ue[0],void 0,n),Pe(0),n&&qe(0),he(ue[1],void 0,n),f=0,a([y,x,h,L,w],C))),et),et={getTables:Be,getTableIds:Ge,getTable:e=>k(F(ne,e),k),getRowIds:He,getRow:(e,t)=>k(F(F(ne,e),t)),getCellIds:Ke,getCell:Qe,hasTables:()=>!R(ne),hasTable:e=>p(ne,e),hasRow:(e,t)=>p(F(ne,e),t),hasCell:(e,t,n)=>p(F(F(ne,e),t),n),getJson:()=>c(ne),getSchemaJson:()=>c(D),setTables:Ue,setTable:(e,t)=>Ae((()=>ge(t,e)?Ce(e,t):0)),setRow:(e,t,n)=>Ae((()=>Le(e,t,n)?Se(e,Fe(e),t,n):0)),addRow:(e,t,n)=>Ze((()=>{const s=Le(e,void 0,t),r=s||n?Je(F(ne,e)):void 0;return s&&Se(e,Fe(e),r,t),r})),setPartialRow:(e,t,n)=>Ae((()=>{if(Le(e,t,n,1)){const s=Fe(e);B(n,((n,r)=>Ee(e,s,t,r,n)))}})),setCell:Ve,setJson:e=>{try{"{}"===e?Xe():Ue(u(e))}catch{}return et},setSchema:e=>Ae((()=>{if((t=(e=>_(e,(e=>_(e,(e=>{if(!_(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=s||(Z(e.default)!=t&&A(e,"default"),0))})))))(e))&&(Re(e),!R(ne))){const e=Be();Xe(),Ue(e)}})),delTables:Xe,delTable:e=>Ae((()=>p(ne,e)?me(e):0)),delRow:(e,t)=>Ae((()=>v(F(ne,e),(n=>p(n,t)?ze(e,n,t):0)))),delCell:Ye,delSchema:()=>Ae((()=>{Re({}),t=!1})),transaction:Ze,startTransaction:$e,finishTransaction:_e,forEachTable:e=>S(ne,((t,n)=>e(n,(e=>S(t,((t,n)=>e(n,(e=>m(t,e))))))))),forEachRow:(e,t)=>S(F(ne,e),((e,n)=>t(n,(t=>m(e,t))))),forEachCell:(e,t,n)=>m(F(F(ne,e),t),n),addTablesListener:(e,t)=>fe(e,se[t?1:0]),addTableIdsListener:(e,t,n)=>fe(e,re[n?1:0][t?1:0]),addTableListener:(e,t,n)=>fe(t,le[n?1:0],[e]),addRowIdsListener:(e,t,n,s)=>fe(t,ae[s?1:0][n?1:0],[e]),addRowListener:(e,t,n,s)=>fe(n,oe[s?1:0],[e,t]),addCellIdsListener:(e,t,n,s,r)=>fe(n,de[r?1:0][s?1:0],[e,t]),addCellListener:(e,t,n,s,r)=>fe(s,ie[r?1:0],[e,t,n]),addInvalidCellListener:(e,t,n,s,r)=>fe(s,ce[r?1:0],[e,t,n]),addWillFinishTransactionListener:e=>fe(e,ue[0]),addDidFinishTransactionListener:e=>fe(e,ue[1]),callListener:e=>(be(e,[Ge,He,Ke],(e=>T(e[2])?[]:U(Qe(...e)))),et),delListener:e=>(Te(e),et),getListenerStats:()=>({}),createStore:te};return W(et)};export{te as createStore};
1
+ const e=e=>typeof e,t=e(""),n=e(!0),s=e(0),r=e(e),l=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),a=e=>e.length,i=(e,t,n)=>e.slice(t,n),c=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(n=[...t],s=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(s,r)):t;var n,s,r})),u=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,v=(e,t,n)=>T(e)?n?.():t(e),b=e=>e==t||e==n,g=(e,t)=>e?.has(t)??!1,w=e=>T(e)||0==(e=>e.size)(e),p=e=>e.clear(),R=(e,t)=>e?.forEach(t),C=(e,t)=>e?.delete(t),S=e=>new Map(e),y=e=>[...e?.keys()??[]],I=(e,t)=>e?.get(t),L=(e,t)=>R(e,((e,n)=>t(n,e))),E=(e,t,n)=>T(n)?(C(e,t),e):e?.set(t,n),J=(e,t,n)=>(g(e,t)||E(e,t,n()),I(e,t)),m=(e,t,n)=>{const s={},r=t??(e=>e);return R(e,((e,t)=>v(r(e),(e=>n?.(e)?0:s[t]=e)))),s},F=(e,t)=>{const n=S(),s=t??(e=>e);return R(e,((e,t)=>n.set(t,s(e)))),n},z=e=>F(e,F),O=(e,t,n,s,r=0)=>v((n?J:I)(e,t[r],r>a(t)-2?n:S),(l=>{if(r>a(t)-2)return s?.(l)&&E(e,t[r]),l;const o=O(l,t,n,s,r+1);return w(l)&&E(e,t[r]),o})),k=Object,M=k.keys,N=k.isFrozen,j=k.freeze,x=(e,t)=>!T(((e,t)=>v(e,(e=>e[t])))(e,t)),D=(e,t)=>delete e[t],P=(e,t)=>l(k.entries(e),(([e,n])=>t(n,e))),W=e=>{return t=M(e),0==a(t);var t},q=e=>new Set(e),A=(e,t)=>e?.add(t),B=e=>{let t,n=0;const s=[],r=S();return[(l,o,a)=>{t??=e();const i=s.pop()??""+n++;return E(r,i,[l,o,a]),A(O(o,a??[""],q),i),i},(e,n,...s)=>l(((e,t=[""])=>{const n=[],s=(e,r)=>r==a(t)?c(n,e):null===t[r]?R(e,(e=>s(e,r+1))):l([t[r],null],(t=>s(I(e,t),r+1)));return s(e,0),n})(e,n),(e=>R(e,(e=>I(r,e)[0](t,...n??[],...s))))),e=>v(I(r,e),(([,t,n])=>(O(t,n??[""],void 0,(t=>(C(t,e),w(t)?1:0))),E(r,e),a(s)<1e3&&c(s,e),n))),(e,n,s)=>v(I(r,e),(([e,,r=[]])=>{const o=(...i)=>{const c=a(i);c==a(r)?e(t,...i,...s(i)):T(r[c])?l(n[c](...i),(e=>o(...i,e))):o(...i,r[c])};o()}))]},G=e=>[e,e],H=()=>[S(),S()],K=t=>{const n=e(t);return b(n)||n==s&&f(t)?n:void 0},Q=e=>""+e,U=(e,t,n,s=E)=>{const r=(o=y(e),a=e=>!x(t,e),o.filter(a));var o,a;return l(M(t),(s=>n(e,s,t[s]))),l(r,(t=>s(e,t))),e},V=(e,t,n)=>T(e)||!(e=>h(e,k)&&e.constructor==k)(e)||W(e)||N(e)?(n?.(),!1):(P(e,((n,s)=>{t(n,s)||D(e,s)})),!W(e)),X=(e,t,n)=>E(e,t,I(e,t)==-n?void 0:n),Y=()=>{let t,n,f=0,h=0;const O=S(),k=S(),M=S(),N=S(),Z=S(),$=S(),_=S(),ee=S(),te=H(),ne=H(),se=H(),re=H(),le=H(),oe=H(),ae=H(),ie=H(),ce=H(),de=H(),[ue,fe,he,Te]=B((()=>Ze)),ve=(e,n)=>(!t||g($,n)||Ne(n))&&V(e,((e,t)=>be(n,t,e)),(()=>Ne(n))),be=(e,t,n,s)=>V(s?n:we(n,e,t),((s,r)=>v(ge(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),ge=(e,n,s,r)=>t?v(I(I($,e),s),(t=>K(r)!=t.type?Ne(e,n,s,r,t.default):r),(()=>Ne(e,n,s,r))):T(K(r))?Ne(e,n,s,r):r,we=(e,t,n)=>(v(I(_,t),(([s,r])=>{R(s,((t,n)=>{x(e,n)||(e[n]=t)})),R(r,(s=>{x(e,s)||Ne(t,n,s)}))})),e),pe=e=>U($,e,((e,t,n)=>{const s=S(),r=q();U(J($,t,S),n,((e,t,n)=>{E(e,t,n),v(n.default,(e=>E(s,t,e)),(()=>A(r,t)))})),E(_,t,[s,r])}),((e,t)=>{E($,t),E(_,t)})),Re=e=>U(ee,e,((e,t,n)=>Ce(t,n)),((e,t)=>Je(t))),Ce=(e,t)=>U(J(ee,e,(()=>(ze(e,1),S()))),t,((t,n,s)=>Se(e,t,n,s)),((t,n)=>me(e,t,n))),Se=(e,t,n,s,r)=>U(J(t,n,(()=>(Oe(e,n,1),S()))),s,((t,s,r)=>ye(e,n,t,s,r)),((s,l)=>Fe(e,t,n,s,l,r))),ye=(e,t,n,s,r)=>{g(n,s)||ke(e,t,s,1);const l=I(n,s);r!==l&&(Me(e,t,s,l,r),E(n,s,r))},Ie=(e,t,n,s,r)=>v(I(t,n),(t=>ye(e,n,t,s,r)),(()=>Se(e,t,n,we({[s]:r},e,n)))),Le=e=>{const t=""+f++;return g(e,t)?Le(e):t},Ee=e=>I(ee,e)??Ce(e,{}),Je=e=>Ce(e,{}),me=(e,t,n)=>Se(e,t,n,{},!0),Fe=(e,t,n,s,r,l)=>{const o=I(I(_,e)?.[0],r);if(!T(o)&&!l)return ye(e,n,s,r,o);const a=t=>{Me(e,n,t,I(s,t)),ke(e,n,t,-1),E(s,t)};T(o)?a(r):L(s,a),w(s)&&(Oe(e,n,-1),w(E(t,n))&&(ze(e,-1),E(ee,e)))},ze=(e,t)=>X(O,e,t),Oe=(e,t,n)=>X(J(k,e,S),t,n),ke=(e,t,n,s)=>X(J(J(M,e,S),t,S),n,s),Me=(e,t,n,s,r)=>J(J(J(N,e,S),t,S),n,(()=>[s,0]))[1]=r,Ne=(e,t,n,s,r)=>(c(J(J(J(Z,e,S),t,S),n,(()=>[])),s),r),je=(e,t,n)=>v(I(I(I(N,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...G(Ke(e,t,n))])),xe=e=>w(Z)||w(ce[e])?0:R(e?F(Z,z):Z,((t,n)=>R(t,((t,s)=>R(t,((t,r)=>fe(ce[e],[n,s,r],t))))))),De=(e,t,n)=>{if(!w(t))return fe(e,n),1},Pe=e=>{const t=w(le[e]),n=w(ae[e])&&w(re[e])&&t&&w(ne[e]),s=w(ie[e])&&w(oe[e])&&w(se[e])&&w(te[e]);if(!n||!s){const r=e?[F(O),z(k),F(M,z),F(N,z)]:[O,k,M,N];if(!n){R(r[2],((t,n)=>R(t,((t,s)=>De(ae[e],t,[n,s])))));const n=q();R(r[1],((s,r)=>{De(re[e],s,[r])&&!t&&(fe(le[e],[r,null]),A(n,r))})),t||R(r[3],((t,s)=>{if(!g(n,s)){const n=q();R(t,(e=>R(e,(([t,s],r)=>s!==t?A(n,r):C(e,r))))),R(n,(t=>fe(le[e],[s,t])))}})),De(ne[e],r[0])}if(!s){let t;R(r[3],((n,s)=>{let r;R(n,((n,l)=>{let o;R(n,(([n,a],i)=>{a!==n&&(fe(ie[e],[s,l,i],a,n,je),t=r=o=1)})),o&&fe(oe[e],[s,l],je)})),r&&fe(se[e],[s],je)})),t&&fe(te[e],void 0,je)}}},We=(e,...t)=>(Ve((()=>e(...o(t,Q)))),Ze),qe=()=>m(ee,(e=>m(e,m))),Ae=()=>y(ee),Be=e=>y(I(ee,Q(e))),Ge=(e,t,n,s=0,r)=>{const l=[];return L(I(ee,Q(e)),((e,n)=>c(l,[T(t)?e:I(n,Q(t)),e]))),o(i(l.sort((([e],[t])=>(e<t?-1:1)*(n?-1:1))),s,T(r)?r:s+r),(([,e])=>e))},He=(e,t)=>y(I(I(ee,Q(e)),Q(t))),Ke=(e,t,n)=>I(I(I(ee,Q(e)),Q(t)),Q(n)),Qe=e=>We((()=>(e=>V(e,ve,Ne))(e)?Re(e):0)),Ue=()=>We((()=>Re({}))),Ve=(e,t)=>{if(-1==h)return;Xe();const n=e?.();return Ye(t),n},Xe=()=>(h++,Ze),Ye=e=>(h>0&&(h--,0==h&&(n=!w(N),h=1,xe(1),n&&Pe(1),h=-1,e?.(m(N,(e=>m(e,(e=>m(e,(e=>[...e]),(([e,t])=>e===t))),W)),W),m(Z,(e=>m(e,m))))&&(h=1,R(N,((e,t)=>R(e,((e,n)=>R(e,(([e],s)=>((e,t,n,s,r)=>T(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(Ze,t,n,s,e))))))),h=-1,n=!1),fe(de[0],void 0,n),xe(0),n&&Pe(0),fe(de[1],void 0,n),h=0,l([N,Z,O,k,M],p))),Ze),Ze={getTables:qe,getTableIds:Ae,getTable:e=>m(I(ee,Q(e)),m),getRowIds:Be,getSortedRowIds:Ge,getRow:(e,t)=>m(I(I(ee,Q(e)),Q(t))),getCellIds:He,getCell:Ke,hasTables:()=>!w(ee),hasTable:e=>g(ee,Q(e)),hasRow:(e,t)=>g(I(ee,Q(e)),Q(t)),hasCell:(e,t,n)=>g(I(I(ee,Q(e)),Q(t)),Q(n)),getJson:()=>d(ee),getSchemaJson:()=>d($),setTables:Qe,setTable:(e,t)=>We((e=>ve(t,e)?Ce(e,t):0),e),setRow:(e,t,n)=>We(((e,t)=>be(Q(e),Q(t),n)?Se(Q(e),Ee(Q(e)),Q(t),n):0),e,t),addRow:(e,t,n)=>Ve((()=>{e=Q(e);const s=be(e,void 0,t),r=s||n?Le(I(ee,e)):void 0;return s&&Se(e,Ee(e),r,t),r})),setPartialRow:(e,t,n)=>We(((e,t)=>{if(be(e,t,n,1)){const s=Ee(e);P(n,((n,r)=>Ie(e,s,t,r,n)))}}),e,t),setCell:(t,n,s,l)=>We(((t,n,s)=>v(ge(t,n,s,e(l)==r?l(Ke(t,n,s)):l),(e=>Ie(t,Ee(t),n,s,e)))),t,n,s),setJson:e=>{try{"{}"===e?Ue():Qe(u(e))}catch{}return Ze},setSchema:e=>We((()=>{if((t=(e=>V(e,(e=>V(e,(e=>{if(!V(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=s||(K(e.default)!=t&&D(e,"default"),0))})))))(e))&&(pe(e),!w(ee))){const e=qe();Ue(),Qe(e)}})),delTables:Ue,delTable:e=>We((e=>g(ee,e)?Je(e):0),e),delRow:(e,t)=>We(((e,t)=>v(I(ee,e),(n=>g(n,t)?me(e,n,t):0))),e,t),delCell:(e,t,n,s)=>We(((e,t,n)=>v(I(ee,e),(r=>v(I(r,t),(l=>g(l,n)?Fe(e,r,t,l,n,s):0))))),e,t,n),delSchema:()=>We((()=>{pe({}),t=!1})),transaction:Ve,startTransaction:Xe,finishTransaction:Ye,forEachTable:e=>R(ee,((t,n)=>e(n,(e=>R(t,((t,n)=>e(n,(e=>L(t,e))))))))),forEachRow:(e,t)=>R(I(ee,Q(e)),((e,n)=>t(n,(t=>L(e,t))))),forEachCell:(e,t,n)=>L(I(I(ee,Q(e)),Q(t)),n),addSortedRowIdsListener:(e,t,n,s,r,l,o)=>{let i=Ge(e,t,n,s,r);return ue((()=>{const o=Ge(e,t,n,s,r);var c,d,u;d=i,a(c=o)===a(d)&&(u=(e,t)=>d[t]===e,c.every(u))||(i=o,l(Ze,e,t,n,s,r,i))}),le[o?1:0],[e,t])},addWillFinishTransactionListener:e=>ue(e,de[0]),addDidFinishTransactionListener:e=>ue(e,de[1]),callListener:e=>(Te(e,[Ae,Be,He],(e=>T(e[2])?[]:G(Ke(...e)))),Ze),delListener:e=>(he(e),Ze),getListenerStats:()=>({}),createStore:Y};return P({Tables:[0,te],TableIds:[0,ne],Table:[1,se],RowIds:[1,re],Row:[2,oe],CellIds:[2,ae],Cell:[3,ie],InvalidCell:[3,ce]},(([e,t],n)=>{Ze["add"+n+"Listener"]=(...n)=>ue(n[e],t[n[e+1]?1:0],e>0?i(n,0,e):void 0)})),j(Ze)};export{Y 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=s(""),o=s(!0),r=s(0),a=s(s),l=(e,t)=>e.includes(t),i=(e,t)=>e.every(t),d=(e,t)=>f(e)===f(t)&&i(e,((e,s)=>t[s]===e)),c=(e,t)=>i(e,((s,n)=>0==n||t(e[n-1],s)<=0)),u=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),g=e=>L(e,((e,t)=>e+t),0),f=e=>e.length,R=e=>0==f(e),L=(e,t,s)=>e.reduce(t,s),w=(e,...t)=>e.push(...t),T=e=>e.pop(),I=e=>JSON.stringify(e,((e,t)=>S(t,Map)?L([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),v=JSON.parse,b=Math.max,p=Math.min,C=isFinite,S=(e,t)=>e instanceof t,y=e=>null==e,E=(e,t,s)=>y(e)?s?.():t(e),m=e=>e==n||e==o,k=e=>s(e)==a,M=()=>{},D=e=>e.size,x=(A=D,e=>L(Q(e),((e,t)=>e+A(t)),0));var A;const F=(e,t)=>e?.has(t)??!1,J=e=>y(e)||0==D(e),Q=e=>[...e?.values()??[]],z=e=>e.clear(),N=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),j=e=>new Map(e),W=e=>[...e?.keys()??[]],P=(e,t)=>e?.get(t),B=(e,t)=>N(e,((e,s)=>t(s,e))),H=(e,t,s)=>y(s)?(O(e,t),e):e?.set(t,s),q=(e,t,s)=>(F(e,t)||e.set(t,s()),P(e,t)),G=(e,t,s)=>{const n={},o=t??(e=>e);return N(e,((e,t)=>E(o(e),(e=>s?.(e)?0:n[t]=e)))),n},K=(e,t)=>{const s=j(),n=t??(e=>e);return N(e,((e,t)=>s.set(t,n(e)))),s},U=e=>K(e,K),V=(e,t,s,n,o=0)=>E((s?q:P)(e,t[o],o>f(t)-2?s:j),(r=>{if(o>f(t)-2)return n?.(r)&&H(e,t[o]),r;const a=V(r,t,s,n,o+1);return J(r)&&H(e,t[o]),a})),X=e=>new Set(e),Y=(e,t)=>e?.add(t),Z=(e,t,s)=>{const n=e.hasRow,o=j(),r=j(),a=j(),l=j(),i=j(),d=(t,s,...n)=>{const o=q(i,t,X);return h(n,(t=>Y(o,t)&&s&&e.callListener(t))),n},c=(t,...s)=>E(P(i,t),(n=>{h(R(s)?Q(n):s,(t=>{e.delListener(t),O(n,t)})),J(n)&&H(i,t)})),u=(e,s)=>{H(o,e,s),F(r,e)||(H(r,e,t()),H(a,e,j()),H(l,e,j()))},g=e=>{H(o,e),H(r,e),H(a,e),H(l,e),c(e)};return[()=>e,()=>W(o),e=>B(r,e),e=>F(r,e),e=>P(o,e),e=>P(r,e),(e,t)=>H(r,e,t),u,(t,o,r,i,g)=>{u(t,o);const f=j(),R=j(),L=P(a,t),w=P(l,t),T=t=>{const r=s=>e.getCell(o,t,s),a=P(L,t),l=n(o,t)?s(i(r,t)):void 0;if(a!=l&&H(f,t,[a,l]),!y(g)){const e=P(w,t),s=n(o,t)?g(r,t):void 0;e!=s&&H(R,t,s)}},I=e=>{r((()=>{N(f,(([,e],t)=>H(L,t,e))),N(R,((e,t)=>H(w,t,e)))}),f,R,L,w,e),z(f),z(R)};B(L,T),e.hasTable(o)&&h(e.getRowIds(o),(e=>{F(L,e)||T(e)})),I(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,s)=>T(s))),e.addTableListener(o,(()=>I())))},g,()=>B(i,g),d,c]},$=(e,t)=>s(e)==n?t=>t(e):e??(()=>t??""),_=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},ee=(e,t=[""])=>{const s=[],n=(e,o)=>o==f(t)?w(s,e):h([t[o],null],(t=>n(P(e,t),o+1)));return n(e,0),s},te=e=>{let t,s=0;const n=[],o=j();return[(r,a,l)=>{t??=e();const i=T(n)??""+s++;return H(o,i,[r,a,l]),Y(V(a,l??[""],X),i),i},(e,s,...n)=>h(ee(e,s),(e=>N(e,(e=>E(P(o,e),(([e])=>e(t,...s??[],...n))))))),e=>E(P(o,e),(([,t,s])=>(V(t,s??[""],void 0,(t=>(O(t,e),J(t)?1:0))),H(o,e),f(n)<1e3&&w(n,e),s))),(e,t)=>!i(ee(e,t),y),(e,s,n)=>E(P(o,e),(([e,,o=[]])=>{const r=(...a)=>{const l=f(a);l==f(o)?e(t,...a,...n(a)):y(o[l])?h(s[l](...a),(e=>r(...a,e))):r(...a,o[l])};r()}))]},se=Object,ne=se.keys,oe=se.isFrozen,re=se.freeze,ae=(e,t)=>!y(((e,t)=>E(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],ie=(e,t)=>h(se.entries(e),(([e,s])=>t(s,e))),de=e=>R(ne(e)),ce=e=>{const t=s(e);return m(t)||t==r&&C(e)?t:void 0},ue=(e,t,s,n,o)=>y(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),he=_((e=>{let t,s,n,o=100,r=j(),a=1;const i=j(),d=j(),[c,u,g]=te((()=>W)),L=j(),I=j(),v=[],b=[],p=(t,s)=>{a=0,e.transaction((()=>N(P(L,s),((s,n)=>N(s,((s,o)=>N(s,((s,r)=>ue(e,n,o,r,s[t]))))))))),a=1},C=e=>{H(L,e),H(I,e),u(d,[e])},S=(e,t)=>h(((e,t)=>e.splice(0,t))(e,t??f(e)),C),m=()=>S(v,f(v)-o),k=e.addCellListener(null,null,null,((e,s,o,l,i,d)=>{if(a){E(t,(()=>{w(v,t),m(),S(b),t=void 0,n=1}));const e=q(r,s,j),a=q(e,o,j),c=q(a,l,(()=>[d,void 0]));c[1]=i,c[0]===i&&J(H(a,l))&&J(H(e,o))&&J(H(r,s))&&(t=T(v),n=1),A()}})),M=(e="")=>(y(t)&&(t=""+s++,H(L,t,r),z(t,e),r=j(),n=1),t),D=()=>{R(v)||(b.unshift(M()),p(0,t),t=T(v),n=1)},x=()=>{R(b)||(w(v,t),t=b.shift(),p(1,t),n=1)},A=()=>{n&&(u(i),n=0)},Q=e=>{const t=M(e);return A(),t},z=(e,t)=>(O(e)&&P(I,e)!==t&&(H(I,e,t),u(d,[e])),W),O=e=>F(L,e),W={setSize:e=>(o=e,m(),W),addCheckpoint:Q,setCheckpoint:z,getStore:()=>e,getCheckpointIds:()=>[[...v],t,[...b]],forEachCheckpoint:e=>B(I,e),hasCheckpoint:O,getCheckpoint:e=>P(I,e),goBackward:()=>(D(),A(),W),goForward:()=>(x(),A(),W),goTo:e=>{const s=l(v,e)?D:l(b,e)?x:null;for(;!y(s)&&e!=t;)s();return A(),W},addCheckpointIdsListener:e=>c(e,i),addCheckpointListener:(e,t)=>c(t,d,[e]),delListener:e=>(g(e),W),clear:()=>(S(v),S(b),y(t)||C(t),t=void 0,s=0,Q(),W),destroy:()=>{e.delListener(k)},getListenerStats:()=>({})};return re(W.clear())})),ge=(e,t)=>e<t?-1:1,fe=_((e=>{const t=j(),s=j(),[n,o,r,a,l,i,d,,h,g,f]=Z(e,j,(e=>y(e)?"":e+"")),[R,L,w]=te((()=>I)),T=(t,s,n)=>{const o=l(t);N(n,((t,n)=>s(n,(s=>N(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},I={setIndexDefinition:(e,n,o,r,a,l=ge)=>{const g=y(a)?void 0:([e],[t])=>a(e,t);return h(e,n,((n,o,a,h,f,R)=>{let w=0;const T=X(),I=X(),v=i(e);if(N(o,(([e,t],s)=>{y(e)||(Y(T,e),E(P(v,e),(t=>{O(t,s),J(t)&&(H(v,e),w=1)}))),y(t)||(Y(T,t),F(v,t)||(H(v,t,X()),w=1),Y(P(v,t),s),y(r)||Y(I,t))})),n(),J(f)||(R?B(v,(e=>Y(I,e))):B(a,(e=>E(P(h,e),(e=>Y(I,e))))),N(I,(e=>{const t=(t,s)=>l(P(f,t),P(f,s),e),s=[...P(v,e)];c(s,t)||(H(v,e,X(u(s,t))),Y(T,e))}))),(w||R)&&!y(g)){const t=[...v];c(t,g)||(d(e,j(u(t,g))),w=1)}w&&L(t,[e]),N(T,(t=>L(s,[e,t])))}),$(o),E(r,$)),I},delIndexDefinition:e=>(g(e),I),getStore:n,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>T(t,e,s))))),forEachSlice:(e,t)=>T(e,t,i(e)),hasIndex:a,hasSlice:(e,t)=>F(i(e),t),getTableId:l,getSliceIds:e=>W(i(e)),getSliceRowIds:(e,t)=>Q(P(i(e),t)),addSliceIdsListener:(e,s)=>R(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>R(n,s,[e,t]),delListener:e=>(w(e),I),destroy:f,getListenerStats:()=>({})};return re(I)})),Re=j([["avg",[(e,t)=>g(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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>p(...e),(e,t)=>p(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:p(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Le=(e,t,s,n,o,r=!1)=>{if(J(s))return;const[a,l,i,d]=o;return r||=y(e),N(n,(([s,n])=>{r||(e=y(s)?l?.(e,n,t++):y(n)?i?.(e,s,t--):d?.(e,n,s,t),r||=y(e))})),r?a(Q(s),D(s)):e},we=_((e=>{const t=j(),[s,n,o,r,a,l,i,,d,c,u]=Z(e,M,(e=>isNaN(e)||y(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,g,f]=te((()=>R)),R={setMetricDefinition:(e,s,n,o,r,a,c)=>{const u=k(n)?[n,r,a,c]:P(Re,n)??P(Re,"sum");return d(e,s,((s,n,o,r,a,d)=>{const c=l(e),h=D(r);d||=y(c),s();let f=Le(c,h,r,n,u,d);C(f)||(f=void 0),f!=c&&(i(e,f),g(t,[e],f,c))}),$(o,1)),R},delMetricDefinition:e=>(c(e),R),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:r,getTableId:a,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(f(e),R),destroy:u,getListenerStats:()=>({})};return re(R)})),Te=(e,t,s,n,o)=>{let r,a=0;const l={load:async s=>{if(2!=a){a=1;const n=await t();y(n)||""==n?e.setTables(s):e.setJson(n),a=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),n(l.load),l),stopAutoLoad:()=>(o(),l),save:async()=>(1!=a&&(a=2,await s(e.getJson()),a=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),r=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(E(r,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return re(l)},Ie=globalThis.window,ve=(e,t,s)=>{let n;return Te(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Ie.addEventListener("storage",n)}),(()=>{Ie.removeEventListener("storage",n),n=void 0}))},be=(e,t)=>ve(e,t,localStorage),pe=(e,t)=>ve(e,t,sessionStorage),Ce=(s,n)=>{let o;return Te(s,(async()=>{try{return await e.readFile(n,"utf8")}catch{}}),(async t=>{try{await e.writeFile(n,t,"utf8")}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Se=e=>e.headers.get("ETag"),ye=(e,t,s,n)=>{let o,r;return Te(e,(async()=>{const e=await fetch(t);return r=Se(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=Se(s);y(r)||y(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{E(o,clearInterval),o=void 0}))},Ee=_((e=>{const[t,s,n,o,r,,,a,,l,c,g,L]=Z(e,(()=>!0),M),T=e.createStore(),I=e.createStore(),v=e.createStore(),b=j(),p=(e,t,...s)=>h(s,(s=>Y(q(q(b,t,j),e,X),s))),C=(e,t,s)=>g(e,0,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),S={setQueryDefinition:(t,s,n)=>{let o;a(t,s),T.delTable(t),I.delTable(t),v.delTable(t);const r=[],l=[[null,[s,null,null,[],j()]]],c=[],b=[],m=[],M=[];n({select:(e,t)=>{const s=k(e)?[f(r)+"",e]:[y(t)?e:t,s=>s(e,t)];return w(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=y(s)||k(t)?null:t,o=y(n)?t:s,r=[e,[e,n,k(o)?o:e=>e(o),[],j()]];return w(l,r),{as:e=>r[0]=e}},where:(e,t,s)=>w(c,k(e)?e:y(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,k(t)?[t,s,n,o]:P(Re,t)??[(e,t)=>t]]];return w(b,r),{as:e=>r[0]=e}},having:(e,t)=>w(m,k(e)?e:s=>s(e)===t),order:(e,t)=>w(M,[k(e)?e:t=>t(e)??0,t]),limit:(e,t)=>{o=y(t)?[0,e]:[e,t]}});const x=j(r);if(J(x))return S;const A=j(l);B(A,((e,[,t])=>E(P(A,t),(({3:t})=>y(e)?0:w(t,e)))));const Q=j(b);let G=T,K=I;if(R(M)&&y(o))K=v;else{C(t,K,v);const e=(e,t)=>{const n=P(s,e)??[],o=P(s,t)??[],r=M.findIndex(((e,t)=>n[t]!==o[t]));return r<0?0:ge(n[r],o[r])*(M[r][1]?-1:1)},s=j(),n=j();p(K,t,R(M)?K.addRowIdsListener(t,(()=>z(n))):K.addRowListener(t,null,((e,o,r)=>{let a=null;if(K.hasRow(t,r)){const e=P(s,r)??[],o=K.getRow(t,r),i=e=>o[e];if(l=([e])=>e(i,r),a=M.map(l),d(e,a))return void(P(n,r)&&v.setRow(t,r,o))}var l;H(s,r,a),z(n)})),K.addTableListener(t,(()=>{if(J(n)&&(v.delTable(t),K.hasTable(t))){const s=K.getTable(t);h(u(ne(s),e),(e=>H(n,e,0))),h(E(o,(([e,t])=>{return s=W(n),o=e,r=e+t,s.slice(o,r);var s,o,r}),(()=>W(n))),(e=>{v.setRow(t,e,s[e]),H(n,e,1)}))}})))}if(J(Q)&&R(m))G=K;else{C(t,G,K);const e=j();B(Q,((t,[s,n])=>Y(q(e,s,X),[t,n])));const s=X();B(x,(t=>F(e,t)?0:Y(s,t)));const n=j(),o=(s,n,o,r)=>E(s,(([s,a,l,d])=>{B(n,((t,[n])=>{const a=q(s,t,j),l=P(a,o),i=r?void 0:n;if(l!==i){const s=X([[l,i]]),n=D(a);H(a,o,i),N(P(e,t),(([e,t])=>{const o=Le(d[e],n,a,s,t);d[e]=y(ce(o))?null:o}))}})),(J(a)||!i(m,(e=>e((e=>d[e]))))?K.delRow:K.setRow)(t,l,d)}));p(G,t,G.addRowListener(t,null,((r,a,l,i)=>{const d=[],c=[],u=j(),h=G.hasRow(t,l);let g=!h;N(s,(e=>{const[s,n,o]=i(t,l,e);w(d,n),w(c,o),g||=s})),B(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&H(u,e,[n])})),g&&o(V(n,d,void 0,(([,e,s])=>{if(O(e,l),J(e))return K.delRow(t,s),1})),u,l,1),h&&o(V(n,c,(()=>{const e={};return N(s,(s=>e[s]=G.getCell(t,l,s))),[j(),X(),K.addRow(t,e,1),e]}),(([,e])=>{Y(e,l)})),u,l)})))}C(t,e,G);const U=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);h(a,(s=>{const[o,,r,a,i]=P(A,s),d=r?.(l,n),[c,u]=P(i,n)??[];d!=c&&(y(u)||L(t,u),H(i,n,y(d)?null:[d,...g(t,1,e.addRowListener(o,d,(()=>U(n,o,d,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...y(o)?[s,n,t]:t===s?[s,n,o]:[P(A,t)?.[0],P(P(A,t)?.[4],n)?.[0],o]);G.transaction((()=>i(c,(e=>e(o)))?B(x,((e,s)=>ue(G,t,n,e,s(o,n)))):G.delRow(t,n)))})(n)},{3:Z}=P(A,null);return G.transaction((()=>g(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?U(r,s,r,Z):(G.delRow(t,r),N(A,(({4:e})=>E(P(e,r),(([,s])=>{L(t,s),H(e,r)})))))}))))),S},delQueryDefinition:e=>(B(P(b,e),((e,t)=>N(t,(t=>e.delListener(t))))),l(e),S),getStore:t,getQueryIds:s,forEachQuery:n,hasQuery:o,getTableId:r,getResultTable:e=>v.getTable(e),getResultRowIds:e=>v.getRowIds(e),getResultRow:(e,t)=>v.getRow(e,t),getResultCellIds:(e,t)=>v.getCellIds(e,t),getResultCell:(e,t,s)=>v.getCell(e,t,s),hasResultTable:e=>v.hasTable(e),hasResultRow:(e,t)=>v.hasRow(e,t),hasResultCell:(e,t,s)=>v.hasCell(e,t,s),forEachResultTable:e=>v.forEachTable(e),forEachResultRow:(e,t)=>v.forEachRow(e,t),forEachResultCell:(e,t,s)=>v.forEachCell(e,t,s),addResultTableListener:(e,t)=>v.addTableListener(e,((e,...s)=>t(S,...s))),addResultRowIdsListener:(e,t,s)=>v.addRowIdsListener(e,((e,...s)=>t(S,...s)),s),addResultRowListener:(e,t,s)=>v.addRowListener(e,t,((e,...t)=>s(S,...t))),addResultCellIdsListener:(e,t,s,n)=>v.addCellIdsListener(e,t,((e,...t)=>s(S,...t)),n),addResultCellListener:(e,t,s,n)=>v.addCellListener(e,t,s,((e,...t)=>n(S,...t))),delListener:e=>(v.delListener(e),S),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=v.getListenerStats();return n}};return re(S)})),me=_((e=>{const t=j(),s=j(),n=j(),o=j(),[r,a,l,i,d,c,,,u,h,g]=Z(e,(()=>[j(),j(),j(),j()]),(e=>y(e)?void 0:e+"")),[f,R,L]=te((()=>v)),w=(e,t,s)=>E(c(e),(([n,,o])=>{if(!F(o,t)){const r=X();if(d(e)!=I(e))Y(r,t);else{let e=t;for(;!y(e)&&!F(r,e);)Y(r,e),e=P(n,e)}if(s)return r;H(o,t,r)}return P(o,t)})),T=(e,t)=>E(c(e),(([,,e])=>H(e,t))),I=e=>P(t,e),v={setRelationshipDefinition:(e,r,a,l)=>(H(t,e,a),u(e,r,((t,r)=>{const a=X(),l=X(),i=X(),[d,u]=c(e);N(r,(([t,s],n)=>{y(t)||(Y(l,t),E(P(u,t),(e=>{O(e,n),J(e)&&H(u,t)}))),y(s)||(Y(l,s),F(u,s)||H(u,s,X()),Y(P(u,s),n)),Y(a,n),H(d,n,s),B(P(o,e),(t=>{F(w(e,t),n)&&Y(i,t)}))})),t(),N(a,(t=>R(s,[e,t]))),N(l,(t=>R(n,[e,t]))),N(i,(t=>{T(e,t),R(o,[e,t])}))}),$(l)),v),delRelationshipDefinition:e=>(H(t,e),h(e),v),getStore:r,getRelationshipIds:a,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>P(c(e)?.[0],t),getLocalRowIds:(e,t)=>Q(P(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>y(c(e))?[t]:Q(w(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>f(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>f(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(w(e,t),f(s,o,[e,t])),delListener:e=>(T(...L(e)),v),destroy:g,getListenerStats:()=>({})};return re(v)})),ke=e=>[e,e],Me=e=>0==((e,t=x)=>t(e[0])+t(e[1]))(e),De=()=>[j(),j()],xe=()=>[De(),De()],Ae=(e,t,s,n=H)=>{const o=(r=W(e),a=e=>!ae(t,e),r.filter(a));var r,a;return h(ne(t),(n=>s(e,n,t[n]))),h(o,(t=>n(e,t))),e},Fe=(e,t,s)=>y(e)||!(e=>S(e,se)&&e.constructor==se)(e)||de(e)||oe(e)?(s?.(),!1):(ie(e,((s,n)=>{t(s,n)||le(e,n)})),!de(e)),Je=(e,t,s)=>H(e,t,P(e,t)==-s?void 0:s),Qe=()=>{let e,t,s=0,n=0;const o=j(),a=j(),i=j(),c=j(),u=j(),g=j(),f=j(),R=j(),L=De(),T=xe(),b=De(),p=xe(),C=De(),S=xe(),M=De(),x=De(),A=De(),[Q,O,V,Z,$]=te((()=>Ze)),_=(t,s)=>(!e||F(g,s)||ye(s))&&Fe(t,((e,t)=>ee(s,t,e)),(()=>ye(s))),ee=(e,t,s,n)=>Fe(n?s:ne(s,e,t),((n,o)=>E(se(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ye(e,t))),se=(t,s,n,o)=>e?E(P(P(g,t),n),(e=>ce(o)!=e.type?ye(t,s,n,o,e.default):o),(()=>ye(t,s,n,o))):y(ce(o))?ye(t,s,n,o):o,ne=(e,t,s)=>(E(P(f,t),(([n,o])=>{N(n,((t,s)=>{ae(e,s)||(e[s]=t)})),N(o,(n=>{ae(e,n)||ye(t,s,n)}))})),e),oe=e=>Ae(g,e,((e,t,s)=>{const n=j(),o=X();Ae(q(g,t,j),s,((e,t,s)=>{H(e,t,s),E(s.default,(e=>H(n,t,e)),(()=>Y(o,t)))})),H(f,t,[n,o])}),((e,t)=>{H(g,t),H(f,t)})),ue=e=>Ae(R,e,((e,t,s)=>he(t,s)),((e,t)=>Te(t))),he=(e,t)=>Ae(q(R,e,(()=>(be(e,1),j()))),t,((t,s,n)=>ge(e,t,s,n)),((t,s)=>Ie(e,t,s))),ge=(e,t,s,n,o)=>Ae(q(t,s,(()=>(pe(e,s,1),j()))),n,((t,n,o)=>fe(e,s,t,n,o)),((n,r)=>ve(e,t,s,n,r,o))),fe=(e,t,s,n,o)=>{F(s,n)||Ce(e,t,n,1);const r=P(s,n);o!==r&&(Se(e,t,n,r,o),H(s,n,o))},Re=(e,t,s,n,o)=>E(P(t,s),(t=>fe(e,s,t,n,o)),(()=>ge(e,t,s,ne({[n]:o},e,s)))),Le=e=>{const t=""+s++;return F(e,t)?Le(e):t},we=e=>P(R,e)??he(e,{}),Te=e=>he(e,{}),Ie=(e,t,s)=>ge(e,t,s,{},!0),ve=(e,t,s,n,o,r)=>{const a=P(P(f,e)?.[0],o);if(!y(a)&&!r)return fe(e,s,n,o,a);const l=t=>{Se(e,s,t,P(n,t)),Ce(e,s,t,-1),H(n,t)};y(a)?l(o):B(n,l),J(n)&&(pe(e,s,-1),J(H(t,s))&&(be(e,-1),H(R,e)))},be=(e,t)=>Je(J(o)?H(o,null,Z(T[0][1])||Z(T[1][1])?We():0):o,e,t),pe=(e,t,s)=>Je(q(a,e,(()=>j([[null,Z(p[0][1],[e])||Z(p[1][1],[e])?Pe(e):0]]))),t,s),Ce=(e,t,s,n)=>Je(q(q(i,e,j),t,(()=>j([[null,Z(S[0][1],[e,t])||Z(S[1][1],[e,t])?Be(e,t):0]]))),s,n),Se=(e,t,s,n,o)=>q(q(q(c,e,j),t,j),s,(()=>[n,0]))[1]=o,ye=(e,t,s,n,o)=>(w(q(q(q(u,e,j),t,j),s,(()=>[])),n),o),Ee=(e,t,s)=>E(P(P(P(c,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ke(He(e,t,s))])),me=e=>J(u)||J(x[e])?0:N(e?K(u,U):u,((t,s)=>N(t,((t,n)=>N(t,((t,o)=>O(x[e],[s,n,o],t))))))),ze=(e,t,s,n)=>{D(t)>1?(O(e[0],n),O(e[1],n)):J(t)||0==P(t,null)||d(P(t,null),s(...n??[]))||O(e[1],n)},Ne=e=>{const t=Me(S[e])&&Me(p[e])&&Me(T[e]),s=J(M[e])&&J(C[e])&&J(b[e])&&J(L[e]);if(!t||!s){const n=e?[K(o),U(a),K(i,U),K(c,U)]:[o,a,i,c];if(t||(N(n[2],((t,s)=>N(t,((t,n)=>ze(S[e],t,Be,[s,n]))))),N(n[1],((t,s)=>ze(p[e],t,Pe,[s]))),ze(T[e],n[0],We)),!s){let t;N(n[3],((s,n)=>{let o;N(s,((s,r)=>{let a;N(s,(([s,l],i)=>{l!==s&&(O(M[e],[n,r,i],l,s,Ee),t=o=a=1)})),a&&O(C[e],[n,r],Ee)})),o&&O(b[e],[n],Ee)})),t&&O(L[e],void 0,Ee)}}},Oe=e=>(Ve(e),Ze),je=()=>G(R,(e=>G(e,G))),We=()=>W(R),Pe=e=>W(P(R,e)),Be=(e,t)=>W(P(P(R,e),t)),He=(e,t,s)=>P(P(P(R,e),t),s),qe=e=>Oe((()=>(e=>Fe(e,_,ye))(e)?ue(e):0)),Ge=(e,t,s,n)=>Oe((()=>E(se(e,t,s,k(n)?n(He(e,t,s)):n),(n=>Re(e,we(e),t,s,n))))),Ke=()=>Oe((()=>ue({}))),Ue=(e,t,s,n)=>Oe((()=>E(P(R,e),(o=>E(P(o,t),(r=>F(r,s)?ve(e,o,t,r,s,n):0)))))),Ve=(e,t)=>{if(-1==n)return;Xe();const s=e?.();return Ye(t),s},Xe=()=>(n++,Ze),Ye=e=>(n>0&&(n--,0==n&&(t=!J(c),n=1,me(1),t&&Ne(1),n=-1,e?.(G(c,(e=>G(e,(e=>G(e,(e=>[...e]),(([e,t])=>e===t))),de)),de),G(u,(e=>G(e,G))))&&(n=1,N(c,((e,t)=>N(e,((e,s)=>N(e,(([e],n)=>y(e)?Ue(t,s,n,!0):Ge(t,s,n,e))))))),n=-1,t=!1),O(A[0],void 0,t),me(0),t&&Ne(0),O(A[1],void 0,t),n=0,h([c,u,o,a,i],z))),Ze),Ze={getTables:je,getTableIds:We,getTable:e=>G(P(R,e),G),getRowIds:Pe,getRow:(e,t)=>G(P(P(R,e),t)),getCellIds:Be,getCell:He,hasTables:()=>!J(R),hasTable:e=>F(R,e),hasRow:(e,t)=>F(P(R,e),t),hasCell:(e,t,s)=>F(P(P(R,e),t),s),getJson:()=>I(R),getSchemaJson:()=>I(g),setTables:qe,setTable:(e,t)=>Oe((()=>_(t,e)?he(e,t):0)),setRow:(e,t,s)=>Oe((()=>ee(e,t,s)?ge(e,we(e),t,s):0)),addRow:(e,t,s)=>Ve((()=>{const n=ee(e,void 0,t),o=n||s?Le(P(R,e)):void 0;return n&&ge(e,we(e),o,t),o})),setPartialRow:(e,t,s)=>Oe((()=>{if(ee(e,t,s,1)){const n=we(e);ie(s,((s,o)=>Re(e,n,t,o,s)))}})),setCell:Ge,setJson:e=>{try{"{}"===e?Ke():qe(v(e))}catch{}return Ze},setSchema:t=>Oe((()=>{if((e=(e=>Fe(e,(e=>Fe(e,(e=>{if(!Fe(e,((e,t)=>l(["type","default"],t))))return!1;const t=e.type;return!(!m(t)&&t!=r||(ce(e.default)!=t&&le(e,"default"),0))})))))(t))&&(oe(t),!J(R))){const e=je();Ke(),qe(e)}})),delTables:Ke,delTable:e=>Oe((()=>F(R,e)?Te(e):0)),delRow:(e,t)=>Oe((()=>E(P(R,e),(s=>F(s,t)?Ie(e,s,t):0)))),delCell:Ue,delSchema:()=>Oe((()=>{oe({}),e=!1})),transaction:Ve,startTransaction:Xe,finishTransaction:Ye,forEachTable:e=>N(R,((t,s)=>e(s,(e=>N(t,((t,s)=>e(s,(e=>B(t,e))))))))),forEachRow:(e,t)=>N(P(R,e),((e,s)=>t(s,(t=>B(e,t))))),forEachCell:(e,t,s)=>B(P(P(R,e),t),s),addTablesListener:(e,t)=>Q(e,L[t?1:0]),addTableIdsListener:(e,t,s)=>Q(e,T[s?1:0][t?1:0]),addTableListener:(e,t,s)=>Q(t,b[s?1:0],[e]),addRowIdsListener:(e,t,s,n)=>Q(t,p[n?1:0][s?1:0],[e]),addRowListener:(e,t,s,n)=>Q(s,C[n?1:0],[e,t]),addCellIdsListener:(e,t,s,n,o)=>Q(s,S[o?1:0][n?1:0],[e,t]),addCellListener:(e,t,s,n,o)=>Q(n,M[o?1:0],[e,t,s]),addInvalidCellListener:(e,t,s,n,o)=>Q(n,x[o?1:0],[e,t,s]),addWillFinishTransactionListener:e=>Q(e,A[0]),addDidFinishTransactionListener:e=>Q(e,A[1]),callListener:e=>($(e,[We,Pe,Be],(e=>y(e[2])?[]:ke(He(...e)))),Ze),delListener:e=>(V(e),Ze),getListenerStats:()=>({}),createStore:Qe};return re(Ze)};export{he as createCheckpoints,Te as createCustomPersister,Ce as createFilePersister,fe as createIndexes,be as createLocalPersister,we as createMetrics,Ee as createQueries,me as createRelationships,ye as createRemotePersister,pe as createSessionPersister,Qe as createStore,ge as defaultSorter};
1
+ import{promises as e,watch as t}from"fs";const n=e=>typeof e,s=n(""),o=n(!0),r=n(0),a=n(n),i=(e,t)=>e.includes(t),l=(e,t)=>e.every(t),d=(e,t)=>l(e,((n,s)=>0==s||t(e[s-1],n)<=0)),c=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),h=(e,t)=>e.map(t),f=e=>L(e,((e,t)=>e+t),0),g=e=>e.length,w=e=>0==g(e),L=(e,t,n)=>e.reduce(t,n),R=(e,t,n)=>e.slice(t,n),v=(e,...t)=>e.push(...t),I=e=>e.pop(),S=e=>JSON.stringify(e,((e,t)=>C(t,Map)?L([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),p=JSON.parse,T=Math.max,y=Math.min,b=isFinite,C=(e,t)=>e instanceof t,m=e=>null==e,E=(e,t,n)=>m(e)?n?.():t(e),k=e=>e==s||e==o,M=e=>n(e)==a,D=()=>{},A=e=>e.size,x=(e,t)=>e?.has(t)??!1,F=e=>m(e)||0==A(e),J=e=>[...e?.values()??[]],Q=e=>e.clear(),z=(e,t)=>e?.forEach(t),N=(e,t)=>e?.delete(t),O=e=>new Map(e),j=e=>[...e?.keys()??[]],W=(e,t)=>e?.get(t),P=(e,t)=>z(e,((e,n)=>t(n,e))),B=(e,t,n)=>m(n)?(N(e,t),e):e?.set(t,n),H=(e,t,n)=>(x(e,t)||B(e,t,n()),W(e,t)),q=(e,t,n)=>{const s={},o=t??(e=>e);return z(e,((e,t)=>E(o(e),(e=>n?.(e)?0:s[t]=e)))),s},G=(e,t)=>{const n=O(),s=t??(e=>e);return z(e,((e,t)=>n.set(t,s(e)))),n},K=e=>G(e,G),U=(e,t,n,s,o=0)=>E((n?H:W)(e,t[o],o>g(t)-2?n:O),(r=>{if(o>g(t)-2)return s?.(r)&&B(e,t[o]),r;const a=U(r,t,n,s,o+1);return F(r)&&B(e,t[o]),a})),V=e=>new Set(e),X=(e,t)=>e?.add(t),Y=(e,t,n)=>{const s=e.hasRow,o=O(),r=O(),a=O(),i=O(),l=O(),d=(t,n,...s)=>{const o=H(l,t,V);return u(s,(t=>X(o,t)&&n&&e.callListener(t))),s},c=(t,...n)=>E(W(l,t),(s=>{u(w(n)?J(s):n,(t=>{e.delListener(t),N(s,t)})),F(s)&&B(l,t)})),h=(e,n)=>{B(o,e,n),x(r,e)||(B(r,e,t()),B(a,e,O()),B(i,e,O()))},f=e=>{B(o,e),B(r,e),B(a,e),B(i,e),c(e)};return[()=>e,()=>j(o),e=>P(r,e),e=>x(r,e),e=>W(o,e),e=>W(r,e),(e,t)=>B(r,e,t),h,(t,o,r,l,f)=>{h(t,o);const g=O(),w=O(),L=W(a,t),R=W(i,t),v=t=>{const r=n=>e.getCell(o,t,n),a=W(L,t),i=s(o,t)?n(l(r,t)):void 0;if(a!=i&&B(g,t,[a,i]),!m(f)){const e=W(R,t),n=s(o,t)?f(r,t):void 0;e!=n&&B(w,t,n)}},I=e=>{r((()=>{z(g,(([,e],t)=>B(L,t,e))),z(w,((e,t)=>B(R,t,e)))}),g,w,L,R,e),Q(g),Q(w)};P(L,v),e.hasTable(o)&&u(e.getRowIds(o),(e=>{x(L,e)||v(e)})),I(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>v(n))),e.addTableListener(o,(()=>I())))},f,()=>P(l,f),d,c]},Z=(e,t)=>n(e)==s?t=>t(e):e??(()=>t??""),$=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},_=e=>{let t,n=0;const s=[],o=O();return[(r,a,i)=>{t??=e();const l=I(s)??""+n++;return B(o,l,[r,a,i]),X(U(a,i??[""],V),l),l},(e,n,...s)=>u(((e,t=[""])=>{const n=[],s=(e,o)=>o==g(t)?v(n,e):null===t[o]?z(e,(e=>s(e,o+1))):u([t[o],null],(t=>s(W(e,t),o+1)));return s(e,0),n})(e,n),(e=>z(e,(e=>W(o,e)[0](t,...n??[],...s))))),e=>E(W(o,e),(([,t,n])=>(U(t,n??[""],void 0,(t=>(N(t,e),F(t)?1:0))),B(o,e),g(s)<1e3&&v(s,e),n))),(e,n,s)=>E(W(o,e),(([e,,o=[]])=>{const r=(...a)=>{const i=g(a);i==g(o)?e(t,...a,...s(a)):m(o[i])?u(n[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},ee=Object,te=ee.keys,ne=ee.isFrozen,se=ee.freeze,oe=(e,t)=>!m(((e,t)=>E(e,(e=>e[t])))(e,t)),re=(e,t)=>delete e[t],ae=(e,t)=>u(ee.entries(e),(([e,n])=>t(n,e))),ie=e=>w(te(e)),le=e=>{const t=n(e);return k(t)||t==r&&b(e)?t:void 0},de=(e,t,n,s,o)=>m(o)?e.delCell(t,n,s,!0):e.setCell(t,n,s,o),ce=$((e=>{let t,n,s,o=100,r=O(),a=1;const l=O(),d=O(),[c,h,f]=_((()=>q)),L=O(),R=O(),S=[],p=[],T=(t,n)=>{a=0,e.transaction((()=>z(W(L,n),((n,s)=>z(n,((n,o)=>z(n,((n,r)=>de(e,s,o,r,n[t]))))))))),a=1},y=e=>{B(L,e),B(R,e),h(d,[e])},b=(e,t)=>u(((e,t)=>e.splice(0,t))(e,t??g(e)),y),C=()=>b(S,g(S)-o),k=e.addCellListener(null,null,null,((e,n,o,i,l,d)=>{if(a){E(t,(()=>{v(S,t),C(),b(p),t=void 0,s=1}));const e=H(r,n,O),a=H(e,o,O),c=H(a,i,(()=>[d,void 0]));c[1]=l,c[0]===l&&F(B(a,i))&&F(B(e,o))&&F(B(r,n))&&(t=I(S),s=1),J()}})),M=(e="")=>(m(t)&&(t=""+n++,B(L,t,r),N(t,e),r=O(),s=1),t),D=()=>{w(S)||(p.unshift(M()),T(0,t),t=I(S),s=1)},A=()=>{w(p)||(v(S,t),t=p.shift(),T(1,t),s=1)},J=()=>{s&&(h(l),s=0)},Q=e=>{const t=M(e);return J(),t},N=(e,t)=>(j(e)&&W(R,e)!==t&&(B(R,e,t),h(d,[e])),q),j=e=>x(L,e),q={setSize:e=>(o=e,C(),q),addCheckpoint:Q,setCheckpoint:N,getStore:()=>e,getCheckpointIds:()=>[[...S],t,[...p]],forEachCheckpoint:e=>P(R,e),hasCheckpoint:j,getCheckpoint:e=>W(R,e),goBackward:()=>(D(),J(),q),goForward:()=>(A(),J(),q),goTo:e=>{const n=i(S,e)?D:i(p,e)?A:null;for(;!m(n)&&e!=t;)n();return J(),q},addCheckpointIdsListener:e=>c(e,l),addCheckpointListener:(e,t)=>c(t,d,[e]),delListener:e=>(f(e),q),clear:()=>(b(S),b(p),m(t)||y(t),t=void 0,n=0,Q(),q),destroy:()=>{e.delListener(k)},getListenerStats:()=>({})};return se(q.clear())})),ue=(e,t)=>e<t?-1:1,he=e=>""+e,fe=$((e=>{const t=O(),n=O(),[s,o,r,a,i,l,u,,h,f,g]=Y(e,O,(e=>m(e)?"":e+"")),[w,L,R]=_((()=>I)),v=(t,n,s)=>{const o=i(t);z(s,((t,s)=>n(s,(n=>z(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},I={setIndexDefinition:(e,s,o,r,a,i=ue)=>{const f=m(a)?void 0:([e],[t])=>a(e,t);return h(e,s,((s,o,a,h,g,w)=>{let R=0;const v=V(),I=V(),S=l(e);if(z(o,(([e,t],n)=>{m(e)||(X(v,e),E(W(S,e),(t=>{N(t,n),F(t)&&(B(S,e),R=1)}))),m(t)||(X(v,t),x(S,t)||(B(S,t,V()),R=1),X(W(S,t),n),m(r)||X(I,t))})),s(),F(g)||(w?P(S,(e=>X(I,e))):P(a,(e=>E(W(h,e),(e=>X(I,e))))),z(I,(e=>{const t=(t,n)=>i(W(g,t),W(g,n),e),n=[...W(S,e)];d(n,t)||(B(S,e,V(c(n,t))),X(v,e))}))),(R||w)&&!m(f)){const t=[...S];d(t,f)||(u(e,O(c(t,f))),R=1)}R&&L(t,[e]),z(v,(t=>L(n,[e,t])))}),Z(o),E(r,Z)),I},delIndexDefinition:e=>(f(e),I),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>v(t,e,n))))),forEachSlice:(e,t)=>v(e,t,l(e)),hasIndex:a,hasSlice:(e,t)=>x(l(e),t),getTableId:i,getSliceIds:e=>j(l(e)),getSliceRowIds:(e,t)=>J(W(l(e),t)),addSliceIdsListener:(e,n)=>w(n,t,[e]),addSliceRowIdsListener:(e,t,s)=>w(s,n,[e,t]),delListener:e=>(R(e),I),destroy:g,getListenerStats:()=>({})};return se(I)})),ge=O([["avg",[(e,t)=>f(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=>y(...e),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:y(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),we=(e,t,n,s,o,r=!1)=>{if(F(n))return;const[a,i,l,d]=o;return r||=m(e),z(s,(([n,s])=>{r||(e=m(n)?i?.(e,s,t++):m(s)?l?.(e,n,t--):d?.(e,s,n,t),r||=m(e))})),r?a(J(n),A(n)):e},Le=$((e=>{const t=O(),[n,s,o,r,a,i,l,,d,c,u]=Y(e,D,(e=>isNaN(e)||m(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=_((()=>w)),w={setMetricDefinition:(e,n,s,o,r,a,c)=>{const u=M(s)?[s,r,a,c]:W(ge,s)??W(ge,"sum");return d(e,n,((n,s,o,r,a,d)=>{const c=i(e),h=A(r);d||=m(c),n();let g=we(c,h,r,s,u,d);b(g)||(g=void 0),g!=c&&(l(e,g),f(t,[e],g,c))}),Z(o,1)),w},delMetricDefinition:e=>(c(e),w),getStore:n,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),w),destroy:u,getListenerStats:()=>({})};return se(w)})),Re=(e,t,n,s,o)=>{let r,a=0;const i={load:async n=>{if(2!=a){a=1;const s=await t();m(s)||""==s?e.setTables(n):e.setJson(s),a=0}return i},startAutoLoad:async e=>(i.stopAutoLoad(),await i.load(e),s(i.load),i),stopAutoLoad:()=>(o(),i),save:async()=>(1!=a&&(a=2,await n(e.getJson()),a=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),r=e.addTablesListener((()=>i.save())),i),stopAutoSave:()=>(E(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return se(i)},ve=globalThis.window,Ie=(e,t,n)=>{let s;return Re(e,(async()=>n.getItem(t)),(async e=>n.setItem(t,e)),(e=>{s=s=>{s.storageArea===n&&s.key===t&&e()},ve.addEventListener("storage",s)}),(()=>{ve.removeEventListener("storage",s),s=void 0}))},Se=(e,t)=>Ie(e,t,localStorage),pe=(e,t)=>Ie(e,t,sessionStorage),Te=(n,s)=>{let o;return Re(n,(async()=>{try{return await e.readFile(s,"utf8")}catch{}}),(async t=>{try{await e.writeFile(s,t,"utf8")}catch{}}),(e=>{o=t(s,e)}),(()=>{o?.close(),o=void 0}))},ye=e=>e.headers.get("ETag"),be=(e,t,n,s)=>{let o,r;return Re(e,(async()=>{const e=await fetch(t);return r=ye(e),e.text()}),(async e=>await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const n=await fetch(t,{method:"HEAD"}),s=ye(n);m(r)||m(s)||s==r||(r=s,e())}),1e3*s)}),(()=>{E(o,clearInterval),o=void 0}))},Ce=$((e=>{const t=e.createStore,[n,s,o,r,a,,,i,,d,c,h,f]=Y(e,(()=>!0),D),L=t(),I=t(),S=O(),p=(e,t,...n)=>u(n,(n=>X(H(H(S,t,O),e,V),n))),T=e=>u([I,L],(t=>t.delTable(e))),y=(e,t,n)=>p(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,s)=>{i(t,n),T(t);const o=[],r=[[null,[n,null,null,[],O()]]],a=[],d=[],c=[];s({select:(e,t)=>{const n=M(e)?[g(o)+"",e]:[m(t)?e:t,n=>n(e,t)];return v(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=m(n)||M(t)?null:t,o=m(s)?t:n,a=[e,[e,s,M(o)?o:e=>e(o),[],O()]];return v(r,a),{as:e=>a[0]=e}},where:(e,t,n)=>v(a,M(e)?e:m(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,o)=>{const r=[e,[e,M(t)?[t,n,s,o]:W(ge,t)??[(e,t)=>t]]];return v(d,r),{as:e=>r[0]=e}},having:(e,t)=>v(c,M(e)?e:n=>n(e)===t)});const R=O(o);if(F(R))return b;const S=O(r);P(S,((e,[,t])=>E(W(S,t),(({3:t})=>m(e)?0:v(t,e)))));const C=O(d);let k=L;if(F(C)&&w(c))k=I;else{y(t,k,I);const e=O();P(C,((t,[n,s])=>X(H(e,n,V),[t,s])));const n=V();P(R,(t=>x(e,t)?0:X(n,t)));const s=O(),o=(n,s,o,r)=>E(n,(([n,a,i,d])=>{P(s,((t,[s])=>{const a=H(n,t,O),i=W(a,o),l=r?void 0:s;if(i!==l){const n=V([[i,l]]),s=A(a);B(a,o,l),z(W(e,t),(([e,t])=>{const o=we(d[e],s,a,n,t);d[e]=m(le(o))?null:o}))}})),(F(a)||!l(c,(e=>e((e=>d[e]))))?I.delRow:I.setRow)(t,i,d)}));p(k,t,k.addRowListener(t,null,((r,a,i,l)=>{const d=[],c=[],u=O(),h=k.hasRow(t,i);let f=!h;z(n,(e=>{const[n,s,o]=l(t,i,e);v(d,s),v(c,o),f||=n})),P(e,(e=>{const[n,,s]=l(t,i,e);(f||n)&&B(u,e,[s])})),f&&o(U(s,d,void 0,(([,e,n])=>{if(N(e,i),F(e))return I.delRow(t,n),1})),u,i,1),h&&o(U(s,c,(()=>{const e={};return z(n,(n=>e[n]=k.getCell(t,i,n))),[O(),V(),I.addRow(t,e,1),e]}),(([,e])=>{X(e,i)})),u,i)})))}y(t,e,k);const D=(s,o,r,i)=>{const d=t=>e.getCell(o,r,t);u(i,(n=>{const[o,,r,a,i]=W(S,n),l=r?.(d,s),[c,u]=W(i,s)??[];l!=c&&(m(u)||f(t,u),B(i,s,m(l)?null:[l,...h(t,1,e.addRowListener(o,l,(()=>D(s,o,l,a))))]))})),(s=>{const o=(t,o)=>e.getCell(...m(o)?[n,s,t]:t===n?[n,s,o]:[W(S,t)?.[0],W(W(S,t)?.[4],s)?.[0],o]);k.transaction((()=>l(a,(e=>e(o)))?P(R,((e,n)=>de(k,t,s,e,n(o,s)))):k.delRow(t,s)))})(s)},{3:J}=W(S,null);return k.transaction((()=>h(t,1,e.addRowListener(n,null,((s,o,r)=>{e.hasRow(n,r)?D(r,n,r,J):(k.delRow(t,r),z(S,(({4:e})=>E(W(e,r),(([,n])=>{f(t,n),B(e,r)})))))}))))),b},delQueryDefinition:e=>(P(W(S,e),((e,t)=>z(t,(t=>e.delListener(t))))),T(e),d(e),b),getStore:n,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:a,delListener:e=>(I.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=I.getListenerStats();return s}};return ae({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{u(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>I[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>I["add"+n+"Listener"](...R(e,0,t),((n,...s)=>e[t](b,...s)))})),se(b)})),me=$((e=>{const t=O(),n=O(),s=O(),o=O(),[r,a,i,l,d,c,,,u,h,f]=Y(e,(()=>[O(),O(),O(),O()]),(e=>m(e)?void 0:e+"")),[g,w,L]=_((()=>S)),R=(e,t,n)=>E(c(e),(([s,,o])=>{if(!x(o,t)){const r=V();if(d(e)!=I(e))X(r,t);else{let e=t;for(;!m(e)&&!x(r,e);)X(r,e),e=W(s,e)}if(n)return r;B(o,t,r)}return W(o,t)})),v=(e,t)=>E(c(e),(([,,e])=>B(e,t))),I=e=>W(t,e),S={setRelationshipDefinition:(e,r,a,i)=>(B(t,e,a),u(e,r,((t,r)=>{const a=V(),i=V(),l=V(),[d,u]=c(e);z(r,(([t,n],s)=>{m(t)||(X(i,t),E(W(u,t),(e=>{N(e,s),F(e)&&B(u,t)}))),m(n)||(X(i,n),x(u,n)||B(u,n,V()),X(W(u,n),s)),X(a,s),B(d,s,n),P(W(o,e),(t=>{x(R(e,t),s)&&X(l,t)}))})),t(),z(a,(t=>w(n,[e,t]))),z(i,(t=>w(s,[e,t]))),z(l,(t=>{v(e,t),w(o,[e,t])}))}),Z(i)),S),delRelationshipDefinition:e=>(B(t,e),h(e),S),getStore:r,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:l,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>W(c(e)?.[0],t),getLocalRowIds:(e,t)=>J(W(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>m(c(e))?[t]:J(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>g(s,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(R(e,t),g(n,o,[e,t])),delListener:e=>(v(...L(e)),S),destroy:f,getListenerStats:()=>({})};return se(S)})),Ee=e=>[e,e],ke=()=>[O(),O()],Me=(e,t,n,s=B)=>{const o=(r=j(e),a=e=>!oe(t,e),r.filter(a));var r,a;return u(te(t),(s=>n(e,s,t[s]))),u(o,(t=>s(e,t))),e},De=(e,t,n)=>m(e)||!(e=>C(e,ee)&&e.constructor==ee)(e)||ie(e)||ne(e)?(n?.(),!1):(ae(e,((n,s)=>{t(n,s)||re(e,s)})),!ie(e)),Ae=(e,t,n)=>B(e,t,W(e,t)==-n?void 0:n),xe=()=>{let e,t,n=0,s=0;const o=O(),a=O(),d=O(),f=O(),w=O(),L=O(),I=O(),T=O(),y=ke(),b=ke(),C=ke(),D=ke(),A=ke(),J=ke(),U=ke(),Y=ke(),Z=ke(),$=ke(),[ee,te,ne,ce]=_((()=>tt)),fe=(t,n)=>(!e||x(L,n)||Oe(n))&&De(t,((e,t)=>ge(n,t,e)),(()=>Oe(n))),ge=(e,t,n,s)=>De(s?n:Le(n,e,t),((s,o)=>E(we(e,t,o,s),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Oe(e,t))),we=(t,n,s,o)=>e?E(W(W(L,t),s),(e=>le(o)!=e.type?Oe(t,n,s,o,e.default):o),(()=>Oe(t,n,s,o))):m(le(o))?Oe(t,n,s,o):o,Le=(e,t,n)=>(E(W(I,t),(([s,o])=>{z(s,((t,n)=>{oe(e,n)||(e[n]=t)})),z(o,(s=>{oe(e,s)||Oe(t,n,s)}))})),e),Re=e=>Me(L,e,((e,t,n)=>{const s=O(),o=V();Me(H(L,t,O),n,((e,t,n)=>{B(e,t,n),E(n.default,(e=>B(s,t,e)),(()=>X(o,t)))})),B(I,t,[s,o])}),((e,t)=>{B(L,t),B(I,t)})),ve=e=>Me(T,e,((e,t,n)=>Ie(t,n)),((e,t)=>Ce(t))),Ie=(e,t)=>Me(H(T,e,(()=>(Je(e,1),O()))),t,((t,n,s)=>Se(e,t,n,s)),((t,n)=>me(e,t,n))),Se=(e,t,n,s,o)=>Me(H(t,n,(()=>(Qe(e,n,1),O()))),s,((t,s,o)=>pe(e,n,t,s,o)),((s,r)=>Fe(e,t,n,s,r,o))),pe=(e,t,n,s,o)=>{x(n,s)||ze(e,t,s,1);const r=W(n,s);o!==r&&(Ne(e,t,s,r,o),B(n,s,o))},Te=(e,t,n,s,o)=>E(W(t,n),(t=>pe(e,n,t,s,o)),(()=>Se(e,t,n,Le({[s]:o},e,n)))),ye=e=>{const t=""+n++;return x(e,t)?ye(e):t},be=e=>W(T,e)??Ie(e,{}),Ce=e=>Ie(e,{}),me=(e,t,n)=>Se(e,t,n,{},!0),Fe=(e,t,n,s,o,r)=>{const a=W(W(I,e)?.[0],o);if(!m(a)&&!r)return pe(e,n,s,o,a);const i=t=>{Ne(e,n,t,W(s,t)),ze(e,n,t,-1),B(s,t)};m(a)?i(o):P(s,i),F(s)&&(Qe(e,n,-1),F(B(t,n))&&(Je(e,-1),B(T,e)))},Je=(e,t)=>Ae(o,e,t),Qe=(e,t,n)=>Ae(H(a,e,O),t,n),ze=(e,t,n,s)=>Ae(H(H(d,e,O),t,O),n,s),Ne=(e,t,n,s,o)=>H(H(H(f,e,O),t,O),n,(()=>[s,0]))[1]=o,Oe=(e,t,n,s,o)=>(v(H(H(H(w,e,O),t,O),n,(()=>[])),s),o),je=(e,t,n)=>E(W(W(W(f,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(Xe(e,t,n))])),We=e=>F(w)||F(Z[e])?0:z(e?G(w,K):w,((t,n)=>z(t,((t,s)=>z(t,((t,o)=>te(Z[e],[n,s,o],t))))))),Pe=(e,t,n)=>{if(!F(t))return te(e,n),1},Be=e=>{const t=F(A[e]),n=F(U[e])&&F(D[e])&&t&&F(b[e]),s=F(Y[e])&&F(J[e])&&F(C[e])&&F(y[e]);if(!n||!s){const r=e?[G(o),K(a),G(d,K),G(f,K)]:[o,a,d,f];if(!n){z(r[2],((t,n)=>z(t,((t,s)=>Pe(U[e],t,[n,s])))));const n=V();z(r[1],((s,o)=>{Pe(D[e],s,[o])&&!t&&(te(A[e],[o,null]),X(n,o))})),t||z(r[3],((t,s)=>{if(!x(n,s)){const n=V();z(t,(e=>z(e,(([t,s],o)=>s!==t?X(n,o):N(e,o))))),z(n,(t=>te(A[e],[s,t])))}})),Pe(b[e],r[0])}if(!s){let t;z(r[3],((n,s)=>{let o;z(n,((n,r)=>{let a;z(n,(([n,i],l)=>{i!==n&&(te(Y[e],[s,r,l],i,n,je),t=o=a=1)})),a&&te(J[e],[s,r],je)})),o&&te(C[e],[s],je)})),t&&te(y[e],void 0,je)}}},He=(e,...t)=>($e((()=>e(...h(t,he)))),tt),qe=()=>q(T,(e=>q(e,q))),Ge=()=>j(T),Ke=e=>j(W(T,he(e))),Ue=(e,t,n,s=0,o)=>{const r=[];return P(W(T,he(e)),((e,n)=>v(r,[m(t)?e:W(n,he(t)),e]))),h(R(c(r,(([e],[t])=>ue(e,t)*(n?-1:1))),s,m(o)?o:s+o),(([,e])=>e))},Ve=(e,t)=>j(W(W(T,he(e)),he(t))),Xe=(e,t,n)=>W(W(W(T,he(e)),he(t)),he(n)),Ye=e=>He((()=>(e=>De(e,fe,Oe))(e)?ve(e):0)),Ze=()=>He((()=>ve({}))),$e=(e,t)=>{if(-1==s)return;_e();const n=e?.();return et(t),n},_e=()=>(s++,tt),et=e=>(s>0&&(s--,0==s&&(t=!F(f),s=1,We(1),t&&Be(1),s=-1,e?.(q(f,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),ie)),ie),q(w,(e=>q(e,q))))&&(s=1,z(f,((e,t)=>z(e,((e,n)=>z(e,(([e],s)=>de(tt,t,n,s,e))))))),s=-1,t=!1),te($[0],void 0,t),We(0),t&&Be(0),te($[1],void 0,t),s=0,u([f,w,o,a,d],Q))),tt),tt={getTables:qe,getTableIds:Ge,getTable:e=>q(W(T,he(e)),q),getRowIds:Ke,getSortedRowIds:Ue,getRow:(e,t)=>q(W(W(T,he(e)),he(t))),getCellIds:Ve,getCell:Xe,hasTables:()=>!F(T),hasTable:e=>x(T,he(e)),hasRow:(e,t)=>x(W(T,he(e)),he(t)),hasCell:(e,t,n)=>x(W(W(T,he(e)),he(t)),he(n)),getJson:()=>S(T),getSchemaJson:()=>S(L),setTables:Ye,setTable:(e,t)=>He((e=>fe(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>He(((e,t)=>ge(he(e),he(t),n)?Se(he(e),be(he(e)),he(t),n):0),e,t),addRow:(e,t,n)=>$e((()=>{e=he(e);const s=ge(e,void 0,t),o=s||n?ye(W(T,e)):void 0;return s&&Se(e,be(e),o,t),o})),setPartialRow:(e,t,n)=>He(((e,t)=>{if(ge(e,t,n,1)){const s=be(e);ae(n,((n,o)=>Te(e,s,t,o,n)))}}),e,t),setCell:(e,t,n,s)=>He(((e,t,n)=>E(we(e,t,n,M(s)?s(Xe(e,t,n)):s),(s=>Te(e,be(e),t,n,s)))),e,t,n),setJson:e=>{try{"{}"===e?Ze():Ye(p(e))}catch{}return tt},setSchema:t=>He((()=>{if((e=(e=>De(e,(e=>De(e,(e=>{if(!De(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!k(t)&&t!=r||(le(e.default)!=t&&re(e,"default"),0))})))))(t))&&(Re(t),!F(T))){const e=qe();Ze(),Ye(e)}})),delTables:Ze,delTable:e=>He((e=>x(T,e)?Ce(e):0),e),delRow:(e,t)=>He(((e,t)=>E(W(T,e),(n=>x(n,t)?me(e,n,t):0))),e,t),delCell:(e,t,n,s)=>He(((e,t,n)=>E(W(T,e),(o=>E(W(o,t),(r=>x(r,n)?Fe(e,o,t,r,n,s):0))))),e,t,n),delSchema:()=>He((()=>{Re({}),e=!1})),transaction:$e,startTransaction:_e,finishTransaction:et,forEachTable:e=>z(T,((t,n)=>e(n,(e=>z(t,((t,n)=>e(n,(e=>P(t,e))))))))),forEachRow:(e,t)=>z(W(T,he(e)),((e,n)=>t(n,(t=>P(e,t))))),forEachCell:(e,t,n)=>P(W(W(T,he(e)),he(t)),n),addSortedRowIdsListener:(e,t,n,s,o,r,a)=>{let i=Ue(e,t,n,s,o);return ee((()=>{const a=Ue(e,t,n,s,o);var d,c;c=i,g(d=a)===g(c)&&l(d,((e,t)=>c[t]===e))||(i=a,r(tt,e,t,n,s,o,i))}),A[a?1:0],[e,t])},addWillFinishTransactionListener:e=>ee(e,$[0]),addDidFinishTransactionListener:e=>ee(e,$[1]),callListener:e=>(ce(e,[Ge,Ke,Ve],(e=>m(e[2])?[]:Ee(Xe(...e)))),tt),delListener:e=>(ne(e),tt),getListenerStats:()=>({}),createStore:xe};return ae({Tables:[0,y],TableIds:[0,b],Table:[1,C],RowIds:[1,D],Row:[2,J],CellIds:[2,U],Cell:[3,Y],InvalidCell:[3,Z]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>ee(n[e],t[n[e+1]?1:0],e>0?R(n,0,e):void 0)})),se(tt)};export{ce as createCheckpoints,Re as createCustomPersister,Te as createFilePersister,fe as createIndexes,Se as createLocalPersister,Le as createMetrics,Ce as createQueries,me as createRelationships,be as createRemotePersister,pe as createSessionPersister,xe as createStore,ue as defaultSorter,he as id};
Binary file