tinybase 2.0.0 → 2.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/common.js +1 -1
  4. package/lib/common.js.gz +0 -0
  5. package/lib/debug/checkpoints.js +7 -1
  6. package/lib/debug/common.js +1 -4
  7. package/lib/debug/indexes.d.ts +36 -10
  8. package/lib/debug/indexes.js +57 -25
  9. package/lib/debug/metrics.d.ts +1 -1
  10. package/lib/debug/metrics.js +19 -2
  11. package/lib/debug/persisters.d.ts +5 -5
  12. package/lib/debug/queries.js +18 -2
  13. package/lib/debug/relationships.d.ts +3 -3
  14. package/lib/debug/relationships.js +19 -2
  15. package/lib/debug/store.js +8 -2
  16. package/lib/debug/tinybase.js +53 -27
  17. package/lib/debug/ui-react.d.ts +17 -17
  18. package/lib/debug/ui-react.js +2 -1
  19. package/lib/es6/checkpoints.d.ts +946 -0
  20. package/lib/es6/checkpoints.js +1 -0
  21. package/lib/es6/checkpoints.js.gz +0 -0
  22. package/lib/es6/common.d.ts +115 -0
  23. package/lib/es6/common.js +1 -0
  24. package/lib/es6/common.js.gz +0 -0
  25. package/lib/es6/indexes.d.ts +967 -0
  26. package/lib/es6/indexes.js +1 -0
  27. package/lib/es6/indexes.js.gz +0 -0
  28. package/lib/es6/metrics.d.ts +829 -0
  29. package/lib/es6/metrics.js +1 -0
  30. package/lib/es6/metrics.js.gz +0 -0
  31. package/lib/es6/persisters.d.ts +717 -0
  32. package/lib/es6/persisters.js +1 -0
  33. package/lib/es6/persisters.js.gz +0 -0
  34. package/lib/es6/queries.d.ts +3026 -0
  35. package/lib/es6/queries.js +1 -0
  36. package/lib/es6/queries.js.gz +0 -0
  37. package/lib/es6/relationships.d.ts +1203 -0
  38. package/lib/es6/relationships.js +1 -0
  39. package/lib/es6/relationships.js.gz +0 -0
  40. package/lib/es6/store.d.ts +3572 -0
  41. package/lib/es6/store.js +1 -0
  42. package/lib/es6/store.js.gz +0 -0
  43. package/lib/es6/tinybase.d.ts +14 -0
  44. package/lib/es6/tinybase.js +1 -0
  45. package/lib/es6/tinybase.js.gz +0 -0
  46. package/lib/es6/ui-react.d.ts +9777 -0
  47. package/lib/es6/ui-react.js +1 -0
  48. package/lib/es6/ui-react.js.gz +0 -0
  49. package/lib/indexes.d.ts +36 -10
  50. package/lib/indexes.js +1 -1
  51. package/lib/indexes.js.gz +0 -0
  52. package/lib/metrics.d.ts +1 -1
  53. package/lib/metrics.js +1 -1
  54. package/lib/metrics.js.gz +0 -0
  55. package/lib/persisters.d.ts +5 -5
  56. package/lib/queries.js +1 -1
  57. package/lib/queries.js.gz +0 -0
  58. package/lib/relationships.d.ts +3 -3
  59. package/lib/relationships.js +1 -1
  60. package/lib/relationships.js.gz +0 -0
  61. package/lib/store.js +1 -1
  62. package/lib/store.js.gz +0 -0
  63. package/lib/tinybase.js +1 -1
  64. package/lib/tinybase.js.gz +0 -0
  65. package/lib/ui-react.d.ts +17 -17
  66. package/lib/umd/checkpoints.d.ts +946 -0
  67. package/lib/umd/checkpoints.js +1 -1
  68. package/lib/umd/checkpoints.js.gz +0 -0
  69. package/lib/umd/common.d.ts +115 -0
  70. package/lib/umd/common.js +1 -1
  71. package/lib/umd/common.js.gz +0 -0
  72. package/lib/umd/indexes.d.ts +967 -0
  73. package/lib/umd/indexes.js +1 -1
  74. package/lib/umd/indexes.js.gz +0 -0
  75. package/lib/umd/metrics.d.ts +829 -0
  76. package/lib/umd/metrics.js +1 -1
  77. package/lib/umd/metrics.js.gz +0 -0
  78. package/lib/umd/persisters.d.ts +717 -0
  79. package/lib/umd/queries.d.ts +3026 -0
  80. package/lib/umd/queries.js +1 -1
  81. package/lib/umd/queries.js.gz +0 -0
  82. package/lib/umd/relationships.d.ts +1203 -0
  83. package/lib/umd/relationships.js +1 -1
  84. package/lib/umd/relationships.js.gz +0 -0
  85. package/lib/umd/store.d.ts +3572 -0
  86. package/lib/umd/store.js +1 -1
  87. package/lib/umd/store.js.gz +0 -0
  88. package/lib/umd/tinybase.d.ts +14 -0
  89. package/lib/umd/tinybase.js +1 -1
  90. package/lib/umd/tinybase.js.gz +0 -0
  91. package/lib/umd/ui-react.d.ts +9777 -0
  92. package/lib/umd-es6/checkpoints.d.ts +946 -0
  93. package/lib/umd-es6/checkpoints.js +1 -0
  94. package/lib/umd-es6/checkpoints.js.gz +0 -0
  95. package/lib/umd-es6/common.d.ts +115 -0
  96. package/lib/umd-es6/common.js +1 -0
  97. package/lib/umd-es6/common.js.gz +0 -0
  98. package/lib/umd-es6/indexes.d.ts +967 -0
  99. package/lib/umd-es6/indexes.js +1 -0
  100. package/lib/umd-es6/indexes.js.gz +0 -0
  101. package/lib/umd-es6/metrics.d.ts +829 -0
  102. package/lib/umd-es6/metrics.js +1 -0
  103. package/lib/umd-es6/metrics.js.gz +0 -0
  104. package/lib/umd-es6/persisters.d.ts +717 -0
  105. package/lib/umd-es6/persisters.js +1 -0
  106. package/lib/umd-es6/persisters.js.gz +0 -0
  107. package/lib/umd-es6/queries.d.ts +3026 -0
  108. package/lib/umd-es6/queries.js +1 -0
  109. package/lib/umd-es6/queries.js.gz +0 -0
  110. package/lib/umd-es6/relationships.d.ts +1203 -0
  111. package/lib/umd-es6/relationships.js +1 -0
  112. package/lib/umd-es6/relationships.js.gz +0 -0
  113. package/lib/umd-es6/store.d.ts +3572 -0
  114. package/lib/umd-es6/store.js +1 -0
  115. package/lib/umd-es6/store.js.gz +0 -0
  116. package/lib/umd-es6/tinybase.d.ts +14 -0
  117. package/lib/umd-es6/tinybase.js +1 -0
  118. package/lib/umd-es6/tinybase.js.gz +0 -0
  119. package/lib/umd-es6/ui-react.d.ts +9777 -0
  120. package/lib/umd-es6/ui-react.js +1 -0
  121. package/lib/umd-es6/ui-react.js.gz +0 -0
  122. package/package.json +2 -1
  123. package/readme.md +12 -12
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,t)=>e.forEach(t),d=(e,t)=>e.map(t),u=e=>e.length,f=(e,t,n)=>e.slice(t,n),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return g(t,Map)?(n=[...t],s=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(s,r)):t;var n,s,r})),b=JSON.parse,p=isFinite,g=(e,t)=>e instanceof t,v=e=>null==e,y=(e,t,n)=>v(e)?n?.():t(e),w=e=>e==s||e==r,R=(e,t)=>e?.has(t)??!1,S=e=>v(e)||0==(e=>e.size)(e),C=e=>e.clear(),I=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),m=e=>new Map(e),E=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),F=(e,t)=>I(e,((e,n)=>t(n,e))),O=(e,t,n)=>v(n)?(L(e,t),e):e?.set(t,n),j=(e,t,n)=>(R(e,t)||O(e,t,n()),J(e,t)),x=(e,t,n)=>{const s={},r=t??(e=>e);return I(e,((e,t)=>y(r(e),(e=>n?.(e)?0:s[t]=e)))),s},z=(e,t)=>{const n=m(),s=t??(e=>e);return I(e,((e,t)=>n.set(t,s(e)))),n},M=e=>z(e,z),k=(e,t,n,s,r=0)=>y((n?j:J)(e,t[r],r>u(t)-2?n:m),(o=>{if(r>u(t)-2)return s?.(o)&&O(e,t[r]),o;const l=k(o,t,n,s,r+1);return S(o)&&O(e,t[r]),l})),N=Object,P=N.keys,_=N.isFrozen,B=N.freeze,D=(e,t)=>!v(((e,t)=>y(e,(e=>e[t])))(e,t)),W=(e,t)=>delete e[t],$=(e,t)=>c(N.entries(e),(([e,n])=>t(n,e))),q=e=>{return t=P(e),0==u(t);var t},A=e=>new Set(e),G=(e,t)=>e?.add(t),H=/^\d+$/,K=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{H.test(t)&&u(e)<1e3&&h(e,t)}]},Q=e=>{let t;const[s,r]=K(),o=m();return[(r,l,a)=>{t??=e();const i=s();return O(o,i,[r,l,a]),G(k(l,a??[n],A),i),i},(e,s,...r)=>c(((e,t=[n])=>{const s=[],r=(e,n)=>n==u(t)?h(s,e):null===t[n]?I(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(J(e,t),n+1)));return r(e,0),s})(e,s),(e=>I(e,(e=>J(o,e)[0](t,...s??[],...r))))),e=>y(J(o,e),(([,t,s])=>(k(t,s??[n],void 0,(t=>(L(t,e),S(t)?1:0))),O(o,e),r(e),s))),(e,n,s)=>y(J(o,e),(([e,,r=[]])=>{const o=(...l)=>{const a=u(l);a==u(r)?e(t,...l,...s(l)):v(r[a])?c(n[a](...l),(e=>o(...l,e))):o(...l,r[a])};o()}))]},U=e=>[e,e],V=()=>[m(),m()],X=e=>{const n=t(e);return w(n)||n==o&&p(e)?n:void 0},Y=e=>n+e,Z=(e,t,n,s=O)=>{const r=(o=E(e),l=e=>!D(t,e),o.filter(l));var o,l;return c(P(t),(s=>n(e,s,t[s]))),c(r,(t=>s(e,t))),e},ee=(e,t,n)=>v(e)||!(e=>g(e,N)&&e.constructor==N)(e)||q(e)||_(e)?(n?.(),!1):($(e,((n,s)=>{t(n,s)||W(e,s)})),!q(e)),te=(e,t,n)=>O(e,t,J(e,t)==-n?void 0:n),ne=()=>{let e,n,s=0;const r=m(),p=m(),g=m(),k=m(),N=m(),P=m(),_=m(),H=m(),se=m(),re=V(),oe=V(),le=V(),ae=V(),ie=V(),ce=V(),de=V(),ue=V(),fe=V(),he=V(),[Te,be,pe,ge]=Q((()=>et)),ve=(t,n)=>(!e||R(P,n)||Pe(n))&&ee(t,((e,t)=>ye(n,t,e)),(()=>Pe(n))),ye=(e,t,n,s)=>ee(s?n:Re(n,e,t),((s,r)=>y(we(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Pe(e,t))),we=(t,n,s,r)=>e?y(J(J(P,t),s),(e=>X(r)!=e.type?Pe(t,n,s,r,e.default):r),(()=>Pe(t,n,s,r))):v(X(r))?Pe(t,n,s,r):r,Re=(e,t,n)=>(y(J(_,t),(([s,r])=>{I(s,((t,n)=>{D(e,n)||(e[n]=t)})),I(r,(s=>{D(e,s)||Pe(t,n,s)}))})),e),Se=e=>Z(P,e,((e,t,n)=>{const s=m(),r=A();Z(j(P,t,m),n,((e,t,n)=>{O(e,t,n),y(n.default,(e=>O(s,t,e)),(()=>G(r,t)))})),O(_,t,[s,r])}),((e,t)=>{O(P,t),O(_,t)})),Ce=e=>Z(se,e,((e,t,n)=>Ie(t,n)),((e,t)=>Oe(t))),Ie=(e,t)=>Z(j(se,e,(()=>(ze(e,1),m()))),t,((t,n,s)=>Le(e,t,n,s)),((t,n)=>je(e,t,n))),Le=(e,t,n,s,r)=>Z(j(t,n,(()=>(Me(e,n,1),m()))),s,((t,s,r)=>me(e,n,t,s,r)),((s,o)=>xe(e,t,n,s,o,r))),me=(e,t,n,s,r)=>{R(n,s)||ke(e,t,s,1);const o=J(n,s);r!==o&&(Ne(e,t,s,o,r),O(n,s,r))},Ee=(e,t,n,s,r)=>y(J(t,n),(t=>me(e,n,t,s,r)),(()=>Le(e,t,n,Re({[s]:r},e,n)))),Je=e=>{const[t]=j(H,e,K),n=t();return R(J(se,e),n)?Je(e):n},Fe=e=>J(se,e)??Ie(e,{}),Oe=e=>Ie(e,{}),je=(e,t,n)=>{const[,s]=j(H,e,K);s(n),Le(e,t,n,{},!0)},xe=(e,t,n,s,r,o)=>{const l=J(J(_,e)?.[0],r);if(!v(l)&&!o)return me(e,n,s,r,l);const a=t=>{Ne(e,n,t,J(s,t)),ke(e,n,t,-1),O(s,t)};v(l)?a(r):F(s,a),S(s)&&(Me(e,n,-1),S(O(t,n))&&(ze(e,-1),O(se,e)))},ze=(e,t)=>te(r,e,t),Me=(e,t,n)=>te(j(p,e,m),t,n),ke=(e,t,n,s)=>te(j(j(g,e,m),t,m),n,s),Ne=(e,t,n,s,r)=>j(j(j(k,e,m),t,m),n,(()=>[s,0]))[1]=r,Pe=(e,t,n,s,r)=>(h(j(j(j(N,e,m),t,m),n,(()=>[])),s),r),_e=(e,t,n)=>y(J(J(J(k,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...U(Qe(e,t,n))])),Be=e=>S(N)||S(fe[e])?0:I(e?z(N,M):N,((t,n)=>I(t,((t,s)=>I(t,((t,r)=>be(fe[e],[n,s,r],t))))))),De=(e,t,n)=>{if(!S(t))return be(e,n),1},We=e=>{const t=S(ie[e]),n=S(de[e])&&S(ae[e])&&t&&S(oe[e]),s=S(ue[e])&&S(ce[e])&&S(le[e])&&S(re[e]);if(!n||!s){const o=e?[z(r),M(p),z(g,M),z(k,M)]:[r,p,g,k];if(!n){I(o[2],((t,n)=>I(t,((t,s)=>De(de[e],t,[n,s])))));const n=A();I(o[1],((s,r)=>{De(ae[e],s,[r])&&!t&&(be(ie[e],[r,null]),G(n,r))})),t||I(o[3],((t,s)=>{if(!R(n,s)){const n=A();I(t,(e=>I(e,(([t,s],r)=>s!==t?G(n,r):L(e,r))))),I(n,(t=>be(ie[e],[s,t])))}})),De(oe[e],o[0])}if(!s){let t;I(o[3],((n,s)=>{let r;I(n,((n,o)=>{let l;I(n,(([n,a],i)=>{a!==n&&(be(ue[e],[s,o,i],a,n,_e),t=r=l=1)})),l&&be(ce[e],[s,o],_e)})),r&&be(le[e],[s],_e)})),t&&be(re[e],void 0,_e)}}},$e=(e,...t)=>(Xe((()=>e(...d(t,Y)))),et),qe=()=>x(se,(e=>x(e,x))),Ae=()=>E(se),Ge=e=>E(J(se,Y(e))),He=(e,t,n,s=0,r)=>{const o=[];return F(J(se,Y(e)),((e,n)=>h(o,[v(t)?e:J(n,Y(t)),e]))),d(f(o.sort((([e],[t])=>(e<t?-1:1)*(n?-1:1))),s,v(r)?r:s+r),(([,e])=>e))},Ke=(e,t)=>E(J(J(se,Y(e)),Y(t))),Qe=(e,t,n)=>J(J(J(se,Y(e)),Y(t)),Y(n)),Ue=e=>$e((()=>(e=>ee(e,ve,Pe))(e)?Ce(e):0)),Ve=()=>$e((()=>Ce({}))),Xe=(e,t)=>{if(-1==s)return;Ye();const n=e?.();return Ze(t),n},Ye=()=>(s++,et),Ze=e=>(s>0&&(s--,0==s&&(n=!S(k),s=1,Be(1),n&&We(1),s=-1,e?.(x(k,(e=>x(e,(e=>x(e,(e=>[...e]),(([e,t])=>e===t))),q)),q),x(N,(e=>x(e,x))))&&(s=1,I(k,((e,t)=>I(e,((e,n)=>I(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),Be(0),n&&We(0),be(he[1],void 0,n),s=0,c([k,N,r,p,g],C))),et),et={getTables:qe,getTableIds:Ae,getTable:e=>x(J(se,Y(e)),x),getRowIds:Ge,getSortedRowIds:He,getRow:(e,t)=>x(J(J(se,Y(e)),Y(t))),getCellIds:Ke,getCell:Qe,hasTables:()=>!S(se),hasTable:e=>R(se,Y(e)),hasRow:(e,t)=>R(J(se,Y(e)),Y(t)),hasCell:(e,t,n)=>R(J(J(se,Y(e)),Y(t)),Y(n)),getJson:()=>T(se),getSchemaJson:()=>T(P),setTables:Ue,setTable:(e,t)=>$e((e=>ve(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>$e(((e,t)=>ye(Y(e),Y(t),n)?Le(Y(e),Fe(Y(e)),Y(t),n):0),e,t),addRow:(e,t)=>Xe((()=>{let n;return ye(e,n,t)&&(e=Y(e),Le(e,Fe(e),n=Je(e),t)),n})),setPartialRow:(e,t,n)=>$e(((e,t)=>{if(ye(e,t,n,1)){const s=Fe(e);$(n,((n,r)=>Ee(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>$e(((e,n,s)=>y(we(e,n,s,t(r)==l?r(Qe(e,n,s)):r),(t=>Ee(e,Fe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Ve():Ue(b(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!(!w(t)&&t!=o||(X(e.default)!=t&&W(e,i),0))})))))(t))&&(Se(t),!S(se))){const e=qe();Ve(),Ue(e)}})),delTables:Ve,delTable:e=>$e((e=>R(se,e)?Oe(e):0),e),delRow:(e,t)=>$e(((e,t)=>y(J(se,e),(n=>R(n,t)?je(e,n,t):0))),e,t),delCell:(e,t,n,s)=>$e(((e,t,n)=>y(J(se,e),(r=>y(J(r,t),(o=>R(o,n)?xe(e,r,t,o,n,s):0))))),e,t,n),delSchema:()=>$e((()=>{Se({}),e=!1})),transaction:Xe,startTransaction:Ye,finishTransaction:Ze,forEachTable:e=>I(se,((t,n)=>e(n,(e=>I(t,((t,n)=>e(n,(e=>F(t,e))))))))),forEachRow:(e,t)=>I(J(se,Y(e)),((e,n)=>t(n,(t=>F(e,t))))),forEachCell:(e,t,n)=>F(J(J(se,Y(e)),Y(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=He(e,t,n,s,r);return Te((()=>{const l=He(e,t,n,s,r);var i,c,d;c=a,u(i=l)===u(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=>(ge(e,[Ae,Ge,Ke],(e=>v(e[2])?[]:U(Qe(...e)))),et),delListener:e=>(pe(e),et),getListenerStats:()=>({}),createStore:ne};return $({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?f(n,0,e):void 0)})),B(et)};e.createStore=ne,Object.defineProperty(e,"__esModule",{value:!0})},"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 g(t,Map)?(n=[...t],s=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(s,r)):t;var n,s,r})),p=JSON.parse,y=isFinite,g=(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),O=(e,t)=>L(e,((e,n)=>t(n,e))),j=(e,t,n)=>v(n)?(m(e,t),e):e?.set(t,n),x=(e,t,n)=>(S(e,t)||j(e,t,n()),F(e,t)),z=(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},M=(e,t)=>{const n=E(),s=t??(e=>e);return L(e,((e,t)=>n.set(t,s(e)))),n},k=e=>M(e,M),A=(e,t,n,s,r=0)=>w((n?x:F)(e,t[r],r>f(t)-2?n:E),(o=>{if(r>f(t)-2)return s?.(o)&&j(e,t[r]),o;const l=A(o,t,n,s,r+1);return C(o)&&j(e,t[r]),l})),N=Object,P=N.keys,_=N.isFrozen,B=N.freeze,D=(e,t)=>!v(((e,t)=>w(e,(e=>e[t])))(e,t)),W=(e,t)=>delete e[t],$=(e,t)=>d(N.entries(e),(([e,n])=>t(n,e))),q=e=>{return t=P(e),0==f(t);var t},G=e=>new Set(Array.isArray(e)||v(e)?e:[e]),H=(e,t)=>e?.add(t),K=/^\d+$/,Q=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{K.test(t)&&f(e)<1e3&&T(e,t)}]},U=e=>{let t;const[s,r]=Q(),o=E();return[(r,l,a)=>{t??=e();const i=s();return j(o,i,[r,l,a]),H(A(l,a??[n],G),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])=>(A(t,s??[n],void 0,(t=>(m(t,e),C(t)?1:0))),j(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()}))]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==o&&y(e)?n:void 0},Z=(e,t,n,s=j)=>{const r=(o=J(e),l=e=>!D(t,e),o.filter(l));var o,l;return d(P(t),(s=>n(e,s,t[s]))),d(r,(t=>s(e,t))),e},ee=(e,t,n)=>v(e)||!(e=>g(e,N)&&e.constructor==N)(e)||q(e)||_(e)?(n?.(),!1):($(e,((n,s)=>{t(n,s)||W(e,s)})),!q(e)),te=(e,t,n)=>j(e,t,F(e,t)==-n?void 0:n),ne=()=>{let e,n,s=0;const r=E(),y=E(),g=E(),A=E(),N=E(),P=E(),_=E(),K=E(),se=E(),re=X(),oe=X(),le=X(),ae=X(),ie=X(),ce=X(),de=X(),ue=X(),fe=X(),he=X(),[Te,be,pe,ye]=U((()=>et)),ge=(t,n)=>(!e||S(P,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(P,t),s),(e=>Y(r)!=e.type?Ne(t,n,s,r,e.default):r),(()=>Ne(t,n,s,r))):v(Y(r))?Ne(t,n,s,r):r,Re=(e,t,n)=>(w(F(_,t),(([s,r])=>{L(s,((t,n)=>{D(e,n)||(e[n]=t)})),L(r,(s=>{D(e,s)||Ne(t,n,s)}))})),e),Se=e=>Z(P,e,((e,t,n)=>{const s=E(),r=G();Z(x(P,t,E),n,((e,t,n)=>{j(e,t,n),w(n.default,(e=>j(s,t,e)),(()=>H(r,t)))})),j(_,t,[s,r])}),((e,t)=>{j(P,t),j(_,t)})),Ce=e=>Z(se,e,((e,t,n)=>Ie(t,n)),((e,t)=>Oe(t))),Ie=(e,t)=>Z(x(se,e,(()=>(ze(e,1),E()))),t,((t,n,s)=>Le(e,t,n,s)),((t,n)=>je(e,t,n))),Le=(e,t,n,s,r)=>Z(x(t,n,(()=>(Me(e,n,1),E()))),s,((t,s,r)=>me(e,n,t,s,r)),((s,o)=>xe(e,t,n,s,o,r))),me=(e,t,n,s,r)=>{S(n,s)||ke(e,t,s,1);const o=F(n,s);r!==o&&(Ae(e,t,s,o,r),j(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]=x(K,e,Q),n=t();return S(F(se,e),n)?Je(e):n},Fe=e=>F(se,e)??Ie(e,{}),Oe=e=>Ie(e,{}),je=(e,t,n)=>{const[,s]=x(K,e,Q);s(n),Le(e,t,n,{},!0)},xe=(e,t,n,s,r,o)=>{const l=F(F(_,e)?.[0],r);if(!v(l)&&!o)return me(e,n,s,r,l);const a=t=>{Ae(e,n,t,F(s,t)),ke(e,n,t,-1),j(s,t)};v(l)?a(r):O(s,a),C(s)&&(Me(e,n,-1),C(j(t,n))&&(ze(e,-1),j(se,e)))},ze=(e,t)=>te(r,e,t),Me=(e,t,n)=>te(x(y,e,E),t,n),ke=(e,t,n,s)=>te(x(x(g,e,E),t,E),n,s),Ae=(e,t,n,s,r)=>x(x(x(A,e,E),t,E),n,(()=>[s,0]))[1]=r,Ne=(e,t,n,s,r)=>(T(x(x(x(N,e,E),t,E),n,(()=>[])),s),r),Pe=(e,t,n)=>w(F(F(F(A,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...V(Qe(e,t,n))])),_e=e=>C(N)||C(fe[e])?0:L(e?M(N,k):N,((t,n)=>L(t,((t,s)=>L(t,((t,r)=>be(fe[e],[n,s,r],t))))))),Be=(e,t,n)=>{if(!C(t))return be(e,n),1},De=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?[M(r),k(y),M(g,k),M(A,k)]:[r,y,g,A];if(!n){L(o[2],((t,n)=>L(t,((t,s)=>Be(de[e],t,[n,s])))));const n=G();L(o[1],((s,r)=>{Be(ae[e],s,[r])&&!t&&(be(ie[e],[r,null]),H(n,r))})),t||L(o[3],((t,s)=>{if(!S(n,s)){const n=G();L(t,(e=>L(e,(([t,s],r)=>s!==t?H(n,r):m(e,r))))),L(n,(t=>be(ie[e],[s,t])))}})),Be(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,Pe),t=r=l=1)})),l&&be(ce[e],[s,o],Pe)})),r&&be(le[e],[s],Pe)})),t&&be(re[e],void 0,Pe)}}},We=(e,...t)=>(Xe((()=>e(...u(t,c)))),et),$e=()=>z(se,(e=>z(e,z))),qe=()=>J(se),Ge=e=>J(F(se,c(e))),He=(e,t,n,s=0,r)=>{const o=[];return O(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))},Ke=(e,t)=>J(F(F(se,c(e)),c(t))),Qe=(e,t,n)=>F(F(F(se,c(e)),c(t)),c(n)),Ue=e=>We((()=>(e=>ee(e,ge,Ne))(e)?Ce(e):0)),Ve=()=>We((()=>Ce({}))),Xe=(e,t)=>{if(-1==s)return;Ye();const n=e?.();return Ze(t),n},Ye=()=>(s++,et),Ze=e=>(s>0&&(s--,0==s&&(n=!C(A),s=1,_e(1),n&&De(1),s=-1,e?.(z(A,(e=>z(e,(e=>z(e,(e=>[...e]),(([e,t])=>e===t))),q)),q),z(N,(e=>z(e,z))))&&(s=1,L(A,((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),_e(0),n&&De(0),be(he[1],void 0,n),s=0,d([A,N,r,y,g],I))),et),et={getTables:$e,getTableIds:qe,getTable:e=>z(F(se,c(e)),z),getRowIds:Ge,getSortedRowIds:He,getRow:(e,t)=>z(F(F(se,c(e)),c(t))),getCellIds:Ke,getCell:Qe,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(P),setTables:Ue,setTable:(e,t)=>We((e=>ge(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>We(((e,t)=>ve(c(e),c(t),n)?Le(c(e),Fe(c(e)),c(t),n):0),e,t),addRow:(e,t)=>Xe((()=>{let n;return ve(e,n,t)&&(e=c(e),Le(e,Fe(e),n=Je(e),t)),n})),setPartialRow:(e,t,n)=>We(((e,t)=>{if(ve(e,t,n,1)){const s=Fe(e);$(n,((n,r)=>Ee(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>We(((e,n,s)=>w(we(e,n,s,t(r)==l?r(Qe(e,n,s)):r),(t=>Ee(e,Fe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Ve():Ue(p(e))}catch{}return et},setSchema:t=>We((()=>{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||(Y(e.default)!=t&&W(e,i),0))})))))(t))&&(Se(t),!C(se))){const e=$e();Ve(),Ue(e)}})),delTables:Ve,delTable:e=>We((e=>S(se,e)?Oe(e):0),e),delRow:(e,t)=>We(((e,t)=>w(F(se,e),(n=>S(n,t)?je(e,n,t):0))),e,t),delCell:(e,t,n,s)=>We(((e,t,n)=>w(F(se,e),(r=>w(F(r,t),(o=>S(o,n)?xe(e,r,t,o,n,s):0))))),e,t,n),delSchema:()=>We((()=>{Se({}),e=!1})),transaction:Xe,startTransaction:Ye,finishTransaction:Ze,forEachTable:e=>L(se,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>O(t,e))))))))),forEachRow:(e,t)=>L(F(se,c(e)),((e,n)=>t(n,(t=>O(e,t))))),forEachCell:(e,t,n)=>O(F(F(se,c(e)),c(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=He(e,t,n,s,r);return Te((()=>{const l=He(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=>(ye(e,[qe,Ge,Ke],(e=>v(e[2])?[]:V(Qe(...e)))),et),delListener:e=>(pe(e),et),getListenerStats:()=>({}),createStore:ne};return $({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)})),B(et)};e.createStore=ne,Object.defineProperty(e,"__esModule",{value:!0})},"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
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This is everything.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+
7
+ export * from './checkpoints';
8
+ export * from './common';
9
+ export * from './indexes';
10
+ export * from './metrics';
11
+ export * from './persisters';
12
+ export * from './queries';
13
+ export * from './relationships';
14
+ export * from './store';
@@ -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",v=(e,t)=>e.includes(t),R=(e,t)=>e.every(t),I=(e,t)=>R(e,((s,n)=>0==n||t(e[n-1],s)<=0)),y=(e,t)=>e.sort(t),S=(e,t)=>e.forEach(t),T=(e,t)=>e.map(t),b=e=>E(e,((e,t)=>e+t),0),C=e=>e.length,m=e=>0==C(e),E=(e,t,s)=>e.reduce(t,s),k=(e,t,s)=>e.slice(t,s),M=(e,...t)=>e.push(...t),x=e=>e.pop(),D=e=>e.shift(),A=e=>JSON.stringify(e,((e,t)=>j(t,Map)?E([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),F=JSON.parse,P=Math.max,J=Math.min,Q=isFinite,j=(e,t)=>e instanceof t,O=e=>null==e,z=(e,t,s)=>O(e)?s?.():t(e),N=e=>e==o||e==r,W=e=>s(e)==i,B=()=>{},_=e=>e.size,q=(e,t)=>e?.has(t)??!1,H=e=>O(e)||0==_(e),$=e=>[...e?.values()??[]],G=e=>e.clear(),K=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),V=e=>new Map(e),X=e=>[...e?.keys()??[]],Y=(e,t)=>e?.get(t),Z=(e,t)=>K(e,((e,s)=>t(s,e))),ee=(e,t,s)=>O(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Y(e,t)),se=(e,t,s)=>{const n={},o=t??(e=>e);return K(e,((e,t)=>z(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ne=(e,t)=>{const s=V(),n=t??(e=>e);return K(e,((e,t)=>s.set(t,n(e)))),s},oe=e=>ne(e,ne),re=(e,t,s,n,o=0)=>z((s?te:Y)(e,t[o],o>C(t)-2?s:V),(r=>{if(o>C(t)-2)return n?.(r)&&ee(e,t[o]),r;const a=re(r,t,s,n,o+1);return H(r)&&ee(e,t[o]),a})),ae=e=>new Set(e),ie=(e,t)=>e?.add(t),le=(e,t,s)=>{const n=e.hasRow,o=V(),r=V(),a=V(),i=V(),l=V(),c=(t,s,...n)=>{const o=te(l,t,ae);return S(n,(t=>ie(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>z(Y(l,t),(n=>{S(m(s)?$(n):s,(t=>{e.delListener(t),U(n,t)})),H(n)&&ee(l,t)})),u=(e,s)=>{ee(o,e,s),q(r,e)||(ee(r,e,t()),ee(a,e,V()),ee(i,e,V()))},f=e=>{ee(o,e),ee(r,e),ee(a,e),ee(i,e),d(e)};return[()=>e,()=>X(o),e=>Z(r,e),e=>q(r,e),e=>Y(o,e),e=>Y(r,e),(e,t)=>ee(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=V(),g=V(),w=Y(a,t),L=Y(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=Y(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a!=i&&ee(h,t,[a,i]),!O(f)){const e=Y(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&ee(g,t,s)}},v=e=>{r((()=>{K(h,(([,e],t)=>ee(w,t,e))),K(g,((e,t)=>ee(L,t,e)))}),h,g,w,L,e),G(h),G(g)};Z(w,p),e.hasTable(o)&&S(e.getRowIds(o),(e=>{q(w,e)||p(e)})),v(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>v())))},f,()=>Z(l,f),c,d]},ce=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),de=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},ue=/^\d+$/,fe=()=>{const e=[];let t=0;return[()=>D(e)??n+t++,t=>{ue.test(t)&&C(e)<1e3&&M(e,t)}]},he=e=>{let t;const[s,o]=fe(),r=V();return[(o,a,i)=>{t??=e();const l=s();return ee(r,l,[o,a,i]),ie(re(a,i??[n],ae),l),l},(e,s,...o)=>S(((e,t=[n])=>{const s=[],o=(e,n)=>n==C(t)?M(s,e):null===t[n]?K(e,(e=>o(e,n+1))):S([t[n],null],(t=>o(Y(e,t),n+1)));return o(e,0),s})(e,s),(e=>K(e,(e=>Y(r,e)[0](t,...s??[],...o))))),e=>z(Y(r,e),(([,t,s])=>(re(t,s??[n],void 0,(t=>(U(t,e),H(t)?1:0))),ee(r,e),o(e),s))),(e,s,n)=>z(Y(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=C(a);i==C(o)?e(t,...a,...n(a)):O(o[i])?S(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},ge=Object,we=ge.keys,Le=ge.isFrozen,pe=ge.freeze,ve=(e,t)=>!O(((e,t)=>z(e,(e=>e[t])))(e,t)),Re=(e,t)=>delete e[t],Ie=(e,t)=>S(ge.entries(e),(([e,s])=>t(s,e))),ye=e=>m(we(e)),Se=e=>{const t=s(e);return N(t)||t==a&&Q(e)?t:void 0},Te=(e,t,s,n,o)=>O(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),be=de((e=>{let t,s,o,r=100,a=V(),i=1;const l=V(),c=V(),[d,u,f]=he((()=>Q)),h=V(),g=V(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>K(Y(h,s),((s,n)=>K(s,((s,o)=>K(s,((s,r)=>Te(e,n,o,r,s[t]))))))))),i=1},R=e=>{ee(h,e),ee(g,e),u(c,[e])},I=(e,t)=>S(((e,t)=>e.splice(0,t))(e,t??C(e)),R),y=()=>I(w,C(w)-r),T=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){z(t,(()=>{M(w,t),y(),I(L),t=void 0,o=1}));const e=te(a,s,V),i=te(e,n,V),d=te(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&H(ee(i,r))&&H(ee(e,n))&&H(ee(a,s))&&(t=x(w),o=1),A()}})),b=(e="")=>(O(t)&&(t=n+s++,ee(h,t,a),P(t,e),a=V(),o=1),t),E=()=>{m(w)||(L.unshift(b()),p(0,t),t=x(w),o=1)},k=()=>{m(L)||(M(w,t),t=D(L),p(1,t),o=1)},A=()=>{o&&(u(l),o=0)},F=e=>{const t=b(e);return A(),t},P=(e,t)=>(J(e)&&Y(g,e)!==t&&(ee(g,e,t),u(c,[e])),Q),J=e=>q(h,e),Q={setSize:e=>(r=e,y(),Q),addCheckpoint:F,setCheckpoint:P,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>Z(g,e),hasCheckpoint:J,getCheckpoint:e=>Y(g,e),goBackward:()=>(E(),A(),Q),goForward:()=>(k(),A(),Q),goTo:e=>{const s=v(w,e)?E:v(L,e)?k:null;for(;!O(s)&&e!=t;)s();return A(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(I(w),I(L),O(t)||R(t),t=void 0,s=0,F(),Q),destroy:()=>{e.delListener(T)},getListenerStats:()=>({})};return pe(Q.clear())})),Ce=(e,t)=>e<t?-1:1,me=e=>n+e,Ee=de((e=>{const t=V(),s=V(),[o,r,a,i,l,c,d,,u,f,h]=le(e,V,(e=>O(e)?n:e+n)),[g,w,L]=he((()=>v)),p=(t,s,n)=>{const o=l(t);K(n,((t,n)=>s(n,(s=>K(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=Ce)=>{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=ae(),p=ae(),v=c(e);if(K(o,(([e,t],s)=>{O(e)||(ie(L,e),z(Y(v,e),(t=>{U(t,s),H(t)&&(ee(v,e),g=1)}))),O(t)||(ie(L,t),q(v,t)||(ee(v,t,ae()),g=1),ie(Y(v,t),s),O(r)||ie(p,t))})),n(),H(f)||(h?Z(v,(e=>ie(p,e))):Z(a,(e=>z(Y(u,e),(e=>ie(p,e))))),K(p,(e=>{const t=(t,s)=>i(Y(f,t),Y(f,s),e),s=[...Y(v,e)];I(s,t)||(ee(v,e,ae(y(s,t))),ie(L,e))}))),(g||h)&&!O(l)){const t=[...v];I(t,l)||(d(e,V(y(t,l))),g=1)}g&&w(t,[e]),K(L,(t=>w(s,[e,t])))}),ce(o),z(r,ce)),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)=>q(c(e),t),getTableId:l,getSliceIds:e=>X(c(e)),getSliceRowIds:(e,t)=>$(Y(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 pe(v)})),ke=V([["avg",[(e,t)=>b(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=>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=>b(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Me=(e,t,s,n,o,r=!1)=>{if(H(s))return;const[a,i,l,c]=o;return r||=O(e),K(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($(s),_(s)):e},xe=de((e=>{const t=V(),[s,o,r,a,i,l,c,,d,u,f]=le(e,B,(e=>isNaN(e)||O(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=he((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=W(n)?[n,r,a,i]:Y(ke,n)??Y(ke,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=_(r);i||=O(d),s();let h=Me(d,f,r,n,u,i);Q(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),ce(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 pe(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();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:()=>(z(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return pe(l)},Ae="storage",Fe=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()},Fe.addEventListener(Ae,n)}),(()=>{Fe.removeEventListener(Ae,n),n=void 0}))},Je=e=>e.headers.get("ETag"),Qe=de((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,v,I]=le(e,(()=>!0),B),y=t(),T=t(),b=V(),E=(e,t,...s)=>S(s,(s=>ie(te(te(b,t,V),e,ae),s))),x=e=>{z(Y(b,e),(e=>{Z(e,((e,t)=>K(t,(t=>e.delListener(t))))),G(e)})),S([T,y],(t=>t.delTable(e)))},D=(e,t,s)=>E(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),A={setQueryDefinition:(t,s,o)=>{l(t,s),x(t);const r=[],a=[[null,[s,null,null,[],V()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=W(e)?[C(r)+n,e]:[O(t)?e:t,s=>s(e,t)];return M(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=O(s)||W(t)?null:t,o=O(n)?t:s,r=[e,[e,n,W(o)?o:e=>e(o),[],V()]];return M(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>M(i,W(e)?e:O(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,W(t)?[t,s,n,o]:Y(ke,t)??[(e,t)=>t]]];return M(c,r),{as:e=>r[0]=e}},having:(e,t)=>M(d,W(e)?e:s=>s(e)===t)});const u=V(r);if(H(u))return A;const f=V(a);Z(f,((e,[,t])=>z(Y(f,t),(({3:t})=>O(e)?0:M(t,e)))));const h=V(c);let g=y;if(H(h)&&m(d))g=T;else{D(t,g,T);const e=V();Z(h,((t,[s,n])=>ie(te(e,s,ae),[t,n])));const s=ae();Z(u,(t=>q(e,t)?0:ie(s,t)));const n=V(),o=(s,n,o,r)=>z(s,(([a,i,l,c])=>{Z(n,((t,[s])=>{const n=te(a,t,V),i=Y(n,o),l=r?void 0:s;if(i!==l){const s=ae([[i,l]]),r=_(n);ee(n,o,l),K(Y(e,t),(([e,t])=>{const o=Me(c[e],r,n,s,t);c[e]=O(Se(o))?null:o}))}})),H(i)||!R(d,(e=>e((e=>c[e]))))?T.delRow(t,l):O(l)?s[2]=T.addRow(t,c):T.setRow(t,l,c)}));E(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=V(),f=g.hasRow(t,i);let h=!f;K(s,(e=>{const[s,n,o]=l(t,i,e);M(c,n),M(d,o),h||=s})),Z(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&ee(u,e,[n])})),h&&o(re(n,c,void 0,(([,e])=>(U(e,i),H(e)))),u,i,1),f&&o(re(n,d,(()=>{const e={};return K(s,(s=>e[s]=g.getCell(t,i,s))),[V(),ae(),void 0,e]}),(([,e])=>{ie(e,i)})),u,i)})))}D(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);S(a,(s=>{const[o,,r,a,i]=Y(f,s),c=r?.(l,n),[d,u]=Y(i,n)??[];c!=d&&(O(u)||I(t,u),ee(i,n,O(c)?null:[c,...v(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]:[Y(f,t)?.[0],Y(Y(f,t)?.[4],n)?.[0],o]);g.transaction((()=>R(i,(e=>e(o)))?Z(u,((e,s)=>Te(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=Y(f,null);return g.transaction((()=>v(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),K(f,(({4:e})=>z(Y(e,r),(([,s])=>{I(t,s),ee(e,r)})))))}))))),A},delQueryDefinition:e=>(x(e),c(e),A),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(T.delListener(e),A),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=T.getListenerStats();return n}};return Ie({[g]:[1,1],[w]:[0,1],SortedRowIds:[0,5],Row:[1,2],[L]:[0,2],[p]:[1,3]},(([e,t],s)=>{S(e?["get","has","forEach"]:["get"],(e=>A[e+f+s]=(...t)=>T[e+s](...t))),A[h+f+s+u]=(...e)=>T[h+s+u](...k(e,0,t),((s,...n)=>e[t](A,...n)))})),pe(A)})),je=de((e=>{const t=V(),s=V(),o=V(),r=V(),[a,i,l,c,d,u,,,f,h,g]=le(e,(()=>[V(),V(),V(),V()]),(e=>O(e)?void 0:e+n)),[w,L,p]=he((()=>y)),v=(e,t,s)=>z(u(e),(([n,,o])=>{if(!q(o,t)){const r=ae();if(d(e)!=I(e))ie(r,t);else{let e=t;for(;!O(e)&&!q(r,e);)ie(r,e),e=Y(n,e)}if(s)return r;ee(o,t,r)}return Y(o,t)})),R=(e,t)=>z(u(e),(([,,e])=>ee(e,t))),I=e=>Y(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(ee(t,e,a),f(e,n,((t,n)=>{const a=ae(),i=ae(),l=ae(),[c,d]=u(e);K(n,(([t,s],n)=>{O(t)||(ie(i,t),z(Y(d,t),(e=>{U(e,n),H(e)&&ee(d,t)}))),O(s)||(ie(i,s),q(d,s)||ee(d,s,ae()),ie(Y(d,s),n)),ie(a,n),ee(c,n,s),Z(Y(r,e),(t=>{q(v(e,t),n)&&ie(l,t)}))})),t(),K(a,(t=>L(s,[e,t]))),K(i,(t=>L(o,[e,t]))),K(l,(t=>{R(e,t),L(r,[e,t])}))}),ce(i)),y),delRelationshipDefinition:e=>(ee(t,e),h(e),y),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Y(u(e)?.[0],t),getLocalRowIds:(e,t)=>$(Y(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>O(u(e))?[t]:$(v(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)=>(v(e,t),w(s,r,[e,t])),delListener:e=>(R(...p(e)),y),destroy:g,getListenerStats:()=>({})};return pe(y)})),Oe=e=>[e,e],ze=()=>[V(),V()],Ne=(e,t,s,n=ee)=>{const o=(r=X(e),a=e=>!ve(t,e),r.filter(a));var r,a;return S(we(t),(n=>s(e,n,t[n]))),S(o,(t=>n(e,t))),e},We=(e,t,s)=>O(e)||!(e=>j(e,ge)&&e.constructor==ge)(e)||ye(e)||Le(e)?(s?.(),!1):(Ie(e,((s,n)=>{t(s,n)||Re(e,n)})),!ye(e)),Be=(e,t,s)=>ee(e,t,Y(e,t)==-s?void 0:s),_e=()=>{let e,t,s=0;const n=V(),o=V(),r=V(),i=V(),d=V(),f=V(),I=V(),b=V(),m=V(),E=ze(),x=ze(),D=ze(),P=ze(),J=ze(),Q=ze(),j=ze(),B=ze(),_=ze(),$=ze(),[re,le,ce,de]=he((()=>dt)),ue=(t,s)=>(!e||q(f,s)||Ge(s))&&We(t,((e,t)=>ge(s,t,e)),(()=>Ge(s))),ge=(e,t,s,n)=>We(n?s:Le(s,e,t),((n,o)=>z(we(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Ge(e,t))),we=(t,s,n,o)=>e?z(Y(Y(f,t),n),(e=>Se(o)!=e.type?Ge(t,s,n,o,e.default):o),(()=>Ge(t,s,n,o))):O(Se(o))?Ge(t,s,n,o):o,Le=(e,t,s)=>(z(Y(I,t),(([n,o])=>{K(n,((t,s)=>{ve(e,s)||(e[s]=t)})),K(o,(n=>{ve(e,n)||Ge(t,s,n)}))})),e),be=e=>Ne(f,e,((e,t,s)=>{const n=V(),o=ae();Ne(te(f,t,V),s,((e,t,s)=>{ee(e,t,s),z(s.default,(e=>ee(n,t,e)),(()=>ie(o,t)))})),ee(I,t,[n,o])}),((e,t)=>{ee(f,t),ee(I,t)})),Ee=e=>Ne(m,e,((e,t,s)=>ke(t,s)),((e,t)=>Pe(t))),ke=(e,t)=>Ne(te(m,e,(()=>(je(e,1),V()))),t,((t,s,n)=>Me(e,t,s,n)),((t,s)=>Je(e,t,s))),Me=(e,t,s,n,o)=>Ne(te(t,s,(()=>(qe(e,s,1),V()))),n,((t,n,o)=>xe(e,s,t,n,o)),((n,r)=>Qe(e,t,s,n,r,o))),xe=(e,t,s,n,o)=>{q(s,n)||He(e,t,n,1);const r=Y(s,n);o!==r&&($e(e,t,n,r,o),ee(s,n,o))},De=(e,t,s,n,o)=>z(Y(t,s),(t=>xe(e,s,t,n,o)),(()=>Me(e,t,s,Le({[n]:o},e,s)))),Ae=e=>{const[t]=te(b,e,fe),s=t();return q(Y(m,e),s)?Ae(e):s},Fe=e=>Y(m,e)??ke(e,{}),Pe=e=>ke(e,{}),Je=(e,t,s)=>{const[,n]=te(b,e,fe);n(s),Me(e,t,s,{},!0)},Qe=(e,t,s,n,o,r)=>{const a=Y(Y(I,e)?.[0],o);if(!O(a)&&!r)return xe(e,s,n,o,a);const i=t=>{$e(e,s,t,Y(n,t)),He(e,s,t,-1),ee(n,t)};O(a)?i(o):Z(n,i),H(n)&&(qe(e,s,-1),H(ee(t,s))&&(je(e,-1),ee(m,e)))},je=(e,t)=>Be(n,e,t),qe=(e,t,s)=>Be(te(o,e,V),t,s),He=(e,t,s,n)=>Be(te(te(r,e,V),t,V),s,n),$e=(e,t,s,n,o)=>te(te(te(i,e,V),t,V),s,(()=>[n,0]))[1]=o,Ge=(e,t,s,n,o)=>(M(te(te(te(d,e,V),t,V),s,(()=>[])),n),o),Ke=(e,t,s)=>z(Y(Y(Y(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(ot(e,t,s))])),Ue=e=>H(d)||H(_[e])?0:K(e?ne(d,oe):d,((t,s)=>K(t,((t,n)=>K(t,((t,o)=>le(_[e],[s,n,o],t))))))),Ve=(e,t,s)=>{if(!H(t))return le(e,s),1},Xe=e=>{const t=H(J[e]),s=H(j[e])&&H(P[e])&&t&&H(x[e]),a=H(B[e])&&H(Q[e])&&H(D[e])&&H(E[e]);if(!s||!a){const l=e?[ne(n),oe(o),ne(r,oe),ne(i,oe)]:[n,o,r,i];if(!s){K(l[2],((t,s)=>K(t,((t,n)=>Ve(j[e],t,[s,n])))));const s=ae();K(l[1],((n,o)=>{Ve(P[e],n,[o])&&!t&&(le(J[e],[o,null]),ie(s,o))})),t||K(l[3],((t,n)=>{if(!q(s,n)){const s=ae();K(t,(e=>K(e,(([t,n],o)=>n!==t?ie(s,o):U(e,o))))),K(s,(t=>le(J[e],[n,t])))}})),Ve(x[e],l[0])}if(!a){let t;K(l[3],((s,n)=>{let o;K(s,((s,r)=>{let a;K(s,(([s,i],l)=>{i!==s&&(le(B[e],[n,r,l],i,s,Ke),t=o=a=1)})),a&&le(Q[e],[n,r],Ke)})),o&&le(D[e],[n],Ke)})),t&&le(E[e],void 0,Ke)}}},Ye=(e,...t)=>(it((()=>e(...T(t,me)))),dt),Ze=()=>se(m,(e=>se(e,se))),et=()=>X(m),tt=e=>X(Y(m,me(e))),st=(e,t,s,n=0,o)=>{const r=[];return Z(Y(m,me(e)),((e,s)=>M(r,[O(t)?e:Y(s,me(t)),e]))),T(k(y(r,(([e],[t])=>Ce(e,t)*(s?-1:1))),n,O(o)?o:n+o),(([,e])=>e))},nt=(e,t)=>X(Y(Y(m,me(e)),me(t))),ot=(e,t,s)=>Y(Y(Y(m,me(e)),me(t)),me(s)),rt=e=>Ye((()=>(e=>We(e,ue,Ge))(e)?Ee(e):0)),at=()=>Ye((()=>Ee({}))),it=(e,t)=>{if(-1==s)return;lt();const n=e?.();return ct(t),n},lt=()=>(s++,dt),ct=e=>(s>0&&(s--,0==s&&(t=!H(i),s=1,Ue(1),t&&Xe(1),s=-1,e?.(se(i,(e=>se(e,(e=>se(e,(e=>[...e]),(([e,t])=>e===t))),ye)),ye),se(d,(e=>se(e,se))))&&(s=1,K(i,((e,t)=>K(e,((e,s)=>K(e,(([e],n)=>Te(dt,t,s,n,e))))))),s=-1,t=!1),le($[0],void 0,t),Ue(0),t&&Xe(0),le($[1],void 0,t),s=0,S([i,d,n,o,r],G))),dt),dt={getTables:Ze,getTableIds:et,getTable:e=>se(Y(m,me(e)),se),getRowIds:tt,getSortedRowIds:st,getRow:(e,t)=>se(Y(Y(m,me(e)),me(t))),getCellIds:nt,getCell:ot,hasTables:()=>!H(m),hasTable:e=>q(m,me(e)),hasRow:(e,t)=>q(Y(m,me(e)),me(t)),hasCell:(e,t,s)=>q(Y(Y(m,me(e)),me(t)),me(s)),getJson:()=>A(m),getSchemaJson:()=>A(f),setTables:rt,setTable:(e,t)=>Ye((e=>ue(t,e)?ke(e,t):0),e),setRow:(e,t,s)=>Ye(((e,t)=>ge(me(e),me(t),s)?Me(me(e),Fe(me(e)),me(t),s):0),e,t),addRow:(e,t)=>it((()=>{let s;return ge(e,s,t)&&(e=me(e),Me(e,Fe(e),s=Ae(e),t)),s})),setPartialRow:(e,t,s)=>Ye(((e,t)=>{if(ge(e,t,s,1)){const n=Fe(e);Ie(s,((s,o)=>De(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ye(((e,t,s)=>z(we(e,t,s,W(n)?n(ot(e,t,s)):n),(n=>De(e,Fe(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?at():rt(F(e))}catch{}return dt},setSchema:t=>Ye((()=>{if((e=(e=>We(e,(e=>We(e,(e=>{if(!We(e,((e,t)=>v([l,c],t))))return!1;const t=e.type;return!(!N(t)&&t!=a||(Se(e.default)!=t&&Re(e,c),0))})))))(t))&&(be(t),!H(m))){const e=Ze();at(),rt(e)}})),delTables:at,delTable:e=>Ye((e=>q(m,e)?Pe(e):0),e),delRow:(e,t)=>Ye(((e,t)=>z(Y(m,e),(s=>q(s,t)?Je(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ye(((e,t,s)=>z(Y(m,e),(o=>z(Y(o,t),(r=>q(r,s)?Qe(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Ye((()=>{be({}),e=!1})),transaction:it,startTransaction:lt,finishTransaction:ct,forEachTable:e=>K(m,((t,s)=>e(s,(e=>K(t,((t,s)=>e(s,(e=>Z(t,e))))))))),forEachRow:(e,t)=>K(Y(m,me(e)),((e,s)=>t(s,(t=>Z(e,t))))),forEachCell:(e,t,s)=>Z(Y(Y(m,me(e)),me(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=st(e,t,s,n,o);return re((()=>{const a=st(e,t,s,n,o);var l,c;c=i,C(l=a)===C(c)&&R(l,((e,t)=>c[t]===e))||(i=a,r(dt,e,t,s,n,o,i))}),J[a?1:0],[e,t])},addWillFinishTransactionListener:e=>re(e,$[0]),addDidFinishTransactionListener:e=>re(e,$[1]),callListener:e=>(de(e,[et,tt,nt],(e=>O(e[2])?[]:Oe(ot(...e)))),dt),delListener:e=>(ce(e),dt),getListenerStats:()=>({}),createStore:_e};return Ie({Tables:[0,E],TableIds:[0,x],[g]:[1,D],[w]:[1,P],Row:[2,Q],[L]:[2,j],[p]:[3,B],InvalidCell:[3,_]},(([e,t],s)=>{dt[h+s+u]=(...s)=>re(s[e],t[s[e+1]?1:0],e>0?k(s,0,e):void 0)})),pe(dt)};e.createCheckpoints=be,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(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=Ee,e.createLocalPersister=(e,t)=>Pe(e,t,localStorage),e.createMetrics=xe,e.createQueries=Qe,e.createRelationships=je,e.createRemotePersister=(e,t,s,n)=>{let o,r;return De(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)}),(()=>{z(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Pe(e,t,sessionStorage),e.createStore=_e,e.defaultSorter=Ce,e.id=me,Object.defineProperty(e,"__esModule",{value:!0})},"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="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(),P=e=>JSON.stringify(e,((e,t)=>z(t,Map)?M([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),J=JSON.parse,Q=Math.max,j=Math.min,O=isFinite,z=(e,t)=>e instanceof t,N=e=>null==e,W=(e,t,s)=>N(e)?s?.():t(e),B=e=>e==o||e==r,_=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),ee=e=>[...e?.keys()??[]],te=(e,t)=>e?.get(t),se=(e,t)=>X(e,((e,s)=>t(s,e))),ne=(e,t,s)=>N(s)?(Y(e,t),e):e?.set(t,s),oe=(e,t,s)=>(G(e,t)||ne(e,t,s()),te(e,t)),re=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>W(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=Z(),n=t??(e=>e);return X(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:Z),(r=>{if(o>E(t)-2)return n?.(r)&&ne(e,t[o]),r;const a=le(r,t,s,n,o+1);return K(r)&&ne(e,t[o]),a})),ce=e=>new Set(q(e)||N(e)?e:[e]),de=(e,t)=>e?.add(t),ue=(e,t,s)=>{const n=e.hasRow,o=Z(),r=Z(),a=Z(),i=Z(),l=Z(),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)?U(n):s,(t=>{e.delListener(t),Y(n,t)})),K(n)&&ne(l,t)})),u=(e,s)=>{ne(o,e,s),G(r,e)||(ne(r,e,t()),ne(a,e,Z()),ne(i,e,Z()))},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=>G(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=Z(),g=Z(),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||q(a)&&q(i)&&I(a,i)||ne(h,t,[a,i]),!N(f)){const e=te(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&ne(g,t,s)}},R=e=>{r((()=>{X(h,(([,e],t)=>ne(w,t,e))),X(g,((e,t)=>ne(L,t,e)))}),h,g,w,L,e),V(h),V(g)};se(w,p),e.hasTable(o)&&b(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,()=>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=Z();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]?X(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=>X(e,(e=>te(r,e)[0](t,...s??[],...o))))),e=>W(te(r,e),(([,t,s])=>(le(t,s??[n],void 0,(t=>(Y(t,e),K(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)):N(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)=>!N(((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&&O(e)?t:void 0},me=(e,t,s,n,o)=>N(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=he((e=>{let t,s,o,r=100,a=Z(),i=1;const l=Z(),c=Z(),[d,u,f]=Le((()=>Q)),h=Z(),g=Z(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>X(te(h,s),((s,n)=>X(s,((s,o)=>X(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,Z),i=oe(e,n,Z),d=oe(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&K(ne(i,r))&&K(ne(e,n))&&K(ne(a,s))&&(t=D(w),o=1),M()}})),T=(e="")=>(N(t)&&(t=n+s++,ne(h,t,a),P(t,e),a=Z(),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},P=(e,t)=>(J(e)&&te(g,e)!==t&&(ne(g,e,t),u(c,[e])),Q),J=e=>G(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:x,setCheckpoint:P,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>se(g,e),hasCheckpoint:J,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(;!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)||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=Z(),s=Z(),[o,r,a,i,l,c,d,,u,f,h]=ue(e,Z,(e=>N(e)?n:q(e)?C(e,R):R(e))),[g,w,L]=Le((()=>v)),p=(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=ke)=>{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=ce(),p=ce(),R=c(e);if(X(o,(([e,t],s)=>{const n=ce(e),o=ce(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{de(L,e),W(te(R,e),(t=>{Y(t,s),K(t)&&(ne(R,e),g=1)}))})),X(o,(e=>{de(L,e),G(R,e)||(ne(R,e,ce()),g=1),de(te(R,e),s),N(r)||de(p,e)}))})),n(),K(f)||(h?se(R,(e=>de(p,e))):se(a,(e=>W(te(u,e),(e=>de(p,e))))),X(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)&&!N(l)){const t=[...R];S(t,l)||(d(e,Z(T(t,l))),g=1)}g&&w(t,[e]),X(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)=>G(c(e),t),getTableId:l,getSliceIds:e=>ee(c(e)),getSliceRowIds:(e,t)=>U(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=Z([["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(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},De=he((e=>{const t=Z(),[s,o,r,a,i,l,c,,d,u,f]=ue(e,H,(e=>isNaN(e)||N(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=_(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=$(r);i||=N(d),s();let h=Ae(d,f,r,n,u,i);O(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();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:()=>(W(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ye(l)},Pe="storage",Je=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()},Je.addEventListener(Pe,n)}),(()=>{Je.removeEventListener(Pe,n),n=void 0}))},je=e=>e.headers.get("ETag"),Oe=he((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,R,v]=ue(e,(()=>!0),H),I=t(),S=t(),T=Z(),C=(e,t,...s)=>b(s,(s=>de(oe(oe(T,t,Z),e,ce),s))),m=e=>{W(te(T,e),(e=>{se(e,((e,t)=>X(t,(t=>e.delListener(t))))),V(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,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=_(e)?[E(r)+n,e]:[N(t)?e:t,s=>s(e,t)];return A(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=N(s)||_(t)?null:t,o=N(n)?t:s,r=[e,[e,n,_(o)?o:e=>e(o),[],Z()]];return A(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>A(i,_(e)?e:N(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,_(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,_(e)?e:s=>s(e)===t)});const u=Z(r);if(K(u))return D;const f=Z(a);se(f,((e,[,t])=>W(te(f,t),(({3:t})=>N(e)?0:A(t,e)))));const h=Z(c);let g=I;if(K(h)&&k(d))g=S;else{M(t,g,S);const e=Z();se(h,((t,[s,n])=>de(oe(e,s,ce),[t,n])));const s=ce();se(u,(t=>G(e,t)?0:de(s,t)));const n=Z(),o=(s,n,o,r)=>W(s,(([a,i,l,c])=>{se(n,((t,[s])=>{const n=oe(a,t,Z),i=te(n,o),l=r?void 0:s;if(i!==l){const s=ce([[i,l]]),r=$(n);ne(n,o,l),X(te(e,t),(([e,t])=>{const o=Ae(c[e],r,n,s,t);c[e]=N(Ce(o))?null:o}))}})),K(i)||!y(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);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])=>(Y(e,i),K(e)))),u,i,1),f&&o(le(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),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&&(N(u)||v(t,u),ne(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]:[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),X(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)})),ze=he((e=>{const t=Z(),s=Z(),o=Z(),r=Z(),[a,i,l,c,d,u,,,f,h,g]=ue(e,(()=>[Z(),Z(),Z(),Z()]),(e=>N(e)?void 0:e+n)),[w,L,p]=Le((()=>I)),R=(e,t,s)=>W(u(e),(([n,,o])=>{if(!G(o,t)){const r=ce();if(d(e)!=y(e))de(r,t);else{let e=t;for(;!N(e)&&!G(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);X(n,(([t,s],n)=>{N(t)||(de(i,t),W(te(d,t),(e=>{Y(e,n),K(e)&&ne(d,t)}))),N(s)||(de(i,s),G(d,s)||ne(d,s,ce()),de(te(d,s),n)),de(a,n),ne(c,n,s),se(te(r,e),(t=>{G(R(e,t),n)&&de(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])}))}),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)=>U(te(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 ye(I)})),Ne=e=>[e,e],We=()=>[Z(),Z()],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},_e=(e,t,s)=>N(e)||!(e=>z(e,pe)&&e.constructor==pe)(e)||be(e)||ve(e)?(s?.(),!1):(Te(e,((s,n)=>{t(s,n)||Se(e,n)})),!be(e)),qe=(e,t,s)=>ne(e,t,te(e,t)==-s?void 0:s),He=()=>{let e,t,s=0;const n=Z(),o=Z(),r=Z(),i=Z(),d=Z(),f=Z(),y=Z(),S=Z(),m=Z(),E=We(),k=We(),M=We(),D=We(),F=We(),Q=We(),j=We(),O=We(),z=We(),q=We(),[H,$,U,le]=Le((()=>ct)),ue=(t,s)=>(!e||G(f,s)||$e(s))&&_e(t,((e,t)=>fe(s,t,e)),(()=>$e(s))),fe=(e,t,s,n)=>_e(n?s:ge(s,e,t),((n,o)=>W(he(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>$e(e,t))),he=(t,s,n,o)=>e?W(te(te(f,t),n),(e=>Ce(o)!=e.type?$e(t,s,n,o,e.default):o),(()=>$e(t,s,n,o))):N(Ce(o))?$e(t,s,n,o):o,ge=(e,t,s)=>(W(te(y,t),(([n,o])=>{X(n,((t,s)=>{Ie(e,s)||(e[s]=t)})),X(o,(n=>{Ie(e,n)||$e(t,s,n)}))})),e),pe=e=>Be(f,e,((e,t,s)=>{const n=Z(),o=ce();Be(oe(f,t,Z),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),Z()))),t,((t,s,n)=>Ee(e,t,s,n)),((t,s)=>Pe(e,t,s))),Ee=(e,t,s,n,o)=>Be(oe(t,s,(()=>(je(e,s,1),Z()))),n,((t,n,o)=>Me(e,s,t,n,o)),((n,r)=>Je(e,t,s,n,r,o))),Me=(e,t,s,n,o)=>{G(s,n)||Oe(e,t,n,1);const r=te(s,n);o!==r&&(ze(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 G(te(m,e),s)?Ae(e):s},De=e=>te(m,e)??ve(e,{}),Fe=e=>ve(e,{}),Pe=(e,t,s)=>{const[,n]=oe(S,e,we);n(s),Ee(e,t,s,{},!0)},Je=(e,t,s,n,o,r)=>{const a=te(te(y,e)?.[0],o);if(!N(a)&&!r)return Me(e,s,n,o,a);const i=t=>{ze(e,s,t,te(n,t)),Oe(e,s,t,-1),ne(n,t)};N(a)?i(o):se(n,i),K(n)&&(je(e,s,-1),K(ne(t,s))&&(Qe(e,-1),ne(m,e)))},Qe=(e,t)=>qe(n,e,t),je=(e,t,s)=>qe(oe(o,e,Z),t,s),Oe=(e,t,s,n)=>qe(oe(oe(r,e,Z),t,Z),s,n),ze=(e,t,s,n,o)=>oe(oe(oe(i,e,Z),t,Z),s,(()=>[n,0]))[1]=o,$e=(e,t,s,n,o)=>(A(oe(oe(oe(d,e,Z),t,Z),s,(()=>[])),n),o),Ge=(e,t,s)=>W(te(te(te(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(nt(e,t,s))])),Ke=e=>K(d)||K(z[e])?0:X(e?ae(d,ie):d,((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(F[e]),s=K(j[e])&&K(D[e])&&t&&K(k[e]),a=K(O[e])&&K(Q[e])&&K(M[e])&&K(E[e]);if(!s||!a){const l=e?[ae(n),ie(o),ae(r,ie),ae(i,ie)]:[n,o,r,i];if(!s){X(l[2],((t,s)=>X(t,((t,n)=>Ue(j[e],t,[s,n])))));const s=ce();X(l[1],((n,o)=>{Ue(D[e],n,[o])&&!t&&($(F[e],[o,null]),de(s,o))})),t||X(l[3],((t,n)=>{if(!G(s,n)){const s=ce();X(t,(e=>X(e,(([t,n],o)=>n!==t?de(s,o):Y(e,o))))),X(s,(t=>$(F[e],[n,t])))}})),Ue(k[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&&($(O[e],[n,r,l],i,s,Ge),t=o=a=1)})),a&&$(Q[e],[n,r],Ge)})),o&&$(M[e],[n],Ge)})),t&&$(E[e],void 0,Ge)}}},Xe=(e,...t)=>(at((()=>e(...C(t,R)))),ct),Ye=()=>re(m,(e=>re(e,re))),Ze=()=>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,[N(t)?e:te(s,R(t)),e]))),C(x(T(r,(([e],[t])=>ke(e,t)*(s?-1:1))),n,N(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=>Xe((()=>(e=>_e(e,ue,$e))(e)?Re(e):0)),rt=()=>Xe((()=>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=!K(i),s=1,Ke(1),t&&Ve(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,X(i,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>me(ct,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,b([i,d,n,o,r],V))),ct),ct={getTables:Ye,getTableIds:Ze,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:()=>!K(m),hasTable:e=>G(m,R(e)),hasRow:(e,t)=>G(te(m,R(e)),R(t)),hasCell:(e,t,s)=>G(te(te(m,R(e)),R(t)),R(s)),getJson:()=>P(m),getSchemaJson:()=>P(f),setTables:ot,setTable:(e,t)=>Xe((e=>ue(t,e)?ve(e,t):0),e),setRow:(e,t,s)=>Xe(((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)=>Xe(((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)=>Xe(((e,t,s)=>W(he(e,t,s,_(n)?n(nt(e,t,s)):n),(n=>xe(e,De(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?rt():ot(J(e))}catch{}return ct},setSchema:t=>Xe((()=>{if((e=(e=>_e(e,(e=>_e(e,(e=>{if(!_e(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),!K(m))){const e=Ye();rt(),ot(e)}})),delTables:rt,delTable:e=>Xe((e=>G(m,e)?Fe(e):0),e),delRow:(e,t)=>Xe(((e,t)=>W(te(m,e),(s=>G(s,t)?Pe(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Xe(((e,t,s)=>W(te(m,e),(o=>W(te(o,t),(r=>G(r,s)?Je(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Xe((()=>{pe({}),e=!1})),transaction:at,startTransaction:it,finishTransaction:lt,forEachTable:e=>X(m,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>se(t,e))))))))),forEachRow:(e,t)=>X(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 H((()=>{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=>H(e,q[0]),addDidFinishTransactionListener:e=>H(e,q[1]),callListener:e=>(le(e,[Ze,et,st],(e=>N(e[2])?[]:Ne(nt(...e)))),ct),delListener:e=>(U(e),ct),getListenerStats:()=>({}),createStore:He};return Te({Tables:[0,E],TableIds:[0,k],[g]:[1,M],[w]:[1,D],Row:[2,Q],[L]:[2,j],[p]:[3,O],InvalidCell:[3,z]},(([e,t],s)=>{ct[h+s+u]=(...s)=>H(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=Oe,e.createRelationships=ze,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);N(r)||N(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{W(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=He,e.defaultSorter=ke,Object.defineProperty(e,"__esModule",{value:!0})},"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