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
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),o=t(0),r=t(t),l="Listener",i="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)==r,b=()=>{},T=e=>e.size,C=(e,t)=>e?.has(t)??!1,m=e=>y(e)||0==T(e),I=e=>[...e?.values()??[]],Q=e=>e.clear(),S=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),M=e=>new Map(e),j=(e,t)=>e?.get(t),E=(e,t)=>S(e,((e,n)=>t(n,e))),D=(e,t,n)=>y(n)?(x(e,t),e):e?.set(t,n),F=(e,t,n)=>(C(e,t)||D(e,t,n()),j(e,t)),k=(e,t,n,s,o=0)=>L((n?F:j)(e,t[o],o>u(t)-2?n:M),(r=>{if(o>u(t)-2)return s?.(r)&&D(e,t[o]),r;const l=k(r,t,n,s,o+1);return m(r)&&D(e,t[o]),l})),z=e=>new Set(e),O=(e,t)=>e?.add(t),W=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]]]),_=e=>{const r=t(e);return(e=>e==n||e==s)(r)||r==o&&R(e)?r:void 0},B=Object,P=B.freeze,q=(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,o,r,c,,,h,,w,v,R,q]=((e,t,n)=>{const s=e.hasRow,o=M(),r=M(),l=M(),i=M(),a=M(),c=(t,n,...s)=>{const o=F(a,t,z);return d(s,(t=>O(o,t)&&n&&e.callListener(t))),s},u=(t,...n)=>L(j(a,t),(s=>{d(f(n)?I(s):n,(t=>{e.delListener(t),x(s,t)})),m(s)&&D(a,t)})),h=(e,n)=>{D(o,e,n),C(r,e)||(D(r,e,t()),D(l,e,M()),D(i,e,M()))},g=e=>{D(o,e),D(r,e),D(l,e),D(i,e),u(e)};return[()=>e,()=>[...o?.keys()??[]],e=>E(r,e),e=>C(r,e),e=>j(o,e),e=>j(r,e),(e,t)=>D(r,e,t),h,(t,o,r,a,f)=>{h(t,o);const g=M(),w=M(),v=j(l,t),R=j(i,t),L=t=>{const r=n=>e.getCell(o,t,n),l=j(v,t),i=s(o,t)?n(a(r,t)):void 0;if(l!=i&&D(g,t,[l,i]),!y(f)){const e=j(R,t),n=s(o,t)?f(r,t):void 0;e!=n&&D(w,t,n)}},p=e=>{r((()=>{S(g,(([,e],t)=>D(v,t,e))),S(w,((e,t)=>D(R,t,e)))}),g,w,v,R,e),Q(g),Q(w)};E(v,L),e.hasTable(o)&&d(e.getRowIds(o),(e=>{C(v,e)||L(e)})),p(!0),u(t),c(t,0,e.addRowListener(o,null,((e,t,n)=>L(n))),e.addTableListener(o,(()=>p())))},g,()=>E(a,g),c,u]})(e,(()=>!0),b),A=t(),G=t(),H=M(),J=(e,t,...n)=>d(n,(n=>O(F(F(H,t,M),e,z),n))),K=e=>{L(j(H,e),(e=>{E(e,((e,t)=>S(t,(t=>e.delListener(t))))),Q(e)})),d([G,A],(t=>t.delTable(e)))},N=(e,t,n)=>J(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),U={setQueryDefinition:(t,n,s)=>{h(t,n),K(t);const o=[],r=[[null,[n,null,null,[],M()]]],l=[],i=[],c=[];s({select:(e,t)=>{const n=p(e)?[u(o)+"",e]:[y(t)?e:t,n=>n(e,t)];return g(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=y(n)||p(t)?null:t,o=y(s)?t:n,l=[e,[e,s,p(o)?o:e=>e(o),[],M()]];return g(r,l),{as:e=>l[0]=e}},where:(e,t,n)=>g(l,p(e)?e:y(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,o)=>{const r=[e,[e,p(t)?[t,n,s,o]:j(W,t)??[(e,t)=>t]]];return g(i,r),{as:e=>r[0]=e}},having:(e,t)=>g(c,p(e)?e:n=>n(e)===t)});const w=M(o);if(m(w))return U;const v=M(r);E(v,((e,[,t])=>L(j(v,t),(({3:t})=>y(e)?0:g(t,e)))));const b=M(i);let Q=A;if(m(b)&&f(c))Q=G;else{N(t,Q,G);const e=M();E(b,((t,[n,s])=>O(F(e,n,z),[t,s])));const n=z();E(w,(t=>C(e,t)?0:O(n,t)));const s=M(),o=(n,s,o,r)=>L(n,(([l,i,d,u])=>{E(s,((t,[n])=>{const s=F(l,t,M),i=j(s,o),a=r?void 0:n;if(i!==a){const n=z([[i,a]]),r=T(s);D(s,o,a),S(j(e,t),(([e,t])=>{const o=((e,t,n,s,o,r=!1)=>{if(m(n))return;const[l,i,a,d]=o;return r||=y(e),S(s,(([n,s])=>{r||(e=y(n)?i?.(e,s,t++):y(s)?a?.(e,n,t--):d?.(e,s,n,t),r||=y(e))})),r?l(I(n),T(n)):e})(u[e],r,s,n,t);u[e]=y(_(o))?null:o}))}})),m(i)||!a(c,(e=>e((e=>u[e]))))?G.delRow(t,d):y(d)?n[2]=G.addRow(t,u):G.setRow(t,d,u)}));J(Q,t,Q.addRowListener(t,null,((r,l,i,a)=>{const d=[],c=[],u=M(),f=Q.hasRow(t,i);let h=!f;S(n,(e=>{const[n,s,o]=a(t,i,e);g(d,s),g(c,o),h||=n})),E(e,(e=>{const[n,,s]=a(t,i,e);(h||n)&&D(u,e,[s])})),h&&o(k(s,d,void 0,(([,e])=>(x(e,i),m(e)))),u,i,1),f&&o(k(s,c,(()=>{const e={};return S(n,(n=>e[n]=Q.getCell(t,i,n))),[M(),z(),void 0,e]}),(([,e])=>{O(e,i)})),u,i)})))}N(t,e,Q);const B=s=>{const o=(t,o)=>e.getCell(...y(o)?[n,s,t]:t===n?[n,s,o]:[j(v,t)?.[0],j(j(v,t)?.[4],s)?.[0],o]);Q.transaction((()=>a(l,(e=>e(o)))?E(w,((e,n)=>((e,t,n,s,o)=>y(o)?e.delCell(t,n,s,!0):e.setCell(t,n,s,o))(Q,t,s,e,n(o,s)))):Q.delRow(t,s)))},P=(n,s,o,r)=>{const l=t=>e.getCell(s,o,t);d(r,(s=>{const[o,,r,i,a]=j(v,s),d=r?.(l,n),[c,u]=j(a,n)??[];d!=c&&(y(u)||q(t,u),D(a,n,y(d)?null:[d,...R(t,1,e.addRowListener(o,d,(()=>P(n,o,d,i))))]))})),B(n)},{3:H}=j(v,null);return Q.transaction((()=>R(t,1,e.addRowListener(n,null,((s,o,r)=>{e.hasRow(n,r)?P(r,n,r,H):(Q.delRow(t,r),S(v,(({4:e})=>L(j(e,r),(([,n])=>{q(t,n),D(e,r)})))))}))))),U},delQueryDefinition:e=>(K(e),w(e),U),getStore:n,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:c,delListener:e=>(G.delListener(e),U),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=G.getListenerStats();return s}};var V,X;return V={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},X=([e,t],n)=>{d(e?["get","has","forEach"]:["get"],(e=>U[e+i+n]=(...t)=>G[e+n](...t))),U["addResult"+n+l]=(...e)=>{return G["add"+n+l](...(s=e,o=0,r=t,s.slice(o,r)),((n,...s)=>e[t](U,...s)));var s,o,r}},d(B.entries(V),(([e,t])=>X(t,e))),P(U)}));e.createQueries=q,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).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="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,b=e=>Array.isArray(e),T=()=>{},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),M=(e,t)=>e?.delete(t),j=e=>new Map(e),E=(e,t)=>e?.get(t),D=(e,t)=>x(e,((e,n)=>t(n,e))),F=(e,t,n)=>y(n)?(M(e,t),e):e?.set(t,n),k=(e,t,n)=>(m(e,t)||F(e,t,n()),E(e,t)),z=(e,t,n,s,r=0)=>L((n?k:E)(e,t[r],r>u(t)-2?n:j),(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(b(e)||y(e)?e:[e]),O=(e,t)=>e?.add(t),W=j([["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]]]),_=e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&R(e)?o:void 0},B=(e,t,n)=>{const s=e.hasRow,r=j(),o=j(),i=j(),l=j(),c=j(),h=(t,n,...s)=>{const r=k(c,t,A);return d(s,(t=>O(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>L(E(c,t),(s=>{d(f(n)?Q(s):n,(t=>{e.delListener(t),M(s,t)})),I(s)&&F(c,t)})),w=(e,n)=>{F(r,e,n),m(o,e)||(F(o,e,t()),F(i,e,j()),F(l,e,j()))},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=>E(r,e),e=>E(o,e),(e,t)=>F(o,e,t),w,(t,r,o,c,f)=>{w(t,r);const v=j(),R=j(),L=E(i,t),p=E(l,t),T=t=>{const o=n=>e.getCell(r,t,n),i=E(L,t),l=s(r,t)?n(c(o,t)):void 0;var d,h;if(i===l||b(i)&&b(l)&&(h=l,u(d=i)===u(h)&&a(d,((e,t)=>h[t]===e)))||F(v,t,[i,l]),!y(f)){const e=E(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,T),e.hasTable(r)&&d(e.getRowIds(r),(e=>{m(L,e)||T(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>C())))},v,()=>D(c,v),h,g]},P=Object,q=P.freeze,G=(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,b]=B(e,(()=>!0),T),G=t(),H=t(),J=j(),K=(e,t,...n)=>d(n,(n=>O(k(k(J,t,j),e,A),n))),N=e=>{L(E(J,e),(e=>{D(e,((e,t)=>x(t,(t=>e.delListener(t))))),S(e)})),d([H,G],(t=>t.delTable(e)))},U=(e,t,n)=>K(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),V={setQueryDefinition:(t,n,s)=>{h(t,n),N(t);const r=[],o=[[null,[n,null,null,[],j()]]],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),[],j()]];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]:E(W,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=j(r);if(I(w))return V;const v=j(o);D(v,((e,[,t])=>L(E(v,t),(({3:t})=>y(e)?0:g(t,e)))));const T=j(l);let S=G;if(I(T)&&f(c))S=H;else{U(t,S,H);const e=j();D(T,((t,[n,s])=>O(k(e,n,A),[t,s])));const n=A();D(w,(t=>m(e,t)?0:O(n,t)));const s=j(),r=(n,s,r,o)=>L(n,(([i,l,d,u])=>{D(s,((t,[n])=>{const s=k(i,t,j),l=E(s,r),a=o?void 0:n;if(l!==a){const n=A([[l,a]]),o=C(s);F(s,r,a),x(E(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(_(r))?null:r}))}})),I(l)||!a(c,(e=>e((e=>u[e]))))?H.delRow(t,d):y(d)?n[2]=H.addRow(t,u):H.setRow(t,d,u)}));K(S,t,S.addRowListener(t,null,((o,i,l,a)=>{const d=[],c=[],u=j(),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])=>(M(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))),[j(),A(),void 0,e]}),(([,e])=>{O(e,l)})),u,l)})))}U(t,e,S);const B=s=>{const r=(t,r)=>e.getCell(...y(r)?[n,s,t]:t===n?[n,s,r]:[E(v,t)?.[0],E(E(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)))},P=(n,s,r,o)=>{const i=t=>e.getCell(s,r,t);d(o,(s=>{const[r,,o,l,a]=E(v,s),d=o?.(i,n),[c,u]=E(a,n)??[];d!=c&&(y(u)||b(t,u),F(a,n,y(d)?null:[d,...R(t,1,e.addRowListener(r,d,(()=>P(n,r,d,l))))]))})),B(n)},{3:q}=E(v,null);return S.transaction((()=>R(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?P(o,n,o,q):(S.delRow(t,o),x(v,(({4:e})=>L(E(e,o),(([,n])=>{b(t,n),F(e,o)})))))}))))),V},delQueryDefinition:e=>(N(e),w(e),V),getStore:n,getQueryIds:s,forEachQuery:r,hasQuery:o,getTableId:c,delListener:e=>(H.delListener(e),V),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=H.getListenerStats();return s}};var X,Y;return X={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},Y=([e,t],n)=>{d(e?["get","has","forEach"]:["get"],(e=>V[e+l+n]=(...t)=>H[e+n](...t))),V["addResult"+n+i]=(...e)=>{return H["add"+n+i](...(s=e,r=0,o=t,s.slice(r,o)),((n,...s)=>e[t](V,...s)));var s,r,o}},d(P.entries(X),(([e,t])=>Y(t,e))),q(V)}));e.createQueries=G,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).TinyBaseQueries={});
Binary file