tinybase 4.0.0 → 4.0.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 (186) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  11. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-file.cjs +1 -1
  15. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  17. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  19. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  21. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  22. package/lib/cjs/relationships.cjs +1 -1
  23. package/lib/cjs/relationships.cjs.gz +0 -0
  24. package/lib/cjs/store.cjs +1 -1
  25. package/lib/cjs/store.cjs.gz +0 -0
  26. package/lib/cjs/tinybase.cjs +1 -1
  27. package/lib/cjs/tinybase.cjs.gz +0 -0
  28. package/lib/cjs/tools.cjs +1 -1
  29. package/lib/cjs/tools.cjs.gz +0 -0
  30. package/lib/cjs/ui-react.cjs +1 -1
  31. package/lib/cjs/ui-react.cjs.gz +0 -0
  32. package/lib/cjs-es6/checkpoints.cjs +1 -1
  33. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  34. package/lib/cjs-es6/indexes.cjs +1 -1
  35. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  36. package/lib/cjs-es6/metrics.cjs +1 -1
  37. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  38. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  39. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  40. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  41. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  42. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  43. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  44. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  45. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  46. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  47. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  48. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  49. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  50. package/lib/cjs-es6/relationships.cjs +1 -1
  51. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  52. package/lib/cjs-es6/store.cjs +1 -1
  53. package/lib/cjs-es6/store.cjs.gz +0 -0
  54. package/lib/cjs-es6/tinybase.cjs +1 -1
  55. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  56. package/lib/cjs-es6/tools.cjs +1 -1
  57. package/lib/cjs-es6/tools.cjs.gz +0 -0
  58. package/lib/cjs-es6/ui-react.cjs +1 -1
  59. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  60. package/lib/debug/checkpoints.js +6 -6
  61. package/lib/debug/indexes.js +7 -7
  62. package/lib/debug/metrics.js +12 -12
  63. package/lib/debug/persisters/persister-browser.js +10 -19
  64. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -15
  65. package/lib/debug/persisters/persister-file.js +10 -19
  66. package/lib/debug/persisters/persister-remote.js +10 -19
  67. package/lib/debug/persisters/persister-sqlite-wasm.js +6 -15
  68. package/lib/debug/persisters/persister-sqlite3.js +6 -15
  69. package/lib/debug/persisters.js +4 -4
  70. package/lib/debug/relationships.js +7 -7
  71. package/lib/debug/store.js +16 -24
  72. package/lib/debug/tinybase.js +20 -28
  73. package/lib/debug/tools.js +14 -13
  74. package/lib/debug/ui-react.js +4 -4
  75. package/lib/es6/checkpoints.js +1 -1
  76. package/lib/es6/checkpoints.js.gz +0 -0
  77. package/lib/es6/indexes.js +1 -1
  78. package/lib/es6/indexes.js.gz +0 -0
  79. package/lib/es6/metrics.js +1 -1
  80. package/lib/es6/metrics.js.gz +0 -0
  81. package/lib/es6/persisters/persister-browser.js +1 -1
  82. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  83. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  84. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  85. package/lib/es6/persisters/persister-file.js +1 -1
  86. package/lib/es6/persisters/persister-file.js.gz +0 -0
  87. package/lib/es6/persisters/persister-remote.js +1 -1
  88. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  89. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  90. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  91. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  92. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  93. package/lib/es6/relationships.js +1 -1
  94. package/lib/es6/relationships.js.gz +0 -0
  95. package/lib/es6/store.js +1 -1
  96. package/lib/es6/store.js.gz +0 -0
  97. package/lib/es6/tinybase.js +1 -1
  98. package/lib/es6/tinybase.js.gz +0 -0
  99. package/lib/es6/tools.js +1 -1
  100. package/lib/es6/tools.js.gz +0 -0
  101. package/lib/es6/ui-react.js +1 -1
  102. package/lib/es6/ui-react.js.gz +0 -0
  103. package/lib/indexes.js +1 -1
  104. package/lib/indexes.js.gz +0 -0
  105. package/lib/metrics.js +1 -1
  106. package/lib/metrics.js.gz +0 -0
  107. package/lib/persisters/persister-browser.js +1 -1
  108. package/lib/persisters/persister-browser.js.gz +0 -0
  109. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  110. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  111. package/lib/persisters/persister-file.js +1 -1
  112. package/lib/persisters/persister-file.js.gz +0 -0
  113. package/lib/persisters/persister-remote.js +1 -1
  114. package/lib/persisters/persister-remote.js.gz +0 -0
  115. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/persisters/persister-sqlite3.js +1 -1
  118. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/relationships.js +1 -1
  120. package/lib/relationships.js.gz +0 -0
  121. package/lib/store.js +1 -1
  122. package/lib/store.js.gz +0 -0
  123. package/lib/tinybase.js +1 -1
  124. package/lib/tinybase.js.gz +0 -0
  125. package/lib/tools.js +1 -1
  126. package/lib/tools.js.gz +0 -0
  127. package/lib/ui-react.js +1 -1
  128. package/lib/ui-react.js.gz +0 -0
  129. package/lib/umd/checkpoints.js +1 -1
  130. package/lib/umd/checkpoints.js.gz +0 -0
  131. package/lib/umd/indexes.js +1 -1
  132. package/lib/umd/indexes.js.gz +0 -0
  133. package/lib/umd/metrics.js +1 -1
  134. package/lib/umd/metrics.js.gz +0 -0
  135. package/lib/umd/persisters/persister-browser.js +1 -1
  136. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  137. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  138. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  139. package/lib/umd/persisters/persister-file.js +1 -1
  140. package/lib/umd/persisters/persister-file.js.gz +0 -0
  141. package/lib/umd/persisters/persister-remote.js +1 -1
  142. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  143. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  144. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  145. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  146. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  147. package/lib/umd/relationships.js +1 -1
  148. package/lib/umd/relationships.js.gz +0 -0
  149. package/lib/umd/store.js +1 -1
  150. package/lib/umd/store.js.gz +0 -0
  151. package/lib/umd/tinybase.js +1 -1
  152. package/lib/umd/tinybase.js.gz +0 -0
  153. package/lib/umd/tools.js +1 -1
  154. package/lib/umd/tools.js.gz +0 -0
  155. package/lib/umd/ui-react.js +1 -1
  156. package/lib/umd/ui-react.js.gz +0 -0
  157. package/lib/umd-es6/checkpoints.js +1 -1
  158. package/lib/umd-es6/checkpoints.js.gz +0 -0
  159. package/lib/umd-es6/indexes.js +1 -1
  160. package/lib/umd-es6/indexes.js.gz +0 -0
  161. package/lib/umd-es6/metrics.js +1 -1
  162. package/lib/umd-es6/metrics.js.gz +0 -0
  163. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  164. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  165. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  166. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  167. package/lib/umd-es6/persisters/persister-file.js +1 -1
  168. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  169. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  170. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  171. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  172. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  173. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  174. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  175. package/lib/umd-es6/relationships.js +1 -1
  176. package/lib/umd-es6/relationships.js.gz +0 -0
  177. package/lib/umd-es6/store.js +1 -1
  178. package/lib/umd-es6/store.js.gz +0 -0
  179. package/lib/umd-es6/tinybase.js +1 -1
  180. package/lib/umd-es6/tinybase.js.gz +0 -0
  181. package/lib/umd-es6/tools.js +1 -1
  182. package/lib/umd-es6/tools.js.gz +0 -0
  183. package/lib/umd-es6/ui-react.js +1 -1
  184. package/lib/umd-es6/ui-react.js.gz +0 -0
  185. package/package.json +30 -30
  186. package/readme.md +5 -5
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row"+i,g="Cell",T=g+i,b="Value",V=b+"s",v=b+i,C=e=>s+e,S=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),w=e=>e.length,p=(e,t,s)=>e.slice(t,s),I=(e,...t)=>e.push(...t),R=e=>JSON.stringify(e,((e,t)=>{return L(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),m=JSON.parse,J=isFinite,L=(e,t)=>e instanceof t,E=e=>null==e,F=(e,t,s)=>E(e)?s?.():t(e),x=e=>e==l||e==n,z=e=>t(e)==o,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,t)=>!E(((e,t)=>F(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>y(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>w(j(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>E(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>(W(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(B(t,((t,l)=>s(e,l,t))),X(e,(s=>N(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),oe=(e,t,s,l,n=0)=>F((s?Z:U)(e,t[n],n>w(t)-2?s:K),(a=>{if(n>w(t)-2)return l?.(a)&&Y(e,t[n]),a;const o=oe(a,t,s,l,n+1);return $(a)&&Y(e,t[n]),o})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{ie.test(t)&&w(e)<1e3&&I(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],fe=e=>[...e],ge=([e,t])=>e===t,Te=e=>{const s=t(e);return x(s)||s==a&&J(e)?s:void 0},be=(e,t,s,l,n)=>E(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),ve=(e,t,s)=>E(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),Ce=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Se=()=>{let e,t,l=!1,n=!1,o=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ie=K(),ye=K(),we=K(),pe=K(),Ie=K(),Re=K(),me=re(),Je=K(),Le=K(),Ee=K(),Fe=K(),xe=he(),ze=he(),Oe=he(),je=he(),ke=he(),Ae=he(),Me=he(),Ne=he(),Pe=he(),Be=he(),De=he(),We=he(),$e=he(),qe=he(),Ge=K(),He=he(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[l,n]=de(),a=K();return[(e,n,o,r=[],c=(()=>[]))=>{t??=is;const i=l(1);return Y(a,i,[e,n,o,r,c]),ce(oe(n,o??[s],re),i),i},(e,l,...n)=>S(((e,t=[s])=>{const l=[],n=(e,s)=>s==w(t)?I(l,e):null===t[s]?G(e,(e=>n(e,s+1))):S([t[s],null],(t=>n(U(e,t),s+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](t,...l??[],...n))))),e=>F(U(a,e),(([,t,l])=>(oe(t,l??[s],void 0,(t=>(H(t,e),$(t)?1:0))),Y(a,e),n(e),l))),e=>F(U(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=w(o);r==w(s)?e(t,...o,...n(o)):E(s[r])?S(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),Ye=e=>{if(!ve(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!x(t)&&t!=a||(Te(e[c])!=t&&P(e,c),0))},Ze=(t,s)=>(!e||W(we,s)||Lt(s))&&ve(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>ve(l?s:lt(s,e,t),((l,n)=>F(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?F(U(U(we,t),l),(e=>Te(n)!=e[r]?Lt(t,s,l,n,e[c]):n),(()=>Lt(t,s,l,n))):E(Te(n))?Lt(t,s,l,n):n,tt=(e,t)=>ve(t?e:nt(e),((t,s)=>F(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,s)=>t?F(U(Ie,e),(t=>Te(s)!=t[r]?Et(e,s,t[c]):s),(()=>Et(e,s))):E(Te(s))?Et(e,s):s,lt=(e,t,s)=>(F(U(pe,t),(([l,n])=>{G(l,((t,s)=>{N(e,s)||(e[s]=t)})),G(n,(l=>{N(e,l)||Lt(t,s,l)}))})),e),nt=e=>(t&&(G(Re,((t,s)=>{N(e,s)||(e[s]=t)})),G(me,(t=>{N(e,t)||Et(t)}))),e),at=e=>_(we,e,((e,t,s)=>{const l=K(),n=re();_(Z(we,t,K),s,((e,t,s)=>{Y(e,t,s),F(s[c],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(pe,t,[l,n])}),((e,t)=>{Y(we,t),Y(pe,t)})),ot=e=>_(Ie,e,((e,t,s)=>{Y(Ie,t,s),F(s[c],(e=>Y(Re,t,e)),(()=>ce(me,t)))}),((e,t)=>{Y(Ie,t),Y(Re,t),H(me,t)})),rt=e=>D(e)?es():Ut(e),ct=e=>_(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>vt(t))),it=(e,t)=>_(Z(Ee,e,(()=>(wt(e,1),Y(Je,e,de()),Y(Le,e,K()),K()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>Ct(e,t,s))),dt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||It(e,t,l,1);const a=U(s,l);n!==a&&(Rt(e,t,l,a,n),Y(s,l,n))},ht=(e,t,s,l,n)=>F(U(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),ft=e=>D(e)?ls():Xt(e),gt=e=>_(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>yt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=U(Fe,e);t!==s&&(Jt(e,s,t),Y(Fe,e,t))},bt=(e,t)=>{const[s]=U(Je,e),l=s(t);return W(U(Ee,e),l)?bt(e,t):l},Vt=e=>U(Ee,e)??it(e,{}),vt=e=>it(e,{}),Ct=(e,t,s)=>{const[,l]=U(Je,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const o=U(U(pe,e)?.[0],n);if(!E(o)&&!a)return ut(e,s,l,n,o);const r=t=>{Rt(e,s,t,U(l,t)),It(e,s,t,-1),Y(l,t)};E(o)?r(n):X(l,r),$(l)&&(pt(e,s,-1),$(Y(t,s))&&(wt(e,-1),Y(Ee,e),Y(Je,e),Y(Le,e)))},yt=e=>{const t=U(Re,e);if(!E(t))return Tt(e,t);Jt(e,U(Fe,e)),mt(e,-1),Y(Fe,e)},wt=(e,t)=>Ce(i,e,t),pt=(e,t,s)=>Ce(Z(L,e,K),t,s),It=(e,t,s,l)=>{const n=U(Le,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Z(J,e,K),s,l),Y(n,s,a!=-l?a+l:null),Ce(Z(Z(O,e,K),t,K),s,l)},Rt=(e,t,s,l,n)=>Z(Z(Z(j,e,K),t,K),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(k,e,t),Jt=(e,t,s)=>Z(M,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(I(Z(Z(Z(ie,e,K),t,K),s,(()=>[])),l),n),Et=(e,t,s)=>(I(Z(ye,e,(()=>[])),t),s),Ft=(e,t,s)=>F(U(U(U(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Gt(e,t,s))])),xt=e=>F(U(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Qt(e))])),zt=e=>$(ie)||$(Be[e])?0:G(e?ae(ie):ie,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>Qe(Be[e],[s,l,n],t))))))),Ot=e=>$(ye)||$(De[e])?0:G(e?le(ye):ye,((t,s)=>Qe(De[e],[s],t))),jt=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>ee(t))),1},kt=e=>{const t=$(Ae[e]),s=$(Ne[e])&&$(je[e])&&$(ke[e])&&t&&$(ze[e]),l=$(Pe[e])&&$(Me[e])&&$(Oe[e])&&$(xe[e]);if(!s||!l){const n=e?[le(i),ne(J),ne(L),ae(O),ae(j)]:[i,J,L,O,j];if(!s){jt(ze[e],n[0]),G(n[1],((t,s)=>jt(je[e],t,[s])));const s=re();G(n[2],((l,n)=>{jt(ke[e],l,[n])&&!t&&(Qe(Ae[e],[n,null]),ce(s,n))})),t||G(n[4],((t,l)=>{if(!W(s,l)){const s=re();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>Qe(Ae[e],[l,t])))}})),G(n[3],((t,s)=>G(t,((t,l)=>jt(Ne[e],t,[s,l])))))}if(!l){let t;G(n[4],((s,l)=>{let n;G(s,((s,a)=>{let o;G(s,(([s,r],c)=>{r!==s&&(Qe(Pe[e],[l,a,c],r,s,Ft),t=n=o=1)})),o&&Qe(Me[e],[l,a],Ft)})),n&&Qe(Oe[e],[l],Ft)})),t&&Qe(xe[e],void 0,Ft)}}},At=e=>{const t=$($e[e]),s=$(qe[e])&&$(We[e]);if(!t||!s){const l=e?[le(k),le(M)]:[k,M];if(t||jt($e[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(Qe(qe[e],[n],l,s,xt),t=1)})),t&&Qe(We[e],void 0,xt)}}},Mt=(e,...t)=>(os((()=>e(...y(t,C)))),is),Nt=()=>[ee(j,((e,t)=>-1===U(i,t)?null:ee(e,((e,s)=>-1===U(U(L,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),ee(M,(([,e])=>e??null),((e,t)=>ge(t)))],Pt=()=>({cellsTouched:l,valuesTouched:n,changedCells:se(j,fe,ge),invalidCells:se(ie),changedValues:ee(M,fe,ge),invalidValues:ee(ye),changedTableIds:ee(i),changedRowIds:te(L),changedCellIds:se(O),changedValueIds:ee(k)}),Bt=()=>se(Ee),Dt=()=>Q(Ee),Wt=e=>Q(U(Ee,C(e))),$t=(e,t,s,l=0,n)=>{return y(p((o=U(Ee,C(e)),r=(e,s)=>[E(t)?s:U(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),y([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,E(n)?n:l+n),(([,e])=>e));var a,o,r},qt=(e,t)=>Q(U(U(Ee,C(e)),C(t))),Gt=(e,t,s)=>U(U(U(Ee,C(e)),C(t)),C(s)),Ht=()=>ee(Fe),Kt=()=>Q(Fe),Qt=e=>U(Fe,C(e)),Ut=e=>Mt((()=>(e=>ve(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Mt((()=>tt(e)?gt(e):0)),Yt=e=>{try{rt(m(e))}catch{}return is},Zt=t=>Mt((()=>{if((e=ve(t,(e=>ve(e,Ye))))&&(at(t),!$(Ee))){const e=Bt();es(),Ut(e)}})),_t=e=>Mt((()=>{if(t=(e=>ve(e,Ye))(e)){const s=Ht();as(),ls(),t=!0,ot(e),Xt(s)}})),es=()=>Mt((()=>ct({}))),ts=e=>Mt((e=>W(Ee,e)?vt(e):0),e),ss=(e,t)=>Mt(((e,t)=>F(U(Ee,e),(s=>W(s,t)?Ct(e,s,t):0))),e,t),ls=()=>Mt((()=>gt({}))),ns=()=>Mt((()=>{at({}),e=!1})),as=()=>Mt((()=>{ot({}),t=!1})),os=(e,t)=>{if(-1!=o){rs();const s=e();return cs(t),s}},rs=()=>(-1!=o&&o++,1==o&&Qe(Ge,void 0,Nt,Pt),is),cs=e=>(o>0&&(o--,0==o&&(l=!$(j),n=!$(M),o=1,zt(1),l&&kt(1),Ot(1),n&&At(1),e?.(Nt,Pt)&&(G(j,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>be(is,t,s,l,e))))))),G(M,(([e],t)=>Ve(is,t,e))),l=n=!1),Qe(He[0],void 0,Nt,Pt),o=-1,zt(0),l&&kt(0),Ot(0),n&&At(0),Qe(He[1],void 0,Nt,Pt),o=0,l=n=!1,S([i,J,L,O,j,ie,k,M,ye],q))),is),is={getContent:()=>[Bt(),Ht()],getTables:Bt,getTableIds:Dt,getTable:e=>te(U(Ee,C(e))),getTableCellIds:e=>Q(U(Le,C(e))),getRowIds:Wt,getSortedRowIds:$t,getRow:(e,t)=>ee(U(U(Ee,C(e)),C(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(U(Le,C(e)),C(t)),hasRow:(e,t)=>W(U(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(U(U(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>R(Ee),getValuesJson:()=>R(Fe),getJson:()=>R([Ee,Fe]),getTablesSchemaJson:()=>R(we),getValuesSchemaJson:()=>R(Ie),getSchemaJson:()=>R([we,Ie]),setContent:([e,t])=>Mt((()=>{(D(e)?es:Ut)(e),(D(t)?ls:Xt)(t)})),setTables:Ut,setTable:(e,t)=>Mt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Mt(((e,t)=>_e(e,t,s)?dt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>os((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,Vt(e),l=bt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Mt(((e,t)=>{if(_e(e,t,s,1)){const l=Vt(e);B(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Mt(((e,t,s)=>F(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,Vt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Mt((()=>tt(e,1)?B(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Mt((e=>F(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Mt((()=>{B(e[0],((e,t)=>E(e)?ts(t):B(e,((e,s)=>E(e)?ss(t,s):B(e,((e,l)=>be(is,t,s,l,e))))))),B(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{ft(m(e))}catch{}return is},setJson:e=>{try{const[t,s]=m(e);rt(t),ft(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Mt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Mt(((e,t,s)=>F(U(Ee,e),(n=>F(U(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Mt((e=>W(Fe,e)?yt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Mt((()=>{ns(),as()})),transaction:os,startTransaction:rs,finishTransaction:cs,forEachTable:e=>G(Ee,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Le,C(e)),t),forEachRow:(e,t)=>G(U(Ee,C(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(Ee,C(e)),C(t)),s),forEachValue:e=>X(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=$t(e,t,s,l,n);return Ke((()=>{const o=$t(e,t,s,l,n);var c,i,d;i=r,w(c=o)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(is,e,t,s,l,n,r))}),Ae[o?1:0],[e,t],[Dt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:Se};return B({[u]:[0,xe],[h]:[0,ze],[d]:[1,Oe,[Dt]],[d+T]:[1,je,[Dt]],[f]:[1,ke,[Dt]],Row:[2,Me,[Dt,Wt]],[T]:[2,Ne,[Dt,Wt]],[g]:[3,Pe,[Dt,Wt,qt],e=>ue(Gt(...e))],InvalidCell:[3,Be],[V]:[0,We],[v]:[0,$e],[b]:[1,qe,[Kt],e=>ue(Qt(e[0]))],InvalidValue:[1,De]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?p(n,0,e):void 0,s,l)})),A(is)};e.createStore=Se},"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,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row"+i,g="Cell",T=g+i,b="Value",V=b+"s",C=b+i,S=e=>s+e,v=isFinite,y=(e,t)=>e instanceof t,w=e=>null==e,p=(e,t,s)=>w(e)?s?.():t(e),I=e=>e==l||e==n,m=e=>t(e)==o,R=(e,t)=>e.forEach(t),J=(e,t)=>e.map(t),E=e=>e.length,L=(e,t,s)=>e.slice(t,s),F=(e,...t)=>e.push(...t),x=Object,z=x.keys,O=x.isFrozen,j=x.freeze,k=e=>y(e,x)&&e.constructor==x,A=(e,t)=>!w(((e,t)=>p(e,(e=>e[t])))(e,t)),M=(e,t)=>(delete e[t],e),N=(e,t)=>J(x.entries(e),(([e,s])=>t(s,e))),P=e=>k(e)&&0==(e=>E(z(e)))(e),B=(e,t)=>e?.has(t)??!1,D=e=>w(e)||0==(e=>e.size)(e),W=e=>e.clear(),$=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),G=e=>new Map(e),H=e=>[...e?.keys()??[]],K=(e,t)=>e?.get(t),Q=(e,t)=>$(e,((e,s)=>t(s,e))),U=(e,t,s)=>w(s)?(q(e,t),e):e?.set(t,s),X=(e,t,s)=>(B(e,t)||U(e,t,s()),K(e,t)),Y=(e,t,s,l=U)=>(N(t,((t,l)=>s(e,l,t))),Q(e,(s=>A(t,s)?0:l(e,s))),e),Z=(e,t,s)=>{const l={};return $(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},_=(e,t,s)=>Z(e,(e=>Z(e,t,s)),P),ee=(e,t,s)=>Z(e,(e=>_(e,t,s)),P),te=(e,t)=>{const s=G();return $(e,((e,l)=>s.set(l,t?.(e)??e))),s},se=e=>te(e,te),le=e=>te(e,se),ne=(e,t,s,l,n=0)=>p((s?X:K)(e,t[n],n>E(t)-2?s:G),(a=>{if(n>E(t)-2)return l?.(a)&&U(e,t[n]),a;const o=ne(a,t,s,l,n+1);return D(a)&&U(e,t[n]),o})),ae=e=>new Set(Array.isArray(e)||w(e)?e:[e]),oe=(e,t)=>e?.add(t),re=/^\d+$/,ce=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{re.test(t)&&E(e)<1e3&&F(e,t)}]},ie=e=>[e,e],de=()=>[G(),G()],ue=e=>[...e],he=([e,t])=>e===t,fe=e=>{const s=t(e);return I(s)||s==a&&v(e)?s:void 0},ge=(e,t,s,l,n)=>w(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Te=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),be=e=>JSON.stringify(e,((e,t)=>y(t,Map)?x.fromEntries([...t]):t)),Ve=JSON.parse,Ce=(e,t,s)=>w(e)||!k(e)||P(e)||O(e)?(s?.(),!1):(N(e,((s,l)=>{t(s,l)||M(e,l)})),!P(e)),Se=(e,t,s)=>U(e,t,K(e,t)==-s?void 0:s),ve=()=>{let e,t,l=!1,n=!1,o=0;const i=G(),v=G(),y=G(),x=G(),z=G(),O=G(),k=G(),re=G(),ye=G(),we=G(),pe=G(),Ie=G(),me=G(),Re=ae(),Je=G(),Ee=G(),Le=G(),Fe=G(),xe=de(),ze=de(),Oe=de(),je=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),Be=de(),De=de(),We=de(),$e=de(),qe=de(),Ge=G(),He=de(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[l,n]=ce(),a=G();return[(e,n,o,r=[],c=(()=>[]))=>{t??=is;const i=l(1);return U(a,i,[e,n,o,r,c]),oe(ne(n,o??[s],ae),i),i},(e,l,...n)=>R(((e,t=[s])=>{const l=[],n=(e,s)=>s==E(t)?F(l,e):null===t[s]?$(e,(e=>n(e,s+1))):R([t[s],null],(t=>n(K(e,t),s+1)));return n(e,0),l})(e,l),(e=>$(e,(e=>K(a,e)[0](t,...l??[],...n))))),e=>p(K(a,e),(([,t,l])=>(ne(t,l??[s],void 0,(t=>(q(t,e),D(t)?1:0))),U(a,e),n(e),l))),e=>p(K(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...n(o)):w(s[r])?R(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),Ye=e=>{if(!Ce(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!I(t)&&t!=a||(fe(e[c])!=t&&M(e,c),0))},Ze=(t,s)=>(!e||B(we,s)||Et(s))&&Ce(t,((e,t)=>_e(s,t,e)),(()=>Et(s))),_e=(e,t,s,l)=>Ce(l?s:lt(s,e,t),((l,n)=>p(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Et(e,t))),et=(t,s,l,n)=>e?p(K(K(we,t),l),(e=>fe(n)!=e[r]?Et(t,s,l,n,e[c]):n),(()=>Et(t,s,l,n))):w(fe(n))?Et(t,s,l,n):n,tt=(e,t)=>Ce(t?e:nt(e),((t,s)=>p(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Lt())),st=(e,s)=>t?p(K(Ie,e),(t=>fe(s)!=t[r]?Lt(e,s,t[c]):s),(()=>Lt(e,s))):w(fe(s))?Lt(e,s):s,lt=(e,t,s)=>(p(K(pe,t),(([l,n])=>{$(l,((t,s)=>{A(e,s)||(e[s]=t)})),$(n,(l=>{A(e,l)||Et(t,s,l)}))})),e),nt=e=>(t&&($(me,((t,s)=>{A(e,s)||(e[s]=t)})),$(Re,(t=>{A(e,t)||Lt(t)}))),e),at=e=>Y(we,e,((e,t,s)=>{const l=G(),n=ae();Y(X(we,t,G),s,((e,t,s)=>{U(e,t,s),p(s[c],(e=>U(l,t,e)),(()=>oe(n,t)))})),U(pe,t,[l,n])}),((e,t)=>{U(we,t),U(pe,t)})),ot=e=>Y(Ie,e,((e,t,s)=>{U(Ie,t,s),p(s[c],(e=>U(me,t,e)),(()=>oe(Re,t)))}),((e,t)=>{U(Ie,t),U(me,t),q(Re,t)})),rt=e=>P(e)?es():Ut(e),ct=e=>Y(Le,e,((e,t,s)=>it(t,s)),((e,t)=>Ct(t))),it=(e,t)=>Y(X(Le,e,(()=>(wt(e,1),U(Je,e,ce()),U(Ee,e,G()),G()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>St(e,t,s))),dt=(e,t,s,l,n)=>Y(X(t,s,(()=>(pt(e,s,1),G()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>vt(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{B(s,l)||It(e,t,l,1);const a=K(s,l);n!==a&&(mt(e,t,l,a,n),U(s,l,n))},ht=(e,t,s,l,n)=>p(K(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),ft=e=>P(e)?ls():Xt(e),gt=e=>Y(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>yt(t))),Tt=(e,t)=>{B(Fe,e)||Rt(e,1);const s=K(Fe,e);t!==s&&(Jt(e,s,t),U(Fe,e,t))},bt=(e,t)=>{const[s]=K(Je,e),l=s(t);return B(K(Le,e),l)?bt(e,t):l},Vt=e=>K(Le,e)??it(e,{}),Ct=e=>it(e,{}),St=(e,t,s)=>{const[,l]=K(Je,e);l(s),dt(e,t,s,{},!0)},vt=(e,t,s,l,n,a)=>{const o=K(K(pe,e)?.[0],n);if(!w(o)&&!a)return ut(e,s,l,n,o);const r=t=>{mt(e,s,t,K(l,t)),It(e,s,t,-1),U(l,t)};w(o)?r(n):Q(l,r),D(l)&&(pt(e,s,-1),D(U(t,s))&&(wt(e,-1),U(Le,e),U(Je,e),U(Ee,e)))},yt=e=>{const t=K(me,e);if(!w(t))return Tt(e,t);Jt(e,K(Fe,e)),Rt(e,-1),U(Fe,e)},wt=(e,t)=>Se(i,e,t),pt=(e,t,s)=>Se(X(y,e,G),t,s),It=(e,t,s,l)=>{const n=K(Ee,e),a=K(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Se(X(v,e,G),s,l),U(n,s,a!=-l?a+l:null),Se(X(X(x,e,G),t,G),s,l)},mt=(e,t,s,l,n)=>X(X(X(z,e,G),t,G),s,(()=>[l,0]))[1]=n,Rt=(e,t)=>Se(O,e,t),Jt=(e,t,s)=>X(k,e,(()=>[t,0]))[1]=s,Et=(e,t,s,l,n)=>(F(X(X(X(re,e,G),t,G),s,(()=>[])),l),n),Lt=(e,t,s)=>(F(X(ye,e,(()=>[])),t),s),Ft=(e,t,s)=>p(K(K(K(z,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ie(Gt(e,t,s))])),xt=e=>p(K(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ie(Qt(e))])),zt=e=>D(re)||D(Be[e])?0:$(e?le(re):re,((t,s)=>$(t,((t,l)=>$(t,((t,n)=>Qe(Be[e],[s,l,n],t))))))),Ot=e=>D(ye)||D(De[e])?0:$(e?te(ye):ye,((t,s)=>Qe(De[e],[s],t))),jt=(e,t,s)=>{if(!D(t))return Qe(e,s,(()=>Z(t))),1},kt=e=>{const t=D(Ae[e]),s=D(Ne[e])&&D(je[e])&&D(ke[e])&&t&&D(ze[e]),l=D(Pe[e])&&D(Me[e])&&D(Oe[e])&&D(xe[e]);if(!s||!l){const n=e?[te(i),se(v),se(y),le(x),le(z)]:[i,v,y,x,z];if(!s){jt(ze[e],n[0]),$(n[1],((t,s)=>jt(je[e],t,[s])));const s=ae();$(n[2],((l,n)=>{jt(ke[e],l,[n])&&!t&&(Qe(Ae[e],[n,null]),oe(s,n))})),t||$(n[4],((t,l)=>{if(!B(s,l)){const s=ae();$(t,(e=>$(e,(([t,l],n)=>l!==t?oe(s,n):q(e,n))))),$(s,(t=>Qe(Ae[e],[l,t])))}})),$(n[3],((t,s)=>$(t,((t,l)=>jt(Ne[e],t,[s,l])))))}if(!l){let t;$(n[4],((s,l)=>{let n;$(s,((s,a)=>{let o;$(s,(([s,r],c)=>{r!==s&&(Qe(Pe[e],[l,a,c],r,s,Ft),t=n=o=1)})),o&&Qe(Me[e],[l,a],Ft)})),n&&Qe(Oe[e],[l],Ft)})),t&&Qe(xe[e],void 0,Ft)}}},At=e=>{const t=D($e[e]),s=D(qe[e])&&D(We[e]);if(!t||!s){const l=e?[te(O),te(k)]:[O,k];if(t||jt($e[e],l[0]),!s){let t;$(l[1],(([s,l],n)=>{l!==s&&(Qe(qe[e],[n],l,s,xt),t=1)})),t&&Qe(We[e],void 0,xt)}}},Mt=(e,...t)=>(os((()=>e(...J(t,S)))),is),Nt=()=>[Z(z,((e,t)=>-1===K(i,t)?null:Z(e,((e,s)=>-1===K(K(y,t),s)?null:Z(e,(([,e])=>e??null),((e,t)=>he(t)))),P)),P),Z(k,(([,e])=>e??null),((e,t)=>he(t)))],Pt=()=>({cellsTouched:l,valuesTouched:n,changedCells:ee(z,ue,he),invalidCells:ee(re),changedValues:Z(k,ue,he),invalidValues:Z(ye),changedTableIds:Z(i),changedRowIds:_(y),changedCellIds:ee(x),changedValueIds:Z(O)}),Bt=()=>ee(Le),Dt=()=>H(Le),Wt=e=>H(K(Le,S(e))),$t=(e,t,s,l=0,n)=>{return J(L((o=K(Le,S(e)),r=(e,s)=>[w(t)?s:K(e,S(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),J([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,w(n)?n:l+n),(([,e])=>e));var a,o,r},qt=(e,t)=>H(K(K(Le,S(e)),S(t))),Gt=(e,t,s)=>K(K(K(Le,S(e)),S(t)),S(s)),Ht=()=>Z(Fe),Kt=()=>H(Fe),Qt=e=>K(Fe,S(e)),Ut=e=>Mt((()=>(e=>Ce(e,Ze,Et))(e)?ct(e):0)),Xt=e=>Mt((()=>tt(e)?gt(e):0)),Yt=e=>{try{rt(Ve(e))}catch{}return is},Zt=t=>Mt((()=>{if((e=Ce(t,(e=>Ce(e,Ye))))&&(at(t),!D(Le))){const e=Bt();es(),Ut(e)}})),_t=e=>Mt((()=>{if(t=(e=>Ce(e,Ye))(e)){const s=Ht();as(),ls(),t=!0,ot(e),Xt(s)}})),es=()=>Mt((()=>ct({}))),ts=e=>Mt((e=>B(Le,e)?Ct(e):0),e),ss=(e,t)=>Mt(((e,t)=>p(K(Le,e),(s=>B(s,t)?St(e,s,t):0))),e,t),ls=()=>Mt((()=>gt({}))),ns=()=>Mt((()=>{at({}),e=!1})),as=()=>Mt((()=>{ot({}),t=!1})),os=(e,t)=>{if(-1!=o){rs();const s=e();return cs(t),s}},rs=()=>(-1!=o&&o++,1==o&&Qe(Ge,void 0,Nt,Pt),is),cs=e=>(o>0&&(o--,0==o&&(l=!D(z),n=!D(k),o=1,zt(1),l&&kt(1),Ot(1),n&&At(1),e?.(Nt,Pt)&&($(z,((e,t)=>$(e,((e,s)=>$(e,(([e],l)=>ge(is,t,s,l,e))))))),$(k,(([e],t)=>Te(is,t,e))),l=n=!1),Qe(He[0],void 0,Nt,Pt),o=-1,zt(0),l&&kt(0),Ot(0),n&&At(0),Qe(He[1],void 0,Nt,Pt),o=0,l=n=!1,R([i,v,y,x,z,re,O,k,ye],W))),is),is={getContent:()=>[Bt(),Ht()],getTables:Bt,getTableIds:Dt,getTable:e=>_(K(Le,S(e))),getTableCellIds:e=>H(K(Ee,S(e))),getRowIds:Wt,getSortedRowIds:$t,getRow:(e,t)=>Z(K(K(Le,S(e)),S(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!D(Le),hasTable:e=>B(Le,S(e)),hasTableCell:(e,t)=>B(K(Ee,S(e)),S(t)),hasRow:(e,t)=>B(K(Le,S(e)),S(t)),hasCell:(e,t,s)=>B(K(K(Le,S(e)),S(t)),S(s)),hasValues:()=>!D(Fe),hasValue:e=>B(Fe,S(e)),getTablesJson:()=>be(Le),getValuesJson:()=>be(Fe),getJson:()=>be([Le,Fe]),getTablesSchemaJson:()=>be(we),getValuesSchemaJson:()=>be(Ie),getSchemaJson:()=>be([we,Ie]),setContent:([e,t])=>Mt((()=>{(P(e)?es:Ut)(e),(P(t)?ls:Xt)(t)})),setTables:Ut,setTable:(e,t)=>Mt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Mt(((e,t)=>_e(e,t,s)?dt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>os((()=>{let l;return _e(e,l,t)&&(e=S(e),dt(e,Vt(e),l=bt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Mt(((e,t)=>{if(_e(e,t,s,1)){const l=Vt(e);N(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Mt(((e,t,s)=>p(et(e,t,s,m(l)?l(Gt(e,t,s)):l),(l=>ht(e,Vt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Mt((()=>tt(e,1)?N(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Mt((e=>p(st(e,m(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Mt((()=>{N(e[0],((e,t)=>w(e)?ts(t):N(e,((e,s)=>w(e)?ss(t,s):N(e,((e,l)=>ge(is,t,s,l,e))))))),N(e[1],((e,t)=>Te(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{ft(Ve(e))}catch{}return is},setJson:e=>{try{const[t,s]=Ve(e);rt(t),ft(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Mt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Mt(((e,t,s)=>p(K(Le,e),(n=>p(K(n,t),(a=>B(a,s)?vt(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Mt((e=>B(Fe,e)?yt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Mt((()=>{ns(),as()})),transaction:os,startTransaction:rs,finishTransaction:cs,forEachTable:e=>$(Le,((t,s)=>e(s,(e=>$(t,((t,s)=>e(s,(e=>Q(t,e))))))))),forEachTableCell:(e,t)=>Q(K(Ee,S(e)),t),forEachRow:(e,t)=>$(K(Le,S(e)),((e,s)=>t(s,(t=>Q(e,t))))),forEachCell:(e,t,s)=>Q(K(K(Le,S(e)),S(t)),s),forEachValue:e=>Q(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=$t(e,t,s,l,n);return Ke((()=>{const o=$t(e,t,s,l,n);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(is,e,t,s,l,n,r))}),Ae[o?1:0],[e,t],[Dt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:ve};return N({[u]:[0,xe],[h]:[0,ze],[d]:[1,Oe,[Dt]],[d+T]:[1,je,[Dt]],[f]:[1,ke,[Dt]],Row:[2,Me,[Dt,Wt]],[T]:[2,Ne,[Dt,Wt]],[g]:[3,Pe,[Dt,Wt,qt],e=>ie(Gt(...e))],InvalidCell:[3,Be],[V]:[0,We],[C]:[0,$e],[b]:[1,qe,[Kt],e=>ie(Qt(e[0]))],InvalidValue:[1,De]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0,s,l)})),j(is)};e.createStore=ve},"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){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",I=y+"s",p=y+h,C=e=>s+e,b=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),m=(e,t)=>J(e)===J(t)&&V(e,((e,s)=>t[s]===e)),E=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),k=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),D=e=>F(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),F=(e,t,s)=>e.reduce(t,s),Q=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),j=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>q(t,Map)?F([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,s)=>G(e)?s?.():t(e),K=e=>e==n||e==a,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>q(e,Z)&&e.constructor==Z,ne=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>J(_(e)))(e),le=e=>e.size,ie=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==le(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),Se=(e,t)=>he(e,((e,s)=>t(s,e))),Te=(e,t,s)=>G(s)?(ge(e,t),e):e?.set(t,s),ve=(e,t,s)=>(ie(e,t)||Te(e,t,s()),we(e,t)),Re=(e,t,s,n=Te)=>(oe(t,((t,n)=>s(e,n,t))),Se(e,(s=>ne(t,s)?0:n(e,s))),e),ye=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Ie=(e,t,s)=>ye(e,(e=>ye(e,t,s)),re),pe=(e,t,s)=>ye(e,(e=>Ie(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),Ve=e=>Ce(e,be),me=(e,t,s,n,a=0)=>H((s?ve:we)(e,t[a],a>J(t)-2?s:fe),(o=>{if(a>J(t)-2)return n?.(o)&&Te(e,t[a]),o;const r=me(o,t,s,n,a+1);return ce(o)&&Te(e,t[a]),r})),Ee=e=>{const s=t(e);return K(s)||s==o&&$(e)?s:void 0},ke=(e,t,s,n,a)=>G(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s)=>{const n=e.hasRow,a=fe(),o=fe(),r=fe(),l=fe(),i=fe(),c=(t,s,...n)=>{const a=ve(i,t,xe);return M(n,(t=>De(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(i,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Te(i,t)})),u=(e,s)=>{Te(a,e,s),ie(o,e)||(Te(o,e,t()),Te(r,e,fe()),Te(l,e,fe()))},h=e=>{Te(a,e),Te(o,e),Te(r,e),Te(l,e),d(e)};return[()=>e,()=>Le(a),e=>Se(o,e),e=>ie(o,e),e=>we(a,e),e=>we(o,e),(e,t)=>Te(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=fe(),f=fe(),L=we(r,t),w=we(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=we(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||X(r)&&X(l)&&m(r,l)||Te(g,t,[r,l]),!G(h)){const e=we(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Te(f,t,s)}},T=e=>{o((()=>{he(g,(([,e],t)=>Te(L,t,e))),he(f,((e,t)=>Te(w,t,e)))}),g,f,L,w,e),ue(g),ue(f)};Se(L,S),e.hasTable(a)&&M(e.getRowIds(a),(e=>{ie(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Se(i,h),c,d]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Qe.test(t)&&J(e)<1e3&&z(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Te(o,d,[a,r,l,i,c]),De(me(r,l??[s],xe),d),d},(e,n,...a)=>M(((e,t=[s])=>{const n=[],a=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>a(e,s+1))):M([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>H(we(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Te(o,e),a(e),n))),e=>H(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=J(r);l==J(s)?e(t,...r,...a(r)):G(s[l])?M(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},je=Fe((e=>{let t,n,a,o=100,r=fe(),l=fe(),i=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>O)),f=fe(),L=fe(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),i=1},v=e=>{Te(f,e),Te(L,e),h(d,[e])},R=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),v),y=()=>R(w,J(w)-o),I=()=>H(t,(()=>{z(w,t),y(),R(S),t=void 0,a=1})),p=()=>{t=N(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=ve(r,t,fe),l=ve(e,s,fe),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ce(Te(l,n))&&ce(Te(e,s))&&ce(Te(r,t))&&p(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Te(l,t))&&p(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,Te(f,t,[r,l]),F(t,e),r=fe(),l=fe(),a=1),t),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),T(0,t),t=N(w),a=1)},k=()=>{A(S)||(z(w,t),t=j(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(Te(L,e,t),h(d,[e])),O),Q=e=>ie(f,e),O={setSize:e=>(o=e,y(),O),addCheckpoint:D,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Se(L,e),hasCheckpoint:Q,getCheckpoint:e=>we(L,e),goBackward:()=>(E(),x(),O),goForward:()=>(k(),x(),O),goTo:e=>{const s=b(w,e)?E:b(S,e)?k:null;for(;!G(s)&&e!=t;)s();return x(),O},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),O),clear:()=>(R(w),R(S),G(t)||v(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Fe((e=>{const t=fe(),n=fe(),[a,o,r,l,i,c,d,,u,h,g]=Je(e,fe,(e=>G(e)?s:X(e)?x(e,C):C(e))),[f,L,w]=Ne((()=>T)),S=(t,s,n)=>{const a=i(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Oe)=>{const i=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,g)=>{let f=0;const w=xe(),S=xe(),T=c(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),H(we(T,e),(t=>{ge(t,s),ce(t)&&(Te(T,e),f=1)}))})),he(a,(e=>{De(w,e),ie(T,e)||(Te(T,e,xe()),f=1),De(we(T,e),s),G(o)||De(S,e)}))})),s(),ce(h)||(g?Se(T,(e=>De(S,e))):Se(r,(e=>H(we(u,e),(e=>De(S,e))))),he(S,(e=>{const t=(t,s)=>l(we(h,t),we(h,s),e),s=[...we(T,e)];E(s,t)||(Te(T,e,xe(k(s,t))),De(w,e))}))),(f||g)&&!G(i)){const t=[...T];E(t,i)||(d(e,fe(k(t,i))),f=1)}f&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Ae(a),H(o,Ae)),T},delIndexDefinition:e=>(h(e),T),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>ie(c(e),t),getTableId:i,getSliceIds:e=>Le(c(e)),getSliceRowIds:(e,t)=>de(we(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),T),destroy:g,getListenerStats:()=>({})};return te(T)})),Be=fe([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:B(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,l,i,c]=a;return o||=G(e),he(n,(([s,n])=>{o||(e=G(s)?l?.(e,n,t++):G(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=G(e))})),o?r(de(s),le(s)):e},$e=Fe((e=>{const t=fe(),[n,a,o,r,l,i,c,,d,u,h]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=Ne((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=U(n)?[n,o,r,l]:we(Be,n)??we(Be,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=le(o);l||=G(d),s();let g=We(d,h,o,n,u,l);$(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Ae(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return te(w)})),qe=Fe((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,f,L,y]=Je(e,(()=>!0),Y),I=t(),p=t(),C=fe(),b=(e,t,...s)=>M(s,(s=>De(ve(ve(C,t,fe),e,xe),s))),m=e=>{H(we(C,e),(e=>{Se(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([p,I],(t=>t.delTable(e)))},E=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,n,a)=>{i(t,n),m(t);const o=[],r=[[null,[n,null,null,[],fe()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=U(e)?[J(o)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,a=G(n)?t:s,o=[e,[e,n,U(a)?a:e=>e(a),[],fe()]];return z(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>z(l,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,U(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return z(c,o),{as:e=>o[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=fe(o);if(ce(u))return k;const h=fe(r);Se(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=fe(c);let f=I;if(ce(g)&&A(d))f=p;else{E(t,f,p);const e=fe();Se(g,((t,[s,n])=>De(ve(e,s,xe),[t,n])));const s=xe();Se(u,(t=>ie(e,t)?0:De(s,t)));const n=fe(),a=(s,n,a,o)=>H(s,(([r,l,i,c])=>{Se(n,((t,[s])=>{const n=ve(r,t,fe),l=we(n,a),i=o?void 0:s;if(l!==i){const s=xe([[l,i]]),o=le(n);Te(n,a,i),he(we(e,t),(([e,t])=>{const a=We(c[e],o,n,s,t);c[e]=G(Ee(a))?null:a}))}})),ce(l)||!V(d,(e=>e((e=>c[e]))))?p.delRow(t,i):G(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(f,t,f.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=fe(),h=f.hasRow(t,l);let g=!h;he(s,(e=>{const[s,n,a]=i(t,l,e);z(c,n),z(d,a),g||=s})),Se(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&Te(u,e,[n])})),g&&a(me(n,c,void 0,(([,e])=>(ge(e,l),ce(e)))),u,l,1),h&&a(me(n,d,(()=>{const e={};return he(s,(s=>e[s]=f.getCell(t,l,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}E(t,e,f);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);M(r,(n=>{const[a,,o,r,l]=we(h,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(G(u)||y(t,u),Te(l,s,G(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...G(a)?[n,s,t]:t===n?[n,s,a]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],a]);f.transaction((()=>V(l,(e=>e(a)))?Se(u,((e,n)=>ke(f,t,s,e,n(a,s)))):f.delRow(t,s)))})(s)},{3:S}=we(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(f.delRow(t,o),he(h,(({4:e})=>H(we(e,o),(([,s])=>{y(t,s),Te(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),h(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return oe({[g]:[1,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+d+s]=(...t)=>p[e+s](...t))),k[u+d+s+c]=(...e)=>p[u+s+c](...Q(e,0,t),((s,...n)=>e[t](k,...n)))})),te(k)})),Ge=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,l,i,c,d,u,,,h,g,f]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+s)),[L,w,S]=Ne((()=>y)),T=(e,t,s)=>H(u(e),(([n,,a])=>{if(!ie(a,t)){const o=xe();if(d(e)!=R(e))De(o,t);else{let e=t;for(;!G(e)&&!ie(o,e);)De(o,e),e=we(n,e)}if(s)return o;Te(a,t,o)}return we(a,t)})),v=(e,t)=>H(u(e),(([,,e])=>Te(e,t))),R=e=>we(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Te(t,e,r),h(e,s,((t,s)=>{const r=xe(),l=xe(),i=xe(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(De(l,t),H(we(d,t),(e=>{ge(e,n),ce(e)&&Te(d,t)}))),G(s)||(De(l,s),ie(d,s)||Te(d,s,xe()),De(we(d,s),n)),De(r,n),Te(c,n,s),Se(we(o,e),(t=>{ie(T(e,t),n)&&De(i,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(l,(t=>w(a,[e,t]))),he(i,(t=>{v(e,t),w(o,[e,t])}))}),Ae(l)),y),delRelationshipDefinition:e=>(Te(t,e),g(e),y),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>we(u(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:de(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:f,getListenerStats:()=>({})};return te(y)})),He=e=>[e,e],Ke=()=>[fe(),fe()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),Ze=(e,t,s)=>Te(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=fe(),d=fe(),h=fe(),T=fe(),V=fe(),E=fe(),D=fe(),J=fe(),A=fe(),F=fe(),N=fe(),j=fe(),B=fe(),W=xe(),$=fe(),q=fe(),X=fe(),Y=fe(),Z=Ke(),_=Ke(),ee=Ke(),se=Ke(),le=Ke(),de=Ke(),me=Ke(),Je=Ke(),Ae=Ke(),Fe=Ke(),Qe=Ke(),je=Ke(),Pe=Ke(),Be=Ke(),We=fe(),$e=Ke(),[qe,Ge,et,tt]=Ne((()=>fs)),st=e=>{if(!Ye(e,((e,t)=>b([l,i],t))))return!1;const t=e[l];return!(!K(t)&&t!=o||(Ee(e[i])!=t&&ae(e,i),0))},nt=(t,s)=>(!e||ie(F,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>H(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?H(we(we(F,t),n),(e=>Ee(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):G(Ee(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>H(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?H(we(j,e),(t=>Ee(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):G(Ee(s))?At(e,s):s,it=(e,t,s)=>(H(we(N,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(he(B,((t,s)=>{ne(e,s)||(e[s]=t)})),he(W,(t=>{ne(e,t)||At(t)}))),e),dt=e=>Re(F,e,((e,t,s)=>{const n=fe(),a=xe();Re(ve(F,t,fe),s,((e,t,s)=>{Te(e,t,s),H(s[i],(e=>Te(n,t,e)),(()=>De(a,t)))})),Te(N,t,[n,a])}),((e,t)=>{Te(F,t),Te(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Te(j,t,s),H(s[i],(e=>Te(B,t,e)),(()=>De(W,t)))}),((e,t)=>{Te(j,t),Te(B,t),ge(W,t)})),ht=e=>re(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>pt(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Te($,e,ze()),Te(q,e,fe()),fe()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(Et(e,s,1),fe()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{ie(s,n)||kt(e,t,n,1);const o=we(s,n);a!==o&&(Mt(e,t,n,o,a),Te(s,n,a))},St=(e,t,s,n,a)=>H(we(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>re(e)?is():ts(e),vt=e=>Re(Y,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{ie(Y,e)||xt(e,1);const s=we(Y,e);t!==s&&(Dt(e,s,t),Te(Y,e,t))},yt=(e,t)=>{const[s]=we($,e),n=s(t);return ie(we(X,e),n)?yt(e,t):n},It=e=>we(X,e)??ft(e,{}),pt=e=>ft(e,{}),Ct=(e,t,s)=>{const[,n]=we($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=we(we(N,e)?.[0],a);if(!G(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,we(n,t)),kt(e,s,t,-1),Te(n,t)};G(r)?l(a):Se(n,l),ce(n)&&(Et(e,s,-1),ce(Te(t,s))&&(mt(e,-1),Te(X,e),Te($,e),Te(q,e)))},Vt=e=>{const t=we(B,e);if(!G(t))return Rt(e,t);Dt(e,we(Y,e)),xt(e,-1),Te(Y,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(ve(h,e,fe),t,s),kt=(e,t,s,n)=>{const a=we(q,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(ve(d,e,fe),s,n),Te(a,s,o!=-n?o+n:null),Ze(ve(ve(T,e,fe),t,fe),s,n)},Mt=(e,t,s,n,a)=>ve(ve(ve(V,e,fe),t,fe),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(E,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(z(ve(ve(ve(J,e,fe),t,fe),s,(()=>[])),n),a),At=(e,t,s)=>(z(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>H(we(we(we(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>H(we(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>ce(J)||ce(Fe[e])?0:he(e?Ve(J):J,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>Ge(Fe[e],[s,n,a],t))))))),Nt=e=>ce(A)||ce(Qe[e])?0:he(e?Ce(A):A,((t,s)=>Ge(Qe[e],[s],t))),jt=(e,t,s)=>{if(!ce(t))return Ge(e,s,(()=>ye(t))),1},Ot=e=>{const t=ce(de[e]),s=ce(Je[e])&&ce(se[e])&&ce(le[e])&&t&&ce(_[e]),n=ce(Ae[e])&&ce(me[e])&&ce(ee[e])&&ce(Z[e]);if(!s||!n){const a=e?[Ce(r),be(d),be(h),Ve(T),Ve(V)]:[r,d,h,T,V];if(!s){jt(_[e],a[0]),he(a[1],((t,s)=>jt(se[e],t,[s])));const s=xe();he(a[2],((n,a)=>{jt(le[e],n,[a])&&!t&&(Ge(de[e],[a,null]),De(s,a))})),t||he(a[4],((t,n)=>{if(!ie(s,n)){const s=xe();he(t,(e=>he(e,(([t,n],a)=>n!==t?De(s,a):ge(e,a))))),he(s,(t=>Ge(de[e],[n,t])))}})),he(a[3],((t,s)=>he(t,((t,n)=>jt(Je[e],t,[s,n])))))}if(!n){let t;he(a[4],((s,n)=>{let a;he(s,((s,o)=>{let r;he(s,(([s,l],i)=>{l!==s&&(Ge(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&Ge(me[e],[n,o],Ft)})),a&&Ge(ee[e],[n],Ft)})),t&&Ge(Z[e],void 0,Ft)}}},Pt=e=>{const t=ce(Pe[e]),s=ce(Be[e])&&ce(je[e]);if(!t||!s){const n=e?[Ce(E),Ce(D)]:[E,D];if(t||jt(Pe[e],n[0]),!s){let t;he(n[1],(([s,n],a)=>{n!==s&&(Ge(Be[e],[a],n,s,Qt),t=1)})),t&&Ge(je[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...x(t,C)))),fs),Wt=()=>[ye(V,((e,t)=>-1===we(r,t)?null:ye(e,((e,s)=>-1===we(we(h,t),s)?null:ye(e,(([,e])=>e??null),((e,t)=>Xe(t)))),re)),re),ye(D,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(V,Ue,Xe),invalidCells:pe(J),changedValues:ye(D,Ue,Xe),invalidValues:ye(A),changedTableIds:ye(r),changedRowIds:Ie(h),changedCellIds:pe(T),changedValueIds:ye(E)}),qt=()=>pe(X),Gt=()=>Le(X),Ht=e=>Le(we(X,C(e))),Kt=(e,t,s,n=0,a)=>{return x(Q(k((o=we(X,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,G(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>Le(we(we(X,C(e)),C(t))),Xt=(e,t,s)=>we(we(we(X,C(e)),C(t)),C(s)),Yt=()=>ye(Y),Zt=()=>Le(Y),_t=e=>we(Y,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?gt(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!ce(X))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>gt({}))),rs=e=>Bt((e=>ie(X,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>H(we(X,e),(s=>ie(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return gs(t),s}},hs=()=>(-1!=a&&a++,1==a&&Ge(We,void 0,Wt,$t),fs),gs=e=>(a>0&&(a--,0==a&&(s=!ce(V),n=!ce(D),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(he(V,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(fs,t,s,n,e))))))),he(D,(([e],t)=>Me(fs,t,e))),s=n=!1),Ge($e[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),Ge($e[1],void 0,Wt,$t),a=0,s=n=!1,M([r,d,h,T,V,J,E,D,A],ue))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(we(X,C(e))),getTableCellIds:e=>Le(we(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ye(we(we(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ce(X),hasTable:e=>ie(X,C(e)),hasTableCell:(e,t)=>ie(we(q,C(e)),C(t)),hasRow:(e,t)=>ie(we(X,C(e)),C(t)),hasCell:(e,t,s)=>ie(we(we(X,C(e)),C(t)),C(s)),hasValues:()=>!ce(Y),hasValue:e=>ie(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(F),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([F,j]),setContent:([e,t])=>Bt((()=>{(re(e)?os:es)(e),(re(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,It(e),n=yt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);oe(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>H(ot(e,t,s,U(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(lt(e,U(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rs(t):oe(e,((e,s)=>G(e)?ls(t,s):oe(e,((e,n)=>ke(fs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),Tt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>H(we(X,e),(a=>H(we(a,t),(o=>ie(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>he(X,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>Se(t,e))))))))),forEachTableCell:(e,t)=>Se(we(q,C(e)),t),forEachRow:(e,t)=>he(we(X,C(e)),((e,s)=>t(s,(t=>Se(e,t))))),forEachCell:(e,t,s)=>Se(we(we(X,C(e)),C(t)),s),forEachValue:e=>Se(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);m(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),de[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:_e};return oe({[f]:[0,Z],[L]:[0,_],[g]:[1,ee,[Gt]],[g+R]:[1,se,[Gt]],[S]:[1,le,[Gt]],[w]:[2,me,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Fe],[I]:[0,je],[p]:[0,Pe],[y]:[1,Be,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Qe]},(([e,t,s,n],a)=>{fs[u+a+c]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?Q(a,0,e):void 0,s,n)})),te(fs)};e.createCheckpoints=je,e.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(H(o,e.delListener),g),schedule:async(...e)=>(z(u,...e),await(async()=>{if(!c){for(c=1;!G(r=j(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(g)},e.createIndexes=Pe,e.createMetrics=$e,e.createQueries=qe,e.createRelationships=Ge,e.createStore=_e,e.defaultSorter=Oe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",f="Table",g=f+"s",L=f+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,y="Value",I=y+"s",p=y+h,C=e=>s+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),x=e=>e==n||e==a,D=e=>t(e)==r,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>W(e)===W(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),B=e=>q(e,((e,t)=>e+t),0),W=e=>e.length,$=e=>0==W(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>W(Y(e)))(e),oe=e=>e.size,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),fe=e=>[...e?.keys()??[]],ge=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||we(e,t,s()),ge(e,t)),Te=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>ve(e,(e=>ve(e,t,s)),ae),ye=(e,t,s)=>ve(e,(e=>Re(e,t,s)),ae),Ie=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ie(e,Ie),Ce=e=>Ie(e,pe),be=(e,t,s,n,a=0)=>M((s?Se:ge)(e,t[a],a>W(t)-2?s:he),(o=>{if(a>W(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=e=>{const s=t(e);return x(s)||s==o&&m(e)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(J(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),xe=(e,t,s)=>{const n=e.hasRow,a=he(),o=he(),r=he(),l=he(),i=he(),c=(t,s,...n)=>{const a=Se(i,t,ke);return O(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>M(ge(i,t),(n=>{O($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(i,t)})),u=(e,s)=>{we(a,e,s),re(o,e)||(we(o,e,t()),we(r,e,he()),we(l,e,he()))},h=e=>{we(a,e),we(o,e),we(r,e),we(l,e),d(e)};return[()=>e,()=>fe(a),e=>Le(o,e),e=>re(o,e),e=>ge(a,e),e=>ge(o,e),(e,t)=>we(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const f=he(),g=he(),L=ge(r,t),w=ge(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=ge(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||J(r)&&J(l)&&z(r,l)||we(f,t,[r,l]),!k(h)){const e=ge(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&we(g,t,s)}},T=e=>{o((()=>{de(f,(([,e],t)=>we(L,t,e))),de(g,((e,t)=>we(w,t,e)))}),f,g,L,w,e),ce(f),ce(g)};Le(L,S),e.hasTable(a)&&O(e.getRowIds(a),(e=>{re(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Le(i,h),c,d]},De=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{Ae.test(t)&&W(e)<1e3&&H(e,t)}]},Qe=e=>{let t;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),Me(be(r,l??[s],ke),d),d},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==W(t)?H(n,e):null===t[s]?de(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ge(e,t),s+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>ge(o,e)[0](t,...n??[],...a))))),e=>M(ge(o,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>M(ge(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=W(r);l==W(s)?e(t,...r,...a(r)):k(s[l])?O(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},ze=Je((e=>{let t,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,f]=Qe((()=>Q)),g=he(),L=he(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ge(g,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{we(g,e),we(L,e),h(d,[e])},R=(e,t)=>O(((e,t)=>e.splice(0,t))(e,t??W(e)),v),y=()=>R(w,W(w)-o),I=()=>M(t,(()=>{H(w,t),y(),R(S),t=void 0,a=1})),p=()=>{t=K(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){I();const e=Se(r,t,he),l=Se(e,s,he),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&p(),x()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){I();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&p(),x()}})),V=(e="")=>(k(t)&&(t=s+n++,we(g,t,[r,l]),J(t,e),r=he(),l=he(),a=1),t),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(S,V()),T(0,t),t=K(w),a=1)},E=()=>{$(S)||(H(w,t),t=U(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return x(),t},J=(e,t)=>(A(e)&&ge(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),A=e=>re(g,e),Q={setSize:e=>(o=e,y(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:A,getCheckpoint:e=>ge(L,e),goBackward:()=>(m(),x(),Q),goForward:()=>(E(),x(),Q),goTo:e=>{const s=F(w,e)?m:F(S,e)?E:null;for(;!k(s)&&e!=t;)s();return x(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(S),k(t)||v(t),t=void 0,n=0,D(),Q),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>e<t?-1:1,je=Je((e=>{const t=he(),n=he(),[a,o,r,l,i,c,d,,u,h,f]=xe(e,he,(e=>k(e)?s:J(e)?P(e,C):C(e))),[g,L,w]=Qe((()=>T)),S=(t,s,n)=>{const a=i(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Ne)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,f)=>{let g=0;const w=ke(),S=ke(),T=c(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(w,e),M(ge(T,e),(t=>{ue(t,s),le(t)&&(we(T,e),g=1)}))})),de(a,(e=>{Me(w,e),re(T,e)||(we(T,e,ke()),g=1),Me(ge(T,e),s),k(o)||Me(S,e)}))})),s(),le(h)||(f?Le(T,(e=>Me(S,e))):Le(r,(e=>M(ge(u,e),(e=>Me(S,e))))),de(S,(e=>{const t=(t,s)=>l(ge(h,t),ge(h,s),e),s=[...ge(T,e)];N(s,t)||(we(T,e,ke(j(s,t))),Me(w,e))}))),(g||f)&&!k(i)){const t=[...T];N(t,i)||(d(e,he(j(t,i))),g=1)}g&&L(t,[e]),de(w,(t=>L(n,[e,t])))}),De(a),M(o,De)),T},delIndexDefinition:e=>(h(e),T),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>re(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ie(ge(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>g(s,n,[e,t]),delListener:e=>(w(e),T),destroy:f,getListenerStats:()=>({})};return _(T)})),Oe=he([["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=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>B(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},Be=Je((e=>{const t=he(),[n,a,o,r,l,i,c,,d,u,h]=xe(e,A,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e)),[f,g,L]=Qe((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=D(n)?[n,o,r,l]:ge(Oe,n)??ge(Oe,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=oe(o);l||=k(d),s();let f=Pe(d,h,o,n,u,l);m(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),De(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return _(w)})),We=Je((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,g,L,y]=xe(e,(()=>!0),A),I=t(),p=t(),C=he(),b=(e,t,...s)=>O(s,(s=>Me(Se(Se(C,t,he),e,ke),s))),V=e=>{M(ge(C,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),O([p,I],(t=>t.delTable(e)))},m=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,a)=>{i(t,n),V(t);const o=[],r=[[null,[n,null,null,[],he()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=D(e)?[W(o)+s,e]:[k(t)?e:t,s=>s(e,t)];return H(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||D(t)?null:t,a=k(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(l,D(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:ge(Oe,t)??[(e,t)=>t]]];return H(c,o),{as:e=>o[0]=e}},having:(e,t)=>H(d,D(e)?e:s=>s(e)===t)});const u=he(o);if(le(u))return E;const h=he(r);Le(h,((e,[,t])=>M(ge(h,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(c);let g=I;if(le(f)&&$(d))g=p;else{m(t,g,p);const e=he();Le(f,((t,[s,n])=>Me(Se(e,s,ke),[t,n])));const s=ke();Le(u,(t=>re(e,t)?0:Me(s,t)));const n=he(),a=(s,n,a,o)=>M(s,(([r,l,i,c])=>{Le(n,((t,[s])=>{const n=Se(r,t,he),l=ge(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=oe(n);we(n,a,i),de(ge(e,t),(([e,t])=>{const a=Pe(c[e],o,n,s,t);c[e]=k(Ve(a))?null:a}))}})),le(l)||!Q(d,(e=>e((e=>c[e]))))?p.delRow(t,i):k(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(g,t,g.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=he(),h=g.hasRow(t,l);let f=!h;de(s,(e=>{const[s,n,a]=i(t,l,e);H(c,n),H(d,a),f||=s})),Le(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&we(u,e,[n])})),f&&a(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&a(be(n,d,(()=>{const e={};return de(s,(s=>e[s]=g.getCell(t,l,s))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}m(t,e,g);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);O(r,(n=>{const[a,,o,r,l]=ge(h,n),c=o?.(i,s),[d,u]=ge(l,s)??[];c!=d&&(k(u)||y(t,u),we(l,s,k(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...k(a)?[n,s,t]:t===n?[n,s,a]:[ge(h,t)?.[0],ge(ge(h,t)?.[4],s)?.[0],a]);g.transaction((()=>Q(l,(e=>e(a)))?Le(u,((e,n)=>me(g,t,s,e,n(a,s)))):g.delRow(t,s)))})(s)},{3:S}=ge(h,null);return g.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(g.delRow(t,o),de(h,(({4:e})=>M(ge(e,o),(([,s])=>{y(t,s),we(e,o)})))))}))))),E},delQueryDefinition:e=>(V(e),h(e),E),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return ne({[f]:[1,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{O(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>p[e+s](...t))),E[u+d+s+c]=(...e)=>p[u+s+c](...G(e,0,t),((s,...n)=>e[t](E,...n)))})),_(E)})),$e=Je((e=>{const t=he(),n=he(),a=he(),o=he(),[r,l,i,c,d,u,,,h,f,g]=xe(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+s)),[L,w,S]=Qe((()=>y)),T=(e,t,s)=>M(u(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(d(e)!=R(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=ge(n,e)}if(s)return o;we(a,t,o)}return ge(a,t)})),v=(e,t)=>M(u(e),(([,,e])=>we(e,t))),R=e=>ge(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(we(t,e,r),h(e,s,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);de(s,(([t,s],n)=>{k(t)||(Me(l,t),M(ge(d,t),(e=>{ue(e,n),le(e)&&we(d,t)}))),k(s)||(Me(l,s),re(d,s)||we(d,s,ke()),Me(ge(d,s),n)),Me(r,n),we(c,n,s),Le(ge(o,e),(t=>{re(T(e,t),n)&&Me(i,t)}))})),t(),de(r,(t=>w(n,[e,t]))),de(l,(t=>w(a,[e,t]))),de(i,(t=>{v(e,t),w(o,[e,t])}))}),De(l)),y),delRelationshipDefinition:e=>(we(t,e),f(e),y),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ge(u(e)?.[0],t),getLocalRowIds:(e,t)=>ie(ge(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(u(e))?[t]:ie(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),y),destroy:g,getListenerStats:()=>({})};return _(y)})),qe=e=>[e,e],Ge=()=>[he(),he()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),Xe=JSON.parse,Ye=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),Ze=(e,t,s)=>we(e,t,ge(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=he(),d=he(),h=he(),T=he(),b=he(),V=he(),m=he(),E=he(),J=he(),A=he(),Q=he(),N=he(),B=he(),W=ke(),$=he(),q=he(),K=he(),U=he(),X=Ge(),Y=Ge(),Z=Ge(),ee=Ge(),oe=Ge(),ie=Ge(),be=Ge(),xe=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),je=Ge(),Oe=Ge(),Pe=he(),Be=Ge(),[We,$e,et,tt]=Qe((()=>gs)),st=e=>{if(!Ye(e,((e,t)=>F([l,i],t))))return!1;const t=e[l];return!(!x(t)&&t!=o||(Ve(e[i])!=t&&se(e,i),0))},nt=(t,s)=>(!e||re(A,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>M(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?M(ge(ge(A,t),n),(e=>Ve(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):k(Ve(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>M(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?M(ge(N,e),(t=>Ve(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):k(Ve(s))?At(e,s):s,it=(e,t,s)=>(M(ge(Q,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(de(B,((t,s)=>{te(e,s)||(e[s]=t)})),de(W,(t=>{te(e,t)||At(t)}))),e),dt=e=>Te(A,e,((e,t,s)=>{const n=he(),a=ke();Te(Se(A,t,he),s,((e,t,s)=>{we(e,t,s),M(s[i],(e=>we(n,t,e)),(()=>Me(a,t)))})),we(Q,t,[n,a])}),((e,t)=>{we(A,t),we(Q,t)})),ut=e=>Te(N,e,((e,t,s)=>{we(N,t,s),M(s[i],(e=>we(B,t,e)),(()=>Me(W,t)))}),((e,t)=>{we(N,t),we(B,t),ue(W,t)})),ht=e=>ae(e)?os():es(e),ft=e=>Te(K,e,((e,t,s)=>gt(t,s)),((e,t)=>pt(t))),gt=(e,t)=>Te(Se(K,e,(()=>(mt(e,1),we($,e,Fe()),we(q,e,he()),he()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Et(e,s,1),he()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{re(s,n)||kt(e,t,n,1);const o=ge(s,n);a!==o&&(Mt(e,t,n,o,a),we(s,n,a))},St=(e,t,s,n,a)=>M(ge(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>ae(e)?is():ts(e),vt=e=>Te(U,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{re(U,e)||xt(e,1);const s=ge(U,e);t!==s&&(Dt(e,s,t),we(U,e,t))},yt=(e,t)=>{const[s]=ge($,e),n=s(t);return re(ge(K,e),n)?yt(e,t):n},It=e=>ge(K,e)??gt(e,{}),pt=e=>gt(e,{}),Ct=(e,t,s)=>{const[,n]=ge($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=ge(ge(Q,e)?.[0],a);if(!k(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,ge(n,t)),kt(e,s,t,-1),we(n,t)};k(r)?l(a):Le(n,l),le(n)&&(Et(e,s,-1),le(we(t,s))&&(mt(e,-1),we(K,e),we($,e),we(q,e)))},Vt=e=>{const t=ge(B,e);if(!k(t))return Rt(e,t);Dt(e,ge(U,e)),xt(e,-1),we(U,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(Se(h,e,he),t,s),kt=(e,t,s,n)=>{const a=ge(q,e),o=ge(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(d,e,he),s,n),we(a,s,o!=-n?o+n:null),Ze(Se(Se(T,e,he),t,he),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(b,e,he),t,he),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(V,e,t),Dt=(e,t,s)=>Se(m,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(H(Se(Se(Se(E,e,he),t,he),s,(()=>[])),n),a),At=(e,t,s)=>(H(Se(J,e,(()=>[])),t),s),Ft=(e,t,s)=>M(ge(ge(ge(b,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(Xt(e,t,s))])),Qt=e=>M(ge(m,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(_t(e))])),zt=e=>le(E)||le(Je[e])?0:de(e?Ce(E):E,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>$e(Je[e],[s,n,a],t))))))),Nt=e=>le(J)||le(Ae[e])?0:de(e?Ie(J):J,((t,s)=>$e(Ae[e],[s],t))),jt=(e,t,s)=>{if(!le(t))return $e(e,s,(()=>ve(t))),1},Ot=e=>{const t=le(ie[e]),s=le(xe[e])&&le(ee[e])&&le(oe[e])&&t&&le(Y[e]),n=le(De[e])&&le(be[e])&&le(Z[e])&&le(X[e]);if(!s||!n){const a=e?[Ie(r),pe(d),pe(h),Ce(T),Ce(b)]:[r,d,h,T,b];if(!s){jt(Y[e],a[0]),de(a[1],((t,s)=>jt(ee[e],t,[s])));const s=ke();de(a[2],((n,a)=>{jt(oe[e],n,[a])&&!t&&($e(ie[e],[a,null]),Me(s,a))})),t||de(a[4],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>$e(ie[e],[n,t])))}})),de(a[3],((t,s)=>de(t,((t,n)=>jt(xe[e],t,[s,n])))))}if(!n){let t;de(a[4],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&($e(De[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&$e(be[e],[n,o],Ft)})),a&&$e(Z[e],[n],Ft)})),t&&$e(X[e],void 0,Ft)}}},Pt=e=>{const t=le(je[e]),s=le(Oe[e])&&le(ze[e]);if(!t||!s){const n=e?[Ie(V),Ie(m)]:[V,m];if(t||jt(je[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&($e(Oe[e],[a],n,s,Qt),t=1)})),t&&$e(ze[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...P(t,C)))),gs),Wt=()=>[ve(b,((e,t)=>-1===ge(r,t)?null:ve(e,((e,s)=>-1===ge(ge(h,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),ve(m,(([,e])=>e??null),((e,t)=>Ke(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(b,He,Ke),invalidCells:ye(E),changedValues:ve(m,He,Ke),invalidValues:ve(J),changedTableIds:ve(r),changedRowIds:Re(h),changedCellIds:ye(T),changedValueIds:ve(V)}),qt=()=>ye(K),Gt=()=>fe(K),Ht=e=>fe(ge(K,C(e))),Kt=(e,t,s,n=0,a)=>{return P(G(j((o=ge(K,C(e)),r=(e,s)=>[k(t)?s:ge(e,C(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(ge(ge(K,C(e)),C(t))),Xt=(e,t,s)=>ge(ge(ge(K,C(e)),C(t)),C(s)),Yt=()=>ve(U),Zt=()=>fe(U),_t=e=>ge(U,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?ft(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(Xe(e))}catch{}return gs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!le(K))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>ft({}))),rs=e=>Bt((e=>re(K,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>M(ge(K,e),(s=>re(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return fs(t),s}},hs=()=>(-1!=a&&a++,1==a&&$e(Pe,void 0,Wt,$t),gs),fs=e=>(a>0&&(a--,0==a&&(s=!le(b),n=!le(m),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(de(b,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(gs,t,s,n,e))))))),de(m,(([e],t)=>Ee(gs,t,e))),s=n=!1),$e(Be[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),$e(Be[1],void 0,Wt,$t),a=0,s=n=!1,O([r,d,h,T,b,E,V,m,J],ce))),gs),gs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(K,C(e))),getTableCellIds:e=>fe(ge(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>ve(ge(ge(K,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!le(K),hasTable:e=>re(K,C(e)),hasTableCell:(e,t)=>re(ge(q,C(e)),C(t)),hasRow:(e,t)=>re(ge(K,C(e)),C(t)),hasCell:(e,t,s)=>re(ge(ge(K,C(e)),C(t)),C(s)),hasValues:()=>!le(U),hasValue:e=>re(U,C(e)),getTablesJson:()=>Ue(K),getValuesJson:()=>Ue(U),getJson:()=>Ue([K,U]),getTablesSchemaJson:()=>Ue(A),getValuesSchemaJson:()=>Ue(N),getSchemaJson:()=>Ue([A,N]),setContent:([e,t])=>Bt((()=>{(ae(e)?os:es)(e),(ae(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,It(e),n=yt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=It(e);ne(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ot(e,t,s,D(n)?n(Xt(e,t,s)):n),(n=>St(e,It(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?ne(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>M(lt(e,D(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{ne(e[0],((e,t)=>k(e)?rs(t):ne(e,((e,s)=>k(e)?ls(t,s):ne(e,((e,n)=>me(gs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(gs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(Xe(e))}catch{}return gs},setJson:e=>{try{const[t,s]=Xe(e);ht(t),Tt(s)}catch{ss(e)}return gs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>M(ge(K,e),(a=>M(ge(a,t),(o=>re(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>re(U,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:fs,forEachTable:e=>de(K,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(q,C(e)),t),forEachRow:(e,t)=>de(ge(K,C(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(ge(ge(K,C(e)),C(t)),s),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return We((()=>{const r=Kt(e,t,s,n,a);z(r,l)||(l=r,o(gs,e,t,s,n,a,l))}),ie[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>We(e,Pe),addWillFinishTransactionListener:e=>We(e,Be[0]),addDidFinishTransactionListener:e=>We(e,Be[1]),callListener:e=>(tt(e),gs),delListener:e=>(et(e),gs),getListenerStats:()=>({}),createStore:_e};return ne({[g]:[0,X],[L]:[0,Y],[f]:[1,Z,[Gt]],[f+R]:[1,ee,[Gt]],[S]:[1,oe,[Gt]],[w]:[2,be,[Gt,Ht]],[R]:[2,xe,[Gt,Ht]],[v]:[3,De,[Gt,Ht,Ut],e=>qe(Xt(...e))],InvalidCell:[3,Je],[I]:[0,ze],[p]:[0,je],[y]:[1,Oe,[Zt],e=>qe(_t(e[0]))],InvalidValue:[1,Ae]},(([e,t,s,n],a)=>{gs[u+a+c]=(...a)=>We(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(gs)};e.createCheckpoints=ze,e.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await f.schedule((async()=>{await e(),i=0}))),f),f={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(f.stopAutoLoad(),await f.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),f),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),f),save:async t=>(1!=i&&(i=2,await f.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||f.save((()=>[s,n]))})),f),stopAutoSave:()=>(M(o,e.delListener),f),schedule:async(...e)=>(H(u,...e),await(async()=>{if(!c){for(c=1;!k(r=U(u));)try{await r()}catch{}c=0}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(f)},e.createIndexes=je,e.createMetrics=Be,e.createQueries=We,e.createRelationships=$e,e.createStore=_e,e.defaultSorter=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).TinyBase={});
Binary file
package/lib/umd/tools.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),r=t(0),s="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",g=h+u,m="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=(e,t)=>e.every(t),x=(e,t)=>e.sort(t),R=(e,t)=>e.forEach(t),k=(e,t=a)=>e.join(t),S=(e,t)=>e.map(t),A=e=>e.length,P=(e,t)=>e.filter(t),E=(e,...t)=>e.push(...t),D=e=>e.pop(),O=(e,...t)=>e.unshift(...t),N=e=>e.shift(),L=JSON.parse,G=isFinite,j=(e,t)=>e instanceof t,M=e=>null==e,J=e=>e==o||e==d,z=e=>t(e)==o,W=e=>Array.isArray(e),B=e=>{const l=t(e);return J(l)||l==r&&G(e)?l:void 0},F=Object,U=F.keys,_=F.freeze,Z=e=>j(e,F)&&e.constructor==F,H=(e,t)=>S(F.entries(e),(([e,l])=>t(l,e))),Q=e=>A(U(e)),q=e=>Z(e)&&0==Q(e),K=(e,t)=>e?.has(t)??!1,X=e=>[...e?.values()??[]],Y=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),le=(e,t)=>e?.get(t),ae=(e,t)=>Y(e,((e,l)=>t(l,e))),ne=(e,t)=>S([...e?.entries()??[]],(([e,l])=>t(l,e))),oe=(e,t,l)=>M(l)?(ee(e,t),e):e?.set(t,l),de=(e,t,l)=>(K(e,t)||oe(e,t,l()),le(e,t)),re=e=>e.toUpperCase(),se=e=>e.toLowerCase(),Ie="a ",ce="A function for",$e=", and registers a listener so that any changes to that result will cause a re-render",ie="Callback",ue="Del",pe="Deps",be=pe+"?: React.DependencyList",Ce="doRollback?: DoRollback",he="actions: () => Return, "+Ce,ge="export",me="Id",fe="Invalid",we="Json",ye=se(c),Te="?: ",ve=" | undefined",Ve="NonNullable",xe="Partial",Re="Props",ke="Provider",Se=`Registers a ${ye} that will be called`,Ae="Represents",Pe="rowId: "+me,Ee="Schema",De="Set",Oe=", descending?: boolean, offset?: number, limit?: number",Ne="[]",Le="the Store",Ge="Transaction",je=Ge+"Changes",Me=se(Ge),Je="Execute a "+Me+" to make multiple mutations",ze="Explicitly starts a "+Me,We="Explicitly finishes a "+Me,Be="the end of the "+Me,Fe="void",Ue=" => "+Fe,_e="WhenSet",Ze=" when setting it",He=Ie+"string serialization of",Qe=" ",qe="Gets a callback that can ",Ke="the ",Xe=" the schema for",Ye=(e=0,t=0)=>`the ${ht[e]}content of`+(t?Qe+Le:a),et=(e=0,t,l=0)=>pt[t]+Qe+Ye(e,1)+(l?" when setting it":a),tt=(e,t=0)=>Ae+` a Row when ${t?"s":"g"}etting ${Ye()} the '${e}' `+p,lt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,at=(e,t)=>`Calls a function for each ${e} in `+t,nt=e=>"The props passed to a component that renders "+e,ot=e=>"A function that takes "+e,dt=(e,t=0)=>ce+" listening to changes to "+Ct[e]+" in "+Ct[t],rt=(e,t,l=0)=>Se+" whenever "+Ct[e]+" in "+Ct[t]+" change"+(l?a:"s"),st=e=>`the '${e}' `+p,It=e=>"the specified Row in "+st(e),ct=(e,t=0)=>pt[t]+` ${Ye()} `+st(e),$t=(e,t=0)=>pt[t]+` ${Ye()} `+It(e),it=(e,t,l=0)=>pt[l]+` the '${t}' Cell for `+It(e),ut=(e,t=0)=>pt[t]+` the '${e}' Value`,pt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ae,"Gets "+He,"Sets "+He,Se+" whenever",qe+"set",qe+"add",qe+"set part of",qe+"delete","Renders","Gets "+He+Xe,"Sets"+Xe,"Deletes"+Xe],bt=[$,"has","set","del","set","forEach",i,a],Ct=[Le,b,Ke+p+Qe+u,Ie+p,Ke+h+Qe+u,Ie+h,Ke+f+Qe+u,Ie+f,"invalid Cell changes",T,Ke+y+Qe+u,Ie+y,"invalid Value changes",Ke+"sorted "+h+Qe+u,Ke+f+Qe+u+" anywhere"],ht=[a,"tabular ","keyed value "],gt=e=>new Set(W(e)||M(e)?e:[e]),mt=(e,t)=>e?.add(t),ft=/[^A-Za-z]+/,wt=/[^A-Za-z0-9]+/,yt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Tt=(e,t,l)=>e.substring(t,l),vt=e=>e.includes(n),Vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return K(e,n)?Vt(e,t,l,a+1):(oe(e,n,l),n)},xt=e=>e.replace(yt,((e,t,l)=>{const a=77-Rt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Rt=e=>e.length,kt=e=>e.flat(1e3),St=(e,t=0)=>k(S(e.split(wt),((e,l)=>(l>0||t?re:se)(Tt(e,0,1))+Tt(e,1)))),At=e=>re(k((e&&!ft.test(e[0])?e:" "+e).split(wt),"_")),Pt=e=>`/** ${e}. */`,Et=(...e)=>k(P(e,(e=>e)),", "),Dt=(...e)=>"{"+k(e,"; ")+"}",Ot=(...e)=>Dt(...S(e,(e=>"readonly "+e))),Nt=()=>{const e=[te(),te(),te(),te()],t=te(),l=te(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>k(kt(e),"\n"),(t,l,...a)=>R(a,(a=>R([0,1],(n=>(t??n)==n?mt(de(e[n],l,gt),a):0)))),(e,l,n,o=a,d=1)=>Vt(t,e,[l,n,o,d]),(e,t,a)=>Vt(l,e,W(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>le(l,e)===t?e:Vt(l,e,t),(t=0)=>S([...x(ne(e[t],((e,t)=>`import {${k(x(X(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>vt(e)!=vt(t)?vt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>ne(t,(([e,t,l,n],o)=>[Pt(t),`${n?ge+" ":a}type ${o}${l} = ${e};`,a])),()=>ne(l,((e,t)=>(e=W(e)?e:[e],E(e,D(e)+";"),[`const ${t} = ${N(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Gt=(e,t,l)=>[t=>H(e,((e,a)=>t(a,St(a,1),l(At(a),`'${a}'`)))),(t,a)=>H(e[t],((e,t)=>a(t,e[s],e[I],l(At(t),`'${t}'`),St(t,1)))),e=>H(t,((t,a)=>e(a,t[s],t[I],l(At(a),`'${a}'`),St(a,1))))],jt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,r=e(b,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`)))+"}"))),et(1,5)),s=e(b+_e,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),et(1,5,1)),I=e(p+me,"keyof "+r,"A "+p+" Id in "+Le),$=`<TId extends ${I}>`,i=e(p,Ve+`<${r}[TId]>`,"A "+p+" in "+Le,$),u=e(p+_e,Ve+`<${s}[TId]>`,"A "+p+" in "+Le+Ze,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+_e,u+"<TId>[Id]","A "+h+" in a "+p+Ze,$),v=e(f+me,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,Ve+`<${r}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),R=e(f+ie,`(...[cellId, cell]: ${x}<TId>)`+Ue,ot(Ie+f+" Id, and "+f),$),k=e(h+ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ue+") "+Ue,ot(Ie+h+" Id, and a "+f+" iterator"),$),S=e(p+f+ie,`(cellId: ${v}<TId>, count: number) `+Ue,ot(Ie+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ue}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),P=e(p+ie,`(...[tableId, forEachRow]: ${A})`+Ue,ot(Ie+p+" Id, and a "+h+" iterator"),a),E=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,ce+" returning information about any Cell's changes during a "+Me),O=e(b+c,`(${d}, getCellChange: ${D}${ve})`+Ue,dt(1)),N=e(C+c,`(${d})`+Ue,dt(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${D}${ve})`+Ue,dt(3)),G=e(p+w+c,`(${d}, tableId: ${I})`+Ue,dt(14,3)),j=e(g+c,`(${d}, tableId: ${I})`+Ue,dt(4,3)),J=e(m+c,"("+Et(d,"tableId: "+I,"cellId: Id"+ve,"descending: boolean","offset: number","limit: number"+ve,"sortedRowIds: Ids")+")"+Ue,dt(13,3)),z=e(h+c,"("+Et(""+d,"tableId: "+I,Pe,`getCellChange: ${D}${ve}`)+")"+Ue,dt(5,3)),W=e(w+c,"("+Et(""+d,"tableId: "+I,Pe)+")"+Ue,dt(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Pe}, cellId: CId, newCell: ${V}<TId, CId> ${ve}, oldCell: ${V}<TId, CId> ${ve}, getCellChange: ${D} ${ve}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[r,s,I,i,u,y,T,v,V,R,k,S,P,O,N,L,G,j,J,z,W,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Ue,dt(7,5)),e(fe+f+c,`(${d}, tableId: Id, ${Pe}, cellId: Id, invalidCells: any[])`+Ue,dt(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Dt(...n(((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`))),et(2,5)),r=e(T+_e,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),et(2,5,1)),s=e(y+me,"keyof "+d,"A "+y+" Id in "+Le),I=e(y,Ve+`<${d}[VId]>`,"A "+y+" Id in "+Le,`<VId extends ${s}>`),$=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Le,`<VId = ${s}>`,0),i=e(y+ie,`(...[valueId, value]: ${$})`+Ue,ot(Ie+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${s}) => ValueChange`,ce+" returning information about any Value's changes during a "+Me),p=e(T+c,`(${o}, getValueChange: ${u}${ve})`+Ue,dt(9)),b=e(v+c,`(${o})`+Ue,dt(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${I}<VId> ${ve}, oldValue: ${I}<VId> ${ve}, getValueChange: ${u} ${ve}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ue,dt(11)),e(fe+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Ue,dt(12))]},(t,l)=>e(Ge+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ue,ce+" listening to the completion of a "+Me)],Mt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),Jt=(e,t=a)=>`fluent(() => ${Mt(e,t)})`,zt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Wt=(e,t,n)=>{const[o,r,$,V,x,S,A,P]=Nt(),[D,N,L]=Gt(e,t,x),[G,j,J]=jt($,D,N,L),W=te(),B=(e=0)=>ne(W,(([t,l,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${l} => ${n},`]:[r+d+`(${t}): ${l};`];return e||O(s,Pt(o)),E(s,a),s})),F=(e,t,l,n,o,d=a)=>Vt(W,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,r=a,s=a)=>F(bt[e]+t+(4==e?xe:a)+l,d,n,(n==H?Jt:Mt)(bt[e]+(4==e?xe:a)+l,r,e?void 0:n),o,s),_=(e,t,l,n=a,o=a,d=1,r=a)=>F(i+e+c,(n?n+", ":a)+ye+": "+t+(d?", mutator?: boolean":a),me,zt(i+e+c,o,d?"mutator":a),l,r),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),K=[],Y=te();let ee=[],de=[];if(r(1,Z,H,`create${H} as create${H}Decl`),q(e))r(null,l,b);else{r(0,l,"CellChange"),r(null,l,u);const[e,t,n,o,c,i,y,T,v,V,S,A,P,O,L,j,J,W,B,F,q,ae,ne]=G(Q,H),de=te();D(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Ae+` the '${e}' `+p),$(t+p+_e,c+l,Ae+` the '${e}' `+p+Ze),$(t+h,i+l,tt(e)),$(t+h+_e,y+l,tt(e,1)),$(t+f+me,T+l,`A Cell Id for the '${e}' `+p),$(t+f+ie,V+l,ot(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+ie,S+l,ot(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+ie,A+l,ot(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];oe(de,e,a),r(1,Z,...a)})),r(1,Z,e,t,n,T,P,O,L,j,J,W,B,F,q,ae,ne),ee=[e,t,n,T,O,L,j,J,W,B,F,q,ae,de],R([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,et(1,n),t,l))),U(0,a,C,n+Ne,lt(p,Le)),U(5,a,p,Fe,at(p,Le),"tableCallback: "+P,"tableCallback as any"),D(((e,t,l)=>{const[n,o,r,s,I,c,$,i]=le(de,e);R([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],r)=>U(r,t,p,n,ct(e,r),o,l+d))),U(0,t,p+w,u,lt(f,"the whole of "+st(e)),a,l),U(5,t,p+f,Fe,at(p+f,"the whole of "+st(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,g,u,lt(h,st(e)),a,l),U(0,t,m,u,lt(h,st(e),1),"cellId?: "+I+Oe,l+", cellId, descending, offset, limit"),U(5,t,h,Fe,at(h,st(e)),"rowCallback: "+$,l+", rowCallback as any"),R([[r],[d],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=a,d=a],r)=>U(r,t,h,n,$t(e,r),Pe+o,l+", rowId"+d))),U(6,t,h,me+ve,"Add a new Row to "+st(e),"row: "+s+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Ne,lt(f,It(e)),Pe,l+", rowId"),U(5,t,f,Fe,at(f,It(e)),Pe+", cellCallback: "+c,l+", rowId, cellCallback as any"),N(e,((n,o,r,s,I)=>{const c="Map"+St(o,1);oe(Y,o,c);const $=o+(M(r)?ve:a);R([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,r=a],c)=>U(c,t+I,f,o,it(e,n,c),Pe+d,l+", rowId, "+s+r))),U(1,t+I,p+f,d,pt[1]+` the '${n}' Cell anywhere in `+st(e),a,l+", "+s)}))})),U(0,a,b+we,we,et(1,6)),U(2,a,b+we,H,et(1,7),"tablesJson: "+we,"tables"+we),_(b,O,et(1,8)+" changes"),_(C,L,rt(2,0,1)),_(p,j,rt(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,rt(14,3,1),`tableId: ${n} | null`,"tableId"),_(g,W,rt(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,rt(13,3,1),Et("tableId: TId",`cellId: ${T}<TId>`+ve,"descending: boolean","offset: number","limit: number"+ve),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,F,rt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,q,rt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ae,rt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${k(D((e=>le(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(fe+f,ne,Se+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),r(1,Z,...X(Y)),E(K,".set"+b+Ee+"({",kt(D(((e,t,l)=>[`[${l}]: {`,...N(e,((e,t,l,n)=>`[${n}]: {[${x(At(s),`'${s}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(q(t))r(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=j(Q,H);r(1,Z,e,t,n,c,$,i,u,p),de=[e,t,n,$,i,u],R([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,et(2,n),t,l))),U(0,a,v,n+Ne,lt(y,Le)),U(5,a,y,"void",at(y,Le),"valueCallback: "+c,"valueCallback as any"),L(((e,t,l,n,o)=>{const r="Map"+St(t,1);oe(Y,t,r),R([[t],[d],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,l,d=a],r)=>U(r,o,y,t,ut(e,r),l,n+d)))})),U(0,a,T+we,we,et(2,6)),U(2,a,T+we,H,et(2,7),"valuesJson: "+we,"values"+we),_(T,$,et(2,8)+" changes"),_(v,i,rt(10,0,1)),_(y,u,rt(11,0),`valueId: ${n} | null`,"valueId"),_(fe+y,p,Se+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),r(1,Z,...X(Y)),r(0,l,"ValueChange"),E(K,".set"+T+Ee+"({",L(((e,t,l,n)=>[`[${n}]: {[${x(At(s),`'${s}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,et(0,0)),U(2,a,"Content",H,et(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,je,H,`Applies a set of ${je} to the Store`,"transactionChanges: "+je,"transactionChanges"),ae(Y,((e,t)=>$(t,`(cell: ${e}${ve}) => `+e,`Takes a ${e} Cell value and returns another`))),r(null,l,"DoRollback",me,"IdOrNull",we,"Store",je),r(0,l,"Get"+je,"GetTransactionLog"),U(0,a,we,we,et(0,6)),U(2,a,we,H,et(0,7),"tablesAndValuesJson: "+we,"tablesAndValuesJson"),U(7,a,Me,"Return",Je,he,"actions, doRollback","<Return>"),U(7,a,"start"+Ge,H,ze),U(7,a,"finish"+Ge,H,We,Ce,"doRollback");const re=J(Q,H);return _("Start"+Ge,re,Se+" just before the start of the "+Me,a,a,0),_("WillFinish"+Ge,re,Se+" just before "+Be,a,a,0),_("DidFinish"+Ge,re,Se+" just after "+Be,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Le,"listenerId: Id","listenerId"),F("getStore",a,"Store","store",pt[0]+" the underlying Store object"),r(1,l,"createStore"),r(1,Z,H,`create${H} as create${H}Decl`,re),x("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...B(1),"}"]),[o(...S(0),...A(),ge+" interface "+H+" {",...B(0),"}",a,Pt(`Creates a ${H} object`),ge+" function create"+H+"(): "+H+";"),o(...S(1),ge+" const create"+H+": typeof create"+H+"Decl = () => {",...P(),`return Object.freeze(${Q});`,"};"),ee,de]},Bt=e=>$+e,Ft=e=>Et(Bt(e),Bt(e)+pe),Ut="debugIds?: boolean",_t="debugIds={debugIds}",Zt="then"+be,Ht="Parameter",Qt=": (parameter: "+Ht+", store: Store) => ",qt="const contextValue = useContext(Context);",Kt=", based on a parameter",Xt=": ",Yt="<"+Ht+",>",el=Ht+"ized"+ie+"<"+Ht+">",tl="rowId",ll="rowId={rowId}",al=", separator, debugIds",nl="separator?: ReactElement | string",ol="then?: (store: Store",dl=Et(ol+")"+Ue,Zt),rl="then, then"+pe,sl=tl+Xt+me,Il="View",cl=(e,...t)=>Et(...t,ye+": "+e,ye+be,"mutator?: boolean"),$l=(...e)=>Et(...e,ye,ye+pe,"mutator"),il=(e,t,n,o,d)=>{const[r,s,I,$,i,V,x,R]=Nt(),[S,A,P]=Gt(e,t,i),D=`./${St(n)}.d`,N=`./${St(n)}-ui-react.d`,L="tinybase/ui-react",G=St(n,1),j=St(G),J=G+"Or"+G+me,z=j+"Or"+G+me,W=j+`={${j}}`,B=te(),F=(e,t,l,n,o,d=a)=>(s(1,N,e+" as "+e+"Decl"),Vt(B,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>F("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,r=a,I=a,c=a)=>(s(1,L,`use${t} as use${t}Core`),U(e,Et(o,X,I),l,ee+`(${z}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ne(B,(([t,l,n,o,d],r)=>{const s=e?[ge+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[ge+` function ${r}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||O(s,Pt(o)),E(s,a),s}));s(null,l,me,"Store",ie,Ht+"ized"+ie),s(0,L,"ComponentReturnType"),s(null,L,"ExtraProps"),s(0,D,G);const Q=I(J,G+" | "+me,`Used when you need to refer to a ${G} in a React hook or component`),K=I(ke+Re,Ot(j+Te+G,j+`ById?: {[${j}Id: Id]: ${G}}`),`Used with the ${ke} component, so that a `+G+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,N,Q,K);const X=z+Te+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${G}?, {[${j}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+be,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const Y=U(G,"id?: Id",G+ve,["{",qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${ke} component context`),ee=$("useHook",z+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${j} : ${z})?.getStore(), ...postParams)`]),ae=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Et("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=i("NullComponent","() => null");if(!q(e)){const[e,t,n,d,r,i,y,T,v,V,x,R,P,E]=o;s(null,D,e,t,n,r,i,y,T,v,V,x,R,P),s(0,D,d),s(1,D,G),s(null,l,u,"IdOrNull");const O=$("tableView",`{${j}, rowComponent, getRowComponentProps`+al+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ae+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ll,W,_t,"/>","))",al,", tableId,",");"]),L=$("getDefaultTableComponent","tableId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${k(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(b,b,e,et(1,0)+$e);const z=_(C,C,n+Ne,lt(p,Le)+$e);_(De+b+ie,De+b+ie,el,et(1,9)+Kt,Et(Bt(b)+Qt+t,Bt(b)+be),Ft(b),Yt,Et(ol,`tables: ${t})`+Ue,Zt),rl),_(ue+b+ie,ue+b+ie,ie,et(1,12),a,a,a,dl,rl);const B=I(f+Re,Ot("tableId?: TId","rowId: Id","cellId?: CId",j+Te+G,Ut),nt(Ie+f),`<TId extends ${n}, CId extends ${d}<TId>>`),F=I(h+Re,Ot("tableId?: TId","rowId: Id",j+Te+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,nl,Ut),nt(Ie+h),`<TId extends ${n}>`),U=I(p+Re,Ot("tableId?: TId",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",nl,Ut),nt(Ie+p),`<TId extends ${n}>`),H=I("Sorted"+p+Re,Ot("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",nl,Ut),nt(Ie+"sorted "+p),`<TId extends ${n}>`),Q=I(b+Re,Ot(j+Te+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,nl,Ut),nt(Ye(1,1)));s(1,N,Q,U,H,F,B),Z(b+Il,"{"+j+", tableComponents, getTableComponentProps"+al+"}: "+Q,[oe+`(${z}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+L+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ae}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,_t,"/>;","}), separator)"],et(1,13)+$e),S(((e,t,l)=>{const[n,o,d,r,I]=le(E,e);s(null,D,n,o,d,r,I),_(t+p,p,n,ct(e)+$e,a,l),_(t+p+w,p+w,u,lt(f,"the whole of "+st(e))+$e,a,l);const c=_(t+g,g,u,lt(h,st(e))+$e,a,l),$=_(t+m,m,u,lt(h,st(e),1)+$e,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,$t(e)+$e,sl,Et(l,tl));const i=_(t+w,w,I+Ne,lt(f,It(e))+$e,sl,Et(l,tl));_(De+t+p+ie,De+p+ie,el,ct(e,9)+Kt,Et(Bt(p)+Qt+o,Bt(p)+be),Et(l,Ft(p)),Yt,Et(ol,`table: ${o})`+Ue,Zt),rl),_(ue+t+p+ie,ue+p+ie,ie,ct(e,12),a,l,a,dl,rl),_(De+t+h+ie,De+h+ie,el,$t(e,9)+Kt,Et(sl,Bt(h)+Qt+r,Bt(h)+be),Et(l,tl,Ft(h)),Yt,Et(ol,`row: ${r})`+Ue,Zt),rl),_("Add"+t+h+ie,"Add"+h+ie,el,$t(e,10)+Kt,Et(Bt(h)+Qt+r,Bt(h)+be),Et(l,Ft(h)),Yt,"then?: ("+Et(sl+ve,"store: Store","row: "+r+")"+Ue,"then"+be)+", reuseRowIds?: boolean",rl+", reuseRowIds"),_(De+t+xe+h+ie,De+xe+h+ie,el,$t(e,11)+Kt,Et(sl,Bt(xe+h)+Qt+r,Bt(xe+h)+be),Et(l,tl,Ft(xe+h)),Yt,Et(ol,`partialRow: ${r})`+Ue,Zt),rl),_(ue+t+h+ie,ue+h+ie,ie,$t(e,12),sl,Et(l,tl),a,dl,rl);const b=Z(t+h+Il,"{rowId, "+j+", cellComponents, getCellComponentProps"+al+`}: ${F}<'${e}'>`,[oe+`(${i}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${ae}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,ll,"cellId={cellId}",W,_t,"/>;","})"+al+", rowId)"],$t(e,13)+$e);Z(t+"Sorted"+p+Il,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,O+"(props, "+$+`(cellId, descending, offset, limit, props.${j}), ${l}, ${b});`,ct(e,13)+", sorted"+$e),Z(t+p+Il,`props: ${U}<'${e}'>`,O+"(props, "+c+`(props.${j}), ${l}, ${b});`,ct(e,13)+$e),A(e,((n,o,d,r,I)=>{const c="Map"+St(o,1);s(0,D,c),s(1,D,c);const $=_(t+I+f,f,o+(M(d)?ve:a),it(e,n)+$e,sl,Et(l,tl,r));_(De+t+I+f+ie,De+f+ie,el,it(e,n,9)+Kt,Et(sl,Bt(f)+Qt+o+" | "+c,Bt(f)+be),Et(l,tl,r,Ft(f)),Yt,Et(ol,`cell: ${o} | ${c})`+Ue,Zt),rl),_(ue+t+I+f+ie,ue+f+ie,ie,it(e,n,12),Et(sl,"forceDel?: boolean"),Et(l,tl,r,"forceDel"),a,dl,rl),Z(t+I+f+Il,`{rowId, ${j}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],it(e,n,13)+$e)}))}));const q=k(S((e=>le(E,e)?.[4]??a))," | ");_(b+c,b+c,Fe,et(1,8)+" changes",cl(r),$l()),_(C+c,C+c,Fe,rt(2,0,1),cl(i),$l()),_(p+c,p+c,Fe,rt(3,0),cl(y,`tableId: ${n} | null`),$l("tableId")),_(p+w+c,p+w+c,Fe,rt(14,3,1),cl(T,`tableId: ${n} | null`),$l("tableId")),_(g+c,g+c,Fe,rt(4,3,1),cl(v,`tableId: ${n} | null`),$l("tableId")),_(m+c,m+c,Fe,rt(13,3,1),cl(V,`tableId: ${n} | null`,"cellId: "+q+ve,"descending: boolean","offset: number","limit: number"+ve),$l("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Fe,rt(5,3),cl(x,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(w+c,w+c,Fe,rt(6,5,1),cl(R,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(f+c,f+c,Fe,rt(7,5),cl(P,`tableId: ${n} | null`,tl+": IdOrNull",`cellId: ${q} | null`),$l("tableId",tl,"cellId"))}if(!q(t)){const[e,t,l,n,o,r]=d;s(null,D,...d),s(1,D,G);const i=$("getDefaultValueComponent","valueId: Id",k(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(T,T,e,et(2,0)+$e);const u=_(v,v,l+Ne,lt(y,Le)+$e);_(De+T+ie,De+T+ie,el,et(2,9)+Kt,Et(Bt(T)+Qt+t,Bt(T)+be),Ft(T),Yt,Et(ol,`values: ${t})`+Ue,Zt),rl),_(De+xe+T+ie,De+xe+T+ie,el,et(2,11)+Kt,Et(Bt(xe+T)+Qt+t,Bt(xe+T)+be),Ft(xe+T),Yt,Et(ol,`partialValues: ${t})`+Ue,Zt),rl),_(ue+T+ie,ue+T+ie,ie,et(2,12),a,a,a,dl,rl);const p=I(y+Re,Ot("valueId?: VId",j+Te+G,Ut),nt("a Value"),`<VId extends ${l}>`),b=I(T+Re,Ot(j+Te+G,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,nl,Ut),nt(Ye(2,1)));s(1,N,b,p),Z(T+Il,"{"+j+", valueComponents, getValueComponentProps"+al+"}: "+b,[oe+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ae}(getValueComponentProps, valueId)}`,"key={valueId}",W,_t,"/>;","}), separator)"],et(2,13)+$e),P(((e,t,l,n,o)=>{const d="Map"+St(t,1);s(0,D,d),s(1,D,d);const r=_(o+y,y,t,ut(e)+$e,a,n);_(De+o+y+ie,De+y+ie,el,ut(e,9)+Kt,Et(Bt(y)+Qt+t+" | "+d,Bt(y)+be),Et(n,Ft(y)),Yt,Et(ol,`value: ${t} | ${d})`+Ue,Zt),rl),_(ue+o+y+ie,ue+y+ie,ie,ut(e,12),a,n,a,dl,rl),Z(o+y+Il,`{${j}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],ut(e,13)+$e)})),_(T+c,T+c,Fe,et(2,8)+" changes",cl(n),$l()),_(v+c,v+c,Fe,rt(10,0,1),cl(o),$l()),_(y+c,y+c,Fe,rt(11,0),cl(r,`valueId: ${l} | null`),$l("valueId"))}return Z(ke,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",qt,"return (","<Context."+ke,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ke}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...x(),...H(0)),r(...V(1),...R(),...H(1))]},ul=(e,t,l)=>{if(q(e)&&q(t))return[a,a,a,a];const[n,o,d,r]=Wt(e,t,l);return[n,o,...il(e,t,l,d,r)]},pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},bl=Lt((e=>{const t=()=>{const t=L(e.getTablesSchemaJson());return!q(t)||V(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=te();if(V(a,(t=>V(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=de(n,a,(()=>[B(o),te(),[0],0])),[r,s,[I]]=d,c=de(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),oe(s,o,c),d[3]++,r==B(o)})))))return t[l]={},Y(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==A(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=L(e.getValuesSchemaJson());return q(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:B(l)}})),t},a=e=>ul(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return S(a(e),((e,a)=>xt(l(e,{...pl,filepath:"_."+t[a]}))))};return _({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:A(e.getValueIds()),jsonLength:Rt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=bl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),r=t(0),s="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",g=h+u,m="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=isFinite,x=(e,t)=>e instanceof t,R=e=>null==e,k=e=>e==o||e==d,S=e=>t(e)==o,A=e=>Array.isArray(e),P=e=>{const l=t(e);return k(l)||l==r&&V(e)?l:void 0},E=(e,t)=>e.every(t),D=(e,t)=>e.sort(t),O=(e,t)=>e.forEach(t),N=(e,t=a)=>e.join(t),L=(e,t)=>e.map(t),G=e=>e.length,j=(e,t)=>e.filter(t),M=(e,...t)=>e.push(...t),J=e=>e.pop(),z=(e,...t)=>e.unshift(...t),W=e=>e.shift(),B=Object,F=B.keys,U=B.freeze,_=e=>x(e,B)&&e.constructor==B,Z=(e,t)=>L(B.entries(e),(([e,l])=>t(l,e))),H=e=>G(F(e)),Q=e=>_(e)&&0==H(e),q=(e,t)=>e?.has(t)??!1,K=e=>[...e?.values()??[]],X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),ee=e=>new Map(e),te=(e,t)=>e?.get(t),le=(e,t)=>X(e,((e,l)=>t(l,e))),ae=(e,t)=>L([...e?.entries()??[]],(([e,l])=>t(l,e))),ne=(e,t,l)=>R(l)?(Y(e,t),e):e?.set(t,l),oe=(e,t,l)=>(q(e,t)||ne(e,t,l()),te(e,t)),de=e=>e.toUpperCase(),re=e=>e.toLowerCase(),se="a ",Ie="A function for",ce=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ie="Del",ue="Deps",pe=ue+"?: React.DependencyList",be="doRollback?: DoRollback",Ce="actions: () => Return, "+be,he="export",ge="Id",me="Invalid",fe="Json",we=re(c),ye="?: ",Te=" | undefined",ve="NonNullable",Ve="Partial",xe="Props",Re="Provider",ke=`Registers a ${we} that will be called`,Se="Represents",Ae="rowId: "+ge,Pe="Schema",Ee="Set",De=", descending?: boolean, offset?: number, limit?: number",Oe="[]",Ne="the Store",Le="Transaction",Ge=Le+"Changes",je=re(Le),Me="Execute a "+je+" to make multiple mutations",Je="Explicitly starts a "+je,ze="Explicitly finishes a "+je,We="the end of the "+je,Be="void",Fe=" => "+Be,Ue="WhenSet",_e=" when setting it",Ze=se+"string serialization of",He=" ",Qe="Gets a callback that can ",qe="the ",Ke=" the schema for",Xe=(e=0,t=0)=>`the ${Ct[e]}content of`+(t?He+Ne:a),Ye=(e=0,t,l=0)=>ut[t]+He+Xe(e,1)+(l?" when setting it":a),et=(e,t=0)=>Se+` a Row when ${t?"s":"g"}etting ${Xe()} the '${e}' `+p,tt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,lt=(e,t)=>`Calls a function for each ${e} in `+t,at=e=>"The props passed to a component that renders "+e,nt=e=>"A function that takes "+e,ot=(e,t=0)=>Ie+" listening to changes to "+bt[e]+" in "+bt[t],dt=(e,t,l=0)=>ke+" whenever "+bt[e]+" in "+bt[t]+" change"+(l?a:"s"),rt=e=>`the '${e}' `+p,st=e=>"the specified Row in "+rt(e),It=(e,t=0)=>ut[t]+` ${Xe()} `+rt(e),ct=(e,t=0)=>ut[t]+` ${Xe()} `+st(e),$t=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),it=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",Se,"Gets "+Ze,"Sets "+Ze,ke+" whenever",Qe+"set",Qe+"add",Qe+"set part of",Qe+"delete","Renders","Gets "+Ze+Ke,"Sets"+Ke,"Deletes"+Ke],pt=[$,"has","set","del","set","forEach",i,a],bt=[Ne,b,qe+p+He+u,se+p,qe+h+He+u,se+h,qe+f+He+u,se+f,"invalid Cell changes",T,qe+y+He+u,se+y,"invalid Value changes",qe+"sorted "+h+He+u,qe+f+He+u+" anywhere"],Ct=[a,"tabular ","keyed value "],ht=e=>new Set(A(e)||R(e)?e:[e]),gt=(e,t)=>e?.add(t),mt=/[^A-Za-z]+/,ft=/[^A-Za-z0-9]+/,wt=/^( *)\/\*\* *(.*?) *\*\/$/gm,yt=(e,t,l)=>e.substring(t,l),Tt=e=>e.includes(n),vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return q(e,n)?vt(e,t,l,a+1):(ne(e,n,l),n)},Vt=e=>e.replace(wt,((e,t,l)=>{const a=77-xt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),xt=e=>e.length,Rt=e=>e.flat(1e3),kt=(e,t=0)=>N(L(e.split(ft),((e,l)=>(l>0||t?de:re)(yt(e,0,1))+yt(e,1)))),St=e=>de(N((e&&!mt.test(e[0])?e:" "+e).split(ft),"_")),At=e=>`/** ${e}. */`,Pt=(...e)=>N(j(e,(e=>e)),", "),Et=(...e)=>"{"+N(e,"; ")+"}",Dt=(...e)=>Et(...L(e,(e=>"readonly "+e))),Ot=()=>{const e=[ee(),ee(),ee(),ee()],t=ee(),l=ee(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>N(Rt(e),"\n"),(t,l,...a)=>O(a,(a=>O([0,1],(n=>(t??n)==n?gt(oe(e[n],l,ht),a):0)))),(e,l,n,o=a,d=1)=>vt(t,e,[l,n,o,d]),(e,t,a)=>vt(l,e,A(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>te(l,e)===t?e:vt(l,e,t),(t=0)=>L([...D(ae(e[t],((e,t)=>`import {${N(D(K(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Tt(e)!=Tt(t)?Tt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>ae(t,(([e,t,l,n],o)=>[At(t),`${n?he+" ":a}type ${o}${l} = ${e};`,a])),()=>ae(l,((e,t)=>(e=A(e)?e:[e],M(e,J(e)+";"),[`const ${t} = ${W(e)}`,e,a])))]},Nt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>Z(e,((e,a)=>t(a,kt(a,1),l(St(a),`'${a}'`)))),(t,a)=>Z(e[t],((e,t)=>a(t,e[s],e[I],l(St(t),`'${t}'`),kt(t,1)))),e=>Z(t,((t,a)=>e(a,t[s],t[I],l(St(a),`'${a}'`),kt(a,1))))],Gt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,r=e(b,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...l(e,((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`)))+"}"))),Ye(1,5)),s=e(b+Ue,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Ye(1,5,1)),I=e(p+ge,"keyof "+r,"A "+p+" Id in "+Ne),$=`<TId extends ${I}>`,i=e(p,ve+`<${r}[TId]>`,"A "+p+" in "+Ne,$),u=e(p+Ue,ve+`<${s}[TId]>`,"A "+p+" in "+Ne+_e,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+Ue,u+"<TId>[Id]","A "+h+" in a "+p+_e,$),v=e(f+ge,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,ve+`<${r}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),k=e(f+$e,`(...[cellId, cell]: ${x}<TId>)`+Fe,nt(se+f+" Id, and "+f),$),S=e(h+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Fe+") "+Fe,nt(se+h+" Id, and a "+f+" iterator"),$),A=e(p+f+$e,`(cellId: ${v}<TId>, count: number) `+Fe,nt(se+f+" Id, and count of how many times it appears"),$),P=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Fe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+$e,`(...[tableId, forEachRow]: ${P})`+Fe,nt(se+p+" Id, and a "+h+" iterator"),a),D=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,Ie+" returning information about any Cell's changes during a "+je),N=e(b+c,`(${d}, getCellChange: ${O}${Te})`+Fe,ot(1)),L=e(C+c,`(${d})`+Fe,ot(2)),G=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${O}${Te})`+Fe,ot(3)),j=e(p+w+c,`(${d}, tableId: ${I})`+Fe,ot(14,3)),M=e(g+c,`(${d}, tableId: ${I})`+Fe,ot(4,3)),J=e(m+c,"("+Pt(d,"tableId: "+I,"cellId: Id"+Te,"descending: boolean","offset: number","limit: number"+Te,"sortedRowIds: Ids")+")"+Fe,ot(13,3)),z=e(h+c,"("+Pt(""+d,"tableId: "+I,Ae,`getCellChange: ${O}${Te}`)+")"+Fe,ot(5,3)),W=e(w+c,"("+Pt(""+d,"tableId: "+I,Ae)+")"+Fe,ot(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Ae}, cellId: CId, newCell: ${V}<TId, CId> ${Te}, oldCell: ${V}<TId, CId> ${Te}, getCellChange: ${O} ${Te}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[r,s,I,i,u,y,T,v,V,k,S,A,E,N,L,G,j,M,J,z,W,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Fe,ot(7,5)),e(me+f+c,`(${d}, tableId: Id, ${Ae}, cellId: Id, invalidCells: any[])`+Fe,ot(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Et(...n(((e,t,l)=>`'${e}'${R(l)?"?":a}: ${t}`))),Ye(2,5)),r=e(T+Ue,Et(...n(((e,t)=>`'${e}'?: ${t}`))),Ye(2,5,1)),s=e(y+ge,"keyof "+d,"A "+y+" Id in "+Ne),I=e(y,ve+`<${d}[VId]>`,"A "+y+" Id in "+Ne,`<VId extends ${s}>`),$=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Ne,`<VId = ${s}>`,0),i=e(y+$e,`(...[valueId, value]: ${$})`+Fe,nt(se+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${s}) => ValueChange`,Ie+" returning information about any Value's changes during a "+je),p=e(T+c,`(${o}, getValueChange: ${u}${Te})`+Fe,ot(9)),b=e(v+c,`(${o})`+Fe,ot(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${I}<VId> ${Te}, oldValue: ${I}<VId> ${Te}, getValueChange: ${u} ${Te}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Fe,ot(11)),e(me+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Fe,ot(12))]},(t,l)=>e(Le+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Fe,Ie+" listening to the completion of a "+je)],jt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),Mt=(e,t=a)=>`fluent(() => ${jt(e,t)})`,Jt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,zt=(e,t,n)=>{const[o,r,$,V,x,k,A,P]=Ot(),[E,D,L]=Lt(e,t,x),[G,j,J]=Gt($,E,D,L),W=ee(),B=(e=0)=>ae(W,(([t,l,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${l} => ${n},`]:[r+d+`(${t}): ${l};`];return e||z(s,At(o)),M(s,a),s})),F=(e,t,l,n,o,d=a)=>vt(W,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,r=a,s=a)=>F(pt[e]+t+(4==e?Ve:a)+l,d,n,(n==H?Mt:jt)(pt[e]+(4==e?Ve:a)+l,r,e?void 0:n),o,s),_=(e,t,l,n=a,o=a,d=1,r=a)=>F(i+e+c,(n?n+", ":a)+we+": "+t+(d?", mutator?: boolean":a),ge,Jt(i+e+c,o,d?"mutator":a),l,r),Z=`./${kt(n)}.d`,H=kt(n,1),q=kt(H),X=[],Y=ee();let oe=[],de=[];if(r(1,Z,H,`create${H} as create${H}Decl`),Q(e))r(null,l,b);else{r(0,l,"CellChange"),r(null,l,u);const[e,t,n,o,c,i,y,T,v,V,k,A,P,L,j,J,z,W,B,F,Q,le,ae]=G(q,H),de=ee();E(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Se+` the '${e}' `+p),$(t+p+Ue,c+l,Se+` the '${e}' `+p+_e),$(t+h,i+l,et(e)),$(t+h+Ue,y+l,et(e,1)),$(t+f+ge,T+l,`A Cell Id for the '${e}' `+p),$(t+f+$e,V+l,nt(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+$e,k+l,nt(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+$e,A+l,nt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ne(de,e,a),r(1,Z,...a)})),r(1,Z,e,t,n,T,P,L,j,J,z,W,B,F,Q,le,ae),oe=[e,t,n,T,L,j,J,z,W,B,F,Q,le,de],O([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,Ye(1,n),t,l))),U(0,a,C,n+Oe,tt(p,Ne)),U(5,a,p,Be,lt(p,Ne),"tableCallback: "+P,"tableCallback as any"),E(((e,t,l)=>{const[n,o,r,s,I,c,$,i]=te(de,e);O([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],r)=>U(r,t,p,n,It(e,r),o,l+d))),U(0,t,p+w,u,tt(f,"the whole of "+rt(e)),a,l),U(5,t,p+f,Be,lt(p+f,"the whole of "+rt(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,g,u,tt(h,rt(e)),a,l),U(0,t,m,u,tt(h,rt(e),1),"cellId?: "+I+De,l+", cellId, descending, offset, limit"),U(5,t,h,Be,lt(h,rt(e)),"rowCallback: "+$,l+", rowCallback as any"),O([[r],[d],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=a,d=a],r)=>U(r,t,h,n,ct(e,r),Ae+o,l+", rowId"+d))),U(6,t,h,ge+Te,"Add a new Row to "+rt(e),"row: "+s+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Oe,tt(f,st(e)),Ae,l+", rowId"),U(5,t,f,Be,lt(f,st(e)),Ae+", cellCallback: "+c,l+", rowId, cellCallback as any"),D(e,((n,o,r,s,I)=>{const c="Map"+kt(o,1);ne(Y,o,c);const $=o+(R(r)?Te:a);O([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,r=a],c)=>U(c,t+I,f,o,$t(e,n,c),Ae+d,l+", rowId, "+s+r))),U(1,t+I,p+f,d,ut[1]+` the '${n}' Cell anywhere in `+rt(e),a,l+", "+s)}))})),U(0,a,b+fe,fe,Ye(1,6)),U(2,a,b+fe,H,Ye(1,7),"tablesJson: "+fe,"tables"+fe),_(b,L,Ye(1,8)+" changes"),_(C,j,dt(2,0,1)),_(p,J,dt(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,z,dt(14,3,1),`tableId: ${n} | null`,"tableId"),_(g,W,dt(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,dt(13,3,1),Pt("tableId: TId",`cellId: ${T}<TId>`+Te,"descending: boolean","offset: number","limit: number"+Te),Pt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,F,dt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,Q,dt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,le,dt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${N(E((e=>te(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(me+f,ae,ke+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),r(1,Z,...K(Y)),M(X,".set"+b+Pe+"({",Rt(E(((e,t,l)=>[`[${l}]: {`,...D(e,((e,t,l,n)=>`[${n}]: {[${x(St(s),`'${s}'`)}]: ${x(St(t),`'${t}'`)}${R(l)?a:`, [${x(St(I),`'${I}'`)}]: `+(S(l)?x(St(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(Q(t))r(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=j(q,H);r(1,Z,e,t,n,c,$,i,u,p),de=[e,t,n,$,i,u],O([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,Ye(2,n),t,l))),U(0,a,v,n+Oe,tt(y,Ne)),U(5,a,y,"void",lt(y,Ne),"valueCallback: "+c,"valueCallback as any"),L(((e,t,l,n,o)=>{const r="Map"+kt(t,1);ne(Y,t,r),O([[t],[d],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,l,d=a],r)=>U(r,o,y,t,it(e,r),l,n+d)))})),U(0,a,T+fe,fe,Ye(2,6)),U(2,a,T+fe,H,Ye(2,7),"valuesJson: "+fe,"values"+fe),_(T,$,Ye(2,8)+" changes"),_(v,i,dt(10,0,1)),_(y,u,dt(11,0),`valueId: ${n} | null`,"valueId"),_(me+y,p,ke+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),r(1,Z,...K(Y)),r(0,l,"ValueChange"),M(X,".set"+T+Pe+"({",L(((e,t,l,n)=>[`[${n}]: {[${x(St(s),`'${s}'`)}]: ${x(St(t),`'${t}'`)}${R(l)?a:`, [${x(St(I),`'${I}'`)}]: `+(S(l)?x(St(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,Ye(0,0)),U(2,a,"Content",H,Ye(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,Ge,H,`Applies a set of ${Ge} to the Store`,"transactionChanges: "+Ge,"transactionChanges"),le(Y,((e,t)=>$(t,`(cell: ${e}${Te}) => `+e,`Takes a ${e} Cell value and returns another`))),r(null,l,"DoRollback",ge,"IdOrNull",fe,"Store",Ge),r(0,l,"Get"+Ge,"GetTransactionLog"),U(0,a,fe,fe,Ye(0,6)),U(2,a,fe,H,Ye(0,7),"tablesAndValuesJson: "+fe,"tablesAndValuesJson"),U(7,a,je,"Return",Me,Ce,"actions, doRollback","<Return>"),U(7,a,"start"+Le,H,Je),U(7,a,"finish"+Le,H,ze,be,"doRollback");const re=J(q,H);return _("Start"+Le,re,ke+" just before the start of the "+je,a,a,0),_("WillFinish"+Le,re,ke+" just before "+We,a,a,0),_("DidFinish"+Le,re,ke+" just after "+We,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Ne,"listenerId: Id","listenerId"),F("getStore",a,"Store","store",ut[0]+" the underlying Store object"),r(1,l,"createStore"),r(1,Z,H,`create${H} as create${H}Decl`,re),x("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),x(q,["{",...B(1),"}"]),[o(...k(0),...A(),he+" interface "+H+" {",...B(0),"}",a,At(`Creates a ${H} object`),he+" function create"+H+"(): "+H+";"),o(...k(1),he+" const create"+H+": typeof create"+H+"Decl = () => {",...P(),`return Object.freeze(${q});`,"};"),oe,de]},Wt=e=>$+e,Bt=e=>Pt(Wt(e),Wt(e)+ue),Ft="debugIds?: boolean",Ut="debugIds={debugIds}",_t="then"+pe,Zt="Parameter",Ht=": (parameter: "+Zt+", store: Store) => ",Qt="const contextValue = useContext(Context);",qt=", based on a parameter",Kt=": ",Xt="<"+Zt+",>",Yt=Zt+"ized"+$e+"<"+Zt+">",el="rowId",tl="rowId={rowId}",ll=", separator, debugIds",al="separator?: ReactElement | string",nl="then?: (store: Store",ol=Pt(nl+")"+Fe,_t),dl="then, then"+ue,rl=el+Kt+ge,sl="View",Il=(e,...t)=>Pt(...t,we+": "+e,we+pe,"mutator?: boolean"),cl=(...e)=>Pt(...e,we,we+ue,"mutator"),$l=(e,t,n,o,d)=>{const[r,s,I,$,i,V,x,k]=Ot(),[S,A,P]=Lt(e,t,i),E=`./${kt(n)}.d`,D=`./${kt(n)}-ui-react.d`,O="tinybase/ui-react",L=kt(n,1),G=kt(L),j=L+"Or"+L+ge,J=G+"Or"+L+ge,W=G+`={${G}}`,B=ee(),F=(e,t,l,n,o,d=a)=>(s(1,D,e+" as "+e+"Decl"),vt(B,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>F("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,r=a,I=a,c=a)=>(s(1,O,`use${t} as use${t}Core`),U(e,Pt(o,X,I),l,le+`(${J}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ae(B,(([t,l,n,o,d],r)=>{const s=e?[he+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[he+` function ${r}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||z(s,At(o)),M(s,a),s}));s(null,l,ge,"Store",$e,Zt+"ized"+$e),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,L);const q=I(j,L+" | "+ge,`Used when you need to refer to a ${L} in a React hook or component`),K=I(Re+xe,Dt(G+ye+L,G+`ById?: {[${G}Id: Id]: ${L}}`),`Used with the ${Re} component, so that a `+L+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,q,K);const X=J+ye+q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${L}?, {[${G}Id: Id]: ${L}}?]>([])`),U("Create"+L,`create: () => ${L}, create`+pe,L,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${L} within a React application with convenient memoization`);const Y=U(L,"id?: Id",L+Te,["{",Qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${L} from within a ${Re} component context`),le=$("useHook",J+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${Y}(${J} as Id);`,`return hook(...preParams, ((${J} == null || typeof ${J} == 'string')`,`? ${G} : ${J})?.getStore(), ...postParams)`]),ne=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Pt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=i("NullComponent","() => null");if(!Q(e)){const[e,t,n,d,r,i,y,T,v,V,x,k,P,O]=o;s(null,E,e,t,n,r,i,y,T,v,V,x,k,P),s(0,E,d),s(1,E,L),s(null,l,u,"IdOrNull");const j=$("tableView",`{${G}, rowComponent, getRowComponentProps`+ll+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",tl,W,Ut,"/>","))",ll,", tableId,",");"]),M=$("getDefaultTableComponent","tableId: Id",N(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",N(S(((e,t,l)=>`tableId == ${l} ? ${N(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(b,b,e,Ye(1,0)+ce);const z=_(C,C,n+Oe,tt(p,Ne)+ce);_(Ee+b+$e,Ee+b+$e,Yt,Ye(1,9)+qt,Pt(Wt(b)+Ht+t,Wt(b)+pe),Bt(b),Xt,Pt(nl,`tables: ${t})`+Fe,_t),dl),_(ie+b+$e,ie+b+$e,$e,Ye(1,12),a,a,a,ol,dl);const B=I(f+xe,Dt("tableId?: TId","rowId: Id","cellId?: CId",G+ye+L,Ft),at(se+f),`<TId extends ${n}, CId extends ${d}<TId>>`),F=I(h+xe,Dt("tableId?: TId","rowId: Id",G+ye+L,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,al,Ft),at(se+h),`<TId extends ${n}>`),U=I(p+xe,Dt("tableId?: TId",G+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",al,Ft),at(se+p),`<TId extends ${n}>`),H=I("Sorted"+p+xe,Dt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",al,Ft),at(se+"sorted "+p),`<TId extends ${n}>`),Q=I(b+xe,Dt(G+ye+L,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,al,Ft),at(Xe(1,1)));s(1,D,Q,U,H,F,B),Z(b+sl,"{"+G+", tableComponents, getTableComponentProps"+ll+"}: "+Q,[oe+`(${z}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+M+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ut,"/>;","}), separator)"],Ye(1,13)+ce),S(((e,t,l)=>{const[n,o,d,r,I]=te(O,e);s(null,E,n,o,d,r,I),_(t+p,p,n,It(e)+ce,a,l),_(t+p+w,p+w,u,tt(f,"the whole of "+rt(e))+ce,a,l);const c=_(t+g,g,u,tt(h,rt(e))+ce,a,l),$=_(t+m,m,u,tt(h,rt(e),1)+ce,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,ct(e)+ce,rl,Pt(l,el));const i=_(t+w,w,I+Oe,tt(f,st(e))+ce,rl,Pt(l,el));_(Ee+t+p+$e,Ee+p+$e,Yt,It(e,9)+qt,Pt(Wt(p)+Ht+o,Wt(p)+pe),Pt(l,Bt(p)),Xt,Pt(nl,`table: ${o})`+Fe,_t),dl),_(ie+t+p+$e,ie+p+$e,$e,It(e,12),a,l,a,ol,dl),_(Ee+t+h+$e,Ee+h+$e,Yt,ct(e,9)+qt,Pt(rl,Wt(h)+Ht+r,Wt(h)+pe),Pt(l,el,Bt(h)),Xt,Pt(nl,`row: ${r})`+Fe,_t),dl),_("Add"+t+h+$e,"Add"+h+$e,Yt,ct(e,10)+qt,Pt(Wt(h)+Ht+r,Wt(h)+pe),Pt(l,Bt(h)),Xt,"then?: ("+Pt(rl+Te,"store: Store","row: "+r+")"+Fe,"then"+pe)+", reuseRowIds?: boolean",dl+", reuseRowIds"),_(Ee+t+Ve+h+$e,Ee+Ve+h+$e,Yt,ct(e,11)+qt,Pt(rl,Wt(Ve+h)+Ht+r,Wt(Ve+h)+pe),Pt(l,el,Bt(Ve+h)),Xt,Pt(nl,`partialRow: ${r})`+Fe,_t),dl),_(ie+t+h+$e,ie+h+$e,$e,ct(e,12),rl,Pt(l,el),a,ol,dl);const b=Z(t+h+sl,"{rowId, "+G+", cellComponents, getCellComponentProps"+ll+`}: ${F}<'${e}'>`,[oe+`(${i}(rowId, ${G}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,tl,"cellId={cellId}",W,Ut,"/>;","})"+ll+", rowId)"],ct(e,13)+ce);Z(t+"Sorted"+p+sl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,j+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${l}, ${b});`,It(e,13)+", sorted"+ce),Z(t+p+sl,`props: ${U}<'${e}'>`,j+"(props, "+c+`(props.${G}), ${l}, ${b});`,It(e,13)+ce),A(e,((n,o,d,r,I)=>{const c="Map"+kt(o,1);s(0,E,c),s(1,E,c);const $=_(t+I+f,f,o+(R(d)?Te:a),$t(e,n)+ce,rl,Pt(l,el,r));_(Ee+t+I+f+$e,Ee+f+$e,Yt,$t(e,n,9)+qt,Pt(rl,Wt(f)+Ht+o+" | "+c,Wt(f)+pe),Pt(l,el,r,Bt(f)),Xt,Pt(nl,`cell: ${o} | ${c})`+Fe,_t),dl),_(ie+t+I+f+$e,ie+f+$e,$e,$t(e,n,12),Pt(rl,"forceDel?: boolean"),Pt(l,el,r,"forceDel"),a,ol,dl),Z(t+I+f+sl,`{rowId, ${G}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${r})`],$t(e,n,13)+ce)}))}));const q=N(S((e=>te(O,e)?.[4]??a))," | ");_(b+c,b+c,Be,Ye(1,8)+" changes",Il(r),cl()),_(C+c,C+c,Be,dt(2,0,1),Il(i),cl()),_(p+c,p+c,Be,dt(3,0),Il(y,`tableId: ${n} | null`),cl("tableId")),_(p+w+c,p+w+c,Be,dt(14,3,1),Il(T,`tableId: ${n} | null`),cl("tableId")),_(g+c,g+c,Be,dt(4,3,1),Il(v,`tableId: ${n} | null`),cl("tableId")),_(m+c,m+c,Be,dt(13,3,1),Il(V,`tableId: ${n} | null`,"cellId: "+q+Te,"descending: boolean","offset: number","limit: number"+Te),cl("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Be,dt(5,3),Il(x,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(w+c,w+c,Be,dt(6,5,1),Il(k,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(f+c,f+c,Be,dt(7,5),Il(P,`tableId: ${n} | null`,el+": IdOrNull",`cellId: ${q} | null`),cl("tableId",el,"cellId"))}if(!Q(t)){const[e,t,l,n,o,r]=d;s(null,E,...d),s(1,E,L);const i=$("getDefaultValueComponent","valueId: Id",N(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(T,T,e,Ye(2,0)+ce);const u=_(v,v,l+Oe,tt(y,Ne)+ce);_(Ee+T+$e,Ee+T+$e,Yt,Ye(2,9)+qt,Pt(Wt(T)+Ht+t,Wt(T)+pe),Bt(T),Xt,Pt(nl,`values: ${t})`+Fe,_t),dl),_(Ee+Ve+T+$e,Ee+Ve+T+$e,Yt,Ye(2,11)+qt,Pt(Wt(Ve+T)+Ht+t,Wt(Ve+T)+pe),Bt(Ve+T),Xt,Pt(nl,`partialValues: ${t})`+Fe,_t),dl),_(ie+T+$e,ie+T+$e,$e,Ye(2,12),a,a,a,ol,dl);const p=I(y+xe,Dt("valueId?: VId",G+ye+L,Ft),at("a Value"),`<VId extends ${l}>`),b=I(T+xe,Dt(G+ye+L,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,al,Ft),at(Xe(2,1)));s(1,D,b,p),Z(T+sl,"{"+G+", valueComponents, getValueComponentProps"+ll+"}: "+b,[oe+`(${u}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ut,"/>;","}), separator)"],Ye(2,13)+ce),P(((e,t,l,n,o)=>{const d="Map"+kt(t,1);s(0,E,d),s(1,E,d);const r=_(o+y,y,t,it(e)+ce,a,n);_(Ee+o+y+$e,Ee+y+$e,Yt,it(e,9)+qt,Pt(Wt(y)+Ht+t+" | "+d,Wt(y)+pe),Pt(n,Bt(y)),Xt,Pt(nl,`value: ${t} | ${d})`+Fe,_t),dl),_(ie+o+y+$e,ie+y+$e,$e,it(e,12),a,n,a,ol,dl),Z(o+y+sl,`{${G}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${r}(`+G+`) ?? '', undefined, debugIds, ${n})`],it(e,13)+ce)})),_(T+c,T+c,Be,Ye(2,8)+" changes",Il(n),cl()),_(v+c,v+c,Be,dt(10,0,1),Il(o),cl()),_(y+c,y+c,Be,dt(11,0),Il(r,`valueId: ${l} | null`),cl("valueId"))}return Z(Re,`{${G}, ${G}ById, children}: `+K+" & {children: React.ReactNode}",["{",Qt,"return (","<Context."+Re,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${Re}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...x(),...H(0)),r(...V(1),...k(),...H(1))]},il=(e,t,l)=>{if(Q(e)&&Q(t))return[a,a,a,a];const[n,o,d,r]=zt(e,t,l);return[n,o,...$l(e,t,l,d,r)]},ul=JSON.parse,pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},bl=Nt((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!Q(t)||E(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ee();if(E(a,(t=>E(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=oe(n,a,(()=>[P(o),ee(),[0],0])),[r,s,[I]]=d,c=oe(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ne(s,o,c),d[3]++,r==P(o)})))))return t[l]={},X(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==G(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return Q(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:P(l)}})),t},a=e=>il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return L(a(e),((e,a)=>Vt(l(e,{...pl,filepath:"_."+t[a]}))))};return U({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:G(e.getValueIds()),jsonLength:xt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=bl},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
Binary file
@@ -1 +1 @@
1
- var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",l=t(o),r="Ids",d="Table",u=d+"s",n=d+r,i="Row",a=i+r,I="Sorted"+i+r,c="Cell",w=c+r,R="Value",C=R+"s",b=R+r,p=(e,s)=>e.map(s),k=e=>null==e,g=(e,s,t)=>k(e)?t?.():s(e),m=e=>t(e)==l,h=()=>{},{createContext:L,useContext:V}=s,y=L([]),S=(e,s)=>{const t=V(y);return k(e)?t[s]:m(e)?((e,s)=>g(e,(e=>e[s])))(t[s+1],e):e},T=(e,s)=>{const t=S(e,s);return k(e)||m(e)?t:e},f=e=>T(e,0),v=e=>T(e,2),P=e=>T(e,4),q=e=>T(e,6),x=e=>T(e,8),B=e=>T(e,10),{useCallback:M,useEffect:D,useMemo:A,useRef:F,useState:G}=s,E=(e,s,t=[])=>{const o=A((()=>s(e)),[e,...t]);return D((()=>()=>o.destroy()),[o]),o},Q=(e,s,t,o=[],l)=>{const[,r]=G(),d=M((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[u]=G(d),n=F(u);return A((()=>n.current=d()),[d]),U(e,s,((...e)=>{n.current=k(l)?d():e[l],r([])}),[],o),n.current},U=(e,s,t,o=[],l=[],...r)=>D((()=>{const o=s?.["add"+e+"Listener"]?.(...l,t,...r);return()=>s?.delListener(o)}),[s,...l,...o,...r]),j=(e,s,t,o=[],l=h,r=[],...d)=>{const u=f(e);return M((e=>g(u,(o=>g(t(e,o),(e=>l(o["set"+s](...d,e),e)))))),[u,s,...o,...r,...d])},z=(e,s,t=h,o=[],...l)=>{const r=f(e);return M((()=>t(r?.["del"+s](...l))),[r,s,...o,...l])},H=(e,s,t)=>{const o=B(e);return M((()=>o?.[s](t)),[o,s,t])},J=e=>Q(n,f(e),[],[]),K=(e,s)=>Q(a,f(s),[],[e]),N=(e,s,t,o=0,l,r)=>Q(I,f(r),[],[e,s,t,o,l],6),O=(e,s,t)=>Q(w,f(t),[],[e,s]),W=(e,s,t,o)=>Q(c,f(o),void 0,[e,s,t],4),X=e=>Q(b,f(e),[],[]),Y=(e,s)=>Q(R,f(s),void 0,[e]),Z=(e,s)=>Q("Metric",v(s),void 0,[e]),$=(e,s)=>Q("SliceIds",P(s),[],[e]),_=(e,s,t)=>Q("SliceRowIds",P(t),[],[e,s]),ee=(e,s,t)=>Q("RemoteRowId",q(t),void 0,[e,s]),se=(e,s,t)=>Q("LocalRowIds",q(t),[],[e,s]),te=(e,s,t)=>Q("LinkedRowIds",q(t),[],[e,s]),oe=(e,s)=>Q("ResultRowIds",x(s),[],[e]),le=(e,s,t,o=0,l,r)=>Q("ResultSortedRowIds",x(r),[],[e,s,t,o,l],6),re=(e,s,t)=>Q("ResultCellIds",x(t),[],[e,s]),de=(e,s,t,o)=>Q("ResultCell",x(o),void 0,[e,s,t]),ue=e=>Q("CheckpointIds",B(e),[[],void 0,[]]),ne=(e,s)=>Q("Checkpoint",B(s),void 0,[e]),ie=e=>H(e,"goBackward"),ae=e=>H(e,"goForward"),{createElement:Ie,useMemo:ce}=s,we=({tableId:e,store:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:r},d)=>ge(p(d,(l=>Ie(t,{...ke(o,l),key:l,tableId:e,rowId:l,store:s,debugIds:r}))),l,r,e),Re=({queryId:e,queries:s,resultRowComponent:t=Te,getResultRowComponentProps:o,separator:l,debugIds:r},d)=>ge(p(d,(l=>Ie(t,{...ke(o,l),key:l,queryId:e,rowId:l,queries:s,debugIds:r}))),l,r,e),Ce=e=>{const s=q(e);return[s,s?.getStore()]},be=({relationshipId:e,relationships:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:r},d,u)=>{const[n,i]=Ce(s),a=n?.getLocalTableId(e),I=d(e,u,n);return ge(p(I,(e=>Ie(t,{...ke(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:r}))),l,r,u)},pe=e=>({checkpoints:s,checkpointComponent:t=fe,getCheckpointComponentProps:o,separator:l,debugIds:r})=>{const d=B(s);return ge(p(e(ue(d)),(e=>Ie(t,{...ke(o,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),l)},ke=(e,s)=>k(e)?{}:e(s),ge=(e,s,t,o)=>{const l=k(s)||!Array.isArray(e)?e:p(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",l,"}"]:l},me=({tableId:e,rowId:s,cellId:t,store:l,debugIds:r})=>ge(o+(W(e,s,t,l)??o),void 0,r,t),he=({tableId:e,rowId:s,store:t,cellComponent:o=me,getCellComponentProps:l,separator:r,debugIds:d})=>ge(p(O(e,s,t),(r=>Ie(o,{...ke(l,r),key:r,tableId:e,rowId:s,cellId:r,store:t,debugIds:d}))),r,d,s),Le=e=>we(e,K(e.tableId,e.store)),Ve=({valueId:e,store:s,debugIds:t})=>ge(o+(Y(e,s)??o),void 0,t,e),ye=({indexId:e,sliceId:s,indexes:t,rowComponent:o=he,getRowComponentProps:l,separator:r,debugIds:d})=>{const u=P(t),n=u?.getStore(),i=u?.getTableId(e),a=_(e,s,u);return ge(p(a,(e=>Ie(o,{...ke(l,e),key:e,tableId:i,rowId:e,store:n,debugIds:d}))),r,d,s)},Se=({queryId:e,rowId:s,cellId:t,queries:l,debugIds:r})=>ge(o+(de(e,s,t,l)??o),void 0,r,t),Te=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Se,getResultCellComponentProps:l,separator:r,debugIds:d})=>ge(p(re(e,s,t),(r=>Ie(o,{...ke(l,r),key:r,queryId:e,rowId:s,cellId:r,queries:t,debugIds:d}))),r,d,s),fe=({checkpoints:e,checkpointId:s,debugIds:t})=>ge(ne(s,e)??o,void 0,t,s),ve=pe((e=>e[0])),Pe=pe((e=>k(e[1])?[]:[e[1]])),qe=pe((e=>e[2]));e.BackwardCheckpointsView=ve,e.CellView=me,e.CheckpointView=fe,e.CurrentCheckpointView=Pe,e.ForwardCheckpointsView=qe,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=ye,getSliceComponentProps:o,separator:l,debugIds:r})=>ge(p($(e,s),(l=>Ie(t,{...ke(o,l),key:l,indexId:e,sliceId:l,indexes:s,debugIds:r}))),l,r,e),e.LinkedRowsView=e=>be(e,te,e.firstRowId),e.LocalRowsView=e=>be(e,se,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>ge(Z(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:t,metrics:o,metricsById:l,indexes:r,indexesById:d,relationships:u,relationshipsById:n,queries:i,queriesById:a,checkpoints:I,checkpointsById:c,children:w})=>{const R=s.useContext(y);return Ie(y.Provider,{value:ce((()=>[e??R[0],{...R[1],...t},o??R[2],{...R[3],...l},r??R[4],{...R[5],...d},u??R[6],{...R[7],...n},i??R[8],{...R[9],...a},I??R[10],{...R[11],...c}]),[e,t,o,l,r,d,u,n,i,a,I,c,R])},w)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=he,getRowComponentProps:l,debugIds:r})=>{const[d,u]=Ce(t),n=d?.getRemoteTableId(e),i=ee(e,s,d);return ge(k(n)||k(i)?null:Ie(o,{...ke(l,i),key:i,tableId:n,rowId:i,store:u,debugIds:r}),void 0,r,s)},e.ResultCellView=Se,e.ResultRowView=Te,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>Re(l,le(l.queryId,e,s,t,o,l.queries)),e.ResultTableView=e=>Re(e,oe(e.queryId,e.queries)),e.RowView=he,e.SliceView=ye,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>we(l,N(l.tableId,e,s,t,o,l.store)),e.TableView=Le,e.TablesView=({store:e,tableComponent:s=Le,getTableComponentProps:t,separator:o,debugIds:l})=>ge(p(J(e),(o=>Ie(s,{...ke(t,o),key:o,tableId:o,store:e,debugIds:l}))),o),e.ValueView=Ve,e.ValuesView=({store:e,valueComponent:s=Ve,getValueComponentProps:t,separator:o,debugIds:l})=>ge(p(X(e),(o=>Ie(s,{...ke(t,o),key:o,valueId:o,store:e,debugIds:l}))),o),e.tableView=we,e.useAddRowCallback=(e,s,t=[],o,l=h,r=[],d=!0)=>{const u=f(o);return M((t=>g(u,(o=>g(s(t,o),(s=>l(o.addRow(e,s,d),o,s)))))),[u,e,...t,...r,d])},e.useCell=W,e.useCellIds=O,e.useCellIdsListener=(e,s,t,o,l,r)=>U(w,f(r),t,o,[e,s],l),e.useCellListener=(e,s,t,o,l,r,d)=>U(c,f(d),o,l,[e,s,t],r),e.useCheckpoint=ne,e.useCheckpointIds=ue,e.useCheckpointIdsListener=(e,s,t)=>U("CheckpointIds",B(t),e,s),e.useCheckpointListener=(e,s,t,o)=>U("Checkpoint",B(o),s,t,[e]),e.useCheckpoints=e=>S(e,10),e.useCreateCheckpoints=(e,s,t)=>E(e,s,t),e.useCreateIndexes=(e,s,t)=>E(e,s,t),e.useCreateMetrics=(e,s,t)=>E(e,s,t),e.useCreatePersister=(e,s,t=[],o,l=[])=>{const[,r]=G(),d=A((()=>s(e)),[e,...t]);return D((()=>((async()=>{await(o?.(d)),r(1)})(),()=>{d.destroy()})),[d,...l]),d},e.useCreateQueries=(e,s,t)=>E(e,s,t),e.useCreateRelationships=(e,s,t)=>E(e,s,t),e.useCreateStore=(e,s=[])=>A(e,s),e.useDelCellCallback=(e,s,t,o,l,r,d)=>z(l,c,r,d,e,s,t,o),e.useDelRowCallback=(e,s,t,o,l)=>z(t,i,o,l,e,s),e.useDelTableCallback=(e,s,t,o)=>z(s,d,t,o,e),e.useDelTablesCallback=(e,s,t)=>z(e,u,s,t),e.useDelValueCallback=(e,s,t,o)=>z(s,R,t,o,e),e.useDelValuesCallback=(e,s,t)=>z(e,C,s,t),e.useGoBackwardCallback=ie,e.useGoForwardCallback=ae,e.useGoToCallback=(e,s=[],t,o=h,l=[])=>{const r=B(t);return M((s=>g(r,(t=>g(e(s),(e=>o(t.goTo(e),e)))))),[r,...s,...l])},e.useIndexes=e=>S(e,4),e.useLinkedRowIds=te,e.useLinkedRowIdsListener=(e,s,t,o,l)=>U("LinkedRowIds",q(l),t,o,[e,s]),e.useLocalRowIds=se,e.useLocalRowIdsListener=(e,s,t,o,l)=>U("LocalRowIds",q(l),t,o,[e,s]),e.useMetric=Z,e.useMetricListener=(e,s,t,o)=>U("Metric",v(o),s,t,[e]),e.useMetrics=e=>S(e,2),e.useQueries=e=>S(e,8),e.useRedoInformation=e=>{const s=B(e),[,,[t]]=ue(s);return[!k(t),ae(s),t,g(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationships=e=>S(e,6),e.useRemoteRowId=ee,e.useRemoteRowIdListener=(e,s,t,o,l)=>U("RemoteRowId",q(l),t,o,[e,s]),e.useResultCell=de,e.useResultCellIds=re,e.useResultCellIdsListener=(e,s,t,o,l)=>U("ResultCellIds",x(l),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,l,r)=>U("ResultCell",x(r),o,l,[e,s,t]),e.useResultRow=(e,s,t)=>Q("ResultRow",x(t),{},[e,s]),e.useResultRowIds=oe,e.useResultRowIdsListener=(e,s,t,o)=>U("ResultRowIds",x(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,l)=>U("ResultRow",x(l),t,o,[e,s]),e.useResultSortedRowIds=le,e.useResultSortedRowIdsListener=(e,s,t,o,l,r,d,u)=>U("ResultSortedRowIds",x(u),r,d,[e,s,t,o,l]),e.useResultTable=(e,s)=>Q("ResultTable",x(s),{},[e]),e.useResultTableListener=(e,s,t,o)=>U("ResultTable",x(o),s,t,[e]),e.useRow=(e,s,t)=>Q(i,f(t),{},[e,s]),e.useRowIds=K,e.useRowIdsListener=(e,s,t,o,l)=>U(a,f(l),s,t,[e],o),e.useRowListener=(e,s,t,o,l,r)=>U(i,f(r),t,o,[e,s],l),e.useSetCellCallback=(e,s,t,o,l,r,d,u)=>j(r,c,o,l,d,u,e,s,t),e.useSetCheckpointCallback=(e=h,s=[],t,o=h,l=[])=>{const r=B(t);return M((s=>g(r,(t=>{const l=e(s);o(t.addCheckpoint(l),t,l)}))),[r,...s,...l])},e.useSetPartialRowCallback=(e,s,t,o,l,r,d)=>j(l,"PartialRow",t,o,r,d,e,s),e.useSetPartialValuesCallback=(e,s,t,o,l)=>j(t,"PartialValues",e,s,o,l),e.useSetRowCallback=(e,s,t,o,l,r,d)=>j(l,i,t,o,r,d,e,s),e.useSetTableCallback=(e,s,t,o,l,r)=>j(o,d,s,t,l,r,e),e.useSetTablesCallback=(e,s,t,o,l)=>j(t,u,e,s,o,l),e.useSetValueCallback=(e,s,t,o,l,r)=>j(o,R,s,t,l,r,e),e.useSetValuesCallback=(e,s,t,o,l)=>j(t,C,e,s,o,l),e.useSliceIds=$,e.useSliceIdsListener=(e,s,t,o)=>U("SliceIds",P(o),s,t,[e]),e.useSliceRowIds=_,e.useSliceRowIdsListener=(e,s,t,o,l)=>U("SliceRowIds",P(l),t,o,[e,s]),e.useSortedRowIds=N,e.useSortedRowIdsListener=(e,s,t,o,l,r,d,u,n)=>U(I,f(n),r,d,[e,s,t,o,l],u),e.useStore=e=>S(e,0),e.useTable=(e,s)=>Q(d,f(s),{},[e]),e.useTableCellIds=(e,s)=>Q(d+w,f(s),[],[e]),e.useTableCellIdsListener=(e,s,t,o,l)=>U(d+w,f(l),s,t,[e],o),e.useTableIds=J,e.useTableIdsListener=(e,s,t,o)=>U(n,f(o),e,s,[],t),e.useTableListener=(e,s,t,o,l)=>U(d,f(l),s,t,[e],o),e.useTables=e=>Q(u,f(e),{}),e.useTablesListener=(e,s,t,o)=>U(u,f(o),e,s,[],t),e.useUndoInformation=e=>{const s=B(e),[t,l]=ue(s);return[(r=t,!(0==(e=>e.length)(r))),ie(s),l,g(l,(e=>s?.getCheckpoint(e)))??o];var r},e.useValue=Y,e.useValueIds=X,e.useValueIdsListener=(e,s,t,o)=>U(b,f(o),e,s,[],t),e.useValueListener=(e,s,t,o,l)=>U(R,f(l),s,t,[e],o),e.useValues=e=>Q(C,f(e),{}),e.useValuesListener=(e,s,t,o)=>U(C,f(o),e,s,[],t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
1
+ var e,s;e=this,s=function(e,s){"use strict";const t=e=>typeof e,o="",l=t(o),r="Ids",d="Table",u=d+"s",n=d+r,i="Row",a=i+r,I="Sorted"+i+r,c="Cell",w=c+r,R="Value",C=R+"s",b=R+r,p=e=>null==e,k=(e,s,t)=>p(e)?t?.():s(e),g=e=>t(e)==l,m=()=>{},h=(e,s)=>e.map(s),{createContext:L,useContext:V}=s,y=L([]),S=(e,s)=>{const t=V(y);return p(e)?t[s]:g(e)?((e,s)=>k(e,(e=>e[s])))(t[s+1],e):e},T=(e,s)=>{const t=S(e,s);return p(e)||g(e)?t:e},f=e=>T(e,0),v=e=>T(e,2),P=e=>T(e,4),q=e=>T(e,6),x=e=>T(e,8),B=e=>T(e,10),{useCallback:M,useEffect:D,useMemo:A,useRef:F,useState:G}=s,E=(e,s,t=[])=>{const o=A((()=>s(e)),[e,...t]);return D((()=>()=>o.destroy()),[o]),o},Q=(e,s,t,o=[],l)=>{const[,r]=G(),d=M((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[u]=G(d),n=F(u);return A((()=>n.current=d()),[d]),U(e,s,((...e)=>{n.current=p(l)?d():e[l],r([])}),[],o),n.current},U=(e,s,t,o=[],l=[],...r)=>D((()=>{const o=s?.["add"+e+"Listener"]?.(...l,t,...r);return()=>s?.delListener(o)}),[s,...l,...o,...r]),j=(e,s,t,o=[],l=m,r=[],...d)=>{const u=f(e);return M((e=>k(u,(o=>k(t(e,o),(e=>l(o["set"+s](...d,e),e)))))),[u,s,...o,...r,...d])},z=(e,s,t=m,o=[],...l)=>{const r=f(e);return M((()=>t(r?.["del"+s](...l))),[r,s,...o,...l])},H=(e,s,t)=>{const o=B(e);return M((()=>o?.[s](t)),[o,s,t])},J=e=>Q(n,f(e),[],[]),K=(e,s)=>Q(a,f(s),[],[e]),N=(e,s,t,o=0,l,r)=>Q(I,f(r),[],[e,s,t,o,l],6),O=(e,s,t)=>Q(w,f(t),[],[e,s]),W=(e,s,t,o)=>Q(c,f(o),void 0,[e,s,t],4),X=e=>Q(b,f(e),[],[]),Y=(e,s)=>Q(R,f(s),void 0,[e]),Z=(e,s)=>Q("Metric",v(s),void 0,[e]),$=(e,s)=>Q("SliceIds",P(s),[],[e]),_=(e,s,t)=>Q("SliceRowIds",P(t),[],[e,s]),ee=(e,s,t)=>Q("RemoteRowId",q(t),void 0,[e,s]),se=(e,s,t)=>Q("LocalRowIds",q(t),[],[e,s]),te=(e,s,t)=>Q("LinkedRowIds",q(t),[],[e,s]),oe=(e,s)=>Q("ResultRowIds",x(s),[],[e]),le=(e,s,t,o=0,l,r)=>Q("ResultSortedRowIds",x(r),[],[e,s,t,o,l],6),re=(e,s,t)=>Q("ResultCellIds",x(t),[],[e,s]),de=(e,s,t,o)=>Q("ResultCell",x(o),void 0,[e,s,t]),ue=e=>Q("CheckpointIds",B(e),[[],void 0,[]]),ne=(e,s)=>Q("Checkpoint",B(s),void 0,[e]),ie=e=>H(e,"goBackward"),ae=e=>H(e,"goForward"),{createElement:Ie,useMemo:ce}=s,we=({tableId:e,store:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:r},d)=>ge(h(d,(l=>Ie(t,{...ke(o,l),key:l,tableId:e,rowId:l,store:s,debugIds:r}))),l,r,e),Re=({queryId:e,queries:s,resultRowComponent:t=Te,getResultRowComponentProps:o,separator:l,debugIds:r},d)=>ge(h(d,(l=>Ie(t,{...ke(o,l),key:l,queryId:e,rowId:l,queries:s,debugIds:r}))),l,r,e),Ce=e=>{const s=q(e);return[s,s?.getStore()]},be=({relationshipId:e,relationships:s,rowComponent:t=he,getRowComponentProps:o,separator:l,debugIds:r},d,u)=>{const[n,i]=Ce(s),a=n?.getLocalTableId(e),I=d(e,u,n);return ge(h(I,(e=>Ie(t,{...ke(o,e),key:e,tableId:a,rowId:e,store:i,debugIds:r}))),l,r,u)},pe=e=>({checkpoints:s,checkpointComponent:t=fe,getCheckpointComponentProps:o,separator:l,debugIds:r})=>{const d=B(s);return ge(h(e(ue(d)),(e=>Ie(t,{...ke(o,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),l)},ke=(e,s)=>p(e)?{}:e(s),ge=(e,s,t,o)=>{const l=p(s)||!Array.isArray(e)?e:h(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",l,"}"]:l},me=({tableId:e,rowId:s,cellId:t,store:l,debugIds:r})=>ge(o+(W(e,s,t,l)??o),void 0,r,t),he=({tableId:e,rowId:s,store:t,cellComponent:o=me,getCellComponentProps:l,separator:r,debugIds:d})=>ge(h(O(e,s,t),(r=>Ie(o,{...ke(l,r),key:r,tableId:e,rowId:s,cellId:r,store:t,debugIds:d}))),r,d,s),Le=e=>we(e,K(e.tableId,e.store)),Ve=({valueId:e,store:s,debugIds:t})=>ge(o+(Y(e,s)??o),void 0,t,e),ye=({indexId:e,sliceId:s,indexes:t,rowComponent:o=he,getRowComponentProps:l,separator:r,debugIds:d})=>{const u=P(t),n=u?.getStore(),i=u?.getTableId(e),a=_(e,s,u);return ge(h(a,(e=>Ie(o,{...ke(l,e),key:e,tableId:i,rowId:e,store:n,debugIds:d}))),r,d,s)},Se=({queryId:e,rowId:s,cellId:t,queries:l,debugIds:r})=>ge(o+(de(e,s,t,l)??o),void 0,r,t),Te=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Se,getResultCellComponentProps:l,separator:r,debugIds:d})=>ge(h(re(e,s,t),(r=>Ie(o,{...ke(l,r),key:r,queryId:e,rowId:s,cellId:r,queries:t,debugIds:d}))),r,d,s),fe=({checkpoints:e,checkpointId:s,debugIds:t})=>ge(ne(s,e)??o,void 0,t,s),ve=pe((e=>e[0])),Pe=pe((e=>p(e[1])?[]:[e[1]])),qe=pe((e=>e[2]));e.BackwardCheckpointsView=ve,e.CellView=me,e.CheckpointView=fe,e.CurrentCheckpointView=Pe,e.ForwardCheckpointsView=qe,e.IndexView=({indexId:e,indexes:s,sliceComponent:t=ye,getSliceComponentProps:o,separator:l,debugIds:r})=>ge(h($(e,s),(l=>Ie(t,{...ke(o,l),key:l,indexId:e,sliceId:l,indexes:s,debugIds:r}))),l,r,e),e.LinkedRowsView=e=>be(e,te,e.firstRowId),e.LocalRowsView=e=>be(e,se,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:t})=>ge(Z(e,s)??o,void 0,t,e),e.Provider=({store:e,storesById:t,metrics:o,metricsById:l,indexes:r,indexesById:d,relationships:u,relationshipsById:n,queries:i,queriesById:a,checkpoints:I,checkpointsById:c,children:w})=>{const R=s.useContext(y);return Ie(y.Provider,{value:ce((()=>[e??R[0],{...R[1],...t},o??R[2],{...R[3],...l},r??R[4],{...R[5],...d},u??R[6],{...R[7],...n},i??R[8],{...R[9],...a},I??R[10],{...R[11],...c}]),[e,t,o,l,r,d,u,n,i,a,I,c,R])},w)},e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=he,getRowComponentProps:l,debugIds:r})=>{const[d,u]=Ce(t),n=d?.getRemoteTableId(e),i=ee(e,s,d);return ge(p(n)||p(i)?null:Ie(o,{...ke(l,i),key:i,tableId:n,rowId:i,store:u,debugIds:r}),void 0,r,s)},e.ResultCellView=Se,e.ResultRowView=Te,e.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>Re(l,le(l.queryId,e,s,t,o,l.queries)),e.ResultTableView=e=>Re(e,oe(e.queryId,e.queries)),e.RowView=he,e.SliceView=ye,e.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...l})=>we(l,N(l.tableId,e,s,t,o,l.store)),e.TableView=Le,e.TablesView=({store:e,tableComponent:s=Le,getTableComponentProps:t,separator:o,debugIds:l})=>ge(h(J(e),(o=>Ie(s,{...ke(t,o),key:o,tableId:o,store:e,debugIds:l}))),o),e.ValueView=Ve,e.ValuesView=({store:e,valueComponent:s=Ve,getValueComponentProps:t,separator:o,debugIds:l})=>ge(h(X(e),(o=>Ie(s,{...ke(t,o),key:o,valueId:o,store:e,debugIds:l}))),o),e.tableView=we,e.useAddRowCallback=(e,s,t=[],o,l=m,r=[],d=!0)=>{const u=f(o);return M((t=>k(u,(o=>k(s(t,o),(s=>l(o.addRow(e,s,d),o,s)))))),[u,e,...t,...r,d])},e.useCell=W,e.useCellIds=O,e.useCellIdsListener=(e,s,t,o,l,r)=>U(w,f(r),t,o,[e,s],l),e.useCellListener=(e,s,t,o,l,r,d)=>U(c,f(d),o,l,[e,s,t],r),e.useCheckpoint=ne,e.useCheckpointIds=ue,e.useCheckpointIdsListener=(e,s,t)=>U("CheckpointIds",B(t),e,s),e.useCheckpointListener=(e,s,t,o)=>U("Checkpoint",B(o),s,t,[e]),e.useCheckpoints=e=>S(e,10),e.useCreateCheckpoints=(e,s,t)=>E(e,s,t),e.useCreateIndexes=(e,s,t)=>E(e,s,t),e.useCreateMetrics=(e,s,t)=>E(e,s,t),e.useCreatePersister=(e,s,t=[],o,l=[])=>{const[,r]=G(),d=A((()=>s(e)),[e,...t]);return D((()=>((async()=>{await(o?.(d)),r(1)})(),()=>{d.destroy()})),[d,...l]),d},e.useCreateQueries=(e,s,t)=>E(e,s,t),e.useCreateRelationships=(e,s,t)=>E(e,s,t),e.useCreateStore=(e,s=[])=>A(e,s),e.useDelCellCallback=(e,s,t,o,l,r,d)=>z(l,c,r,d,e,s,t,o),e.useDelRowCallback=(e,s,t,o,l)=>z(t,i,o,l,e,s),e.useDelTableCallback=(e,s,t,o)=>z(s,d,t,o,e),e.useDelTablesCallback=(e,s,t)=>z(e,u,s,t),e.useDelValueCallback=(e,s,t,o)=>z(s,R,t,o,e),e.useDelValuesCallback=(e,s,t)=>z(e,C,s,t),e.useGoBackwardCallback=ie,e.useGoForwardCallback=ae,e.useGoToCallback=(e,s=[],t,o=m,l=[])=>{const r=B(t);return M((s=>k(r,(t=>k(e(s),(e=>o(t.goTo(e),e)))))),[r,...s,...l])},e.useIndexes=e=>S(e,4),e.useLinkedRowIds=te,e.useLinkedRowIdsListener=(e,s,t,o,l)=>U("LinkedRowIds",q(l),t,o,[e,s]),e.useLocalRowIds=se,e.useLocalRowIdsListener=(e,s,t,o,l)=>U("LocalRowIds",q(l),t,o,[e,s]),e.useMetric=Z,e.useMetricListener=(e,s,t,o)=>U("Metric",v(o),s,t,[e]),e.useMetrics=e=>S(e,2),e.useQueries=e=>S(e,8),e.useRedoInformation=e=>{const s=B(e),[,,[t]]=ue(s);return[!p(t),ae(s),t,k(t,(e=>s?.getCheckpoint(e)))??o]},e.useRelationships=e=>S(e,6),e.useRemoteRowId=ee,e.useRemoteRowIdListener=(e,s,t,o,l)=>U("RemoteRowId",q(l),t,o,[e,s]),e.useResultCell=de,e.useResultCellIds=re,e.useResultCellIdsListener=(e,s,t,o,l)=>U("ResultCellIds",x(l),t,o,[e,s]),e.useResultCellListener=(e,s,t,o,l,r)=>U("ResultCell",x(r),o,l,[e,s,t]),e.useResultRow=(e,s,t)=>Q("ResultRow",x(t),{},[e,s]),e.useResultRowIds=oe,e.useResultRowIdsListener=(e,s,t,o)=>U("ResultRowIds",x(o),s,t,[e]),e.useResultRowListener=(e,s,t,o,l)=>U("ResultRow",x(l),t,o,[e,s]),e.useResultSortedRowIds=le,e.useResultSortedRowIdsListener=(e,s,t,o,l,r,d,u)=>U("ResultSortedRowIds",x(u),r,d,[e,s,t,o,l]),e.useResultTable=(e,s)=>Q("ResultTable",x(s),{},[e]),e.useResultTableListener=(e,s,t,o)=>U("ResultTable",x(o),s,t,[e]),e.useRow=(e,s,t)=>Q(i,f(t),{},[e,s]),e.useRowIds=K,e.useRowIdsListener=(e,s,t,o,l)=>U(a,f(l),s,t,[e],o),e.useRowListener=(e,s,t,o,l,r)=>U(i,f(r),t,o,[e,s],l),e.useSetCellCallback=(e,s,t,o,l,r,d,u)=>j(r,c,o,l,d,u,e,s,t),e.useSetCheckpointCallback=(e=m,s=[],t,o=m,l=[])=>{const r=B(t);return M((s=>k(r,(t=>{const l=e(s);o(t.addCheckpoint(l),t,l)}))),[r,...s,...l])},e.useSetPartialRowCallback=(e,s,t,o,l,r,d)=>j(l,"PartialRow",t,o,r,d,e,s),e.useSetPartialValuesCallback=(e,s,t,o,l)=>j(t,"PartialValues",e,s,o,l),e.useSetRowCallback=(e,s,t,o,l,r,d)=>j(l,i,t,o,r,d,e,s),e.useSetTableCallback=(e,s,t,o,l,r)=>j(o,d,s,t,l,r,e),e.useSetTablesCallback=(e,s,t,o,l)=>j(t,u,e,s,o,l),e.useSetValueCallback=(e,s,t,o,l,r)=>j(o,R,s,t,l,r,e),e.useSetValuesCallback=(e,s,t,o,l)=>j(t,C,e,s,o,l),e.useSliceIds=$,e.useSliceIdsListener=(e,s,t,o)=>U("SliceIds",P(o),s,t,[e]),e.useSliceRowIds=_,e.useSliceRowIdsListener=(e,s,t,o,l)=>U("SliceRowIds",P(l),t,o,[e,s]),e.useSortedRowIds=N,e.useSortedRowIdsListener=(e,s,t,o,l,r,d,u,n)=>U(I,f(n),r,d,[e,s,t,o,l],u),e.useStore=e=>S(e,0),e.useTable=(e,s)=>Q(d,f(s),{},[e]),e.useTableCellIds=(e,s)=>Q(d+w,f(s),[],[e]),e.useTableCellIdsListener=(e,s,t,o,l)=>U(d+w,f(l),s,t,[e],o),e.useTableIds=J,e.useTableIdsListener=(e,s,t,o)=>U(n,f(o),e,s,[],t),e.useTableListener=(e,s,t,o,l)=>U(d,f(l),s,t,[e],o),e.useTables=e=>Q(u,f(e),{}),e.useTablesListener=(e,s,t,o)=>U(u,f(o),e,s,[],t),e.useUndoInformation=e=>{const s=B(e),[t,l]=ue(s);return[(r=t,!(0==(e=>e.length)(r))),ie(s),l,k(l,(e=>s?.getCheckpoint(e)))??o];var r},e.useValue=Y,e.useValueIds=X,e.useValueIdsListener=(e,s,t,o)=>U(b,f(o),e,s,[],t),e.useValueListener=(e,s,t,o,l)=>U(R,f(l),s,t,[e],o),e.useValues=e=>Q(C,f(e),{}),e.useValuesListener=(e,s,t,o)=>U(C,f(o),e,s,[],t)},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReact={},e.React);
Binary file
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=(e,n)=>e.includes(n),t=(e,n)=>e.forEach(n),l=e=>e.length,o=e=>0==l(e),r=(e,...n)=>e.push(...n),s=e=>e.pop(),i=e=>e.shift(),u=e=>null==e,d=(e,n,t)=>u(e)?null==t?void 0:t():n(e),c=Object.freeze,a=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>u(e)||0==(e=>e.size)(e),p=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),g=(e,n,t)=>u(t)?(f(e,n),e):null==e?void 0:e.set(n,t),k=(e,n,t)=>(a(e,n)||g(e,n,t()),C(e,n)),y=(e,n,t,o,r=0)=>d((t?k:C)(e,n[r],r>l(n)-2?t:v),(s=>{if(r>l(n)-2)return(null==o?void 0:o(s))&&g(e,n[r]),s;const i=y(s,n,t,o,r+1);return h(s)&&g(e,n[r]),i})),L=e=>new Set(Array.isArray(e)||u(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=v(),E=v(),V=1;const j=v(),m=v(),[A,B,I]=(e=>{let n;const[o,s]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?i(e):null)?l:""+n++},n=>{w.test(n)&&l(e)<1e3&&r(e,n)}]})(),c=v();return[(e,t,l,r=[],s=(()=>[]))=>{null!=n||(n=_);const i=o(1);var u,d;return g(c,i,[e,t,l,r,s]),d=i,null==(u=y(t,null!=l?l:[""],L))||u.add(d),i},(e,o,...s)=>t(((e,n=[""])=>{const o=[],s=(e,i)=>i==l(n)?r(o,e):null===n[i]?p(e,(e=>s(e,i+1))):t([n[i],null],(n=>s(C(e,n),i+1)));return s(e,0),o})(e,o),(e=>p(e,(e=>C(c,e)[0](n,...null!=o?o:[],...s))))),e=>d(C(c,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(c,e),s(e),t))),e=>d(C(c,e),(([e,,o=[],r,s])=>{const i=(...d)=>{var c,a;const h=l(d);h==l(o)?e(n,...d,...s(d)):u(o[h])?t(null!=(a=null==(c=r[h])?void 0:c.call(r,...d))?a:[],(e=>i(...d,e))):i(...d,o[h])};i()}))]})(),M=v(),F=v(),O=[],W=[],$=(n,t)=>{V=0,e.transaction((()=>{const[l,o]=C(M,t);p(l,((t,l)=>p(t,((t,o)=>p(t,((t,r)=>((e,n,t,l,o)=>u(o)?e.delCell(n,t,l,!0):e.setCell(n,t,l,o))(e,l,o,r,t[n]))))))),p(o,((t,l)=>((e,n,t)=>u(t)?e.delValue(n):e.setValue(n,t))(e,l,t[n])))})),V=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,n)=>t(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),q),G=()=>D(O,l(O)-x),H=()=>d(b,(()=>{r(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=s(O),T=1},K=e.addCellListener(null,null,null,((e,n,t,l,o,r)=>{if(V){H();const e=k(z,n,v),s=k(e,t,v),i=k(s,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&h(g(s,l))&&h(g(e,t))&&h(g(z,n))&&J(),U()}})),N=e.addValueListener(null,((e,n,t,l)=>{if(V){H();const e=k(E,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&h(g(E,n))&&J(),U()}})),P=(e="")=>(u(b)&&(b=""+S++,g(M,b,[z,E]),Y(b,e),z=v(),E=v(),T=1),b),Q=()=>{o(O)||(((e,...n)=>{e.unshift(...n)})(W,P()),$(0,b),b=s(O),T=1)},R=()=>{o(W)||(r(O,b),b=i(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(F,e)!==n&&(g(F,e,n),B(m,[e])),_),Z=e=>a(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,p(F,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const t=n(O,e)?Q:n(W,e)?R:null;for(;!u(t)&&e!=b;)t();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),u(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return c(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>null==e,t=(e,t,l)=>n(e)?null==l?void 0:l():t(e),l=(e,n)=>e.includes(n),o=(e,n)=>e.forEach(n),r=e=>e.length,s=e=>0==r(e),i=(e,...n)=>e.push(...n),u=e=>e.pop(),d=e=>e.shift(),c=Object.freeze,a=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},h=e=>n(e)||0==(e=>e.size)(e),p=(e,n)=>null==e?void 0:e.forEach(n),f=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),g=(e,t,l)=>n(l)?(f(e,t),e):null==e?void 0:e.set(t,l),k=(e,n,t)=>(a(e,n)||g(e,n,t()),C(e,n)),y=(e,n,l,o,s=0)=>t((l?k:C)(e,n[s],s>r(n)-2?l:v),(t=>{if(s>r(n)-2)return(null==o?void 0:o(t))&&g(e,n[s]),t;const i=y(t,n,l,o,s+1);return h(t)&&g(e,n[s]),i})),L=e=>new Set(Array.isArray(e)||n(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=v(),E=v(),V=1;const j=v(),m=v(),[A,B,I]=(e=>{let l;const[s,u]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?d(e):null)?l:""+n++},n=>{w.test(n)&&r(e)<1e3&&i(e,n)}]})(),c=v();return[(e,n,t,o=[],r=(()=>[]))=>{null!=l||(l=_);const i=s(1);var u,d;return g(c,i,[e,n,t,o,r]),d=i,null==(u=y(n,null!=t?t:[""],L))||u.add(d),i},(e,n,...t)=>o(((e,n=[""])=>{const t=[],l=(e,s)=>s==r(n)?i(t,e):null===n[s]?p(e,(e=>l(e,s+1))):o([n[s],null],(n=>l(C(e,n),s+1)));return l(e,0),t})(e,n),(e=>p(e,(e=>C(c,e)[0](l,...null!=n?n:[],...t))))),e=>t(C(c,e),(([,n,t])=>(y(n,null!=t?t:[""],void 0,(n=>(f(n,e),h(n)?1:0))),g(c,e),u(e),t))),e=>t(C(c,e),(([e,,t=[],s,i])=>{const u=(...d)=>{var c,a;const h=r(d);h==r(t)?e(l,...d,...i(d)):n(t[h])?o(null!=(a=null==(c=s[h])?void 0:c.call(s,...d))?a:[],(e=>u(...d,e))):u(...d,t[h])};u()}))]})(),M=v(),F=v(),O=[],W=[],$=(t,l)=>{V=0,e.transaction((()=>{const[o,r]=C(M,l);p(o,((l,o)=>p(l,((l,r)=>p(l,((l,s)=>((e,t,l,o,r)=>n(r)?e.delCell(t,l,o,!0):e.setCell(t,l,o,r))(e,o,r,s,l[t]))))))),p(r,((l,o)=>((e,t,l)=>n(l)?e.delValue(t):e.setValue(t,l))(e,o,l[t])))})),V=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,n)=>o(((e,n)=>e.splice(0,n))(e,null!=n?n:r(e)),q),G=()=>D(O,r(O)-x),H=()=>t(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=u(O),T=1},K=e.addCellListener(null,null,null,((e,n,t,l,o,r)=>{if(V){H();const e=k(z,n,v),s=k(e,t,v),i=k(s,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&h(g(s,l))&&h(g(e,t))&&h(g(z,n))&&J(),U()}})),N=e.addValueListener(null,((e,n,t,l)=>{if(V){H();const e=k(E,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&h(g(E,n))&&J(),U()}})),P=(e="")=>(n(b)&&(b=""+S++,g(M,b,[z,E]),Y(b,e),z=v(),E=v(),T=1),b),Q=()=>{s(O)||(((e,...n)=>{e.unshift(...n)})(W,P()),$(0,b),b=u(O),T=1)},R=()=>{s(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(F,e)!==n&&(g(F,e,n),B(m,[e])),_),Z=e=>a(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,p(F,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const t=l(O,e)?Q:l(W,e)?R:null;for(;!n(t)&&e!=b;)t();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),n(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return c(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
Binary file
@@ -1 +1 @@
1
- var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=(e,n)=>e.every(n),o=(e,n)=>s(e,((t,l)=>0==l||n(e[l-1],t)<=0)),d=(e,n)=>e.sort(n),i=(e,n)=>e.forEach(n),u=e=>e.length,a=(e,...n)=>e.push(...n),c=e=>null==e,f=(e,n,t)=>c(e)?null==t?void 0:t():n(e),v=e=>Array.isArray(e),h=Object.freeze,I=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},g=e=>c(e)||0==(e=>e.size)(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},y=e=>e.clear(),x=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},b=(e,n)=>null==e?void 0:e.get(n),T=(e,n)=>x(e,((e,t)=>n(t,e))),E=(e,n,t)=>c(t)?(S(e,n),e):null==e?void 0:e.set(n,t),R=(e,n,t)=>(I(e,n)||E(e,n,t()),b(e,n)),m=(e,n,t,l,r=0)=>f((t?R:b)(e,n[r],r>u(n)-2?t:w),(s=>{if(r>u(n)-2)return(null==l?void 0:l(s))&&E(e,n[r]),s;const o=m(s,n,t,l,r+1);return g(s)&&E(e,n[r]),o})),j=e=>new Set(v(e)||c(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),z=(e,r)=>n(e)==l?n=>n(e):null!=e?e:()=>null!=r?r:t,A=(e,n)=>e<n?-1:1,C=/^\d+$/,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),l=w(),[D,M,B,O,W,$,q,,F,G,H]=((e,n,t)=>{const l=e.hasRow,r=w(),o=w(),d=w(),a=w(),h=w(),m=(n,t,...l)=>{const r=R(h,n,j);return i(l,(n=>k(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>f(b(h,n),(l=>{i(0==u(t)?p(l):t,(n=>{e.delListener(n),S(l,n)})),g(l)&&E(h,n)})),A=(e,t)=>{E(r,e,t),I(o,e)||(E(o,e,n()),E(d,e,w()),E(a,e,w()))},C=e=>{E(r,e),E(o,e),E(d,e),E(a,e),z(e)};return[()=>e,()=>L(r),e=>T(o,e),e=>I(o,e),e=>b(r,e),e=>b(o,e),(e,n)=>E(o,e,n),A,(n,r,o,f,h)=>{A(n,r);const g=w(),p=w(),S=b(d,n),L=b(a,n),R=n=>{const o=t=>e.getCell(r,n,t),d=b(S,n),i=l(r,n)?t(f(o,n)):void 0;var a,I;if(d===i||v(d)&&v(i)&&(I=i,u(a=d)===u(I)&&s(a,((e,n)=>I[n]===e)))||E(g,n,[d,i]),!c(h)){const e=b(L,n),t=l(r,n)?h(o,n):void 0;e!=t&&E(p,n,t)}},j=e=>{o((()=>{x(g,(([,e],n)=>E(S,n,e))),x(p,((e,n)=>E(L,n,e)))}),g,p,S,L,e),y(g),y(p)};T(S,R),e.hasTable(r)&&i(e.getRowIds(r),(e=>{I(S,e)||R(e)})),j(!0),z(n),m(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>j())))},C,()=>T(h,C),m,z]})(e,w,(e=>{return c(e)?t:v(e)?(n=r,e.map(n)):r(e);var n})),[J,K,N]=(e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:t+n++},n=>{C.test(n)&&u(e)<1e3&&a(e,n)}]})(),s=w();return[(e,r,o,d=[],i=(()=>[]))=>{null!=n||(n=Q);const u=l(1);return E(s,u,[e,r,o,d,i]),k(m(r,null!=o?o:[t],j),u),u},(e,l,...r)=>i(((e,n=[t])=>{const l=[],r=(e,t)=>t==u(n)?a(l,e):null===n[t]?x(e,(e=>r(e,t+1))):i([n[t],null],(n=>r(b(e,n),t+1)));return r(e,0),l})(e,l),(e=>x(e,(e=>b(s,e)[0](n,...null!=l?l:[],...r))))),e=>f(b(s,e),(([,n,l])=>(m(n,null!=l?l:[t],void 0,(n=>(S(n,e),g(n)?1:0))),E(s,e),r(e),l))),e=>f(b(s,e),(([e,,t=[],l,r])=>{const s=(...o)=>{var d,a;const f=u(o);f==u(t)?e(n,...o,...r(o)):c(t[f])?i(null!=(a=null==(d=l[f])?void 0:d.call(l,...o))?a:[],(e=>s(...o,e))):s(...o,t[f])};s()}))]})(),P=(n,t,l)=>{const r=W(n);x(l,((n,l)=>t(l,(t=>x(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},Q={setIndexDefinition:(e,t,r,s,i,u=A)=>{const a=c(i)?void 0:([e],[n])=>i(e,n);return F(e,t,((t,r,i,v,h,p)=>{let y=0;const L=j(),R=j(),m=$(e);if(x(r,(([e,n],t)=>{const l=j(e),r=j(n);x(l,(e=>S(r,e)?S(l,e):0)),x(l,(e=>{k(L,e),f(b(m,e),(n=>{S(n,t),g(n)&&(E(m,e),y=1)}))})),x(r,(e=>{k(L,e),I(m,e)||(E(m,e,j()),y=1),k(b(m,e),t),c(s)||k(R,e)}))})),t(),g(h)||(p?T(m,(e=>k(R,e))):T(i,(e=>f(b(v,e),(e=>k(R,e))))),x(R,(e=>{const n=(n,t)=>u(b(h,n),b(h,t),e),t=[...b(m,e)];o(t,n)||(E(m,e,j(d(t,n))),k(L,e))}))),(y||p)&&!c(a)){const n=[...m];o(n,a)||(q(e,w(d(n,a))),y=1)}y&&K(n,[e]),x(L,(n=>K(l,[e,n])))}),z(r),f(s,z)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((n,t)=>e(n,(e=>P(n,e,t))))),forEachSlice:(e,n)=>P(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>I($(e),n),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,n)=>p(b($(e),n)),addSliceIdsListener:(e,t)=>J(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>J(t,l,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),n.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
1
+ var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=e=>null==e,o=(e,n,t)=>s(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),i=(e,n)=>e.every(n),u=(e,n)=>i(e,((t,l)=>0==l||n(e[l-1],t)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),f=e=>e.length,v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},g=e=>s(e)||0==(e=>e.size)(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},y=e=>e.clear(),x=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},b=(e,n)=>null==e?void 0:e.get(n),T=(e,n)=>x(e,((e,t)=>n(t,e))),E=(e,n,t)=>s(t)?(S(e,n),e):null==e?void 0:e.set(n,t),R=(e,n,t)=>(I(e,n)||E(e,n,t()),b(e,n)),m=(e,n,t,l,r=0)=>o((t?R:b)(e,n[r],r>f(n)-2?t:w),(s=>{if(r>f(n)-2)return(null==l?void 0:l(s))&&E(e,n[r]),s;const o=m(s,n,t,l,r+1);return g(s)&&E(e,n[r]),o})),j=e=>new Set(d(e)||s(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),z=(e,r)=>n(e)==l?n=>n(e):null!=e?e:()=>null!=r?r:t,A=(e,n)=>e<n?-1:1,C=/^\d+$/,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),l=w(),[D,M,B,O,W,$,q,,F,G,H]=((e,n,t)=>{const l=e.hasRow,r=w(),u=w(),a=w(),v=w(),h=w(),m=(n,t,...l)=>{const r=R(h,n,j);return c(l,(n=>k(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>o(b(h,n),(l=>{c(0==f(t)?p(l):t,(n=>{e.delListener(n),S(l,n)})),g(l)&&E(h,n)})),A=(e,t)=>{E(r,e,t),I(u,e)||(E(u,e,n()),E(a,e,w()),E(v,e,w()))},C=e=>{E(r,e),E(u,e),E(a,e),E(v,e),z(e)};return[()=>e,()=>L(r),e=>T(u,e),e=>I(u,e),e=>b(r,e),e=>b(u,e),(e,n)=>E(u,e,n),A,(n,r,o,u,h)=>{A(n,r);const g=w(),p=w(),S=b(a,n),L=b(v,n),R=n=>{const o=t=>e.getCell(r,n,t),a=b(S,n),c=l(r,n)?t(u(o,n)):void 0;var v,I;if(a===c||d(a)&&d(c)&&(I=c,f(v=a)===f(I)&&i(v,((e,n)=>I[n]===e)))||E(g,n,[a,c]),!s(h)){const e=b(L,n),t=l(r,n)?h(o,n):void 0;e!=t&&E(p,n,t)}},j=e=>{o((()=>{x(g,(([,e],n)=>E(S,n,e))),x(p,((e,n)=>E(L,n,e)))}),g,p,S,L,e),y(g),y(p)};T(S,R),e.hasTable(r)&&c(e.getRowIds(r),(e=>{I(S,e)||R(e)})),j(!0),z(n),m(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>j())))},C,()=>T(h,C),m,z]})(e,w,(e=>{return s(e)?t:d(e)?(n=r,e.map(n)):r(e);var n})),[J,K,N]=(e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:t+n++},n=>{C.test(n)&&f(e)<1e3&&v(e,n)}]})(),d=w();return[(e,r,s,o=[],i=(()=>[]))=>{null!=n||(n=Q);const u=l(1);return E(d,u,[e,r,s,o,i]),k(m(r,null!=s?s:[t],j),u),u},(e,l,...r)=>c(((e,n=[t])=>{const l=[],r=(e,t)=>t==f(n)?v(l,e):null===n[t]?x(e,(e=>r(e,t+1))):c([n[t],null],(n=>r(b(e,n),t+1)));return r(e,0),l})(e,l),(e=>x(e,(e=>b(d,e)[0](n,...null!=l?l:[],...r))))),e=>o(b(d,e),(([,n,l])=>(m(n,null!=l?l:[t],void 0,(n=>(S(n,e),g(n)?1:0))),E(d,e),r(e),l))),e=>o(b(d,e),(([e,,t=[],l,r])=>{const o=(...d)=>{var i,u;const a=f(d);a==f(t)?e(n,...d,...r(d)):s(t[a])?c(null!=(u=null==(i=l[a])?void 0:i.call(l,...d))?u:[],(e=>o(...d,e))):o(...d,t[a])};o()}))]})(),P=(n,t,l)=>{const r=W(n);x(l,((n,l)=>t(l,(t=>x(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},Q={setIndexDefinition:(e,t,r,d,i,c=A)=>{const f=s(i)?void 0:([e],[n])=>i(e,n);return F(e,t,((t,r,i,v,h,p)=>{let y=0;const L=j(),R=j(),m=$(e);if(x(r,(([e,n],t)=>{const l=j(e),r=j(n);x(l,(e=>S(r,e)?S(l,e):0)),x(l,(e=>{k(L,e),o(b(m,e),(n=>{S(n,t),g(n)&&(E(m,e),y=1)}))})),x(r,(e=>{k(L,e),I(m,e)||(E(m,e,j()),y=1),k(b(m,e),t),s(d)||k(R,e)}))})),t(),g(h)||(p?T(m,(e=>k(R,e))):T(i,(e=>o(b(v,e),(e=>k(R,e))))),x(R,(e=>{const n=(n,t)=>c(b(h,n),b(h,t),e),t=[...b(m,e)];u(t,n)||(E(m,e,j(a(t,n))),k(L,e))}))),(y||p)&&!s(f)){const n=[...m];u(n,f)||(q(e,w(a(n,f))),y=1)}y&&K(n,[e]),x(L,(n=>K(l,[e,n])))}),z(r),o(d,z)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((n,t)=>e(n,(e=>P(n,e,t))))),forEachSlice:(e,n)=>P(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>I($(e),n),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,n)=>p(b($(e),n)),addSliceIdsListener:(e,t)=>J(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>J(t,l,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),n.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),o=e=>u(e,((e,t)=>e+t),0),s=e=>e.length,u=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),a=Math.max,c=Math.min,v=isFinite,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),g=e=>Array.isArray(e),M=()=>{},p=Object.freeze,y=e=>e.size,m=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},b=e=>f(e)||0==y(e),L=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},w=e=>e.clear(),T=(e,t)=>null==e?void 0:e.forEach(t),x=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>f(n)?(x(e,t),e):null==e?void 0:e.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,l,r=0)=>h((n?j:I)(e,t[r],r>s(t)-2?n:E),(i=>{if(r>s(t)-2)return(null==l?void 0:l(i))&&S(e,t[r]),i;const o=k(i,t,n,l,r+1);return b(i)&&S(e,t[r]),o})),z=E([["avg",[(e,t)=>o(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(t,e)]],["min",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:c(t,e)]],["sum",[e=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(g(e)||f(e)?e:[e]),D=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,B=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=E(),[u,a,c,B,C,F,O,,W,$,q]=((e,t,l)=>{const r=e.hasRow,o=E(),u=E(),d=E(),a=E(),c=E(),v=(t,n,...l)=>{const r=j(c,t,A);return i(l,(t=>D(r,t)&&n&&e.callListener(t))),l},M=(t,...n)=>h(I(c,t),(l=>{i(0==s(n)?L(l):n,(t=>{e.delListener(t),x(l,t)})),b(l)&&S(c,t)})),p=(e,n)=>{S(o,e,n),m(u,e)||(S(u,e,t()),S(d,e,E()),S(a,e,E()))},y=e=>{S(o,e),S(u,e),S(d,e),S(a,e),M(e)};return[()=>e,()=>{return[...null!=(t=null==(e=o)?void 0:e.keys())?t:[]];var e,t},e=>R(u,e),e=>m(u,e),e=>I(o,e),e=>I(u,e),(e,t)=>S(u,e,t),p,(t,l,o,u,c)=>{p(t,l);const h=E(),y=E(),b=I(d,t),L=I(a,t),x=t=>{const i=n=>e.getCell(l,t,n),o=I(b,t),d=r(l,t)?(a=u(i,t),isNaN(a)||f(a)||!0===a||!1===a||a===n?void 0:1*a):void 0;var a,v,M,p;if(o===d||g(o)&&g(d)&&(M=d,s(v=o)===s(M)&&(p=(e,t)=>M[t]===e,v.every(p)))||S(h,t,[o,d]),!f(c)){const e=I(L,t),n=r(l,t)?c(i,t):void 0;e!=n&&S(y,t,n)}},j=e=>{o((()=>{T(h,(([,e],t)=>S(b,t,e))),T(y,((e,t)=>S(L,t,e)))}),h,y,b,L,e),w(h),w(y)};R(b,x),e.hasTable(l)&&i(e.getRowIds(l),(e=>{m(b,e)||x(e)})),j(!0),M(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>x(n))),e.addTableListener(l,(()=>j())))},y,()=>R(c,y),v,M]})(e,M),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},t=>{N.test(t)&&s(e)<1e3&&d(e,t)}]})(),o=E();return[(e,r,i,s=[],u=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(o,d,[e,r,i,s,u]),D(k(r,null!=i?i:[n],A),d),d},(e,l,...r)=>i(((e,t=[n])=>{const l=[],r=(e,n)=>n==s(t)?d(l,e):null===t[n]?T(e,(e=>r(e,n+1))):i([t[n],null],(t=>r(I(e,t),n+1)));return r(e,0),l})(e,l),(e=>T(e,(e=>I(o,e)[0](t,...null!=l?l:[],...r))))),e=>h(I(o,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(t=>(x(t,e),b(t)?1:0))),S(o,e),r(e),l))),e=>h(I(o,e),(([e,,n=[],l,r])=>{const o=(...u)=>{var d,a;const c=s(u);c==s(n)?e(t,...u,...r(u)):f(n[c])?i(null!=(a=null==(d=l[c])?void 0:d.call(l,...u))?a:[],(e=>o(...u,e))):o(...u,n[c])};o()}))]})(),K={setMetricDefinition:(e,n,i,s,u,d,a)=>{var c;const h=t(i)==r?[i,u,d,a]:null!=(c=I(z,i))?c:I(z,"sum");return W(e,n,((t,n,l,r,i,s)=>{const u=F(e),d=y(r);s||(s=f(u)),t();let a=((e,t,n,l,r,i=!1)=>{if(b(n))return;const[o,s,u,d]=r;return i||(i=f(e)),T(l,(([n,l])=>{i||(e=f(n)?null==s?void 0:s(e,l,t++):f(l)?null==u?void 0:u(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=f(e)))})),i?o(L(n),y(n)):e})(u,d,r,n,h,s);v(a)||(a=void 0),a!=u&&(O(e,a),H(o,[e],a,u))}),(1,t(g=s)==l?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>($(e),K),getStore:u,getMetricIds:a,forEachMetric:c,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,o,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return p(K)})(e)),o.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=Math.max,o=Math.min,s=isFinite,u=e=>null==e,d=(e,t,n)=>u(e)?null==n?void 0:n():t(e),a=e=>Array.isArray(e),c=()=>{},v=(e,t)=>e.forEach(t),f=e=>g(e,((e,t)=>e+t),0),h=e=>e.length,g=(e,t,n)=>e.reduce(t,n),M=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e.size,m=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},b=e=>u(e)||0==y(e),L=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},w=e=>e.clear(),T=(e,t)=>null==e?void 0:e.forEach(t),x=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>u(n)?(x(e,t),e):null==e?void 0:e.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,l,r=0)=>d((n?j:I)(e,t[r],r>h(t)-2?n:E),(i=>{if(r>h(t)-2)return(null==l?void 0:l(i))&&S(e,t[r]),i;const o=k(i,t,n,l,r+1);return b(i)&&S(e,t[r]),o})),z=E([["avg",[(e,t)=>f(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:o(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(a(e)||u(e)?e:[e]),D=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,B=(e=>{const i=new WeakMap;return e=>(i.has(e)||i.set(e,(e=>{const i=E(),[o,f,g,B,C,F,O,,W,$,q]=((e,t,l)=>{const r=e.hasRow,i=E(),o=E(),s=E(),c=E(),f=E(),g=(t,n,...l)=>{const r=j(f,t,A);return v(l,(t=>D(r,t)&&n&&e.callListener(t))),l},M=(t,...n)=>d(I(f,t),(l=>{v(0==h(n)?L(l):n,(t=>{e.delListener(t),x(l,t)})),b(l)&&S(f,t)})),p=(e,n)=>{S(i,e,n),m(o,e)||(S(o,e,t()),S(s,e,E()),S(c,e,E()))},y=e=>{S(i,e),S(o,e),S(s,e),S(c,e),M(e)};return[()=>e,()=>{return[...null!=(t=null==(e=i)?void 0:e.keys())?t:[]];var e,t},e=>R(o,e),e=>m(o,e),e=>I(i,e),e=>I(o,e),(e,t)=>S(o,e,t),p,(t,l,i,o,d)=>{p(t,l);const f=E(),y=E(),b=I(s,t),L=I(c,t),x=t=>{const i=n=>e.getCell(l,t,n),s=I(b,t),c=r(l,t)?(v=o(i,t),isNaN(v)||u(v)||!0===v||!1===v||v===n?void 0:1*v):void 0;var v,g,M,p;if(s===c||a(s)&&a(c)&&(M=c,h(g=s)===h(M)&&(p=(e,t)=>M[t]===e,g.every(p)))||S(f,t,[s,c]),!u(d)){const e=I(L,t),n=r(l,t)?d(i,t):void 0;e!=n&&S(y,t,n)}},j=e=>{i((()=>{T(f,(([,e],t)=>S(b,t,e))),T(y,((e,t)=>S(L,t,e)))}),f,y,b,L,e),w(f),w(y)};R(b,x),e.hasTable(l)&&v(e.getRowIds(l),(e=>{m(b,e)||x(e)})),j(!0),M(t),g(t,0,e.addRowListener(l,null,((e,t,n)=>x(n))),e.addTableListener(l,(()=>j())))},y,()=>R(f,y),g,M]})(e,c),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},t=>{N.test(t)&&h(e)<1e3&&M(e,t)}]})(),i=E();return[(e,r,o,s=[],u=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(i,d,[e,r,o,s,u]),D(k(r,null!=o?o:[n],A),d),d},(e,l,...r)=>v(((e,t=[n])=>{const l=[],r=(e,n)=>n==h(t)?M(l,e):null===t[n]?T(e,(e=>r(e,n+1))):v([t[n],null],(t=>r(I(e,t),n+1)));return r(e,0),l})(e,l),(e=>T(e,(e=>I(i,e)[0](t,...null!=l?l:[],...r))))),e=>d(I(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(t=>(x(t,e),b(t)?1:0))),S(i,e),r(e),l))),e=>d(I(i,e),(([e,,n=[],l,r])=>{const i=(...o)=>{var s,d;const a=h(o);a==h(n)?e(t,...o,...r(o)):u(n[a])?v(null!=(d=null==(s=l[a])?void 0:s.call(l,...o))?d:[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),K={setMetricDefinition:(e,n,o,d,a,c,v)=>{var f;const h=t(o)==r?[o,a,c,v]:null!=(f=I(z,o))?f:I(z,"sum");return W(e,n,((t,n,l,r,o,d)=>{const a=F(e),c=y(r);d||(d=u(a)),t();let v=((e,t,n,l,r,i=!1)=>{if(b(n))return;const[o,s,d,a]=r;return i||(i=u(e)),T(l,(([n,l])=>{i||(e=u(n)?null==s?void 0:s(e,l,t++):u(l)?null==d?void 0:d(e,n,t--):null==a?void 0:a(e,l,n,t),i||(i=u(e)))})),i?o(L(n),y(n)):e})(a,c,r,n,h,d);s(v)||(v=void 0),v!=a&&(O(e,v),H(i,[e],v,a))}),(1,t(g=d)==l?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>($(e),K),getStore:o,getMetricIds:f,forEachMetric:g,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,i,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return p(K)})(e)),i.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=JSON.parse,n=(e,t)=>e instanceof t,o=e=>null==e,r=Object,i=r.keys,l=r.freeze,s=e=>(e=>n(e,r)&&e.constructor==r)(e)&&0==(e=>i(e).length)(e);var u=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())})),a=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));const d="storage",c=globalThis.window,v=(e,r,i)=>((e,v,f,y,h)=>{let p,g,S,m=0,A=0,L=0;const w=[],x=e=>u(void 0,null,(function*(){return 2!=m&&(m=1,yield P.schedule((()=>u(void 0,null,(function*(){yield e(),m=0}))))),P})),P={load:(t,n)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){try{e.setContent(yield v())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...n)=>u(void 0,[...n],(function*(n={},o={}){return P.stopAutoLoad(),yield P.load(n,o),L=1,S=(e=>{const n=n=>{n.storageArea===i&&n.key===r&&e((()=>t(n.newValue)))};return c.addEventListener(d,n),n})(((t,n)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield v())}catch(e){}}))))})))),P})),stopAutoLoad:()=>{return L&&(e=S,c.removeEventListener(d,e),S=void 0,L=0),P;var e},save:t=>u(void 0,null,(function*(){return 1!=m&&(m=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(t=e.getContent,a(void 0,null,(function*(){return i.setItem(r,(e=t(),JSON.stringify(e,((e,t)=>{return n(t,Map)?(o=(e,[t,n])=>(e[t]=n,e),r={},[...t].reduce(o,r)):t;var o,r}))));var e})))}catch(e){}var t;m=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),p=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();s(n)&&s(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,n;return t=p,n=e.delListener,!!o(t)||n(t),P},schedule:(...e)=>u(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(w,...e),yield u(void 0,null,(function*(){if(!A){for(A=1;!o((e=w,g=e.shift()));)try{yield g()}catch(e){}A=0}var e})),P})),getStore:()=>e,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(P)})(e,(()=>a(void 0,null,(function*(){return t(i.getItem(r))}))));e.createLocalPersister=(e,t)=>v(e,t,localStorage),e.createSessionPersister=(e,t)=>v(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e instanceof t,n=e=>null==e,o=Object,r=o.keys,i=o.freeze,s=e=>(e=>t(e,o)&&e.constructor==o)(e)&&0==(e=>r(e).length)(e),l=JSON.parse;var u=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())})),a=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{l(n.next(e))}catch(e){r(e)}},s=e=>{try{l(n.throw(e))}catch(e){r(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,s);l((n=n.apply(e,t)).next())}));const d="storage",c=globalThis.window,v=(e,r,v)=>((e,f,y,h,p)=>{let g,S,m,A=0,L=0,w=0;const x=[],P=e=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield T.schedule((()=>u(void 0,null,(function*(){yield e(),A=0}))))),T})),T={load:(t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){try{e.setContent(yield f())}catch(o){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},n={}){return T.stopAutoLoad(),yield T.load(t,n),w=1,m=(e=>{const t=t=>{t.storageArea===v&&t.key===r&&e((()=>l(t.newValue)))};return c.addEventListener(d,t),t})(((t,n)=>u(void 0,null,(function*(){return yield P((()=>u(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield f())}catch(e){}}))))})))),T})),stopAutoLoad:()=>{return w&&(e=m,c.removeEventListener(d,e),m=void 0,w=0),T;var e},save:n=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield T.schedule((()=>u(void 0,null,(function*(){try{yield(n=e.getContent,a(void 0,null,(function*(){return v.setItem(r,(e=n(),JSON.stringify(e,((e,n)=>t(n,Map)?o.fromEntries([...n]):n))));var e})))}catch(e){}var n;A=0}))))),T})),startAutoSave:()=>u(void 0,null,(function*(){return yield T.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((e,t)=>{const[n,o]=t();s(n)&&s(o)||T.save((()=>[n,o]))})),T})),stopAutoSave:()=>{var t,o;return t=g,o=e.delListener,!!n(t)||o(t),T},schedule:(...e)=>u(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(x,...e),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((e=x,S=e.shift()));)try{yield S()}catch(e){}L=0}var e})),T})),getStore:()=>e,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(T)})(e,(()=>a(void 0,null,(function*(){return l(v.getItem(r))}))));e.createLocalPersister=(e,t)=>v(e,t,localStorage),e.createSessionPersister=(e,t)=>v(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});