tinybase 2.1.1 → 2.2.0-beta.1

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 (114) hide show
  1. package/bin/cli.js +2 -0
  2. package/lib/checkpoints.d.ts +0 -2
  3. package/lib/checkpoints.js +1 -1
  4. package/lib/checkpoints.js.gz +0 -0
  5. package/lib/debug/checkpoints.d.ts +0 -2
  6. package/lib/debug/checkpoints.js +4 -2
  7. package/lib/debug/indexes.d.ts +0 -2
  8. package/lib/debug/indexes.js +2 -1
  9. package/lib/debug/metrics.d.ts +0 -2
  10. package/lib/debug/metrics.js +2 -1
  11. package/lib/debug/queries.d.ts +0 -2
  12. package/lib/debug/queries.js +4 -3
  13. package/lib/debug/relationships.d.ts +0 -2
  14. package/lib/debug/relationships.js +2 -1
  15. package/lib/debug/store.d.ts +1 -1
  16. package/lib/debug/store.js +15 -17
  17. package/lib/debug/tinybase.js +18 -19
  18. package/lib/debug/tools.d.ts +440 -0
  19. package/lib/debug/tools.js +1012 -0
  20. package/lib/es6/checkpoints.d.ts +0 -2
  21. package/lib/es6/checkpoints.js +1 -1
  22. package/lib/es6/checkpoints.js.gz +0 -0
  23. package/lib/es6/indexes.d.ts +0 -2
  24. package/lib/es6/indexes.js +1 -1
  25. package/lib/es6/indexes.js.gz +0 -0
  26. package/lib/es6/metrics.d.ts +0 -2
  27. package/lib/es6/metrics.js +1 -1
  28. package/lib/es6/metrics.js.gz +0 -0
  29. package/lib/es6/queries.d.ts +0 -2
  30. package/lib/es6/queries.js +1 -1
  31. package/lib/es6/queries.js.gz +0 -0
  32. package/lib/es6/relationships.d.ts +0 -2
  33. package/lib/es6/relationships.js +1 -1
  34. package/lib/es6/relationships.js.gz +0 -0
  35. package/lib/es6/store.d.ts +1 -1
  36. package/lib/es6/store.js +1 -1
  37. package/lib/es6/store.js.gz +0 -0
  38. package/lib/es6/tinybase.js +1 -1
  39. package/lib/es6/tinybase.js.gz +0 -0
  40. package/lib/es6/tools.d.ts +440 -0
  41. package/lib/es6/tools.js +1 -0
  42. package/lib/es6/tools.js.gz +0 -0
  43. package/lib/es6/ui-react.js +1 -1
  44. package/lib/es6/ui-react.js.gz +0 -0
  45. package/lib/indexes.d.ts +0 -2
  46. package/lib/indexes.js +1 -1
  47. package/lib/indexes.js.gz +0 -0
  48. package/lib/metrics.d.ts +0 -2
  49. package/lib/metrics.js +1 -1
  50. package/lib/metrics.js.gz +0 -0
  51. package/lib/queries.d.ts +0 -2
  52. package/lib/queries.js +1 -1
  53. package/lib/queries.js.gz +0 -0
  54. package/lib/relationships.d.ts +0 -2
  55. package/lib/relationships.js +1 -1
  56. package/lib/relationships.js.gz +0 -0
  57. package/lib/store.d.ts +1 -1
  58. package/lib/store.js +1 -1
  59. package/lib/store.js.gz +0 -0
  60. package/lib/tinybase.js +1 -1
  61. package/lib/tinybase.js.gz +0 -0
  62. package/lib/tools.d.ts +440 -0
  63. package/lib/tools.js +1 -0
  64. package/lib/tools.js.gz +0 -0
  65. package/lib/umd/checkpoints.d.ts +0 -2
  66. package/lib/umd/checkpoints.js +1 -1
  67. package/lib/umd/checkpoints.js.gz +0 -0
  68. package/lib/umd/indexes.d.ts +0 -2
  69. package/lib/umd/indexes.js +1 -1
  70. package/lib/umd/indexes.js.gz +0 -0
  71. package/lib/umd/metrics.d.ts +0 -2
  72. package/lib/umd/metrics.js +1 -1
  73. package/lib/umd/metrics.js.gz +0 -0
  74. package/lib/umd/queries.d.ts +0 -2
  75. package/lib/umd/queries.js +1 -1
  76. package/lib/umd/queries.js.gz +0 -0
  77. package/lib/umd/relationships.d.ts +0 -2
  78. package/lib/umd/relationships.js +1 -1
  79. package/lib/umd/relationships.js.gz +0 -0
  80. package/lib/umd/store.d.ts +1 -1
  81. package/lib/umd/store.js +1 -1
  82. package/lib/umd/store.js.gz +0 -0
  83. package/lib/umd/tinybase.js +1 -1
  84. package/lib/umd/tinybase.js.gz +0 -0
  85. package/lib/umd/tools.d.ts +440 -0
  86. package/lib/umd/tools.js +1 -0
  87. package/lib/umd/tools.js.gz +0 -0
  88. package/lib/umd-es6/checkpoints.d.ts +0 -2
  89. package/lib/umd-es6/checkpoints.js +1 -1
  90. package/lib/umd-es6/checkpoints.js.gz +0 -0
  91. package/lib/umd-es6/indexes.d.ts +0 -2
  92. package/lib/umd-es6/indexes.js +1 -1
  93. package/lib/umd-es6/indexes.js.gz +0 -0
  94. package/lib/umd-es6/metrics.d.ts +0 -2
  95. package/lib/umd-es6/metrics.js +1 -1
  96. package/lib/umd-es6/metrics.js.gz +0 -0
  97. package/lib/umd-es6/queries.d.ts +0 -2
  98. package/lib/umd-es6/queries.js +1 -1
  99. package/lib/umd-es6/queries.js.gz +0 -0
  100. package/lib/umd-es6/relationships.d.ts +0 -2
  101. package/lib/umd-es6/relationships.js +1 -1
  102. package/lib/umd-es6/relationships.js.gz +0 -0
  103. package/lib/umd-es6/store.d.ts +1 -1
  104. package/lib/umd-es6/store.js +1 -1
  105. package/lib/umd-es6/store.js.gz +0 -0
  106. package/lib/umd-es6/tinybase.js +1 -1
  107. package/lib/umd-es6/tinybase.js.gz +0 -0
  108. package/lib/umd-es6/tools.d.ts +440 -0
  109. package/lib/umd-es6/tools.js +1 -0
  110. package/lib/umd-es6/tools.js.gz +0 -0
  111. package/lib/umd-es6/ui-react.js +1 -1
  112. package/lib/umd-es6/ui-react.js.gz +0 -0
  113. package/package.json +27 -17
  114. package/readme.md +31 -12
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l="Result",a=(e,t)=>e.every(t),d=(e,t)=>e.forEach(t),c=e=>h(e,((e,t)=>e+t),0),u=e=>e.length,f=e=>0==u(e),h=(e,t,n)=>e.reduce(t,n),g=(e,...t)=>e.push(...t),w=Math.max,v=Math.min,R=isFinite,y=e=>null==e,L=(e,t,n)=>y(e)?n?.():t(e),p=e=>t(e)==o,T=e=>Array.isArray(e),b=()=>{},C=e=>e.size,m=(e,t)=>e?.has(t)??!1,I=e=>y(e)||0==C(e),Q=e=>[...e?.values()??[]],S=e=>e.clear(),x=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),M=e=>new Map(e),j=(e,t)=>e?.get(t),D=(e,t)=>x(e,((e,n)=>t(n,e))),F=(e,t,n)=>y(n)?(E(e,t),e):e?.set(t,n),k=(e,t,n)=>(m(e,t)||F(e,t,n()),j(e,t)),z=(e,t,n,s,r=0)=>L((n?k:j)(e,t[r],r>u(t)-2?n:M),(o=>{if(r>u(t)-2)return s?.(o)&&F(e,t[r]),o;const i=z(o,t,n,s,r+1);return I(o)&&F(e,t[r]),i})),A=e=>new Set(T(e)||y(e)?e:[e]),W=(e,t)=>e?.add(t),B=M([["avg",[(e,t)=>c(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=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["min",[e=>v(...e),(e,t)=>v(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:v(t,e)]],["sum",[e=>c(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),O=e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&R(e)?o:void 0},q=(e,t,n)=>{const s=e.hasRow,r=M(),o=M(),i=M(),l=M(),c=M(),h=(t,n,...s)=>{const r=k(c,t,A);return d(s,(t=>W(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>L(j(c,t),(s=>{d(f(n)?Q(s):n,(t=>{e.delListener(t),E(s,t)})),I(s)&&F(c,t)})),w=(e,n)=>{F(r,e,n),m(o,e)||(F(o,e,t()),F(i,e,M()),F(l,e,M()))},v=e=>{F(r,e),F(o,e),F(i,e),F(l,e),g(e)};return[()=>e,()=>[...r?.keys()??[]],e=>D(o,e),e=>m(o,e),e=>j(r,e),e=>j(o,e),(e,t)=>F(o,e,t),w,(t,r,o,c,f)=>{w(t,r);const v=M(),R=M(),L=j(i,t),p=j(l,t),b=t=>{const o=n=>e.getCell(r,t,n),i=j(L,t),l=s(r,t)?n(c(o,t)):void 0;var d,h;if(i===l||T(i)&&T(l)&&(h=l,u(d=i)===u(h)&&a(d,((e,t)=>h[t]===e)))||F(v,t,[i,l]),!y(f)){const e=j(p,t),n=s(r,t)?f(o,t):void 0;e!=n&&F(R,t,n)}},C=e=>{o((()=>{x(v,(([,e],t)=>F(L,t,e))),x(R,((e,t)=>F(p,t,e)))}),v,R,L,p,e),S(v),S(R)};D(L,b),e.hasTable(r)&&d(e.getRowIds(r),(e=>{m(L,e)||b(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>C())))},v,()=>D(c,v),h,g]},G=Object,H=G.freeze,J=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=e.createStore,[n,s,r,o,c,,,h,,w,v,R,T]=q(e,(()=>!0),b),J=t(),K=t(),N=M(),P=(e,t,...n)=>d(n,(n=>W(k(k(N,t,M),e,A),n))),U=e=>{L(j(N,e),(e=>{D(e,((e,t)=>x(t,(t=>e.delListener(t))))),S(e)})),d([K,J],(t=>t.delTable(e)))},V=(e,t,n)=>P(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),X={setQueryDefinition:(t,n,s)=>{h(t,n),U(t);const r=[],o=[[null,[n,null,null,[],M()]]],i=[],l=[],c=[];s({select:(e,t)=>{const n=p(e)?[u(r)+"",e]:[y(t)?e:t,n=>n(e,t)];return g(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=y(n)||p(t)?null:t,r=y(s)?t:n,i=[e,[e,s,p(r)?r:e=>e(r),[],M()]];return g(o,i),{as:e=>i[0]=e}},where:(e,t,n)=>g(i,p(e)?e:y(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,p(t)?[t,n,s,r]:j(B,t)??[(e,t)=>t]]];return g(l,o),{as:e=>o[0]=e}},having:(e,t)=>g(c,p(e)?e:n=>n(e)===t)});const w=M(r);if(I(w))return X;const v=M(o);D(v,((e,[,t])=>L(j(v,t),(({3:t})=>y(e)?0:g(t,e)))));const b=M(l);let S=J;if(I(b)&&f(c))S=K;else{V(t,S,K);const e=M();D(b,((t,[n,s])=>W(k(e,n,A),[t,s])));const n=A();D(w,(t=>m(e,t)?0:W(n,t)));const s=M(),r=(n,s,r,o)=>L(n,(([i,l,d,u])=>{D(s,((t,[n])=>{const s=k(i,t,M),l=j(s,r),a=o?void 0:n;if(l!==a){const n=A([[l,a]]),o=C(s);F(s,r,a),x(j(e,t),(([e,t])=>{const r=((e,t,n,s,r,o=!1)=>{if(I(n))return;const[i,l,a,d]=r;return o||=y(e),x(s,(([n,s])=>{o||(e=y(n)?l?.(e,s,t++):y(s)?a?.(e,n,t--):d?.(e,s,n,t),o||=y(e))})),o?i(Q(n),C(n)):e})(u[e],o,s,n,t);u[e]=y(O(r))?null:r}))}})),I(l)||!a(c,(e=>e((e=>u[e]))))?K.delRow(t,d):y(d)?n[2]=K.addRow(t,u):K.setRow(t,d,u)}));P(S,t,S.addRowListener(t,null,((o,i,l,a)=>{const d=[],c=[],u=M(),f=S.hasRow(t,l);let h=!f;x(n,(e=>{const[n,s,r]=a(t,l,e);g(d,s),g(c,r),h||=n})),D(e,(e=>{const[n,,s]=a(t,l,e);(h||n)&&F(u,e,[s])})),h&&r(z(s,d,void 0,(([,e])=>(E(e,l),I(e)))),u,l,1),f&&r(z(s,c,(()=>{const e={};return x(n,(n=>e[n]=S.getCell(t,l,n))),[M(),A(),void 0,e]}),(([,e])=>{W(e,l)})),u,l)})))}V(t,e,S);const q=s=>{const r=(t,r)=>e.getCell(...y(r)?[n,s,t]:t===n?[n,s,r]:[j(v,t)?.[0],j(j(v,t)?.[4],s)?.[0],r]);S.transaction((()=>a(i,(e=>e(r)))?D(w,((e,n)=>((e,t,n,s,r)=>y(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(S,t,s,e,n(r,s)))):S.delRow(t,s)))},G=(n,s,r,o)=>{const i=t=>e.getCell(s,r,t);d(o,(s=>{const[r,,o,l,a]=j(v,s),d=o?.(i,n),[c,u]=j(a,n)??[];d!=c&&(y(u)||T(t,u),F(a,n,y(d)?null:[d,...R(t,1,e.addRowListener(r,d,(()=>G(n,r,d,l))))]))})),q(n)},{3:H}=j(v,null);return S.transaction((()=>R(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?G(o,n,o,H):(S.delRow(t,o),x(v,(({4:e})=>L(j(e,o),(([,n])=>{T(t,n),F(e,o)})))))}))))),X},delQueryDefinition:e=>(U(e),w(e),X),getStore:n,getQueryIds:s,forEachQuery:r,hasQuery:o,getTableId:c,delListener:e=>(K.delListener(e),X),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=K.getListenerStats();return s}};var Y,Z;return Y={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},Z=([e,t],n)=>{d(e?["get","has","forEach"]:["get"],(e=>X[e+l+n]=(...t)=>K[e+n](...t))),X["addResult"+n+i]=(...e)=>{return K["add"+n+i](...(s=e,r=0,o=t,s.slice(r,o)),((n,...s)=>e[t](X,...s)));var s,r,o}},d(G.entries(Y),(([e,t])=>Z(t,e))),H(X)}));e.createQueries=J},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l=(e,t)=>e.every(t),a=(e,t)=>e.forEach(t),d=e=>f(e,((e,t)=>e+t),0),c=e=>e.length,u=e=>0==c(e),f=(e,t,n)=>e.reduce(t,n),h=(e,...t)=>e.push(...t),g=Math.max,w=Math.min,v=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),L=e=>t(e)==o,p=e=>Array.isArray(e),T=()=>{},b=e=>e.size,m=(e,t)=>e?.has(t)??!1,C=e=>R(e)||0==b(e),I=e=>[...e?.values()??[]],Q=e=>e.clear(),S=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),E=e=>new Map(e),M=(e,t)=>e?.get(t),j=(e,t)=>S(e,((e,n)=>t(n,e))),D=(e,t,n)=>R(n)?(x(e,t),e):e?.set(t,n),F=(e,t,n)=>(m(e,t)||D(e,t,n()),M(e,t)),k=(e,t,n,s,r=0)=>y((n?F:M)(e,t[r],r>c(t)-2?n:E),(o=>{if(r>c(t)-2)return s?.(o)&&D(e,t[r]),o;const i=k(o,t,n,s,r+1);return C(o)&&D(e,t[r]),i})),z=e=>new Set(p(e)||R(e)?e:[e]),A=(e,t)=>e?.add(t),W=E([["avg",[(e,t)=>d(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=>g(...e),(e,t)=>g(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:g(t,e)]],["min",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["sum",[e=>d(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),B=Object,O=B.freeze,q=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[d,f,g,w,q,,,G,,H,J,K,N]=((e,t,n)=>{const s=e.hasRow,r=E(),o=E(),i=E(),d=E(),f=E(),h=(t,n,...s)=>{const r=F(f,t,z);return a(s,(t=>A(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(M(f,t),(s=>{a(u(n)?I(s):n,(t=>{e.delListener(t),x(s,t)})),C(s)&&D(f,t)})),w=(e,t)=>{D(r,e,t),m(o,e)||(D(o,e,!0),D(i,e,E()),D(d,e,E()))},v=e=>{D(r,e),D(o,e),D(i,e),D(d,e),g(e)};return[()=>e,()=>[...r?.keys()??[]],e=>j(o,e),e=>m(o,e),e=>M(r,e),e=>M(o,e),(e,t)=>D(o,e,t),w,(t,r,o,u,f)=>{w(t,r);const v=E(),y=E(),L=M(i,t),T=M(d,t),b=t=>{const o=n=>e.getCell(r,t,n),i=M(L,t),a=s(r,t)?n(u(o,t)):void 0;var d,h;if(i===a||p(i)&&p(a)&&(h=a,c(d=i)===c(h)&&l(d,((e,t)=>h[t]===e)))||D(v,t,[i,a]),!R(f)){const e=M(T,t),n=s(r,t)?f(o,t):void 0;e!=n&&D(y,t,n)}},C=e=>{o((()=>{S(v,(([,e],t)=>D(L,t,e))),S(y,((e,t)=>D(T,t,e)))}),v,y,L,T,e),Q(v),Q(y)};j(L,b),e.hasTable(r)&&a(e.getRowIds(r),(e=>{m(L,e)||b(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>C())))},v,()=>j(f,v),h,g]})(e,0,T),P=o(),U=o(),V=E(),X=(e,t,...n)=>a(n,(n=>A(F(F(V,t,E),e,z),n))),Y=e=>{y(M(V,e),(e=>{j(e,((e,t)=>S(t,(t=>e.delListener(t))))),Q(e)})),a([U,P],(t=>t.delTable(e)))},Z=(e,t,n)=>X(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),$={setQueryDefinition:(o,i,d)=>{G(o,i),Y(o);const f=[],g=[[null,[i,null,null,[],E()]]],w=[],p=[],T=[];d({select:(e,t)=>{const n=L(e)?[c(f)+"",e]:[R(t)?e:t,n=>n(e,t)];return h(f,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||L(t)?null:t,r=R(s)?t:n,o=[e,[e,s,L(r)?r:e=>e(r),[],E()]];return h(g,o),{as:e=>o[0]=e}},where:(e,t,n)=>h(w,L(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,L(t)?[t,n,s,r]:M(W,t)??[(e,t)=>t]]];return h(p,o),{as:e=>o[0]=e}},having:(e,t)=>h(T,L(e)?e:n=>n(e)===t)});const Q=E(f);if(C(Q))return $;const B=E(g);j(B,((e,[,t])=>y(M(B,t),(({3:t})=>R(e)?0:h(t,e)))));const O=E(p);let q=P;if(C(O)&&u(T))q=U;else{Z(o,q,U);const e=E();j(O,((t,[n,s])=>A(F(e,n,z),[t,s])));const i=z();j(Q,(t=>m(e,t)?0:A(i,t)));const a=E(),d=(i,a,d,c)=>y(i,(([u,f,h,g])=>{j(a,((o,[i])=>{const l=F(u,o,E),a=M(l,d),f=c?void 0:i;if(a!==f){const i=z([[a,f]]),c=b(l);D(l,d,f),S(M(e,o),(([e,o])=>{const a=((e,t,n,s,r,o=!1)=>{if(C(n))return;const[i,l,a,d]=r;return o||=R(e),S(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?a?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?i(I(n),b(n)):e})(g[e],c,l,i,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&v(e)?o:void 0})(a))?null:a}))}})),C(f)||!l(T,(e=>e((e=>g[e]))))?U.delRow(o,h):R(h)?i[2]=U.addRow(o,g):U.setRow(o,h,g)}));X(q,o,q.addRowListener(o,null,((t,n,s,r)=>{const l=[],c=[],u=E(),f=q.hasRow(o,s);let g=!f;S(i,(e=>{const[t,n,i]=r(o,s,e);h(l,n),h(c,i),g||=t})),j(e,(e=>{const[t,,n]=r(o,s,e);(g||t)&&D(u,e,[n])})),g&&d(k(a,l,void 0,(([,e])=>(x(e,s),C(e)))),u,s,1),f&&d(k(a,c,(()=>{const e={};return S(i,(t=>e[t]=q.getCell(o,s,t))),[E(),z(),void 0,e]}),(([,e])=>{A(e,s)})),u,s)})))}Z(o,e,q);const H=(t,n,s,r)=>{const d=t=>e.getCell(n,s,t);a(r,(n=>{const[s,,r,i,l]=M(B,n),a=r?.(d,t),[c,u]=M(l,t)??[];a!=c&&(R(u)||N(o,u),D(l,t,R(a)?null:[a,...K(o,1,e.addRowListener(s,a,(()=>H(t,s,a,i))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[i,t,n]:n===i?[i,t,s]:[M(B,n)?.[0],M(M(B,n)?.[4],t)?.[0],s]);q.transaction((()=>l(w,(e=>e(n)))?j(Q,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(q,o,t,e,s(n,t)))):q.delRow(o,t)))})(t)},{3:J}=M(B,null);return q.transaction((()=>K(o,1,e.addRowListener(i,null,((t,n,s)=>{e.hasRow(i,s)?H(s,i,s,J):(q.delRow(o,s),S(B,(({4:e})=>y(M(e,s),(([,t])=>{N(o,t),D(e,s)})))))}))))),$},delQueryDefinition:e=>(Y(e),H(e),$),getStore:d,getQueryIds:f,forEachQuery:g,hasQuery:w,getTableId:q,delListener:e=>(U.delListener(e),$),destroy:J,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=U.getListenerStats();return s}};var _,ee;return _={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},ee=([e,t],n)=>{a(e?["get","has","forEach"]:["get"],(e=>$[e+"Result"+n]=(...t)=>U[e+n](...t))),$["addResult"+n+i]=(...e)=>{return U["add"+n+i](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t]($,...s)));var s,r}},((e,t)=>{e.map(t)})(B.entries(_),(([e,t])=>ee(t,e))),O($)})(e)),o.get(e))})();e.createQueries=q},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
Binary file
@@ -1170,8 +1170,6 @@ export interface Relationships {
1170
1170
  * The createRelationships function creates a Relationships object, and is the
1171
1171
  * main entry point into the relationships module.
1172
1172
  *
1173
- * It is trivially simple.
1174
- *
1175
1173
  * A given Store can only have one Relationships object associated with it. If
1176
1174
  * you call this function twice on the same Store, your second call will return
1177
1175
  * a reference to the Relationships object created by the first.
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),i=e=>e.length,r=(e,...t)=>e.push(...t),a=e=>null==e,d=(e,t,n)=>a(e)?n?.():t(e),l=e=>Array.isArray(e),c=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],h=e=>e.clear(),R=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),L=(e,t)=>e?.get(t),w=(e,t)=>R(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(p(e,t),e):e?.set(t,n),I=(e,t,n)=>(c(e,t)||y(e,t,n()),L(e,t)),b=(e,t,n,s,o=0)=>d((n?I:L)(e,t[o],o>i(t)-2?n:g),(r=>{if(o>i(t)-2)return s?.(r)&&y(e,t[o]),r;const a=b(r,t,n,s,o+1);return f(r)&&y(e,t[o]),a})),v=e=>new Set(l(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),m=(e,t,n)=>{const s=e.hasRow,r=g(),b=g(),m=g(),k=g(),E=g(),x=(t,n,...s)=>{const i=I(E,t,v);return o(s,(t=>T(i,t)&&n&&e.callListener(t))),s},S=(t,...n)=>d(L(E,t),(s=>{o(0==i(n)?u(s):n,(t=>{e.delListener(t),p(s,t)})),f(s)&&y(E,t)})),j=(e,n)=>{y(r,e,n),c(b,e)||(y(b,e,t()),y(m,e,g()),y(k,e,g()))},z=e=>{y(r,e),y(b,e),y(m,e),y(k,e),S(e)};return[()=>e,()=>[...r?.keys()??[]],e=>w(b,e),e=>c(b,e),e=>L(r,e),e=>L(b,e),(e,t)=>y(b,e,t),j,(t,r,d,f,u)=>{j(t,r);const p=g(),I=g(),b=L(m,t),v=L(k,t),T=t=>{const o=n=>e.getCell(r,t,n),d=L(b,t),c=s(r,t)?n(f(o,t)):void 0;var h,R,g;if(d===c||l(d)&&l(c)&&(R=c,i(h=d)===i(R)&&(g=(e,t)=>R[t]===e,h.every(g)))||y(p,t,[d,c]),!a(u)){const e=L(v,t),n=s(r,t)?u(o,t):void 0;e!=n&&y(I,t,n)}},E=e=>{d((()=>{R(p,(([,e],t)=>y(b,t,e))),R(I,((e,t)=>y(v,t,e)))}),p,I,b,v,e),h(p),h(I)};w(b,T),e.hasTable(r)&&o(e.getRowIds(r),(e=>{c(b,e)||T(e)})),E(!0),S(t),x(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>E())))},z,()=>w(E,z),x,S]},k=(e,o)=>t(e)==s?t=>t(e):e??(()=>o??n),E=/^\d+$/,x=e=>{let t;const[s,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{E.test(t)&&i(e)<1e3&&r(e,t)}]})(),c=g();return[(o,i,r)=>{t??=e();const a=s();return y(c,a,[o,i,r]),T(b(i,r??[n],v),a),a},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==i(t)?r(s,e):null===t[n]?R(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(L(e,t),n+1)));return a(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...s??[],...a))))),e=>d(L(c,e),(([,t,s])=>(b(t,s??[n],void 0,(t=>(p(t,e),f(t)?1:0))),y(c,e),l(e),s))),(e,n,s)=>d(L(c,e),(([e,,r=[]])=>{const d=(...l)=>{const c=i(l);c==i(r)?e(t,...l,...s(l)):a(r[c])?o(n[c](...l),(e=>d(...l,e))):d(...l,r[c])};d()}))]},S=Object.freeze,j=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=g(),s=g(),o=g(),i=g(),[r,l,h,I,b,E,,,j,z,A]=m(e,(()=>[g(),g(),g(),g()]),(e=>a(e)?void 0:e+n)),[D,M,B]=x((()=>$)),C=(e,t,n)=>d(E(e),(([s,,o])=>{if(!c(o,t)){const i=v();if(b(e)!=W(e))T(i,t);else{let e=t;for(;!a(e)&&!c(i,e);)T(i,e),e=L(s,e)}if(n)return i;y(o,t,i)}return L(o,t)})),O=(e,t)=>d(E(e),(([,,e])=>y(e,t))),W=e=>L(t,e),$={setRelationshipDefinition:(e,n,r,l)=>(y(t,e,r),j(e,n,((t,n)=>{const r=v(),l=v(),u=v(),[h,g]=E(e);R(n,(([t,n],s)=>{a(t)||(T(l,t),d(L(g,t),(e=>{p(e,s),f(e)&&y(g,t)}))),a(n)||(T(l,n),c(g,n)||y(g,n,v()),T(L(g,n),s)),T(r,s),y(h,s,n),w(L(i,e),(t=>{c(C(e,t),s)&&T(u,t)}))})),t(),R(r,(t=>M(s,[e,t]))),R(l,(t=>M(o,[e,t]))),R(u,(t=>{O(e,t),M(i,[e,t])}))}),k(l)),$),delRelationshipDefinition:e=>(y(t,e),z(e),$),getStore:r,getRelationshipIds:l,forEachRelationship:t=>h((n=>t(n,(t=>e.forEachRow(b(n),t))))),hasRelationship:I,getLocalTableId:b,getRemoteTableId:W,getRemoteRowId:(e,t)=>L(E(e)?.[0],t),getLocalRowIds:(e,t)=>u(L(E(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(E(e))?[t]:u(C(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>D(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>D(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(C(e,t),D(n,i,[e,t])),delListener:e=>(O(...B(e)),$),destroy:A,getListenerStats:()=>({})};return S($)}));e.createRelationships=j},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,d=(e,t,n)=>a(e)?n?.():t(e),l=e=>Array.isArray(e),c=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],h=e=>e.clear(),R=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),L=(e,t)=>e?.get(t),w=(e,t)=>R(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(p(e,t),e):e?.set(t,n),I=(e,t,n)=>(c(e,t)||y(e,t,n()),L(e,t)),v=(e,t,n,s,o=0)=>d((n?I:L)(e,t[o],o>r(t)-2?n:g),(i=>{if(o>r(t)-2)return s?.(i)&&y(e,t[o]),i;const a=v(i,t,n,s,o+1);return f(i)&&y(e,t[o]),a})),b=e=>new Set(l(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),m=/^\d+$/,k=Object.freeze,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=g(),x=g(),S=g(),j=g(),[z,A,D,M,B,C,,,O,W,$]=((e,t,s)=>{const i=e.hasRow,v=g(),m=g(),k=g(),E=g(),x=g(),S=(t,n,...s)=>{const r=I(x,t,b);return o(s,(t=>T(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>d(L(x,t),(s=>{o(0==r(n)?u(s):n,(t=>{e.delListener(t),p(s,t)})),f(s)&&y(x,t)})),z=(e,t)=>{y(v,e,t),c(m,e)||(y(m,e,[g(),g(),g(),g()]),y(k,e,g()),y(E,e,g()))},A=e=>{y(v,e),y(m,e),y(k,e),y(E,e),j(e)};return[()=>e,()=>[...v?.keys()??[]],e=>w(m,e),e=>c(m,e),e=>L(v,e),e=>L(m,e),(e,t)=>y(m,e,t),z,(t,s,d,f,u)=>{z(t,s);const p=g(),I=g(),v=L(k,t),b=L(E,t),T=t=>{const o=n=>e.getCell(s,t,n),d=L(v,t),c=i(s,t)?(h=f(o,t),a(h)?void 0:h+n):void 0;var h,R,g,w;if(d===c||l(d)&&l(c)&&(g=c,r(R=d)===r(g)&&(w=(e,t)=>g[t]===e,R.every(w)))||y(p,t,[d,c]),!a(u)){const e=L(b,t),n=i(s,t)?u(o,t):void 0;e!=n&&y(I,t,n)}},m=e=>{d((()=>{R(p,(([,e],t)=>y(v,t,e))),R(I,((e,t)=>y(b,t,e)))}),p,I,v,b,e),h(p),h(I)};w(v,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{c(v,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},A,()=>w(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[s,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{m.test(t)&&r(e)<1e3&&i(e,t)}]})(),c=g();return[(e,o,r)=>{t??=N;const i=s();return y(c,i,[e,o,r]),T(v(o,r??[n],b),i),i},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==r(t)?i(s,e):null===t[n]?R(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(L(e,t),n+1)));return a(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...s??[],...a))))),e=>d(L(c,e),(([,t,s])=>(v(t,s??[n],void 0,(t=>(p(t,e),f(t)?1:0))),y(c,e),l(e),s))),(e,n,s)=>d(L(c,e),(([e,,i=[]])=>{const d=(...l)=>{const c=r(l);c==r(i)?e(t,...l,...s(l)):a(i[c])?o(n[c](...l),(e=>d(...l,e))):d(...l,i[c])};d()}))]})(),H=(e,t,n)=>d(C(e),(([s,,o])=>{if(!c(o,t)){const r=b();if(B(e)!=K(e))T(r,t);else{let e=t;for(;!a(e)&&!c(r,e);)T(r,e),e=L(s,e)}if(n)return r;y(o,t,r)}return L(o,t)})),J=(e,t)=>d(C(e),(([,,e])=>y(e,t))),K=e=>L(E,e),N={setRelationshipDefinition:(e,o,r,i)=>{return y(E,e,r),O(e,o,((t,n)=>{const s=b(),o=b(),r=b(),[i,l]=C(e);R(n,(([t,n],u)=>{a(t)||(T(o,t),d(L(l,t),(e=>{p(e,u),f(e)&&y(l,t)}))),a(n)||(T(o,n),c(l,n)||y(l,n,b()),T(L(l,n),u)),T(s,u),y(i,u,n),w(L(j,e),(t=>{c(H(e,t),u)&&T(r,t)}))})),t(),R(s,(t=>F(x,[e,t]))),R(o,(t=>F(S,[e,t]))),R(r,(t=>{J(e,t),F(j,[e,t])}))}),t(l=i)==s?e=>e(l):l??(()=>n)),N;var l},delRelationshipDefinition:e=>(y(E,e),W(e),N),getStore:z,getRelationshipIds:A,forEachRelationship:t=>D((n=>t(n,(t=>e.forEachRow(B(n),t))))),hasRelationship:M,getLocalTableId:B,getRemoteTableId:K,getRemoteRowId:(e,t)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>u(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(C(e))?[t]:u(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),q(n,j,[e,t])),delListener:e=>(J(...G(e)),N),destroy:$,getListenerStats:()=>({})};return k(N)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
Binary file
@@ -1652,7 +1652,7 @@ export interface Store {
1652
1652
  * ```
1653
1653
  * @category Setter
1654
1654
  */
1655
- setSchema(tablesSchema: Schema): Store;
1655
+ setSchema(schema: Schema): Store;
1656
1656
 
1657
1657
  /**
1658
1658
  * The delTables method lets you remove all of the data in a Store.
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(n=[...t],s=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(s,r)):t;var n,s,r})),g=JSON.parse,p=isFinite,y=(e,t)=>e instanceof t,v=e=>null==e,w=(e,t,n)=>v(e)?n?.():t(e),R=e=>e==s||e==r,S=(e,t)=>e?.has(t)??!1,C=e=>v(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),E=e=>new Map(e),J=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),x=(e,t)=>L(e,((e,n)=>t(n,e))),z=(e,t,n)=>v(n)?(m(e,t),e):e?.set(t,n),O=(e,t,n)=>(S(e,t)||z(e,t,n()),F(e,t)),j=(e,t,n)=>{const s={},r=t??(e=>e);return L(e,((e,t)=>w(r(e),(e=>n?.(e)?0:s[t]=e)))),s},k=(e,t)=>{const n=E(),s=t??(e=>e);return L(e,((e,t)=>n.set(t,s(e)))),n},A=e=>k(e,k),M=(e,t,n,s,r=0)=>w((n?O:F)(e,t[r],r>f(t)-2?n:E),(o=>{if(r>f(t)-2)return s?.(o)&&z(e,t[r]),o;const l=M(o,t,n,s,r+1);return C(o)&&z(e,t[r]),l})),N=Object,B=N.keys,D=N.isFrozen,P=N.freeze,W=(e,t)=>!v(((e,t)=>w(e,(e=>e[t])))(e,t)),$=(e,t)=>delete e[t],q=(e,t)=>d(N.entries(e),(([e,n])=>t(n,e))),G=e=>{return t=B(e),0==f(t);var t},H=e=>new Set(Array.isArray(e)||v(e)?e:[e]),K=(e,t)=>e?.add(t),Q=/^\d+$/,U=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{Q.test(t)&&f(e)<1e3&&T(e,t)}]},V=e=>{let t;const[s,r]=U(),o=E();return[(r,l,a)=>{t??=e();const i=s();return z(o,i,[r,l,a]),K(M(l,a??[n],H),i),i},(e,s,...r)=>d(((e,t=[n])=>{const s=[],r=(e,n)=>n==f(t)?T(s,e):null===t[n]?L(e,(e=>r(e,n+1))):d([t[n],null],(t=>r(F(e,t),n+1)));return r(e,0),s})(e,s),(e=>L(e,(e=>F(o,e)[0](t,...s??[],...r))))),e=>w(F(o,e),(([,t,s])=>(M(t,s??[n],void 0,(t=>(m(t,e),C(t)?1:0))),z(o,e),r(e),s))),(e,n,s)=>w(F(o,e),(([e,,r=[]])=>{const o=(...l)=>{const a=f(l);a==f(r)?e(t,...l,...s(l)):v(r[a])?d(n[a](...l),(e=>o(...l,e))):o(...l,r[a])};o()}))]},X=e=>[e,e],Y=()=>[E(),E()],Z=e=>{const n=t(e);return R(n)||n==o&&p(e)?n:void 0},_=(e,t,n,s=z)=>{const r=(o=J(e),l=e=>!W(t,e),o.filter(l));var o,l;return d(B(t),(s=>n(e,s,t[s]))),d(r,(t=>s(e,t))),e},ee=(e,t,n)=>v(e)||!(e=>y(e,N)&&e.constructor==N)(e)||G(e)||D(e)?(n?.(),!1):(q(e,((n,s)=>{t(n,s)||$(e,s)})),!G(e)),te=(e,t,n)=>z(e,t,F(e,t)==-n?void 0:n),ne=()=>{let e,n,s=0;const r=E(),p=E(),y=E(),M=E(),N=E(),B=E(),D=E(),Q=E(),se=E(),re=Y(),oe=Y(),le=Y(),ae=Y(),ie=Y(),ce=Y(),de=Y(),ue=Y(),fe=Y(),he=Y(),[Te,be,ge,pe]=V((()=>et)),ye=(t,n)=>(!e||S(B,n)||Ne(n))&&ee(t,((e,t)=>ve(n,t,e)),(()=>Ne(n))),ve=(e,t,n,s)=>ee(s?n:Re(n,e,t),((s,r)=>w(we(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),we=(t,n,s,r)=>e?w(F(F(B,t),s),(e=>Z(r)!=e.type?Ne(t,n,s,r,e.default):r),(()=>Ne(t,n,s,r))):v(Z(r))?Ne(t,n,s,r):r,Re=(e,t,n)=>(w(F(D,t),(([s,r])=>{L(s,((t,n)=>{W(e,n)||(e[n]=t)})),L(r,(s=>{W(e,s)||Ne(t,n,s)}))})),e),Se=e=>_(B,e,((e,t,n)=>{const s=E(),r=H();_(O(B,t,E),n,((e,t,n)=>{z(e,t,n),w(n.default,(e=>z(s,t,e)),(()=>K(r,t)))})),z(D,t,[s,r])}),((e,t)=>{z(B,t),z(D,t)})),Ce=e=>_(se,e,((e,t,n)=>Ie(t,n)),((e,t)=>xe(t))),Ie=(e,t)=>_(O(se,e,(()=>(je(e,1),E()))),t,((t,n,s)=>Le(e,t,n,s)),((t,n)=>ze(e,t,n))),Le=(e,t,n,s,r)=>_(O(t,n,(()=>(ke(e,n,1),E()))),s,((t,s,r)=>me(e,n,t,s,r)),((s,o)=>Oe(e,t,n,s,o,r))),me=(e,t,n,s,r)=>{S(n,s)||Ae(e,t,s,1);const o=F(n,s);r!==o&&(Me(e,t,s,o,r),z(n,s,r))},Ee=(e,t,n,s,r)=>w(F(t,n),(t=>me(e,n,t,s,r)),(()=>Le(e,t,n,Re({[s]:r},e,n)))),Je=e=>{const[t]=O(Q,e,U),n=t();return S(F(se,e),n)?Je(e):n},Fe=e=>F(se,e)??Ie(e,{}),xe=e=>Ie(e,{}),ze=(e,t,n)=>{const[,s]=O(Q,e,U);s(n),Le(e,t,n,{},!0)},Oe=(e,t,n,s,r,o)=>{const l=F(F(D,e)?.[0],r);if(!v(l)&&!o)return me(e,n,s,r,l);const a=t=>{Me(e,n,t,F(s,t)),Ae(e,n,t,-1),z(s,t)};v(l)?a(r):x(s,a),C(s)&&(ke(e,n,-1),C(z(t,n))&&(je(e,-1),z(se,e),z(Q,e)))},je=(e,t)=>te(r,e,t),ke=(e,t,n)=>te(O(p,e,E),t,n),Ae=(e,t,n,s)=>te(O(O(y,e,E),t,E),n,s),Me=(e,t,n,s,r)=>O(O(O(M,e,E),t,E),n,(()=>[s,0]))[1]=r,Ne=(e,t,n,s,r)=>(T(O(O(O(N,e,E),t,E),n,(()=>[])),s),r),Be=(e,t,n)=>w(F(F(F(M,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...X(Ue(e,t,n))])),De=e=>C(N)||C(fe[e])?0:L(e?k(N,A):N,((t,n)=>L(t,((t,s)=>L(t,((t,r)=>be(fe[e],[n,s,r],t))))))),Pe=(e,t,n)=>{if(!C(t))return be(e,n),1},We=e=>{const t=C(ie[e]),n=C(de[e])&&C(ae[e])&&t&&C(oe[e]),s=C(ue[e])&&C(ce[e])&&C(le[e])&&C(re[e]);if(!n||!s){const o=e?[k(r),A(p),k(y,A),k(M,A)]:[r,p,y,M];if(!n){L(o[2],((t,n)=>L(t,((t,s)=>Pe(de[e],t,[n,s])))));const n=H();L(o[1],((s,r)=>{Pe(ae[e],s,[r])&&!t&&(be(ie[e],[r,null]),K(n,r))})),t||L(o[3],((t,s)=>{if(!S(n,s)){const n=H();L(t,(e=>L(e,(([t,s],r)=>s!==t?K(n,r):m(e,r))))),L(n,(t=>be(ie[e],[s,t])))}})),Pe(oe[e],o[0])}if(!s){let t;L(o[3],((n,s)=>{let r;L(n,((n,o)=>{let l;L(n,(([n,a],i)=>{a!==n&&(be(ue[e],[s,o,i],a,n,Be),t=r=l=1)})),l&&be(ce[e],[s,o],Be)})),r&&be(le[e],[s],Be)})),t&&be(re[e],void 0,Be)}}},$e=(e,...t)=>(Ye((()=>e(...u(t,c)))),et),qe=()=>j(se,(e=>j(e,j))),Ge=()=>J(se),He=e=>J(F(se,c(e))),Ke=(e,t,n,s=0,r)=>{const o=[];return x(F(se,c(e)),((e,n)=>T(o,[v(t)?e:F(n,c(t)),e]))),u(h(o.sort((([e],[t])=>(e<t?-1:1)*(n?-1:1))),s,v(r)?r:s+r),(([,e])=>e))},Qe=(e,t)=>J(F(F(se,c(e)),c(t))),Ue=(e,t,n)=>F(F(F(se,c(e)),c(t)),c(n)),Ve=e=>$e((()=>(e=>ee(e,ye,Ne))(e)?Ce(e):0)),Xe=()=>$e((()=>Ce({}))),Ye=(e,t)=>{if(-1==s)return;Ze();const n=e();return _e(t),n},Ze=()=>(s++,et),_e=e=>(s>0&&(s--,0==s&&(n=!C(M),s=1,De(1),n&&We(1),s=-1,e?.(j(M,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),G)),G),j(N,(e=>j(e,j))))&&(s=1,L(M,((e,t)=>L(e,((e,n)=>L(e,(([e],s)=>((e,t,n,s,r)=>v(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(et,t,n,s,e))))))),s=-1,n=!1),be(he[0],void 0,n),De(0),n&&We(0),be(he[1],void 0,n),s=0,d([M,N,r,p,y],I))),et),et={getTables:qe,getTableIds:Ge,getTable:e=>j(F(se,c(e)),j),getRowIds:He,getSortedRowIds:Ke,getRow:(e,t)=>j(F(F(se,c(e)),c(t))),getCellIds:Qe,getCell:Ue,hasTables:()=>!C(se),hasTable:e=>S(se,c(e)),hasRow:(e,t)=>S(F(se,c(e)),c(t)),hasCell:(e,t,n)=>S(F(F(se,c(e)),c(t)),c(n)),getJson:()=>b(se),getSchemaJson:()=>b(B),setTables:Ve,setTable:(e,t)=>$e((e=>ye(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>$e(((e,t)=>ve(c(e),c(t),n)?Le(c(e),Fe(c(e)),c(t),n):0),e,t),addRow:(e,t)=>Ye((()=>{let n;return ve(e,n,t)&&(e=c(e),Le(e,Fe(e),n=Je(e),t)),n})),setPartialRow:(e,t,n)=>$e(((e,t)=>{if(ve(e,t,n,1)){const s=Fe(e);q(n,((n,r)=>Ee(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>$e(((e,n,s)=>w(we(e,n,s,t(r)==l?r(Ue(e,n,s)):r),(t=>Ee(e,Fe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Xe():Ve(g(e))}catch{}return et},setSchema:t=>$e((()=>{if((e=(e=>ee(e,(e=>ee(e,(e=>{if(!ee(e,((e,t)=>[a,i].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=o||(Z(e.default)!=t&&$(e,i),0))})))))(t))&&(Se(t),!C(se))){const e=qe();Xe(),Ve(e)}})),delTables:Xe,delTable:e=>$e((e=>S(se,e)?xe(e):0),e),delRow:(e,t)=>$e(((e,t)=>w(F(se,e),(n=>S(n,t)?ze(e,n,t):0))),e,t),delCell:(e,t,n,s)=>$e(((e,t,n)=>w(F(se,e),(r=>w(F(r,t),(o=>S(o,n)?Oe(e,r,t,o,n,s):0))))),e,t,n),delSchema:()=>$e((()=>{Se({}),e=!1})),transaction:Ye,startTransaction:Ze,finishTransaction:_e,forEachTable:e=>L(se,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>x(t,e))))))))),forEachRow:(e,t)=>L(F(se,c(e)),((e,n)=>t(n,(t=>x(e,t))))),forEachCell:(e,t,n)=>x(F(F(se,c(e)),c(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=Ke(e,t,n,s,r);return Te((()=>{const l=Ke(e,t,n,s,r);var i,c,d;c=a,f(i=l)===f(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(a=l,o(et,e,t,n,s,r,a))}),ie[l?1:0],[e,t])},addWillFinishTransactionListener:e=>Te(e,he[0]),addDidFinishTransactionListener:e=>Te(e,he[1]),callListener:e=>(pe(e,[Ge,He,Qe],(e=>v(e[2])?[]:X(Ue(...e)))),et),delListener:e=>(ge(e),et),getListenerStats:()=>({}),createStore:ne};return q({Tables:[0,re],TableIds:[0,oe],Table:[1,le],RowIds:[1,ae],Row:[2,ce],CellIds:[2,de],Cell:[3,ue],InvalidCell:[3,fe]},(([e,t],n)=>{et["add"+n+"Listener"]=(...n)=>Te(n[e],t[n[e+1]?1:0],e>0?h(n,0,e):void 0)})),P(et)};e.createStore=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),s={},[...t].reduce(n,s)):t;var n,s})),g=JSON.parse,p=isFinite,y=(e,t)=>e instanceof t,v=e=>null==e,w=(e,t,n)=>v(e)?n?.():t(e),R=e=>e==s||e==r,S=(e,t)=>e?.has(t)??!1,C=e=>v(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),E=e=>new Map(e),J=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),x=(e,t)=>L(e,((e,n)=>t(n,e))),z=(e,t,n)=>v(n)?(m(e,t),e):e?.set(t,n),O=(e,t,n)=>(S(e,t)||z(e,t,n()),F(e,t)),j=(e,t,n)=>{const s={},r=t??(e=>e);return L(e,((e,t)=>w(r(e),(e=>n?.(e)?0:s[t]=e)))),s},k=(e,t)=>{const n=E(),s=t??(e=>e);return L(e,((e,t)=>n.set(t,s(e)))),n},A=e=>k(e,k),M=(e,t,n,s,r=0)=>w((n?O:F)(e,t[r],r>f(t)-2?n:E),(o=>{if(r>f(t)-2)return s?.(o)&&z(e,t[r]),o;const l=M(o,t,n,s,r+1);return C(o)&&z(e,t[r]),l})),N=Object,B=N.keys,D=N.isFrozen,P=N.freeze,W=(e,t)=>!v(((e,t)=>w(e,(e=>e[t])))(e,t)),$=(e,t)=>delete e[t],q=(e,t)=>u(N.entries(e),(([e,n])=>t(n,e))),G=e=>{return t=B(e),0==f(t);var t},H=e=>new Set(Array.isArray(e)||v(e)?e:[e]),K=(e,t)=>e?.add(t),Q=/^\d+$/,U=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{Q.test(t)&&f(e)<1e3&&T(e,t)}]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==o&&p(e)?n:void 0},Z=(e,t,n,s=z)=>{const r=(o=e=>!W(t,e),J(e).filter(o));var o;return d(B(t),(s=>n(e,s,t[s]))),d(r,(t=>s(e,t))),e},_=(e,t,n)=>v(e)||!(e=>y(e,N)&&e.constructor==N)(e)||G(e)||D(e)?(n?.(),!1):(q(e,((n,s)=>{t(n,s)||$(e,s)})),!G(e)),ee=(e,t,n)=>z(e,t,F(e,t)==-n?void 0:n),te=()=>{let e,s,r=0;const p=E(),y=E(),N=E(),B=E(),D=E(),Q=E(),ne=E(),se=E(),re=E(),oe=X(),le=X(),ae=X(),ie=X(),ce=X(),de=X(),ue=X(),fe=X(),he=X(),Te=X(),[be,ge,pe,ye]=(e=>{let t;const[s,r]=U(),o=E();return[(e,r,l)=>{t??=tt;const a=s();return z(o,a,[e,r,l]),K(M(r,l??[n],H),a),a},(e,s,...r)=>d(((e,t=[n])=>{const s=[],r=(e,n)=>n==f(t)?T(s,e):null===t[n]?L(e,(e=>r(e,n+1))):d([t[n],null],(t=>r(F(e,t),n+1)));return r(e,0),s})(e,s),(e=>L(e,(e=>F(o,e)[0](t,...s??[],...r))))),e=>w(F(o,e),(([,t,s])=>(M(t,s??[n],void 0,(t=>(m(t,e),C(t)?1:0))),z(o,e),r(e),s))),(e,n,s)=>w(F(o,e),(([e,,r=[]])=>{const o=(...l)=>{const a=f(l);a==f(r)?e(t,...l,...s(l)):v(r[a])?d(n[a](...l),(e=>o(...l,e))):o(...l,r[a])};o()}))]})(),ve=(t,n)=>(!e||S(Q,n)||Be(n))&&_(t,((e,t)=>we(n,t,e)),(()=>Be(n))),we=(e,t,n,s)=>_(s?n:Se(n,e,t),((s,r)=>w(Re(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Be(e,t))),Re=(t,n,s,r)=>e?w(F(F(Q,t),s),(e=>Y(r)!=e.type?Be(t,n,s,r,e.default):r),(()=>Be(t,n,s,r))):v(Y(r))?Be(t,n,s,r):r,Se=(e,t,n)=>(w(F(ne,t),(([s,r])=>{L(s,((t,n)=>{W(e,n)||(e[n]=t)})),L(r,(s=>{W(e,s)||Be(t,n,s)}))})),e),Ce=e=>Z(Q,e,((e,t,n)=>{const s=E(),r=H();Z(O(Q,t,E),n,((e,t,n)=>{z(e,t,n),w(n.default,(e=>z(s,t,e)),(()=>K(r,t)))})),z(ne,t,[s,r])}),((e,t)=>{z(Q,t),z(ne,t)})),Ie=e=>Z(re,e,((e,t,n)=>Le(t,n)),((e,t)=>ze(t))),Le=(e,t)=>Z(O(re,e,(()=>(ke(e,1),E()))),t,((t,n,s)=>me(e,t,n,s)),((t,n)=>Oe(e,t,n))),me=(e,t,n,s,r)=>Z(O(t,n,(()=>(Ae(e,n,1),E()))),s,((t,s,r)=>Ee(e,n,t,s,r)),((s,o)=>je(e,t,n,s,o,r))),Ee=(e,t,n,s,r)=>{S(n,s)||Me(e,t,s,1);const o=F(n,s);r!==o&&(Ne(e,t,s,o,r),z(n,s,r))},Je=(e,t,n,s,r)=>w(F(t,n),(t=>Ee(e,n,t,s,r)),(()=>me(e,t,n,Se({[s]:r},e,n)))),Fe=e=>{const[t]=O(se,e,U),n=t();return S(F(re,e),n)?Fe(e):n},xe=e=>F(re,e)??Le(e,{}),ze=e=>Le(e,{}),Oe=(e,t,n)=>{const[,s]=O(se,e,U);s(n),me(e,t,n,{},!0)},je=(e,t,n,s,r,o)=>{const l=F(F(ne,e)?.[0],r);if(!v(l)&&!o)return Ee(e,n,s,r,l);const a=t=>{Ne(e,n,t,F(s,t)),Me(e,n,t,-1),z(s,t)};v(l)?a(r):x(s,a),C(s)&&(Ae(e,n,-1),C(z(t,n))&&(ke(e,-1),z(re,e),z(se,e)))},ke=(e,t)=>ee(p,e,t),Ae=(e,t,n)=>ee(O(y,e,E),t,n),Me=(e,t,n,s)=>ee(O(O(N,e,E),t,E),n,s),Ne=(e,t,n,s,r)=>O(O(O(B,e,E),t,E),n,(()=>[s,0]))[1]=r,Be=(e,t,n,s,r)=>(T(O(O(O(D,e,E),t,E),n,(()=>[])),s),r),De=(e,t,n)=>w(F(F(F(B,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...V(Ve(e,t,n))])),Pe=e=>C(D)||C(he[e])?0:L(e?k(D,A):D,((t,n)=>L(t,((t,s)=>L(t,((t,r)=>ge(he[e],[n,s,r],t))))))),We=(e,t,n)=>{if(!C(t))return ge(e,n),1},$e=e=>{const t=C(ce[e]),n=C(ue[e])&&C(ie[e])&&t&&C(le[e]),s=C(fe[e])&&C(de[e])&&C(ae[e])&&C(oe[e]);if(!n||!s){const r=e?[k(p),A(y),k(N,A),k(B,A)]:[p,y,N,B];if(!n){L(r[2],((t,n)=>L(t,((t,s)=>We(ue[e],t,[n,s])))));const n=H();L(r[1],((s,r)=>{We(ie[e],s,[r])&&!t&&(ge(ce[e],[r,null]),K(n,r))})),t||L(r[3],((t,s)=>{if(!S(n,s)){const n=H();L(t,(e=>L(e,(([t,s],r)=>s!==t?K(n,r):m(e,r))))),L(n,(t=>ge(ce[e],[s,t])))}})),We(le[e],r[0])}if(!s){let t;L(r[3],((n,s)=>{let r;L(n,((n,o)=>{let l;L(n,(([n,a],i)=>{a!==n&&(ge(fe[e],[s,o,i],a,n,De),t=r=l=1)})),l&&ge(de[e],[s,o],De)})),r&&ge(ae[e],[s],De)})),t&&ge(oe[e],void 0,De)}}},qe=(e,...t)=>(Ze((()=>e(...u(t,c)))),tt),Ge=()=>j(re,(e=>j(e,j))),He=()=>J(re),Ke=e=>J(F(re,c(e))),Qe=(e,t,n,s=0,r)=>{return u(h((l=F(re,c(e)),a=(e,n)=>[v(t)?n:F(e,c(t)),n],o=([e],[t])=>(e<t?-1:1)*(n?-1:1),u([...l?.entries()??[]],(([e,t])=>a(t,e))).sort(o)),s,v(r)?r:s+r),(([,e])=>e));var o,l,a},Ue=(e,t)=>J(F(F(re,c(e)),c(t))),Ve=(e,t,n)=>F(F(F(re,c(e)),c(t)),c(n)),Xe=e=>qe((()=>(e=>_(e,ve,Be))(e)?Ie(e):0)),Ye=()=>qe((()=>Ie({}))),Ze=(e,t)=>{if(-1==r)return;_e();const n=e();return et(t),n},_e=()=>(r++,tt),et=e=>(r>0&&(r--,0==r&&(s=!C(B),r=1,Pe(1),s&&$e(1),r=-1,e?.(j(B,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),G)),G),j(D,(e=>j(e,j))))&&(r=1,L(B,((e,t)=>L(e,((e,n)=>L(e,(([e],s)=>((e,t,n,s,r)=>v(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(tt,t,n,s,e))))))),r=-1,s=!1),ge(Te[0],void 0,s),Pe(0),s&&$e(0),ge(Te[1],void 0,s),r=0,d([B,D,p,y,N],I))),tt),tt={getTables:Ge,getTableIds:He,getTable:e=>j(F(re,c(e)),j),getRowIds:Ke,getSortedRowIds:Qe,getRow:(e,t)=>j(F(F(re,c(e)),c(t))),getCellIds:Ue,getCell:Ve,hasTables:()=>!C(re),hasTable:e=>S(re,c(e)),hasRow:(e,t)=>S(F(re,c(e)),c(t)),hasCell:(e,t,n)=>S(F(F(re,c(e)),c(t)),c(n)),getJson:()=>b(re),getSchemaJson:()=>b(Q),setTables:Xe,setTable:(e,t)=>qe((e=>ve(t,e)?Le(e,t):0),e),setRow:(e,t,n)=>qe(((e,t)=>we(c(e),c(t),n)?me(c(e),xe(c(e)),c(t),n):0),e,t),addRow:(e,t)=>Ze((()=>{let n;return we(e,n,t)&&(e=c(e),me(e,xe(e),n=Fe(e),t)),n})),setPartialRow:(e,t,n)=>qe(((e,t)=>{if(we(e,t,n,1)){const s=xe(e);q(n,((n,r)=>Je(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>qe(((e,n,s)=>w(Re(e,n,s,t(r)==l?r(Ve(e,n,s)):r),(t=>Je(e,xe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Ye():Xe(g(e))}catch{}return tt},setSchema:t=>qe((()=>{if((e=(e=>_(e,(e=>_(e,(e=>{if(!_(e,((e,t)=>[a,i].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=o||(Y(e.default)!=t&&$(e,i),0))})))))(t))&&(Ce(t),!C(re))){const e=Ge();Ye(),Xe(e)}})),delTables:Ye,delTable:e=>qe((e=>S(re,e)?ze(e):0),e),delRow:(e,t)=>qe(((e,t)=>w(F(re,e),(n=>S(n,t)?Oe(e,n,t):0))),e,t),delCell:(e,t,n,s)=>qe(((e,t,n)=>w(F(re,e),(r=>w(F(r,t),(o=>S(o,n)?je(e,r,t,o,n,s):0))))),e,t,n),delSchema:()=>qe((()=>{Ce({}),e=!1})),transaction:Ze,startTransaction:_e,finishTransaction:et,forEachTable:e=>L(re,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>x(t,e))))))))),forEachRow:(e,t)=>L(F(re,c(e)),((e,n)=>t(n,(t=>x(e,t))))),forEachCell:(e,t,n)=>x(F(F(re,c(e)),c(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=Qe(e,t,n,s,r);return be((()=>{const l=Qe(e,t,n,s,r);var i,c,d;c=a,f(i=l)===f(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(a=l,o(tt,e,t,n,s,r,a))}),ce[l?1:0],[e,t])},addWillFinishTransactionListener:e=>be(e,Te[0]),addDidFinishTransactionListener:e=>be(e,Te[1]),callListener:e=>(ye(e,[He,Ke,Ue],(e=>v(e[2])?[]:V(Ve(...e)))),tt),delListener:e=>(pe(e),tt),getListenerStats:()=>({}),createStore:te};return q({Tables:[0,oe],TableIds:[0,le],Table:[1,ae],RowIds:[1,ie],Row:[2,de],CellIds:[2,ue],Cell:[3,fe],InvalidCell:[3,he]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>be(n[e],t[n[e+1]?1:0],e>0?h(n,0,e):void 0)})),P(tt)};e.createStore=te},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",f="Result",h="add",g="Table",w="RowIds",L="CellIds",p="Cell",R=e=>n+e,v=(e,t)=>e.includes(t),y=(e,t)=>e.every(t),I=(e,t)=>E(e)===E(t)&&y(e,((e,s)=>t[s]===e)),S=(e,t)=>y(e,((s,n)=>0==n||t(e[n-1],s)<=0)),T=(e,t)=>e.sort(t),b=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),m=e=>M(e,((e,t)=>e+t),0),E=e=>e.length,k=e=>0==E(e),M=(e,t,s)=>e.reduce(t,s),x=(e,t,s)=>e.slice(t,s),A=(e,...t)=>e.push(...t),D=e=>e.pop(),F=e=>e.shift(),J=e=>JSON.stringify(e,((e,t)=>N(t,Map)?M([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,Q=Math.max,j=Math.min,z=isFinite,N=(e,t)=>e instanceof t,O=e=>null==e,W=(e,t,s)=>O(e)?s?.():t(e),B=e=>e==o||e==r,q=e=>s(e)==i,H=e=>Array.isArray(e),$=()=>{},G=e=>e.size,K=(e,t)=>e?.has(t)??!1,U=e=>O(e)||0==G(e),V=e=>[...e?.values()??[]],X=e=>e.clear(),Y=(e,t)=>e?.forEach(t),Z=(e,t)=>e?.delete(t),_=e=>new Map(e),ee=e=>[...e?.keys()??[]],te=(e,t)=>e?.get(t),se=(e,t)=>Y(e,((e,s)=>t(s,e))),ne=(e,t,s)=>O(s)?(Z(e,t),e):e?.set(t,s),oe=(e,t,s)=>(K(e,t)||ne(e,t,s()),te(e,t)),re=(e,t,s)=>{const n={},o=t??(e=>e);return Y(e,((e,t)=>W(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=_(),n=t??(e=>e);return Y(e,((e,t)=>s.set(t,n(e)))),s},ie=e=>ae(e,ae),le=(e,t,s,n,o=0)=>W((s?oe:te)(e,t[o],o>E(t)-2?s:_),(r=>{if(o>E(t)-2)return n?.(r)&&ne(e,t[o]),r;const a=le(r,t,s,n,o+1);return U(r)&&ne(e,t[o]),a})),ce=e=>new Set(H(e)||O(e)?e:[e]),de=(e,t)=>e?.add(t),ue=(e,t,s)=>{const n=e.hasRow,o=_(),r=_(),a=_(),i=_(),l=_(),c=(t,s,...n)=>{const o=oe(l,t,ce);return b(n,(t=>de(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>W(te(l,t),(n=>{b(k(s)?V(n):s,(t=>{e.delListener(t),Z(n,t)})),U(n)&&ne(l,t)})),u=(e,s)=>{ne(o,e,s),K(r,e)||(ne(r,e,t()),ne(a,e,_()),ne(i,e,_()))},f=e=>{ne(o,e),ne(r,e),ne(a,e),ne(i,e),d(e)};return[()=>e,()=>ee(o),e=>se(r,e),e=>K(r,e),e=>te(o,e),e=>te(r,e),(e,t)=>ne(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=_(),g=_(),w=te(a,t),L=te(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=te(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||H(a)&&H(i)&&I(a,i)||ne(h,t,[a,i]),!O(f)){const e=te(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&ne(g,t,s)}},R=e=>{r((()=>{Y(h,(([,e],t)=>ne(w,t,e))),Y(g,((e,t)=>ne(L,t,e)))}),h,g,w,L,e),X(h),X(g)};se(w,p),e.hasTable(o)&&b(e.getRowIds(o),(e=>{K(w,e)||p(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>R())))},f,()=>se(l,f),c,d]},fe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),he=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},ge=/^\d+$/,we=()=>{const e=[];let t=0;return[()=>F(e)??n+t++,t=>{ge.test(t)&&E(e)<1e3&&A(e,t)}]},Le=e=>{let t;const[s,o]=we(),r=_();return[(o,a,i)=>{t??=e();const l=s();return ne(r,l,[o,a,i]),de(le(a,i??[n],ce),l),l},(e,s,...o)=>b(((e,t=[n])=>{const s=[],o=(e,n)=>n==E(t)?A(s,e):null===t[n]?Y(e,(e=>o(e,n+1))):b([t[n],null],(t=>o(te(e,t),n+1)));return o(e,0),s})(e,s),(e=>Y(e,(e=>te(r,e)[0](t,...s??[],...o))))),e=>W(te(r,e),(([,t,s])=>(le(t,s??[n],void 0,(t=>(Z(t,e),U(t)?1:0))),ne(r,e),o(e),s))),(e,s,n)=>W(te(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=E(a);i==E(o)?e(t,...a,...n(a)):O(o[i])?b(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},pe=Object,Re=pe.keys,ve=pe.isFrozen,ye=pe.freeze,Ie=(e,t)=>!O(((e,t)=>W(e,(e=>e[t])))(e,t)),Se=(e,t)=>delete e[t],Te=(e,t)=>b(pe.entries(e),(([e,s])=>t(s,e))),be=e=>k(Re(e)),Ce=e=>{const t=s(e);return B(t)||t==a&&z(e)?t:void 0},me=(e,t,s,n,o)=>O(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=he((e=>{let t,s,o,r=100,a=_(),i=1;const l=_(),c=_(),[d,u,f]=Le((()=>Q)),h=_(),g=_(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>Y(te(h,s),((s,n)=>Y(s,((s,o)=>Y(s,((s,r)=>me(e,n,o,r,s[t]))))))))),i=1},R=e=>{ne(h,e),ne(g,e),u(c,[e])},y=(e,t)=>b(((e,t)=>e.splice(0,t))(e,t??E(e)),R),I=()=>y(w,E(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){W(t,(()=>{A(w,t),I(),y(L),t=void 0,o=1}));const e=oe(a,s,_),i=oe(e,n,_),d=oe(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&U(ne(i,r))&&U(ne(e,n))&&U(ne(a,s))&&(t=D(w),o=1),M()}})),T=(e="")=>(O(t)&&(t=n+s++,ne(h,t,a),J(t,e),a=_(),o=1),t),C=()=>{k(w)||(L.unshift(T()),p(0,t),t=D(w),o=1)},m=()=>{k(L)||(A(w,t),t=F(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},x=e=>{const t=T(e);return M(),t},J=(e,t)=>(P(e)&&te(g,e)!==t&&(ne(g,e,t),u(c,[e])),Q),P=e=>K(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:x,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>se(g,e),hasCheckpoint:P,getCheckpoint:e=>te(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(m(),M(),Q),goTo:e=>{const s=v(w,e)?C:v(L,e)?m:null;for(;!O(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(y(w),y(L),O(t)||R(t),t=void 0,s=0,x(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ye(Q.clear())})),ke=(e,t)=>e<t?-1:1,Me=he((e=>{const t=_(),s=_(),[o,r,a,i,l,c,d,,u,f,h]=ue(e,_,(e=>O(e)?n:H(e)?C(e,R):R(e))),[g,w,L]=Le((()=>v)),p=(t,s,n)=>{const o=l(t);Y(n,((t,n)=>s(n,(s=>Y(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=ke)=>{const l=O(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=ce(),p=ce(),R=c(e);if(Y(o,(([e,t],s)=>{const n=ce(e),o=ce(t);Y(n,(e=>Z(o,e)?Z(n,e):0)),Y(n,(e=>{de(L,e),W(te(R,e),(t=>{Z(t,s),U(t)&&(ne(R,e),g=1)}))})),Y(o,(e=>{de(L,e),K(R,e)||(ne(R,e,ce()),g=1),de(te(R,e),s),O(r)||de(p,e)}))})),n(),U(f)||(h?se(R,(e=>de(p,e))):se(a,(e=>W(te(u,e),(e=>de(p,e))))),Y(p,(e=>{const t=(t,s)=>i(te(f,t),te(f,s),e),s=[...te(R,e)];S(s,t)||(ne(R,e,ce(T(s,t))),de(L,e))}))),(g||h)&&!O(l)){const t=[...R];S(t,l)||(d(e,_(T(t,l))),g=1)}g&&w(t,[e]),Y(L,(t=>w(s,[e,t])))}),fe(o),W(r,fe)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>K(c(e),t),getTableId:l,getSliceIds:e=>ee(c(e)),getSliceRowIds:(e,t)=>V(te(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ye(v)})),xe=_([["avg",[(e,t)=>m(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=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["min",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ae=(e,t,s,n,o,r=!1)=>{if(U(s))return;const[a,i,l,c]=o;return r||=O(e),Y(n,(([s,n])=>{r||(e=O(s)?i?.(e,n,t++):O(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=O(e))})),r?a(V(s),G(s)):e},De=he((e=>{const t=_(),[s,o,r,a,i,l,c,,d,u,f]=ue(e,$,(e=>isNaN(e)||O(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=Le((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=q(n)?[n,r,a,i]:te(xe,n)??te(xe,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=G(r);i||=O(d),s();let h=Ae(d,f,r,n,u,i);z(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),fe(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ye(L)})),Fe=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();O(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(W(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ye(l)},Je="storage",Pe=globalThis.window,Qe=(e,t,s)=>{let n;return Fe(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Pe.addEventListener(Je,n)}),(()=>{Pe.removeEventListener(Je,n),n=void 0}))},je=e=>e.headers.get("ETag"),ze=he((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,R,v]=ue(e,(()=>!0),$),I=t(),S=t(),T=_(),C=(e,t,...s)=>b(s,(s=>de(oe(oe(T,t,_),e,ce),s))),m=e=>{W(te(T,e),(e=>{se(e,((e,t)=>Y(t,(t=>e.delListener(t))))),X(e)})),b([S,I],(t=>t.delTable(e)))},M=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),D={setQueryDefinition:(t,s,o)=>{l(t,s),m(t);const r=[],a=[[null,[s,null,null,[],_()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=q(e)?[E(r)+n,e]:[O(t)?e:t,s=>s(e,t)];return A(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=O(s)||q(t)?null:t,o=O(n)?t:s,r=[e,[e,n,q(o)?o:e=>e(o),[],_()]];return A(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>A(i,q(e)?e:O(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,q(t)?[t,s,n,o]:te(xe,t)??[(e,t)=>t]]];return A(c,r),{as:e=>r[0]=e}},having:(e,t)=>A(d,q(e)?e:s=>s(e)===t)});const u=_(r);if(U(u))return D;const f=_(a);se(f,((e,[,t])=>W(te(f,t),(({3:t})=>O(e)?0:A(t,e)))));const h=_(c);let g=I;if(U(h)&&k(d))g=S;else{M(t,g,S);const e=_();se(h,((t,[s,n])=>de(oe(e,s,ce),[t,n])));const s=ce();se(u,(t=>K(e,t)?0:de(s,t)));const n=_(),o=(s,n,o,r)=>W(s,(([a,i,l,c])=>{se(n,((t,[s])=>{const n=oe(a,t,_),i=te(n,o),l=r?void 0:s;if(i!==l){const s=ce([[i,l]]),r=G(n);ne(n,o,l),Y(te(e,t),(([e,t])=>{const o=Ae(c[e],r,n,s,t);c[e]=O(Ce(o))?null:o}))}})),U(i)||!y(d,(e=>e((e=>c[e]))))?S.delRow(t,l):O(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=_(),f=g.hasRow(t,i);let h=!f;Y(s,(e=>{const[s,n,o]=l(t,i,e);A(c,n),A(d,o),h||=s})),se(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&ne(u,e,[n])})),h&&o(le(n,c,void 0,(([,e])=>(Z(e,i),U(e)))),u,i,1),f&&o(le(n,d,(()=>{const e={};return Y(s,(s=>e[s]=g.getCell(t,i,s))),[_(),ce(),void 0,e]}),(([,e])=>{de(e,i)})),u,i)})))}M(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);b(a,(s=>{const[o,,r,a,i]=te(f,s),c=r?.(l,n),[d,u]=te(i,n)??[];c!=d&&(O(u)||v(t,u),ne(i,n,O(c)?null:[c,...R(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...O(o)?[s,n,t]:t===s?[s,n,o]:[te(f,t)?.[0],te(te(f,t)?.[4],n)?.[0],o]);g.transaction((()=>y(i,(e=>e(o)))?se(u,((e,s)=>me(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=te(f,null);return g.transaction((()=>R(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),Y(f,(({4:e})=>W(te(e,r),(([,s])=>{v(t,s),ne(e,r)})))))}))))),D},delQueryDefinition:e=>(m(e),c(e),D),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),D),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return Te({[g]:[1,1],[w]:[0,1],SortedRowIds:[0,5],Row:[1,2],[L]:[0,2],[p]:[1,3]},(([e,t],s)=>{b(e?["get","has","forEach"]:["get"],(e=>D[e+f+s]=(...t)=>S[e+s](...t))),D[h+f+s+u]=(...e)=>S[h+s+u](...x(e,0,t),((s,...n)=>e[t](D,...n)))})),ye(D)})),Ne=he((e=>{const t=_(),s=_(),o=_(),r=_(),[a,i,l,c,d,u,,,f,h,g]=ue(e,(()=>[_(),_(),_(),_()]),(e=>O(e)?void 0:e+n)),[w,L,p]=Le((()=>I)),R=(e,t,s)=>W(u(e),(([n,,o])=>{if(!K(o,t)){const r=ce();if(d(e)!=y(e))de(r,t);else{let e=t;for(;!O(e)&&!K(r,e);)de(r,e),e=te(n,e)}if(s)return r;ne(o,t,r)}return te(o,t)})),v=(e,t)=>W(u(e),(([,,e])=>ne(e,t))),y=e=>te(t,e),I={setRelationshipDefinition:(e,n,a,i)=>(ne(t,e,a),f(e,n,((t,n)=>{const a=ce(),i=ce(),l=ce(),[c,d]=u(e);Y(n,(([t,s],n)=>{O(t)||(de(i,t),W(te(d,t),(e=>{Z(e,n),U(e)&&ne(d,t)}))),O(s)||(de(i,s),K(d,s)||ne(d,s,ce()),de(te(d,s),n)),de(a,n),ne(c,n,s),se(te(r,e),(t=>{K(R(e,t),n)&&de(l,t)}))})),t(),Y(a,(t=>L(s,[e,t]))),Y(i,(t=>L(o,[e,t]))),Y(l,(t=>{v(e,t),L(r,[e,t])}))}),fe(i)),I),delRelationshipDefinition:e=>(ne(t,e),h(e),I),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>te(u(e)?.[0],t),getLocalRowIds:(e,t)=>V(te(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>O(u(e))?[t]:V(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,r,[e,t])),delListener:e=>(v(...p(e)),I),destroy:g,getListenerStats:()=>({})};return ye(I)})),Oe=e=>[e,e],We=()=>[_(),_()],Be=(e,t,s,n=ne)=>{const o=(r=ee(e),a=e=>!Ie(t,e),r.filter(a));var r,a;return b(Re(t),(n=>s(e,n,t[n]))),b(o,(t=>n(e,t))),e},qe=(e,t,s)=>O(e)||!(e=>N(e,pe)&&e.constructor==pe)(e)||be(e)||ve(e)?(s?.(),!1):(Te(e,((s,n)=>{t(s,n)||Se(e,n)})),!be(e)),He=(e,t,s)=>ne(e,t,te(e,t)==-s?void 0:s),$e=()=>{let e,t,s=0;const n=_(),o=_(),r=_(),i=_(),d=_(),f=_(),y=_(),S=_(),m=_(),E=We(),k=We(),M=We(),D=We(),F=We(),Q=We(),j=We(),z=We(),N=We(),H=We(),[$,G,V,le]=Le((()=>ct)),ue=(t,s)=>(!e||K(f,s)||Ge(s))&&qe(t,((e,t)=>fe(s,t,e)),(()=>Ge(s))),fe=(e,t,s,n)=>qe(n?s:ge(s,e,t),((n,o)=>W(he(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Ge(e,t))),he=(t,s,n,o)=>e?W(te(te(f,t),n),(e=>Ce(o)!=e.type?Ge(t,s,n,o,e.default):o),(()=>Ge(t,s,n,o))):O(Ce(o))?Ge(t,s,n,o):o,ge=(e,t,s)=>(W(te(y,t),(([n,o])=>{Y(n,((t,s)=>{Ie(e,s)||(e[s]=t)})),Y(o,(n=>{Ie(e,n)||Ge(t,s,n)}))})),e),pe=e=>Be(f,e,((e,t,s)=>{const n=_(),o=ce();Be(oe(f,t,_),s,((e,t,s)=>{ne(e,t,s),W(s.default,(e=>ne(n,t,e)),(()=>de(o,t)))})),ne(y,t,[n,o])}),((e,t)=>{ne(f,t),ne(y,t)})),Re=e=>Be(m,e,((e,t,s)=>ve(t,s)),((e,t)=>Fe(t))),ve=(e,t)=>Be(oe(m,e,(()=>(Qe(e,1),_()))),t,((t,s,n)=>Ee(e,t,s,n)),((t,s)=>Je(e,t,s))),Ee=(e,t,s,n,o)=>Be(oe(t,s,(()=>(je(e,s,1),_()))),n,((t,n,o)=>Me(e,s,t,n,o)),((n,r)=>Pe(e,t,s,n,r,o))),Me=(e,t,s,n,o)=>{K(s,n)||ze(e,t,n,1);const r=te(s,n);o!==r&&(Ne(e,t,n,r,o),ne(s,n,o))},xe=(e,t,s,n,o)=>W(te(t,s),(t=>Me(e,s,t,n,o)),(()=>Ee(e,t,s,ge({[n]:o},e,s)))),Ae=e=>{const[t]=oe(S,e,we),s=t();return K(te(m,e),s)?Ae(e):s},De=e=>te(m,e)??ve(e,{}),Fe=e=>ve(e,{}),Je=(e,t,s)=>{const[,n]=oe(S,e,we);n(s),Ee(e,t,s,{},!0)},Pe=(e,t,s,n,o,r)=>{const a=te(te(y,e)?.[0],o);if(!O(a)&&!r)return Me(e,s,n,o,a);const i=t=>{Ne(e,s,t,te(n,t)),ze(e,s,t,-1),ne(n,t)};O(a)?i(o):se(n,i),U(n)&&(je(e,s,-1),U(ne(t,s))&&(Qe(e,-1),ne(m,e),ne(S,e)))},Qe=(e,t)=>He(n,e,t),je=(e,t,s)=>He(oe(o,e,_),t,s),ze=(e,t,s,n)=>He(oe(oe(r,e,_),t,_),s,n),Ne=(e,t,s,n,o)=>oe(oe(oe(i,e,_),t,_),s,(()=>[n,0]))[1]=o,Ge=(e,t,s,n,o)=>(A(oe(oe(oe(d,e,_),t,_),s,(()=>[])),n),o),Ke=(e,t,s)=>W(te(te(te(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(nt(e,t,s))])),Ue=e=>U(d)||U(N[e])?0:Y(e?ae(d,ie):d,((t,s)=>Y(t,((t,n)=>Y(t,((t,o)=>G(N[e],[s,n,o],t))))))),Ve=(e,t,s)=>{if(!U(t))return G(e,s),1},Xe=e=>{const t=U(F[e]),s=U(j[e])&&U(D[e])&&t&&U(k[e]),a=U(z[e])&&U(Q[e])&&U(M[e])&&U(E[e]);if(!s||!a){const l=e?[ae(n),ie(o),ae(r,ie),ae(i,ie)]:[n,o,r,i];if(!s){Y(l[2],((t,s)=>Y(t,((t,n)=>Ve(j[e],t,[s,n])))));const s=ce();Y(l[1],((n,o)=>{Ve(D[e],n,[o])&&!t&&(G(F[e],[o,null]),de(s,o))})),t||Y(l[3],((t,n)=>{if(!K(s,n)){const s=ce();Y(t,(e=>Y(e,(([t,n],o)=>n!==t?de(s,o):Z(e,o))))),Y(s,(t=>G(F[e],[n,t])))}})),Ve(k[e],l[0])}if(!a){let t;Y(l[3],((s,n)=>{let o;Y(s,((s,r)=>{let a;Y(s,(([s,i],l)=>{i!==s&&(G(z[e],[n,r,l],i,s,Ke),t=o=a=1)})),a&&G(Q[e],[n,r],Ke)})),o&&G(M[e],[n],Ke)})),t&&G(E[e],void 0,Ke)}}},Ye=(e,...t)=>(at((()=>e(...C(t,R)))),ct),Ze=()=>re(m,(e=>re(e,re))),_e=()=>ee(m),et=e=>ee(te(m,R(e))),tt=(e,t,s,n=0,o)=>{const r=[];return se(te(m,R(e)),((e,s)=>A(r,[O(t)?e:te(s,R(t)),e]))),C(x(T(r,(([e],[t])=>ke(e,t)*(s?-1:1))),n,O(o)?o:n+o),(([,e])=>e))},st=(e,t)=>ee(te(te(m,R(e)),R(t))),nt=(e,t,s)=>te(te(te(m,R(e)),R(t)),R(s)),ot=e=>Ye((()=>(e=>qe(e,ue,Ge))(e)?Re(e):0)),rt=()=>Ye((()=>Re({}))),at=(e,t)=>{if(-1==s)return;it();const n=e();return lt(t),n},it=()=>(s++,ct),lt=e=>(s>0&&(s--,0==s&&(t=!U(i),s=1,Ue(1),t&&Xe(1),s=-1,e?.(re(i,(e=>re(e,(e=>re(e,(e=>[...e]),(([e,t])=>e===t))),be)),be),re(d,(e=>re(e,re))))&&(s=1,Y(i,((e,t)=>Y(e,((e,s)=>Y(e,(([e],n)=>me(ct,t,s,n,e))))))),s=-1,t=!1),G(H[0],void 0,t),Ue(0),t&&Xe(0),G(H[1],void 0,t),s=0,b([i,d,n,o,r],X))),ct),ct={getTables:Ze,getTableIds:_e,getTable:e=>re(te(m,R(e)),re),getRowIds:et,getSortedRowIds:tt,getRow:(e,t)=>re(te(te(m,R(e)),R(t))),getCellIds:st,getCell:nt,hasTables:()=>!U(m),hasTable:e=>K(m,R(e)),hasRow:(e,t)=>K(te(m,R(e)),R(t)),hasCell:(e,t,s)=>K(te(te(m,R(e)),R(t)),R(s)),getJson:()=>J(m),getSchemaJson:()=>J(f),setTables:ot,setTable:(e,t)=>Ye((e=>ue(t,e)?ve(e,t):0),e),setRow:(e,t,s)=>Ye(((e,t)=>fe(R(e),R(t),s)?Ee(R(e),De(R(e)),R(t),s):0),e,t),addRow:(e,t)=>at((()=>{let s;return fe(e,s,t)&&(e=R(e),Ee(e,De(e),s=Ae(e),t)),s})),setPartialRow:(e,t,s)=>Ye(((e,t)=>{if(fe(e,t,s,1)){const n=De(e);Te(s,((s,o)=>xe(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ye(((e,t,s)=>W(he(e,t,s,q(n)?n(nt(e,t,s)):n),(n=>xe(e,De(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?rt():ot(P(e))}catch{}return ct},setSchema:t=>Ye((()=>{if((e=(e=>qe(e,(e=>qe(e,(e=>{if(!qe(e,((e,t)=>v([l,c],t))))return!1;const t=e.type;return!(!B(t)&&t!=a||(Ce(e.default)!=t&&Se(e,c),0))})))))(t))&&(pe(t),!U(m))){const e=Ze();rt(),ot(e)}})),delTables:rt,delTable:e=>Ye((e=>K(m,e)?Fe(e):0),e),delRow:(e,t)=>Ye(((e,t)=>W(te(m,e),(s=>K(s,t)?Je(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ye(((e,t,s)=>W(te(m,e),(o=>W(te(o,t),(r=>K(r,s)?Pe(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Ye((()=>{pe({}),e=!1})),transaction:at,startTransaction:it,finishTransaction:lt,forEachTable:e=>Y(m,((t,s)=>e(s,(e=>Y(t,((t,s)=>e(s,(e=>se(t,e))))))))),forEachRow:(e,t)=>Y(te(m,R(e)),((e,s)=>t(s,(t=>se(e,t))))),forEachCell:(e,t,s)=>se(te(te(m,R(e)),R(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=tt(e,t,s,n,o);return $((()=>{const a=tt(e,t,s,n,o);I(a,i)||(i=a,r(ct,e,t,s,n,o,i))}),F[a?1:0],[e,t])},addWillFinishTransactionListener:e=>$(e,H[0]),addDidFinishTransactionListener:e=>$(e,H[1]),callListener:e=>(le(e,[_e,et,st],(e=>O(e[2])?[]:Oe(nt(...e)))),ct),delListener:e=>(V(e),ct),getListenerStats:()=>({}),createStore:$e};return Te({Tables:[0,E],TableIds:[0,k],[g]:[1,M],[w]:[1,D],Row:[2,Q],[L]:[2,j],[p]:[3,z],InvalidCell:[3,N]},(([e,t],s)=>{ct[h+s+u]=(...s)=>$(s[e],t[s[e+1]?1:0],e>0?x(s,0,e):void 0)})),ye(ct)};e.createCheckpoints=Ee,e.createCustomPersister=Fe,e.createFilePersister=(e,s)=>{let n;return Fe(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Me,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=De,e.createQueries=ze,e.createRelationships=Ne,e.createRemotePersister=(e,t,s,n)=>{let o,r;return Fe(e,(async()=>{const e=await fetch(t);return r=je(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=je(s);O(r)||O(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{W(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=$e,e.defaultSorter=ke},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="default",c="utf8",d="Listener",u="Result",f="add",h="Table",g="RowIds",w="CellIds",L="Cell",p=e=>n+e,R=(e,t)=>e.includes(t),v=(e,t)=>e.every(t),y=(e,t)=>m(e)===m(t)&&v(e,((e,s)=>t[s]===e)),I=(e,t)=>v(e,((s,n)=>0==n||t(e[n-1],s)<=0)),S=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),C=e=>k(e,((e,t)=>e+t),0),m=e=>e.length,E=e=>0==m(e),k=(e,t,s)=>e.reduce(t,s),M=(e,t,s)=>e.slice(t,s),x=(e,...t)=>e.push(...t),A=e=>e.pop(),D=e=>e.shift(),F=e=>JSON.stringify(e,((e,t)=>z(t,Map)?k([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),J=JSON.parse,P=Math.max,Q=Math.min,j=isFinite,z=(e,t)=>e instanceof t,N=e=>null==e,O=(e,t,s)=>N(e)?s?.():t(e),W=e=>e==o||e==r,B=e=>s(e)==i,q=e=>Array.isArray(e),H=()=>{},$=e=>e.size,G=(e,t)=>e?.has(t)??!1,K=e=>N(e)||0==$(e),U=e=>[...e?.values()??[]],V=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>N(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>(G(e,t)||se(e,t,s()),ee(e,t)),oe=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>O(o(e),(e=>s?.(e)?0:n[t]=e)))),n},re=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},ae=e=>re(e,re),ie=(e,t,s,n,o=0)=>O((s?ne:ee)(e,t[o],o>m(t)-2?s:Z),(r=>{if(o>m(t)-2)return n?.(r)&&se(e,t[o]),r;const a=ie(r,t,s,n,o+1);return K(r)&&se(e,t[o]),a})),le=e=>new Set(q(e)||N(e)?e:[e]),ce=(e,t)=>e?.add(t),de=(e,t,s)=>{const n=e.hasRow,o=Z(),r=Z(),a=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=ne(l,t,le);return T(n,(t=>ce(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>O(ee(l,t),(n=>{T(E(s)?U(n):s,(t=>{e.delListener(t),Y(n,t)})),K(n)&&se(l,t)})),u=(e,s)=>{se(o,e,s),G(r,e)||(se(r,e,t()),se(a,e,Z()),se(i,e,Z()))},f=e=>{se(o,e),se(r,e),se(a,e),se(i,e),d(e)};return[()=>e,()=>_(o),e=>te(r,e),e=>G(r,e),e=>ee(o,e),e=>ee(r,e),(e,t)=>se(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=Z(),g=Z(),w=ee(a,t),L=ee(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=ee(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||q(a)&&q(i)&&y(a,i)||se(h,t,[a,i]),!N(f)){const e=ee(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&se(g,t,s)}},R=e=>{r((()=>{X(h,(([,e],t)=>se(w,t,e))),X(g,((e,t)=>se(L,t,e)))}),h,g,w,L,e),V(h),V(g)};te(w,p),e.hasTable(o)&&T(e.getRowIds(o),(e=>{G(w,e)||p(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>R())))},f,()=>te(l,f),c,d]},ue=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},he=/^\d+$/,ge=()=>{const e=[];let t=0;return[()=>D(e)??n+t++,t=>{he.test(t)&&m(e)<1e3&&x(e,t)}]},we=e=>{let t;const[s,o]=ge(),r=Z();return[(o,a,i)=>{t??=e();const l=s();return se(r,l,[o,a,i]),ce(ie(a,i??[n],le),l),l},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==m(t)?x(s,e):null===t[n]?X(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(ee(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>ee(r,e)[0](t,...s??[],...o))))),e=>O(ee(r,e),(([,t,s])=>(ie(t,s??[n],void 0,(t=>(Y(t,e),K(t)?1:0))),se(r,e),o(e),s))),(e,s,n)=>O(ee(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=m(a);i==m(o)?e(t,...a,...n(a)):N(o[i])?T(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},Le=Object,pe=Le.keys,Re=Le.isFrozen,ve=Le.freeze,ye=(e,t)=>!N(((e,t)=>O(e,(e=>e[t])))(e,t)),Ie=(e,t)=>delete e[t],Se=(e,t)=>b(Le.entries(e),(([e,s])=>t(s,e))),Te=e=>E(pe(e)),be=e=>{const t=s(e);return W(t)||t==a&&j(e)?t:void 0},Ce=(e,t,s,n,o)=>N(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),me=fe((e=>{let t,s,o,r=100,a=Z(),i=1;const l=Z(),c=Z(),[d,u,f]=we((()=>Q)),h=Z(),g=Z(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>X(ee(h,s),((s,n)=>X(s,((s,o)=>X(s,((s,r)=>Ce(e,n,o,r,s[t]))))))))),i=1},v=e=>{se(h,e),se(g,e),u(c,[e])},y=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??m(e)),v),I=()=>y(w,m(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){O(t,(()=>{x(w,t),I(),y(L),t=void 0,o=1}));const e=ne(a,s,Z),i=ne(e,n,Z),d=ne(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&K(se(i,r))&&K(se(e,n))&&K(se(a,s))&&(t=A(w),o=1),M()}})),b=(e="")=>(N(t)&&(t=n+s++,se(h,t,a),J(t,e),a=Z(),o=1),t),C=()=>{E(w)||(((e,...t)=>{e.unshift(...t)})(L,b()),p(0,t),t=A(w),o=1)},k=()=>{E(L)||(x(w,t),t=D(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},F=e=>{const t=b(e);return M(),t},J=(e,t)=>(P(e)&&ee(g,e)!==t&&(se(g,e,t),u(c,[e])),Q),P=e=>G(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:F,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>te(g,e),hasCheckpoint:P,getCheckpoint:e=>ee(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(k(),M(),Q),goTo:e=>{const s=R(w,e)?C:R(L,e)?k:null;for(;!N(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(y(w),y(L),N(t)||v(t),t=void 0,s=0,F(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ve(Q.clear())})),Ee=(e,t)=>e<t?-1:1,ke=fe((e=>{const t=Z(),s=Z(),[o,r,a,i,l,c,d,,u,f,h]=de(e,Z,(e=>N(e)?n:q(e)?b(e,p):p(e))),[g,w,L]=we((()=>v)),R=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=Ee)=>{const l=N(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=le(),p=le(),R=c(e);if(X(o,(([e,t],s)=>{const n=le(e),o=le(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{ce(L,e),O(ee(R,e),(t=>{Y(t,s),K(t)&&(se(R,e),g=1)}))})),X(o,(e=>{ce(L,e),G(R,e)||(se(R,e,le()),g=1),ce(ee(R,e),s),N(r)||ce(p,e)}))})),n(),K(f)||(h?te(R,(e=>ce(p,e))):te(a,(e=>O(ee(u,e),(e=>ce(p,e))))),X(p,(e=>{const t=(t,s)=>i(ee(f,t),ee(f,s),e),s=[...ee(R,e)];I(s,t)||(se(R,e,le(S(s,t))),ce(L,e))}))),(g||h)&&!N(l)){const t=[...R];I(t,l)||(d(e,Z(S(t,l))),g=1)}g&&w(t,[e]),X(L,(t=>w(s,[e,t])))}),ue(o),O(r,ue)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>R(t,e,s))))),forEachSlice:(e,t)=>R(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>G(c(e),t),getTableId:l,getSliceIds:e=>_(c(e)),getSliceRowIds:(e,t)=>U(ee(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ve(v)})),Me=Z([["avg",[(e,t)=>C(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=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["min",[e=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["sum",[e=>C(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),xe=(e,t,s,n,o,r=!1)=>{if(K(s))return;const[a,i,l,c]=o;return r||=N(e),X(n,(([s,n])=>{r||(e=N(s)?i?.(e,n,t++):N(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=N(e))})),r?a(U(s),$(s)):e},Ae=fe((e=>{const t=Z(),[s,o,r,a,i,l,c,,d,u,f]=de(e,H,(e=>isNaN(e)||N(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=we((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=B(n)?[n,r,a,i]:ee(Me,n)??ee(Me,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=$(r);i||=N(d),s();let h=xe(d,f,r,n,u,i);j(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),ue(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ve(L)})),De=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();N(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(O(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(l)},Fe="storage",Je=globalThis.window,Pe=(e,t,s)=>{let n;return De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Je.addEventListener(Fe,n)}),(()=>{Je.removeEventListener(Fe,n),n=void 0}))},Qe=e=>e.headers.get("ETag"),je=fe((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,p,R,y]=de(e,(()=>!0),H),I=t(),S=t(),b=Z(),C=(e,t,...s)=>T(s,(s=>ce(ne(ne(b,t,Z),e,le),s))),k=e=>{O(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),V(e)})),T([S,I],(t=>t.delTable(e)))},A=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),D={setQueryDefinition:(t,s,o)=>{l(t,s),k(t);const r=[],a=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=B(e)?[m(r)+n,e]:[N(t)?e:t,s=>s(e,t)];return x(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=N(s)||B(t)?null:t,o=N(n)?t:s,r=[e,[e,n,B(o)?o:e=>e(o),[],Z()]];return x(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>x(i,B(e)?e:N(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,B(t)?[t,s,n,o]:ee(Me,t)??[(e,t)=>t]]];return x(c,r),{as:e=>r[0]=e}},having:(e,t)=>x(d,B(e)?e:s=>s(e)===t)});const u=Z(r);if(K(u))return D;const f=Z(a);te(f,((e,[,t])=>O(ee(f,t),(({3:t})=>N(e)?0:x(t,e)))));const h=Z(c);let g=I;if(K(h)&&E(d))g=S;else{A(t,g,S);const e=Z();te(h,((t,[s,n])=>ce(ne(e,s,le),[t,n])));const s=le();te(u,(t=>G(e,t)?0:ce(s,t)));const n=Z(),o=(s,n,o,r)=>O(s,(([a,i,l,c])=>{te(n,((t,[s])=>{const n=ne(a,t,Z),i=ee(n,o),l=r?void 0:s;if(i!==l){const s=le([[i,l]]),r=$(n);se(n,o,l),X(ee(e,t),(([e,t])=>{const o=xe(c[e],r,n,s,t);c[e]=N(be(o))?null:o}))}})),K(i)||!v(d,(e=>e((e=>c[e]))))?S.delRow(t,l):N(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=Z(),f=g.hasRow(t,i);let h=!f;X(s,(e=>{const[s,n,o]=l(t,i,e);x(c,n),x(d,o),h||=s})),te(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&se(u,e,[n])})),h&&o(ie(n,c,void 0,(([,e])=>(Y(e,i),K(e)))),u,i,1),f&&o(ie(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),le(),void 0,e]}),(([,e])=>{ce(e,i)})),u,i)})))}A(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);T(a,(s=>{const[o,,r,a,i]=ee(f,s),c=r?.(l,n),[d,u]=ee(i,n)??[];c!=d&&(N(u)||y(t,u),se(i,n,N(c)?null:[c,...R(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...N(o)?[s,n,t]:t===s?[s,n,o]:[ee(f,t)?.[0],ee(ee(f,t)?.[4],n)?.[0],o]);g.transaction((()=>v(i,(e=>e(o)))?te(u,((e,s)=>Ce(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=ee(f,null);return g.transaction((()=>R(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),X(f,(({4:e})=>O(ee(e,r),(([,s])=>{y(t,s),se(e,r)})))))}))))),D},delQueryDefinition:e=>(k(e),c(e),D),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),D),destroy:p,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return Se({[h]:[1,1],[g]:[0,1],SortedRowIds:[0,5],Row:[1,2],[w]:[0,2],[L]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>D[e+u+s]=(...t)=>S[e+s](...t))),D[f+u+s+d]=(...e)=>S[f+s+d](...M(e,0,t),((s,...n)=>e[t](D,...n)))})),ve(D)})),ze=fe((e=>{const t=Z(),s=Z(),o=Z(),r=Z(),[a,i,l,c,d,u,,,f,h,g]=de(e,(()=>[Z(),Z(),Z(),Z()]),(e=>N(e)?void 0:e+n)),[w,L,p]=we((()=>I)),R=(e,t,s)=>O(u(e),(([n,,o])=>{if(!G(o,t)){const r=le();if(d(e)!=y(e))ce(r,t);else{let e=t;for(;!N(e)&&!G(r,e);)ce(r,e),e=ee(n,e)}if(s)return r;se(o,t,r)}return ee(o,t)})),v=(e,t)=>O(u(e),(([,,e])=>se(e,t))),y=e=>ee(t,e),I={setRelationshipDefinition:(e,n,a,i)=>(se(t,e,a),f(e,n,((t,n)=>{const a=le(),i=le(),l=le(),[c,d]=u(e);X(n,(([t,s],n)=>{N(t)||(ce(i,t),O(ee(d,t),(e=>{Y(e,n),K(e)&&se(d,t)}))),N(s)||(ce(i,s),G(d,s)||se(d,s,le()),ce(ee(d,s),n)),ce(a,n),se(c,n,s),te(ee(r,e),(t=>{G(R(e,t),n)&&ce(l,t)}))})),t(),X(a,(t=>L(s,[e,t]))),X(i,(t=>L(o,[e,t]))),X(l,(t=>{v(e,t),L(r,[e,t])}))}),ue(i)),I),delRelationshipDefinition:e=>(se(t,e),h(e),I),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>ee(u(e)?.[0],t),getLocalRowIds:(e,t)=>U(ee(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(u(e))?[t]:U(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,r,[e,t])),delListener:e=>(v(...p(e)),I),destroy:g,getListenerStats:()=>({})};return ve(I)})),Ne=e=>[e,e],Oe=()=>[Z(),Z()],We=(e,t,s,n=se)=>{const o=(r=e=>!ye(t,e),_(e).filter(r));var r;return T(pe(t),(n=>s(e,n,t[n]))),T(o,(t=>n(e,t))),e},Be=(e,t,s)=>N(e)||!(e=>z(e,Le)&&e.constructor==Le)(e)||Te(e)||Re(e)?(s?.(),!1):(Se(e,((s,n)=>{t(s,n)||Ie(e,n)})),!Te(e)),qe=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),He=()=>{let e,t,s=0;const n=Z(),o=Z(),r=Z(),i=Z(),c=Z(),u=Z(),v=Z(),I=Z(),C=Z(),m=Oe(),E=Oe(),k=Oe(),A=Oe(),D=Oe(),P=Oe(),Q=Oe(),j=Oe(),z=Oe(),q=Oe(),[H,$,U,ie]=we((()=>lt)),de=(t,s)=>(!e||G(u,s)||$e(s))&&Be(t,((e,t)=>ue(s,t,e)),(()=>$e(s))),ue=(e,t,s,n)=>Be(n?s:he(s,e,t),((n,o)=>O(fe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>$e(e,t))),fe=(t,s,n,o)=>e?O(ee(ee(u,t),n),(e=>be(o)!=e.type?$e(t,s,n,o,e.default):o),(()=>$e(t,s,n,o))):N(be(o))?$e(t,s,n,o):o,he=(e,t,s)=>(O(ee(v,t),(([n,o])=>{X(n,((t,s)=>{ye(e,s)||(e[s]=t)})),X(o,(n=>{ye(e,n)||$e(t,s,n)}))})),e),Le=e=>We(u,e,((e,t,s)=>{const n=Z(),o=le();We(ne(u,t,Z),s,((e,t,s)=>{se(e,t,s),O(s.default,(e=>se(n,t,e)),(()=>ce(o,t)))})),se(v,t,[n,o])}),((e,t)=>{se(u,t),se(v,t)})),pe=e=>We(C,e,((e,t,s)=>Re(t,s)),((e,t)=>De(t))),Re=(e,t)=>We(ne(C,e,(()=>(Pe(e,1),Z()))),t,((t,s,n)=>me(e,t,s,n)),((t,s)=>Fe(e,t,s))),me=(e,t,s,n,o)=>We(ne(t,s,(()=>(Qe(e,s,1),Z()))),n,((t,n,o)=>ke(e,s,t,n,o)),((n,r)=>Je(e,t,s,n,r,o))),ke=(e,t,s,n,o)=>{G(s,n)||je(e,t,n,1);const r=ee(s,n);o!==r&&(ze(e,t,n,r,o),se(s,n,o))},Me=(e,t,s,n,o)=>O(ee(t,s),(t=>ke(e,s,t,n,o)),(()=>me(e,t,s,he({[n]:o},e,s)))),xe=e=>{const[t]=ne(I,e,ge),s=t();return G(ee(C,e),s)?xe(e):s},Ae=e=>ee(C,e)??Re(e,{}),De=e=>Re(e,{}),Fe=(e,t,s)=>{const[,n]=ne(I,e,ge);n(s),me(e,t,s,{},!0)},Je=(e,t,s,n,o,r)=>{const a=ee(ee(v,e)?.[0],o);if(!N(a)&&!r)return ke(e,s,n,o,a);const i=t=>{ze(e,s,t,ee(n,t)),je(e,s,t,-1),se(n,t)};N(a)?i(o):te(n,i),K(n)&&(Qe(e,s,-1),K(se(t,s))&&(Pe(e,-1),se(C,e),se(I,e)))},Pe=(e,t)=>qe(n,e,t),Qe=(e,t,s)=>qe(ne(o,e,Z),t,s),je=(e,t,s,n)=>qe(ne(ne(r,e,Z),t,Z),s,n),ze=(e,t,s,n,o)=>ne(ne(ne(i,e,Z),t,Z),s,(()=>[n,0]))[1]=o,$e=(e,t,s,n,o)=>(x(ne(ne(ne(c,e,Z),t,Z),s,(()=>[])),n),o),Ge=(e,t,s)=>O(ee(ee(ee(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(st(e,t,s))])),Ke=e=>K(c)||K(z[e])?0:X(e?re(c,ae):c,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>$(z[e],[s,n,o],t))))))),Ue=(e,t,s)=>{if(!K(t))return $(e,s),1},Ve=e=>{const t=K(D[e]),s=K(Q[e])&&K(A[e])&&t&&K(E[e]),a=K(j[e])&&K(P[e])&&K(k[e])&&K(m[e]);if(!s||!a){const l=e?[re(n),ae(o),re(r,ae),re(i,ae)]:[n,o,r,i];if(!s){X(l[2],((t,s)=>X(t,((t,n)=>Ue(Q[e],t,[s,n])))));const s=le();X(l[1],((n,o)=>{Ue(A[e],n,[o])&&!t&&($(D[e],[o,null]),ce(s,o))})),t||X(l[3],((t,n)=>{if(!G(s,n)){const s=le();X(t,(e=>X(e,(([t,n],o)=>n!==t?ce(s,o):Y(e,o))))),X(s,(t=>$(D[e],[n,t])))}})),Ue(E[e],l[0])}if(!a){let t;X(l[3],((s,n)=>{let o;X(s,((s,r)=>{let a;X(s,(([s,i],l)=>{i!==s&&($(j[e],[n,r,l],i,s,Ge),t=o=a=1)})),a&&$(P[e],[n,r],Ge)})),o&&$(k[e],[n],Ge)})),t&&$(m[e],void 0,Ge)}}},Xe=(e,...t)=>(rt((()=>e(...b(t,p)))),lt),Ye=()=>oe(C,(e=>oe(e,oe))),Ze=()=>_(C),_e=e=>_(ee(C,p(e))),et=(e,t,s,n=0,o)=>{return b(M(S((r=ee(C,p(e)),a=(e,s)=>[N(t)?s:ee(e,p(t)),s],b([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>Ee(e,t)*(s?-1:1))),n,N(o)?o:n+o),(([,e])=>e));var r,a},tt=(e,t)=>_(ee(ee(C,p(e)),p(t))),st=(e,t,s)=>ee(ee(ee(C,p(e)),p(t)),p(s)),nt=e=>Xe((()=>(e=>Be(e,de,$e))(e)?pe(e):0)),ot=()=>Xe((()=>pe({}))),rt=(e,t)=>{if(-1==s)return;at();const n=e();return it(t),n},at=()=>(s++,lt),it=e=>(s>0&&(s--,0==s&&(t=!K(i),s=1,Ke(1),t&&Ve(1),s=-1,e?.(oe(i,(e=>oe(e,(e=>oe(e,(e=>[...e]),(([e,t])=>e===t))),Te)),Te),oe(c,(e=>oe(e,oe))))&&(s=1,X(i,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>Ce(lt,t,s,n,e))))))),s=-1,t=!1),$(q[0],void 0,t),Ke(0),t&&Ve(0),$(q[1],void 0,t),s=0,T([i,c,n,o,r],V))),lt),lt={getTables:Ye,getTableIds:Ze,getTable:e=>oe(ee(C,p(e)),oe),getRowIds:_e,getSortedRowIds:et,getRow:(e,t)=>oe(ee(ee(C,p(e)),p(t))),getCellIds:tt,getCell:st,hasTables:()=>!K(C),hasTable:e=>G(C,p(e)),hasRow:(e,t)=>G(ee(C,p(e)),p(t)),hasCell:(e,t,s)=>G(ee(ee(C,p(e)),p(t)),p(s)),getJson:()=>F(C),getSchemaJson:()=>F(u),setTables:nt,setTable:(e,t)=>Xe((e=>de(t,e)?Re(e,t):0),e),setRow:(e,t,s)=>Xe(((e,t)=>ue(p(e),p(t),s)?me(p(e),Ae(p(e)),p(t),s):0),e,t),addRow:(e,t)=>rt((()=>{let s;return ue(e,s,t)&&(e=p(e),me(e,Ae(e),s=xe(e),t)),s})),setPartialRow:(e,t,s)=>Xe(((e,t)=>{if(ue(e,t,s,1)){const n=Ae(e);Se(s,((s,o)=>Me(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Xe(((e,t,s)=>O(fe(e,t,s,B(n)?n(st(e,t,s)):n),(n=>Me(e,Ae(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?ot():nt(J(e))}catch{}return lt},setSchema:t=>Xe((()=>{if((e=(e=>Be(e,(e=>Be(e,(e=>{if(!Be(e,((e,t)=>R(["type",l],t))))return!1;const t=e.type;return!(!W(t)&&t!=a||(be(e.default)!=t&&Ie(e,l),0))})))))(t))&&(Le(t),!K(C))){const e=Ye();ot(),nt(e)}})),delTables:ot,delTable:e=>Xe((e=>G(C,e)?De(e):0),e),delRow:(e,t)=>Xe(((e,t)=>O(ee(C,e),(s=>G(s,t)?Fe(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Xe(((e,t,s)=>O(ee(C,e),(o=>O(ee(o,t),(r=>G(r,s)?Je(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Xe((()=>{Le({}),e=!1})),transaction:rt,startTransaction:at,finishTransaction:it,forEachTable:e=>X(C,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(C,p(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(C,p(e)),p(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=et(e,t,s,n,o);return H((()=>{const a=et(e,t,s,n,o);y(a,i)||(i=a,r(lt,e,t,s,n,o,i))}),D[a?1:0],[e,t])},addWillFinishTransactionListener:e=>H(e,q[0]),addDidFinishTransactionListener:e=>H(e,q[1]),callListener:e=>(ie(e,[Ze,_e,tt],(e=>N(e[2])?[]:Ne(st(...e)))),lt),delListener:e=>(U(e),lt),getListenerStats:()=>({}),createStore:He};return Se({Tables:[0,m],TableIds:[0,E],[h]:[1,k],[g]:[1,A],Row:[2,P],[w]:[2,Q],[L]:[3,j],InvalidCell:[3,z]},(([e,t],s)=>{lt[f+s+d]=(...s)=>H(s[e],t[s[e+1]?1:0],e>0?M(s,0,e):void 0)})),ve(lt)};e.createCheckpoints=me,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(e,(async()=>{try{return await t.promises.readFile(s,c)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,c)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ke,e.createLocalPersister=(e,t)=>Pe(e,t,localStorage),e.createMetrics=Ae,e.createQueries=je,e.createRelationships=ze,e.createRemotePersister=(e,t,s,n)=>{let o,r;return De(e,(async()=>{const e=await fetch(t);return r=Qe(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=Qe(s);N(r)||N(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{O(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Pe(e,t,sessionStorage),e.createStore=He,e.defaultSorter=Ee},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
Binary file