tinybase 4.0.0-beta.0 → 4.0.0-beta.2

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 (203) 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/persister-browser.cjs +1 -0
  11. package/lib/cjs/persister-browser.cjs.gz +0 -0
  12. package/lib/cjs/persister-file.cjs +1 -0
  13. package/lib/cjs/persister-file.cjs.gz +0 -0
  14. package/lib/cjs/persister-remote.cjs +1 -0
  15. package/lib/cjs/persister-remote.cjs.gz +0 -0
  16. package/lib/cjs/persister-yjs.cjs +1 -1
  17. package/lib/cjs/persister-yjs.cjs.gz +0 -0
  18. package/lib/cjs/persisters.cjs +1 -1
  19. package/lib/cjs/persisters.cjs.gz +0 -0
  20. package/lib/cjs/queries.cjs +1 -1
  21. package/lib/cjs/queries.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/persister-browser.cjs +1 -0
  39. package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
  40. package/lib/cjs-es6/persister-file.cjs +1 -0
  41. package/lib/cjs-es6/persister-file.cjs.gz +0 -0
  42. package/lib/cjs-es6/persister-remote.cjs +1 -0
  43. package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
  44. package/lib/cjs-es6/persister-yjs.cjs +1 -1
  45. package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
  46. package/lib/cjs-es6/persisters.cjs +1 -1
  47. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  48. package/lib/cjs-es6/queries.cjs +1 -1
  49. package/lib/cjs-es6/queries.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 +3 -3
  61. package/lib/debug/indexes.js +3 -3
  62. package/lib/debug/metrics.js +3 -3
  63. package/lib/debug/persister-browser.js +147 -0
  64. package/lib/debug/persister-file.js +140 -0
  65. package/lib/debug/persister-remote.js +159 -0
  66. package/lib/debug/persister-yjs.js +234 -40
  67. package/lib/debug/persisters.js +43 -133
  68. package/lib/debug/queries.js +5 -5
  69. package/lib/debug/relationships.js +3 -3
  70. package/lib/debug/store.js +137 -87
  71. package/lib/debug/tinybase.js +179 -215
  72. package/lib/debug/tools.js +9 -9
  73. package/lib/es6/checkpoints.js +1 -1
  74. package/lib/es6/checkpoints.js.gz +0 -0
  75. package/lib/es6/indexes.js +1 -1
  76. package/lib/es6/indexes.js.gz +0 -0
  77. package/lib/es6/metrics.js +1 -1
  78. package/lib/es6/metrics.js.gz +0 -0
  79. package/lib/es6/persister-browser.js +1 -0
  80. package/lib/es6/persister-browser.js.gz +0 -0
  81. package/lib/es6/persister-file.js +1 -0
  82. package/lib/es6/persister-file.js.gz +0 -0
  83. package/lib/es6/persister-remote.js +1 -0
  84. package/lib/es6/persister-remote.js.gz +0 -0
  85. package/lib/es6/persister-yjs.js +1 -1
  86. package/lib/es6/persister-yjs.js.gz +0 -0
  87. package/lib/es6/persisters.js +1 -1
  88. package/lib/es6/persisters.js.gz +0 -0
  89. package/lib/es6/queries.js +1 -1
  90. package/lib/es6/queries.js.gz +0 -0
  91. package/lib/es6/relationships.js +1 -1
  92. package/lib/es6/relationships.js.gz +0 -0
  93. package/lib/es6/store.js +1 -1
  94. package/lib/es6/store.js.gz +0 -0
  95. package/lib/es6/tinybase.js +1 -1
  96. package/lib/es6/tinybase.js.gz +0 -0
  97. package/lib/es6/tools.js +1 -1
  98. package/lib/es6/tools.js.gz +0 -0
  99. package/lib/es6/ui-react.js +1 -1
  100. package/lib/es6/ui-react.js.gz +0 -0
  101. package/lib/indexes.js +1 -1
  102. package/lib/indexes.js.gz +0 -0
  103. package/lib/metrics.js +1 -1
  104. package/lib/metrics.js.gz +0 -0
  105. package/lib/persister-browser.js +1 -0
  106. package/lib/persister-browser.js.gz +0 -0
  107. package/lib/persister-file.js +1 -0
  108. package/lib/persister-file.js.gz +0 -0
  109. package/lib/persister-remote.js +1 -0
  110. package/lib/persister-remote.js.gz +0 -0
  111. package/lib/persister-yjs.js +1 -1
  112. package/lib/persister-yjs.js.gz +0 -0
  113. package/lib/persisters.js +1 -1
  114. package/lib/persisters.js.gz +0 -0
  115. package/lib/queries.js +1 -1
  116. package/lib/queries.js.gz +0 -0
  117. package/lib/relationships.js +1 -1
  118. package/lib/relationships.js.gz +0 -0
  119. package/lib/store.js +1 -1
  120. package/lib/store.js.gz +0 -0
  121. package/lib/tinybase.js +1 -1
  122. package/lib/tinybase.js.gz +0 -0
  123. package/lib/tools.js +1 -1
  124. package/lib/tools.js.gz +0 -0
  125. package/lib/types/persister-browser.d.ts +85 -0
  126. package/lib/types/persister-file.d.ts +41 -0
  127. package/lib/types/persister-remote.d.ts +60 -0
  128. package/lib/types/persister-yjs.d.ts +70 -8
  129. package/lib/types/persisters.d.ts +73 -181
  130. package/lib/types/queries.d.ts +52 -52
  131. package/lib/types/store.d.ts +499 -139
  132. package/lib/types/tools.d.ts +16 -16
  133. package/lib/types/ui-react.d.ts +56 -47
  134. package/lib/types/with-schemas/internal/ui-react.d.ts +2 -2
  135. package/lib/types/with-schemas/persister-browser.d.ts +103 -0
  136. package/lib/types/with-schemas/persister-file.d.ts +50 -0
  137. package/lib/types/with-schemas/persister-remote.d.ts +71 -0
  138. package/lib/types/with-schemas/persister-yjs.d.ts +72 -9
  139. package/lib/types/with-schemas/persisters.d.ts +99 -223
  140. package/lib/types/with-schemas/queries.d.ts +52 -52
  141. package/lib/types/with-schemas/store.d.ts +595 -153
  142. package/lib/types/with-schemas/tools.d.ts +16 -16
  143. package/lib/types/with-schemas/ui-react.d.ts +54 -45
  144. package/lib/ui-react.js +1 -1
  145. package/lib/ui-react.js.gz +0 -0
  146. package/lib/umd/checkpoints.js +1 -1
  147. package/lib/umd/checkpoints.js.gz +0 -0
  148. package/lib/umd/indexes.js +1 -1
  149. package/lib/umd/indexes.js.gz +0 -0
  150. package/lib/umd/metrics.js +1 -1
  151. package/lib/umd/metrics.js.gz +0 -0
  152. package/lib/umd/persister-browser.js +1 -0
  153. package/lib/umd/persister-browser.js.gz +0 -0
  154. package/lib/umd/persister-file.js +1 -0
  155. package/lib/umd/persister-file.js.gz +0 -0
  156. package/lib/umd/persister-remote.js +1 -0
  157. package/lib/umd/persister-remote.js.gz +0 -0
  158. package/lib/umd/persister-yjs.js +1 -1
  159. package/lib/umd/persister-yjs.js.gz +0 -0
  160. package/lib/umd/persisters.js +1 -1
  161. package/lib/umd/persisters.js.gz +0 -0
  162. package/lib/umd/queries.js +1 -1
  163. package/lib/umd/queries.js.gz +0 -0
  164. package/lib/umd/relationships.js +1 -1
  165. package/lib/umd/relationships.js.gz +0 -0
  166. package/lib/umd/store.js +1 -1
  167. package/lib/umd/store.js.gz +0 -0
  168. package/lib/umd/tinybase.js +1 -1
  169. package/lib/umd/tinybase.js.gz +0 -0
  170. package/lib/umd/tools.js +1 -1
  171. package/lib/umd/tools.js.gz +0 -0
  172. package/lib/umd/ui-react.js +1 -1
  173. package/lib/umd/ui-react.js.gz +0 -0
  174. package/lib/umd-es6/checkpoints.js +1 -1
  175. package/lib/umd-es6/checkpoints.js.gz +0 -0
  176. package/lib/umd-es6/indexes.js +1 -1
  177. package/lib/umd-es6/indexes.js.gz +0 -0
  178. package/lib/umd-es6/metrics.js +1 -1
  179. package/lib/umd-es6/metrics.js.gz +0 -0
  180. package/lib/umd-es6/persister-browser.js +1 -0
  181. package/lib/umd-es6/persister-browser.js.gz +0 -0
  182. package/lib/umd-es6/persister-file.js +1 -0
  183. package/lib/umd-es6/persister-file.js.gz +0 -0
  184. package/lib/umd-es6/persister-remote.js +1 -0
  185. package/lib/umd-es6/persister-remote.js.gz +0 -0
  186. package/lib/umd-es6/persister-yjs.js +1 -1
  187. package/lib/umd-es6/persister-yjs.js.gz +0 -0
  188. package/lib/umd-es6/persisters.js +1 -1
  189. package/lib/umd-es6/persisters.js.gz +0 -0
  190. package/lib/umd-es6/queries.js +1 -1
  191. package/lib/umd-es6/queries.js.gz +0 -0
  192. package/lib/umd-es6/relationships.js +1 -1
  193. package/lib/umd-es6/relationships.js.gz +0 -0
  194. package/lib/umd-es6/store.js +1 -1
  195. package/lib/umd-es6/store.js.gz +0 -0
  196. package/lib/umd-es6/tinybase.js +1 -1
  197. package/lib/umd-es6/tinybase.js.gz +0 -0
  198. package/lib/umd-es6/tools.js +1 -1
  199. package/lib/umd-es6/tools.js.gz +0 -0
  200. package/lib/umd-es6/ui-react.js +1 -1
  201. package/lib/umd-es6/ui-react.js.gz +0 -0
  202. package/package.json +15 -15
  203. package/readme.md +2 -2
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>a(e,((e,t)=>e+t),0),c=e=>e.length,a=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),l=Math.max,u=Math.min,f=isFinite,h=e=>null==e,v=(e,t,n)=>h(e)?n?.():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>e?.has(t)??!1,m=e=>h(e)||0==p(e),b=e=>[...e?.values()??[]],L=e=>e.clear(),w=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>h(n)?(T(e,t),e):e?.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,r,s=0)=>v((n?S:E)(e,t[s],s>c(t)-2?n:x),(i=>{if(s>c(t)-2)return r?.(i)&&R(e,t[s]),i;const o=j(i,t,n,r,s+1);return m(i)&&R(e,t[s]),o})),k=x([["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,r)=>e+(t-n)/r]],["max",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:l(t,e)]],["min",[e=>u(...e),(e,t)=>u(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:u(t,e)]],["sum",[e=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=e=>new Set(g(e)||h(e)?e:[e]),A=(e,t)=>e?.add(t),D=/^\d+$/,N=Object.freeze,B=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=x(),[a,l,u,B,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=x(),a=x(),d=x(),l=x(),u=x(),f=(t,n,...r)=>{const s=S(u,t,z);return i(r,(t=>A(s,t)&&n&&e.callListener(t))),r},M=(t,...n)=>v(E(u,t),(r=>{i(0==c(n)?b(r):n,(t=>{e.delListener(t),T(r,t)})),m(r)&&R(u,t)})),p=(e,n)=>{R(o,e,n),y(a,e)||(R(a,e,t()),R(d,e,x()),R(l,e,x()))},j=e=>{R(o,e),R(a,e),R(d,e),R(l,e),M(e)};return[()=>e,()=>[...o?.keys()??[]],e=>I(a,e),e=>y(a,e),e=>E(o,e),e=>E(a,e),(e,t)=>R(a,e,t),p,(t,r,o,a,u)=>{p(t,r);const v=x(),m=x(),b=E(d,t),T=E(l,t),S=t=>{const i=n=>e.getCell(r,t,n),o=E(b,t),d=s(r,t)?(l=a(i,t),isNaN(l)||h(l)||!0===l||!1===l||l===n?void 0:1*l):void 0;var l,f,M,p;if(o===d||g(o)&&g(d)&&(M=d,c(f=o)===c(M)&&(p=(e,t)=>M[t]===e,f.every(p)))||R(v,t,[o,d]),!h(u)){const e=E(T,t),n=s(r,t)?u(i,t):void 0;e!=n&&R(m,t,n)}},j=e=>{o((()=>{w(v,(([,e],t)=>R(b,t,e))),w(m,((e,t)=>R(T,t,e)))}),v,m,b,T,e),L(v),L(m)};I(b,S),e.hasTable(r)&&i(e.getRowIds(r),(e=>{y(b,e)||S(e)})),j(!0),M(t),f(t,0,e.addRowListener(r,null,((e,t,n)=>S(n))),e.addTableListener(r,(()=>j())))},j,()=>I(u,j),f,M]})(e,M),[G,H,J]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[r=>(r?e.shift():null)??n+t++,t=>{D.test(t)&&c(e)<1e3&&d(e,t)}]})(),o=x();return[(e,s,i,c=[],a=(()=>[]))=>{t??=K;const d=r(1);return R(o,d,[e,s,i,c,a]),A(j(s,i??[n],z),d),d},(e,r,...s)=>i(((e,t=[n])=>{const r=[],s=(e,n)=>n==c(t)?d(r,e):null===t[n]?w(e,(e=>s(e,n+1))):i([t[n],null],(t=>s(E(e,t),n+1)));return s(e,0),r})(e,r),(e=>w(e,(e=>E(o,e)[0](t,...r??[],...s))))),e=>v(E(o,e),(([,t,r])=>(j(t,r??[n],void 0,(t=>(T(t,e),m(t)?1:0))),R(o,e),s(e),r))),e=>v(E(o,e),(([e,,n=[],r,s])=>{const o=(...a)=>{const d=c(a);d==c(n)?e(t,...a,...s(a)):h(n[d])?i(r[d]?.(...a)??[],(e=>o(...a,e))):o(...a,n[d])};o()}))]})(),K={setMetricDefinition:(e,n,i,c,a,d,l)=>{const u=t(i)==s?[i,a,d,l]:E(k,i)??E(k,"sum");return W(e,n,((t,n,r,s,i,c)=>{const a=F(e),d=p(s);c||=h(a),t();let l=((e,t,n,r,s,i=!1)=>{if(m(n))return;const[o,c,a,d]=s;return i||=h(e),w(r,(([n,r])=>{i||(e=h(n)?c?.(e,r,t++):h(r)?a?.(e,n,t--):d?.(e,r,n,t),i||=h(e))})),i?o(b(n),p(n)):e})(a,d,s,n,u,c);f(l)||(l=void 0),l!=a&&(O(e,l),H(o,[e],l,a))}),(1,t(v=c)==r?e=>e(v):v??(()=>1))),K;var v},delMetricDefinition:e=>($(e),K),getStore:a,getMetricIds:l,forEachMetric:u,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,o,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return N(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="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>c(e,((e,t)=>e+t),0),a=e=>e.length,c=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),l=Math.max,u=Math.min,f=isFinite,h=e=>null==e,v=(e,t,n)=>h(e)?n?.():t(e),g=e=>Array.isArray(e),M=()=>{},p=Object.freeze,y=e=>e.size,m=(e,t)=>e?.has(t)??!1,b=e=>h(e)||0==y(e),L=e=>[...e?.values()??[]],w=e=>e.clear(),T=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),E=e=>new Map(e),I=(e,t)=>e?.get(t),R=(e,t)=>T(e,((e,n)=>t(n,e))),S=(e,t,n)=>h(n)?(x(e,t),e):e?.set(t,n),j=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,r,s=0)=>v((n?j:I)(e,t[s],s>a(t)-2?n:E),(i=>{if(s>a(t)-2)return r?.(i)&&S(e,t[s]),i;const o=k(i,t,n,r,s+1);return b(i)&&S(e,t[s]),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,r)=>e+(t-n)/r]],["max",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:l(t,e)]],["min",[e=>u(...e),(e,t)=>u(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:u(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)||h(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,B=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=E(),[c,l,u,B,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=E(),c=E(),d=E(),l=E(),u=E(),f=(t,n,...r)=>{const s=j(u,t,A);return i(r,(t=>D(s,t)&&n&&e.callListener(t))),r},M=(t,...n)=>v(I(u,t),(r=>{i(0==a(n)?L(r):n,(t=>{e.delListener(t),x(r,t)})),b(r)&&S(u,t)})),p=(e,n)=>{S(o,e,n),m(c,e)||(S(c,e,t()),S(d,e,E()),S(l,e,E()))},y=e=>{S(o,e),S(c,e),S(d,e),S(l,e),M(e)};return[()=>e,()=>{return e=o,[...e?.keys()??[]];var e},e=>R(c,e),e=>m(c,e),e=>I(o,e),e=>I(c,e),(e,t)=>S(c,e,t),p,(t,r,o,c,u)=>{p(t,r);const v=E(),y=E(),b=I(d,t),L=I(l,t),x=t=>{const i=n=>e.getCell(r,t,n),o=I(b,t),d=s(r,t)?(l=c(i,t),isNaN(l)||h(l)||!0===l||!1===l||l===n?void 0:1*l):void 0;var l,f,M,p;if(o===d||g(o)&&g(d)&&(M=d,a(f=o)===a(M)&&(p=(e,t)=>M[t]===e,f.every(p)))||S(v,t,[o,d]),!h(u)){const e=I(L,t),n=s(r,t)?u(i,t):void 0;e!=n&&S(y,t,n)}},j=e=>{o((()=>{T(v,(([,e],t)=>S(b,t,e))),T(y,((e,t)=>S(L,t,e)))}),v,y,b,L,e),w(v),w(y)};R(b,x),e.hasTable(r)&&i(e.getRowIds(r),(e=>{m(b,e)||x(e)})),j(!0),M(t),f(t,0,e.addRowListener(r,null,((e,t,n)=>x(n))),e.addTableListener(r,(()=>j())))},y,()=>R(u,y),f,M]})(e,M),[G,H,J]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[r=>(r?e.shift():null)??n+t++,t=>{N.test(t)&&a(e)<1e3&&d(e,t)}]})(),o=E();return[(e,s,i,a=[],c=(()=>[]))=>{t??=K;const d=r(1);return S(o,d,[e,s,i,a,c]),D(k(s,i??[n],A),d),d},(e,r,...s)=>i(((e,t=[n])=>{const r=[],s=(e,n)=>n==a(t)?d(r,e):null===t[n]?T(e,(e=>s(e,n+1))):i([t[n],null],(t=>s(I(e,t),n+1)));return s(e,0),r})(e,r),(e=>T(e,(e=>I(o,e)[0](t,...r??[],...s))))),e=>v(I(o,e),(([,t,r])=>(k(t,r??[n],void 0,(t=>(x(t,e),b(t)?1:0))),S(o,e),s(e),r))),e=>v(I(o,e),(([e,,n=[],r,s])=>{const o=(...c)=>{const d=a(c);d==a(n)?e(t,...c,...s(c)):h(n[d])?i(r[d]?.(...c)??[],(e=>o(...c,e))):o(...c,n[d])};o()}))]})(),K={setMetricDefinition:(e,n,i,a,c,d,l)=>{const u=t(i)==s?[i,c,d,l]:I(z,i)??I(z,"sum");return W(e,n,((t,n,r,s,i,a)=>{const c=F(e),d=y(s);a||=h(c),t();let l=((e,t,n,r,s,i=!1)=>{if(b(n))return;const[o,a,c,d]=s;return i||=h(e),T(r,(([n,r])=>{i||(e=h(n)?a?.(e,r,t++):h(r)?c?.(e,n,t--):d?.(e,r,n,t),i||=h(e))})),i?o(L(n),y(n)):e})(c,d,s,n,u,a);f(l)||(l=void 0),l!=c&&(O(e,l),H(o,[e],l,c))}),(1,t(v=a)==r?e=>e(v):v??(()=>1))),K;var v},delMetricDefinition:e=>($(e),K),getStore:c,getMetricIds:l,forEachMetric:u,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={});
Binary file
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Object.freeze,a="storage",s=globalThis.window,n=(e,n,o)=>((e,r,i,c,d)=>{let u,l,y=0,f=!1;const p=async e=>{2!=y&&(y=1,await e(),y=0)},v={load:async(t,a)=>(await p((async()=>{let s;try{s=await r()}catch{}e.setContent(s??[t,a])})),v),startAutoLoad:async(t,i)=>(v.stopAutoLoad(),await v.load(t,i),f=!0,l=(t=>{const i=t=>{t.storageArea===o&&t.key===n&&(async(t,a)=>{await p((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await r())}catch{}}))})((()=>JSON.parse(t.newValue)))};return s.addEventListener(a,i),i})(),v),stopAutoLoad:()=>{return f&&(e=l,s.removeEventListener(a,e),l=void 0,f=!1),v;var e},save:async t=>(1!=y&&(y=2,await(async e=>{return o.setItem(n,(t=e(),JSON.stringify(t,((e,t)=>{return t instanceof Map?(a=(e,[t,a])=>(e[t]=a,e),s={},[...t].reduce(a,s)):t;var a,s}))));var t})(e.getContent),y=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,t)=>v.save(t))),v),stopAutoSave:()=>{var t,a;return t=u,a=e.delListener,null==t||a(t),v},getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(v)})(e,(async()=>JSON.parse(o.getItem(n))));e.createLocalPersister=(e,t)=>n(e,t,localStorage),e.createSessionPersister=(e,t)=>n(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={});
Binary file
@@ -0,0 +1 @@
1
+ var t,e;t=this,e=function(t,e,a){"use strict";const s="utf8",r=Object.freeze;t.createFilePersister=(t,o)=>((t,n,i,c,u)=>{let d,f,y=0,l=!1;const p=async t=>{2!=y&&(y=1,await t(),y=0)},v={load:async(e,a)=>(await p((async()=>{let s;try{s=await n()}catch{}t.setContent(s??[e,a])})),v),startAutoLoad:async(e,s)=>{return v.stopAutoLoad(),await v.load(e,s),l=!0,r=async(e,a)=>{await p((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await n())}catch{}}))},f=a.watch(o,(()=>r())),v;var r},stopAutoLoad:()=>{return l&&(t=f,t?.close(),f=void 0,l=!1),v;var t},save:async a=>(1!=y&&(y=2,await(async t=>{try{await e.writeFile(o,(a=t(),JSON.stringify(a,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))),s)}catch{}var a})(t.getContent),y=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>v.save(e))),v),stopAutoSave:()=>{var e,a;return e=d,a=t.delListener,null==e||a(e),v},getStore:()=>t,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(v)})(t,(async()=>JSON.parse(await e.readFile(o,s))))},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("fs/promises"),require("fs")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterFile={},t["fs/promises"],t.fs);
Binary file
@@ -0,0 +1 @@
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=Object.freeze,s=t=>t.headers.get("ETag");t.createRemotePersister=(t,n,o,r)=>{let i;return((t,c,d,u,y)=>{let f,l,p=0,v=!1;const h=async t=>{2!=p&&(p=1,await t(),p=0)},w={load:async(e,a)=>(await h((async()=>{let s;try{s=await c()}catch{}t.setContent(s??[e,a])})),w),startAutoLoad:async(a,o)=>{return w.stopAutoLoad(),await w.load(a,o),v=!0,d=async(e,a)=>{await h((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await c())}catch{}}))},l=setInterval((async()=>{const t=await fetch(n,{method:"HEAD"}),a=s(t);e(i)||e(a)||a==i||(i=a,d())}),1e3*r),w;var d},stopAutoLoad:()=>(v&&(clearInterval(l),l=void 0,v=!1),w),save:async e=>(1!=p&&(p=2,await(async t=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s})))});var e})(t.getContent),p=0),w),startAutoSave:async()=>(await w.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>w.save(e))),w),stopAutoSave:()=>{var a,s;return a=f,s=t.delListener,e(a)||s(a),w},getStore:()=>t,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(w)})(t,(async()=>{const t=await fetch(n);return i=s(t),JSON.parse(await t.text())}))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,s=(e,s,o)=>t(e)?o?.():s(e),o=Object.freeze;e.createYjsPersister=(e,a)=>{const n=a.getMap("tinybase/store");return((e,a,r,i,d)=>{let u,c,l,f=0,p=!1;const v={load:async(s,o)=>{if(2!=f){f=1;const a=await(async()=>n.get("json"))();t(a)||""==a?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),f=0}return v},startAutoLoad:async(e,t)=>(v.stopAutoLoad(),await v.load(e,t),p=!0,l=(e=>{const t=()=>e();return n.observe(t),t})(v.load),v),stopAutoLoad:()=>{return p&&(e=l,n.unobserve(e),l=void 0,p=!1),v;var e},save:async()=>(1!=f&&(f=2,await(async e=>{n.set("json",e)})(e.getJson()),f=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),u=e.addTablesListener(v.save),c=e.addValuesListener(v.save),v),stopAutoSave:()=>(s(u,e.delListener),s(c,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(v)})(e)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={});
1
+ var t,e;t=this,e=function(t,e){"use strict";const s=t=>t.length,a=t=>t.shift(),n=t=>null==t,o=(t,e,s)=>n(t)?s?.():e(t),i=Object,r=i.freeze,c=()=>({}),d=(t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(i.entries(t),(([t,s])=>e(s,t))),u=(t,e,s)=>(d(t,e)||(t[e]=s()),t[e]),g=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),y="delete",p=t=>[t.get("t"),t.get("v")],f=(t,s,a,o)=>{const i=n(s)?t:t.get(s)??t.set(s,new e.Map);let r;return l(a,((t,e)=>{o(i,e,t)&&(r=1)})),i.forEach(((t,e)=>{d(a,e)||(i.delete(e),r=1)})),n(s)||i.size||t.delete(s),r};t.createYjsPersister=(t,i,d="tinybase")=>{const v=i.getMap(d);return((t,d,h,S,w)=>{let A,b,j=0,O=!1;const J=async t=>{2!=j&&(j=1,await t(),j=0)},L={load:async(e,s)=>(await J((async()=>{let a;try{a=await d()}catch{}t.setContent(a??[e,s])})),L),startAutoLoad:async(e,n)=>(L.stopAutoLoad(),await L.load(e,n),O=!0,b=(e=>{const n=e=>(async(e,s)=>{await J((async()=>{if(s)t.setTransactionChanges(s());else try{t.setContent(e?.()??await d())}catch{}}))})(void 0,(()=>((t,e)=>{if(1==s(e)&&(n=e[0].path,0==s(n)))return[t.get("t").toJSON(),t.get("v").toJSON()];var n;const[i,r]=p(t),d={},l={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>"t"==a(t)?o(a(t),(s=>{const n=u(d,s,c),r=i.get(s);o(a(t),(t=>{const s=u(n,t,c),a=r.get(t);g(e,((t,{action:e})=>s[t]=e==y?null:a.get(t)))}),(()=>g(e,((t,{action:e})=>n[t]=e==y?null:r.get(t)?.toJSON()))))}),(()=>g(e,((t,{action:e})=>d[t]=e==y?null:i.get(t)?.toJSON())))):g(e,((t,{action:e})=>l[t]=e==y?null:r.get(t)))))})(e),[d,l]})(v,e)));return v.observeDeep(n),n})(),L),stopAutoLoad:()=>{return O&&(t=b,v.unobserveDeep(t),b=void 0,O=!1),L;var t},save:async s=>(1!=j&&(j=2,await(async(t,s)=>i.transact((()=>((t,s,a)=>{(t=>{t.size||(t.set("t",new e.Map),t.set("v",new e.Map))})(t);const[i,r]=p(t),c=()=>{d=1};let d=1;if(o(a?.(),(([t,e])=>{d=0,l(t,((t,e)=>d?0:n(t)?i.delete(e):o(i.get(e),(e=>l(t,((t,s)=>d?0:n(t)?e.delete(s):o(e.get(s),(e=>l(t,((t,s)=>n(t)?e.delete(s):e.set(s,t)))),c)))),c))),l(e,((t,e)=>d?0:n(t)?r.delete(e):r.set(e,t)))})),d){const[t,e]=s();f(i,void 0,t,((t,e,s)=>f(i,e,s,((t,e,s)=>f(t,e,s,((t,e,s)=>{if(t.get(e)!==s)return t.set(e,s),1})))))),f(r,void 0,e,((t,e,s)=>{r.get(e)!==s&&r.set(e,s)}))}})(v,t,s))))(t.getContent,s),j=0),L),startAutoSave:async()=>(await L.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>L.save(e))),L),stopAutoSave:()=>(o(A,t.delListener),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(L)})(t,(async()=>v.size?[v.get("t").toJSON(),v.get("v").toJSON()]:void 0))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterYjs={},t.yjs);
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const s="utf8",a=e=>null==e,o=(e,t,s)=>a(e)?s?.():t(e),r=Object.freeze,n=(e,t,s,n,i)=>{let c,d,l,u=0,y=!1;const f={load:async(s,o)=>{if(2!=u){u=1;const r=await t();a(r)||""==r?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),u=0}return f},startAutoLoad:async(e,t)=>(f.stopAutoLoad(),await f.load(e,t),y=!0,l=n(f.load),f),stopAutoLoad:()=>(y&&(i(l),l=void 0,y=!1),f),save:async()=>(1!=u&&(u=2,await s(e.getJson()),u=0),f),startAutoSave:async()=>(await f.stopAutoSave().save(),c=e.addTablesListener(f.save),d=e.addValuesListener(f.save),f),stopAutoSave:()=>(o(c,e.delListener),o(d,e.delListener),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(f)},i="storage",c=globalThis.window,d=(e,t,s)=>n(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{const a=a=>{a.storageArea===s&&a.key===t&&e()};return c.addEventListener(i,a),a}),(e=>c.removeEventListener(i,e))),l=e=>e.headers.get("ETag");e.createCustomPersister=n,e.createFilePersister=(e,a)=>n(e,(async()=>{try{return await t.promises.readFile(a,s)}catch{}}),(async e=>{try{await t.promises.writeFile(a,e,s)}catch{}}),(e=>t.watch(a,e)),(e=>e?.close())),e.createLocalPersister=(e,t)=>d(e,t,localStorage),e.createRemotePersister=(e,t,s,o)=>{let r;return n(e,(async()=>{const e=await fetch(t);return r=l(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=l(s);a(r)||a(o)||o==r||(r=o,e())}),1e3*o)),(e=>clearInterval(e)))},e.createSessionPersister=(e,t)=>d(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={},e.fs);
1
+ var t,e;t=this,e=function(t){"use strict";const e=Object.freeze;t.createCustomPersister=(t,a,s,o,n)=>{let i,r,c=0,d=!1;const u=async t=>{2!=c&&(c=1,await t(),c=0)},y={load:async(e,s)=>(await u((async()=>{let o;try{o=await a()}catch{}t.setContent(o??[e,s])})),y),startAutoLoad:async(e,s)=>(y.stopAutoLoad(),await y.load(e,s),d=!0,r=o((async(e,s)=>{await u((async()=>{if(s)t.setTransactionChanges(s());else try{t.setContent(e?.()??await a())}catch{}}))})),y),stopAutoLoad:()=>(d&&(n(r),r=void 0,d=!1),y),save:async e=>(1!=c&&(c=2,await s(t.getContent,e),c=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),i=t.addDidFinishTransactionListener(((t,e)=>y.save(e))),y),stopAutoSave:()=>{var e,a;return e=i,a=t.delListener,null==e||a(e),y},getStore:()=>t,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(y)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l=(e,t)=>e.every(t),a=(e,t)=>e.forEach(t),d=e=>f(e,((e,t)=>e+t),0),c=e=>e.length,u=e=>0==c(e),f=(e,t,n)=>e.reduce(t,n),h=(e,...t)=>e.push(...t),g=Math.max,w=Math.min,v=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),L=e=>t(e)==o,p=e=>Array.isArray(e),T=()=>{},b=e=>e.size,m=(e,t)=>e?.has(t)??!1,C=e=>R(e)||0==b(e),I=e=>[...e?.values()??[]],Q=e=>e.clear(),S=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),E=e=>new Map(e),M=(e,t)=>e?.get(t),j=(e,t)=>S(e,((e,n)=>t(n,e))),D=(e,t,n)=>R(n)?(x(e,t),e):e?.set(t,n),F=(e,t,n)=>(m(e,t)||D(e,t,n()),M(e,t)),k=(e,t,n,s,r=0)=>y((n?F:M)(e,t[r],r>c(t)-2?n:E),(o=>{if(r>c(t)-2)return s?.(o)&&D(e,t[r]),o;const i=k(o,t,n,s,r+1);return C(o)&&D(e,t[r]),i})),z=e=>new Set(p(e)||R(e)?e:[e]),A=(e,t)=>e?.add(t),W=E([["avg",[(e,t)=>d(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>g(...e),(e,t)=>g(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:g(t,e)]],["min",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["sum",[e=>d(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),B=Object,O=B.freeze,q=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[d,f,g,w,q,,,G,,H,J,K,N]=((e,t,n)=>{const s=e.hasRow,r=E(),o=E(),i=E(),d=E(),f=E(),h=(t,n,...s)=>{const r=F(f,t,z);return a(s,(t=>A(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(M(f,t),(s=>{a(u(n)?I(s):n,(t=>{e.delListener(t),x(s,t)})),C(s)&&D(f,t)})),w=(e,t)=>{D(r,e,t),m(o,e)||(D(o,e,!0),D(i,e,E()),D(d,e,E()))},v=e=>{D(r,e),D(o,e),D(i,e),D(d,e),g(e)};return[()=>e,()=>[...r?.keys()??[]],e=>j(o,e),e=>m(o,e),e=>M(r,e),e=>M(o,e),(e,t)=>D(o,e,t),w,(t,r,o,u,f)=>{w(t,r);const v=E(),y=E(),L=M(i,t),T=M(d,t),b=t=>{const o=n=>e.getCell(r,t,n),i=M(L,t),a=s(r,t)?n(u(o,t)):void 0;var d,h;if(i===a||p(i)&&p(a)&&(h=a,c(d=i)===c(h)&&l(d,((e,t)=>h[t]===e)))||D(v,t,[i,a]),!R(f)){const e=M(T,t),n=s(r,t)?f(o,t):void 0;e!=n&&D(y,t,n)}},C=e=>{o((()=>{S(v,(([,e],t)=>D(L,t,e))),S(y,((e,t)=>D(T,t,e)))}),v,y,L,T,e),Q(v),Q(y)};j(L,b),e.hasTable(r)&&a(e.getRowIds(r),(e=>{m(L,e)||b(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>C())))},v,()=>j(f,v),h,g]})(e,0,T),P=o(),U=o(),V=E(),X=(e,t,...n)=>a(n,(n=>A(F(F(V,t,E),e,z),n))),Y=e=>{y(M(V,e),(e=>{j(e,((e,t)=>S(t,(t=>e.delListener(t))))),Q(e)})),a([U,P],(t=>t.delTable(e)))},Z=(e,t,n)=>X(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),$={setQueryDefinition:(o,i,d)=>{G(o,i),Y(o);const f=[],g=[[null,[i,null,null,[],E()]]],w=[],p=[],T=[];d({select:(e,t)=>{const n=L(e)?[c(f)+"",e]:[R(t)?e:t,n=>n(e,t)];return h(f,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||L(t)?null:t,r=R(s)?t:n,o=[e,[e,s,L(r)?r:e=>e(r),[],E()]];return h(g,o),{as:e=>o[0]=e}},where:(e,t,n)=>h(w,L(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,L(t)?[t,n,s,r]:M(W,t)??[(e,t)=>t]]];return h(p,o),{as:e=>o[0]=e}},having:(e,t)=>h(T,L(e)?e:n=>n(e)===t)});const Q=E(f);if(C(Q))return $;const B=E(g);j(B,((e,[,t])=>y(M(B,t),(({3:t})=>R(e)?0:h(t,e)))));const O=E(p);let q=P;if(C(O)&&u(T))q=U;else{Z(o,q,U);const e=E();j(O,((t,[n,s])=>A(F(e,n,z),[t,s])));const i=z();j(Q,(t=>m(e,t)?0:A(i,t)));const a=E(),d=(i,a,d,c)=>y(i,(([u,f,h,g])=>{j(a,((o,[i])=>{const l=F(u,o,E),a=M(l,d),f=c?void 0:i;if(a!==f){const i=z([[a,f]]),c=b(l);D(l,d,f),S(M(e,o),(([e,o])=>{const a=((e,t,n,s,r,o=!1)=>{if(C(n))return;const[i,l,a,d]=r;return o||=R(e),S(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?a?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?i(I(n),b(n)):e})(g[e],c,l,i,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&v(e)?o:void 0})(a))?null:a}))}})),C(f)||!l(T,(e=>e((e=>g[e]))))?U.delRow(o,h):R(h)?i[2]=U.addRow(o,g):U.setRow(o,h,g)}));X(q,o,q.addRowListener(o,null,((t,n,s,r)=>{const l=[],c=[],u=E(),f=q.hasRow(o,s);let g=!f;S(i,(e=>{const[t,n,i]=r(o,s,e);h(l,n),h(c,i),g||=t})),j(e,(e=>{const[t,,n]=r(o,s,e);(g||t)&&D(u,e,[n])})),g&&d(k(a,l,void 0,(([,e])=>(x(e,s),C(e)))),u,s,1),f&&d(k(a,c,(()=>{const e={};return S(i,(t=>e[t]=q.getCell(o,s,t))),[E(),z(),void 0,e]}),(([,e])=>{A(e,s)})),u,s)})))}Z(o,e,q);const H=(t,n,s,r)=>{const d=t=>e.getCell(n,s,t);a(r,(n=>{const[s,,r,i,l]=M(B,n),a=r?.(d,t),[c,u]=M(l,t)??[];a!=c&&(R(u)||N(o,u),D(l,t,R(a)?null:[a,...K(o,1,e.addRowListener(s,a,(()=>H(t,s,a,i))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[i,t,n]:n===i?[i,t,s]:[M(B,n)?.[0],M(M(B,n)?.[4],t)?.[0],s]);q.transaction((()=>l(w,(e=>e(n)))?j(Q,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(q,o,t,e,s(n,t)))):q.delRow(o,t)))})(t)},{3:J}=M(B,null);return q.transaction((()=>K(o,1,e.addRowListener(i,null,((t,n,s)=>{e.hasRow(i,s)?H(s,i,s,J):(q.delRow(o,s),S(B,(({4:e})=>y(M(e,s),(([,t])=>{N(o,t),D(e,s)})))))}))))),$},delQueryDefinition:e=>(Y(e),H(e),$),getStore:d,getQueryIds:f,forEachQuery:g,hasQuery:w,getTableId:q,delListener:e=>(U.delListener(e),$),destroy:J,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=U.getListenerStats();return s}};var _,ee;return _={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},ee=([e,t],n)=>{a(e?["get","has","forEach"]:["get"],(e=>$[e+"Result"+n]=(...t)=>U[e+n](...t))),$["addResult"+n+i]=(...e)=>{return U["add"+n+i](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t]($,...s)));var s,r}},((e,t)=>{e.map(t)})(B.entries(_),(([e,t])=>ee(t,e))),O($)})(e)),o.get(e))})();e.createQueries=q},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",a="Result",l="Ids",d="Row",c=d+l,u="Sorted"+d+l,f="Cell",h=f+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),y=e=>e.length,L=e=>0==y(e),R=(e,t,n)=>e.reduce(t,n),p=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,m=isFinite,C=e=>null==e,Q=(e,t,n)=>C(e)?n?.():t(e),S=e=>t(e)==o,x=e=>Array.isArray(e),I=()=>{},E=Object,M=E.freeze,j=e=>e.size,D=(e,t)=>e?.has(t)??!1,F=e=>C(e)||0==j(e),k=e=>[...e?.values()??[]],z=e=>e.clear(),A=(e,t)=>e?.forEach(t),W=(e,t)=>e?.delete(t),B=e=>new Map(e),O=(e,t)=>e?.get(t),q=(e,t)=>A(e,((e,n)=>t(n,e))),G=(e,t,n)=>C(n)?(W(e,t),e):e?.set(t,n),H=(e,t,n)=>(D(e,t)||G(e,t,n()),O(e,t)),J=(e,t,n,s,r=0)=>Q((n?H:O)(e,t[r],r>y(t)-2?n:B),(o=>{if(r>y(t)-2)return s?.(o)&&G(e,t[r]),o;const i=J(o,t,n,s,r+1);return F(o)&&G(e,t[r]),i})),K=e=>new Set(x(e)||C(e)?e:[e]),N=(e,t)=>e?.add(t),P=B([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),U=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[l,w,R,T,b,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=B(),o=B(),i=B(),a=B(),l=B(),d=(t,n,...s)=>{const r=H(l,t,K);return v(s,(t=>N(r,t)&&n&&e.callListener(t))),s},c=(t,...n)=>Q(O(l,t),(s=>{v(L(n)?k(s):n,(t=>{e.delListener(t),W(s,t)})),F(s)&&G(l,t)})),u=(e,t)=>{G(r,e,t),D(o,e)||(G(o,e,!0),G(i,e,B()),G(a,e,B()))},f=e=>{G(r,e),G(o,e),G(i,e),G(a,e),c(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>q(o,e),e=>D(o,e),e=>O(r,e),e=>O(o,e),(e,t)=>G(o,e,t),u,(t,r,o,l,f)=>{u(t,r);const h=B(),w=B(),L=O(i,t),R=O(a,t),p=t=>{const o=n=>e.getCell(r,t,n),i=O(L,t),a=s(r,t)?n(l(o,t)):void 0;var d,c;if(i===a||x(i)&&x(a)&&(c=a,y(d=i)===y(c)&&g(d,((e,t)=>c[t]===e)))||G(h,t,[i,a]),!C(f)){const e=O(R,t),n=s(r,t)?f(o,t):void 0;e!=n&&G(w,t,n)}},T=e=>{o((()=>{A(h,(([,e],t)=>G(L,t,e))),A(w,((e,t)=>G(R,t,e)))}),h,w,L,R,e),z(h),z(w)};q(L,p),e.hasTable(r)&&v(e.getRowIds(r),(e=>{D(L,e)||p(e)})),T(!0),c(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>p(n))),e.addTableListener(r,(()=>T())))},f,()=>q(l,f),d,c]})(e,0,I),$=o(),_=o(),ee=B(),te=(e,t,...n)=>v(n,(n=>N(H(H(ee,t,B),e,K),n))),ne=e=>{Q(O(ee,e),(e=>{q(e,((e,t)=>A(t,(t=>e.delListener(t))))),z(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,i,a)=>{U(o,i),ne(o);const l=[],d=[[null,[i,null,null,[],B()]]],c=[],u=[],f=[];a({select:(e,t)=>{const n=S(e)?[y(l)+"",e]:[C(t)?e:t,n=>n(e,t)];return p(l,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||S(t)?null:t,r=C(s)?t:n,o=[e,[e,s,S(r)?r:e=>e(r),[],B()]];return p(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>p(c,S(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,S(t)?[t,n,s,r]:O(P,t)??[(e,t)=>t]]];return p(u,o),{as:e=>o[0]=e}},having:(e,t)=>p(f,S(e)?e:n=>n(e)===t)});const h=B(l);if(F(h))return re;const w=B(d);q(w,((e,[,t])=>Q(O(w,t),(({3:t})=>C(e)?0:p(t,e)))));const R=B(u);let T=$;if(F(R)&&L(f))T=_;else{se(o,T,_);const e=B();q(R,((t,[n,s])=>N(H(e,n,K),[t,s])));const i=K();q(h,(t=>D(e,t)?0:N(i,t)));const a=B(),l=(i,a,l,d)=>Q(i,(([c,u,h,v])=>{q(a,((o,[i])=>{const a=H(c,o,B),u=O(a,l),f=d?void 0:i;if(u!==f){const i=K([[u,f]]),d=j(a);G(a,l,f),A(O(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(F(n))return;const[i,a,l,d]=r;return o||=C(e),A(s,(([n,s])=>{o||(e=C(n)?a?.(e,s,t++):C(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=C(e))})),o?i(k(n),j(n)):e})(v[e],d,a,i,o);v[e]=C((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&m(e)?o:void 0})(l))?null:l}))}})),F(u)||!g(f,(e=>e((e=>v[e]))))?_.delRow(o,h):C(h)?i[2]=_.addRow(o,v):_.setRow(o,h,v)}));te(T,o,T.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=B(),f=T.hasRow(o,s);let h=!f;A(i,(e=>{const[t,n,i]=r(o,s,e);p(d,n),p(c,i),h||=t})),q(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&G(u,e,[n])})),h&&l(J(a,d,void 0,(([,e])=>(W(e,s),F(e)))),u,s,1),f&&l(J(a,c,(()=>{const e={};return A(i,(t=>e[t]=T.getCell(o,s,t))),[B(),K(),void 0,e]}),(([,e])=>{N(e,s)})),u,s)})))}se(o,e,T);const b=(t,n,s,r)=>{const a=t=>e.getCell(n,s,t);v(r,(n=>{const[s,,r,i,l]=O(w,n),d=r?.(a,t),[c,u]=O(l,t)??[];d!=c&&(C(u)||Z(o,u),G(l,t,C(d)?null:[d,...Y(o,1,e.addRowListener(s,d,(()=>b(t,s,d,i))))]))})),(t=>{const n=(n,s)=>e.getCell(...C(s)?[i,t,n]:n===i?[i,t,s]:[O(w,n)?.[0],O(O(w,n)?.[4],t)?.[0],s]);T.transaction((()=>g(c,(e=>e(n)))?q(h,((e,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(T,o,t,e,s(n,t)))):T.delRow(o,t)))})(t)},{3:x}=O(w,null);return T.transaction((()=>Y(o,1,e.addRowListener(i,null,((t,n,s)=>{e.hasRow(i,s)?b(s,i,s,x):(T.delRow(o,s),A(w,(({4:e})=>Q(O(e,s),(([,t])=>{Z(o,t),G(e,s)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:l,getQueryIds:w,forEachQuery:R,hasQuery:T,getTableId:b,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ie;return oe={Table:[1,1],[c]:[0,1],[u]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},ie=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+a+n]=(...t)=>_[e+n](...t))),re["add"+a+n+i]=(...e)=>{return _["add"+n+i](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(E.entries(oe),(([e,t])=>ie(t,e))),M(re)})(e)),o.get(e))})();e.createQueries=U},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,l=(e,t,n)=>a(e)?n?.():t(e),d=e=>Array.isArray(e),c=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],h=e=>e.clear(),R=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),L=(e,t)=>e?.get(t),w=(e,t)=>R(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(p(e,t),e):e?.set(t,n),I=(e,t,n)=>(c(e,t)||y(e,t,n()),L(e,t)),v=(e,t,n,s,o=0)=>l((n?I:L)(e,t[o],o>r(t)-2?n:g),(i=>{if(o>r(t)-2)return s?.(i)&&y(e,t[o]),i;const a=v(i,t,n,s,o+1);return f(i)&&y(e,t[o]),a})),b=e=>new Set(d(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),m=/^\d+$/,k=Object.freeze,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=g(),x=g(),S=g(),j=g(),[z,A,D,M,B,C,,,O,W,$]=((e,t,s)=>{const i=e.hasRow,v=g(),m=g(),k=g(),E=g(),x=g(),S=(t,n,...s)=>{const r=I(x,t,b);return o(s,(t=>T(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>l(L(x,t),(s=>{o(0==r(n)?u(s):n,(t=>{e.delListener(t),p(s,t)})),f(s)&&y(x,t)})),z=(e,t)=>{y(v,e,t),c(m,e)||(y(m,e,[g(),g(),g(),g()]),y(k,e,g()),y(E,e,g()))},A=e=>{y(v,e),y(m,e),y(k,e),y(E,e),j(e)};return[()=>e,()=>[...v?.keys()??[]],e=>w(m,e),e=>c(m,e),e=>L(v,e),e=>L(m,e),(e,t)=>y(m,e,t),z,(t,s,l,f,u)=>{z(t,s);const p=g(),I=g(),v=L(k,t),b=L(E,t),T=t=>{const o=n=>e.getCell(s,t,n),l=L(v,t),c=i(s,t)?(h=f(o,t),a(h)?void 0:h+n):void 0;var h,R,g,w;if(l===c||d(l)&&d(c)&&(g=c,r(R=l)===r(g)&&(w=(e,t)=>g[t]===e,R.every(w)))||y(p,t,[l,c]),!a(u)){const e=L(b,t),n=i(s,t)?u(o,t):void 0;e!=n&&y(I,t,n)}},m=e=>{l((()=>{R(p,(([,e],t)=>y(v,t,e))),R(I,((e,t)=>y(b,t,e)))}),p,I,v,b,e),h(p),h(I)};w(v,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{c(v,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},A,()=>w(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[s,d]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{m.test(t)&&r(e)<1e3&&i(e,t)}]})(),c=g();return[(e,o,r,i=[],a=(()=>[]))=>{t??=N;const l=s(1);return y(c,l,[e,o,r,i,a]),T(v(o,r??[n],b),l),l},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==r(t)?i(s,e):null===t[n]?R(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(L(e,t),n+1)));return a(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...s??[],...a))))),e=>l(L(c,e),(([,t,s])=>(v(t,s??[n],void 0,(t=>(p(t,e),f(t)?1:0))),y(c,e),d(e),s))),e=>l(L(c,e),(([e,,n=[],s,i])=>{const l=(...d)=>{const c=r(d);c==r(n)?e(t,...d,...i(d)):a(n[c])?o(s[c]?.(...d)??[],(e=>l(...d,e))):l(...d,n[c])};l()}))]})(),H=(e,t,n)=>l(C(e),(([s,,o])=>{if(!c(o,t)){const r=b();if(B(e)!=K(e))T(r,t);else{let e=t;for(;!a(e)&&!c(r,e);)T(r,e),e=L(s,e)}if(n)return r;y(o,t,r)}return L(o,t)})),J=(e,t)=>l(C(e),(([,,e])=>y(e,t))),K=e=>L(E,e),N={setRelationshipDefinition:(e,o,r,i)=>{return y(E,e,r),O(e,o,((t,n)=>{const s=b(),o=b(),r=b(),[i,d]=C(e);R(n,(([t,n],u)=>{a(t)||(T(o,t),l(L(d,t),(e=>{p(e,u),f(e)&&y(d,t)}))),a(n)||(T(o,n),c(d,n)||y(d,n,b()),T(L(d,n),u)),T(s,u),y(i,u,n),w(L(j,e),(t=>{c(H(e,t),u)&&T(r,t)}))})),t(),R(s,(t=>F(x,[e,t]))),R(o,(t=>F(S,[e,t]))),R(r,(t=>{J(e,t),F(j,[e,t])}))}),t(d=i)==s?e=>e(d):d??(()=>n)),N;var d},delRelationshipDefinition:e=>(y(E,e),W(e),N),getStore:z,getRelationshipIds:A,forEachRelationship:t=>D((n=>t(n,(t=>e.forEachRow(B(n),t))))),hasRelationship:M,getLocalTableId:B,getRemoteTableId:K,getRemoteRowId:(e,t)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>u(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(C(e))?[t]:u(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),q(n,j,[e,t])),delListener:e=>(J(...G(e)),N),destroy:$,getListenerStats:()=>({})};return k(N)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,l=(e,t,n)=>a(e)?n?.():t(e),d=e=>Array.isArray(e),c=Object.freeze,f=(e,t)=>e?.has(t)??!1,u=e=>a(e)||0==(e=>e.size)(e),h=e=>[...e?.values()??[]],R=e=>e.clear(),p=(e,t)=>e?.forEach(t),g=(e,t)=>e?.delete(t),L=e=>new Map(e),w=(e,t)=>e?.get(t),y=(e,t)=>p(e,((e,n)=>t(n,e))),v=(e,t,n)=>a(n)?(g(e,t),e):e?.set(t,n),I=(e,t,n)=>(f(e,t)||v(e,t,n()),w(e,t)),b=(e,t,n,s,o=0)=>l((n?I:w)(e,t[o],o>r(t)-2?n:L),(i=>{if(o>r(t)-2)return s?.(i)&&v(e,t[o]),i;const a=b(i,t,n,s,o+1);return u(i)&&v(e,t[o]),a})),T=e=>new Set(d(e)||a(e)?e:[e]),m=(e,t)=>e?.add(t),k=/^\d+$/,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=L(),x=L(),S=L(),j=L(),[z,A,D,M,B,C,,,O,W,$]=((e,t,s)=>{const i=e.hasRow,c=L(),b=L(),k=L(),E=L(),x=L(),S=(t,n,...s)=>{const r=I(x,t,T);return o(s,(t=>m(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>l(w(x,t),(s=>{o(0==r(n)?h(s):n,(t=>{e.delListener(t),g(s,t)})),u(s)&&v(x,t)})),z=(e,t)=>{v(c,e,t),f(b,e)||(v(b,e,[L(),L(),L(),L()]),v(k,e,L()),v(E,e,L()))},A=e=>{v(c,e),v(b,e),v(k,e),v(E,e),j(e)};return[()=>e,()=>{return e=c,[...e?.keys()??[]];var e},e=>y(b,e),e=>f(b,e),e=>w(c,e),e=>w(b,e),(e,t)=>v(b,e,t),z,(t,s,l,c,u)=>{z(t,s);const h=L(),g=L(),I=w(k,t),b=w(E,t),T=t=>{const o=n=>e.getCell(s,t,n),l=w(I,t),f=i(s,t)?(R=c(o,t),a(R)?void 0:R+n):void 0;var R,p,L,y;if(l===f||d(l)&&d(f)&&(L=f,r(p=l)===r(L)&&(y=(e,t)=>L[t]===e,p.every(y)))||v(h,t,[l,f]),!a(u)){const e=w(b,t),n=i(s,t)?u(o,t):void 0;e!=n&&v(g,t,n)}},m=e=>{l((()=>{p(h,(([,e],t)=>v(I,t,e))),p(g,((e,t)=>v(b,t,e)))}),h,g,I,b,e),R(h),R(g)};y(I,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{f(I,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},A,()=>y(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[s,d]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{k.test(t)&&r(e)<1e3&&i(e,t)}]})(),c=L();return[(e,o,r,i=[],a=(()=>[]))=>{t??=N;const l=s(1);return v(c,l,[e,o,r,i,a]),m(b(o,r??[n],T),l),l},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==r(t)?i(s,e):null===t[n]?p(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(w(e,t),n+1)));return a(e,0),s})(e,s),(e=>p(e,(e=>w(c,e)[0](t,...s??[],...a))))),e=>l(w(c,e),(([,t,s])=>(b(t,s??[n],void 0,(t=>(g(t,e),u(t)?1:0))),v(c,e),d(e),s))),e=>l(w(c,e),(([e,,n=[],s,i])=>{const l=(...d)=>{const c=r(d);c==r(n)?e(t,...d,...i(d)):a(n[c])?o(s[c]?.(...d)??[],(e=>l(...d,e))):l(...d,n[c])};l()}))]})(),H=(e,t,n)=>l(C(e),(([s,,o])=>{if(!f(o,t)){const r=T();if(B(e)!=K(e))m(r,t);else{let e=t;for(;!a(e)&&!f(r,e);)m(r,e),e=w(s,e)}if(n)return r;v(o,t,r)}return w(o,t)})),J=(e,t)=>l(C(e),(([,,e])=>v(e,t))),K=e=>w(E,e),N={setRelationshipDefinition:(e,o,r,i)=>{return v(E,e,r),O(e,o,((t,n)=>{const s=T(),o=T(),r=T(),[i,d]=C(e);p(n,(([t,n],c)=>{a(t)||(m(o,t),l(w(d,t),(e=>{g(e,c),u(e)&&v(d,t)}))),a(n)||(m(o,n),f(d,n)||v(d,n,T()),m(w(d,n),c)),m(s,c),v(i,c,n),y(w(j,e),(t=>{f(H(e,t),c)&&m(r,t)}))})),t(),p(s,(t=>F(x,[e,t]))),p(o,(t=>F(S,[e,t]))),p(r,(t=>{J(e,t),F(j,[e,t])}))}),t(d=i)==s?e=>e(d):d??(()=>n)),N;var d},delRelationshipDefinition:e=>(v(E,e),W(e),N),getStore:z,getRelationshipIds:A,forEachRelationship:t=>D((n=>t(n,(t=>e.forEachRow(B(n),t))))),hasRelationship:M,getLocalTableId:B,getRemoteTableId:K,getRemoteRowId:(e,t)=>w(C(e)?.[0],t),getLocalRowIds:(e,t)=>h(w(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(C(e))?[t]:h(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),q(n,j,[e,t])),delListener:e=>(J(...G(e)),N),destroy:$,getListenerStats:()=>({})};return c(N)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
Binary file
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="",n=t(s),l=t(!0),a=t(0),r=t(t),o="type",c="default",i=e=>s+e,u=(e,t)=>e.forEach(t),d=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,s)=>e.slice(t,s),T=(e,...t)=>e.push(...t),g=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),b=JSON.parse,V=isFinite,y=(e,t)=>e instanceof t,S=e=>null==e,p=(e,t,s)=>S(e)?s?.():t(e),v=e=>e==n||e==l,w=e=>t(e)==r,m=(e,t)=>e?.has(t)??!1,I=e=>S(e)||0==(e=>e.size)(e),R=e=>e.clear(),C=(e,t)=>e?.forEach(t),J=(e,t)=>e?.delete(t),L=e=>new Map(e),E=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),x=(e,t)=>C(e,((e,s)=>t(s,e))),z=(e,t,s)=>S(s)?(J(e,t),e):e?.set(t,s),O=(e,t,s)=>(m(e,t)||z(e,t,s()),F(e,t)),j=(e,t,s)=>{const n={},l=t??(e=>e);return C(e,((e,t)=>p(l(e),(e=>s?.(e)?0:n[t]=e)))),n},k=(e,t)=>{const s=L(),n=t??(e=>e);return C(e,((e,t)=>s.set(t,n(e)))),s},A=e=>k(e,k),M=(e,t,s,n,l=0)=>p((s?O:F)(e,t[l],l>f(t)-2?s:L),(a=>{if(l>f(t)-2)return n?.(a)&&z(e,t[l]),a;const r=M(a,t,s,n,l+1);return I(a)&&z(e,t[l]),r})),N=e=>new Set(Array.isArray(e)||S(e)?e:[e]),P=(e,t)=>e?.add(t),B=/^\d+$/,D=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{B.test(t)&&f(e)<1e3&&T(e,t)}]},W=Object,$=W.keys,q=W.isFrozen,G=W.freeze,H=e=>y(e,W)&&e.constructor==W,K=(e,t)=>!S(((e,t)=>p(e,(e=>e[t])))(e,t)),Q=(e,t)=>delete e[t],U=(e,t)=>d(W.entries(e),(([e,s])=>t(s,e))),X=e=>{return H(e)&&(t=$(e),0==f(t));var t},Y=e=>[e,e],Z=()=>[L(),L()],_=e=>{const s=t(e);return v(s)||s==a&&V(e)?s:void 0},ee=(e,t,s,n=z)=>{const l=(a=e=>!K(t,e),E(e).filter(a));var a;return u($(t),(n=>s(e,n,t[n]))),u(l,(t=>n(e,t))),e},te=(e,t,s)=>S(e)||!H(e)||X(e)||q(e)?(s?.(),!1):(U(e,((s,n)=>{t(s,n)||Q(e,n)})),!X(e)),se=(e,t,s)=>z(e,t,F(e,t)==-s?void 0:s),ne=()=>{let e,t,n,l,r=0;const V=L(),y=L(),B=L(),W=L(),$=L(),q=L(),H=L(),le=L(),ae=L(),re=L(),oe=L(),ce=L(),ie=N(),ue=L(),de=L(),fe=L(),he=Z(),Te=Z(),ge=Z(),be=Z(),Ve=Z(),ye=Z(),Se=Z(),pe=Z(),ve=Z(),we=Z(),me=Z(),Ie=Z(),Re=Z(),Ce=Z(),[Je,Le,Ee,Fe]=(e=>{let t;const[n,l]=D(),a=L();return[(e,l,r,o=[],c=(()=>[]))=>{t??=Pt;const i=n(1);return z(a,i,[e,l,r,o,c]),P(M(l,r??[s],N),i),i},(e,n,...l)=>u(((e,t=[s])=>{const n=[],l=(e,s)=>s==f(t)?T(n,e):null===t[s]?C(e,(e=>l(e,s+1))):u([t[s],null],(t=>l(F(e,t),s+1)));return l(e,0),n})(e,n),(e=>C(e,(e=>F(a,e)[0](t,...n??[],...l))))),e=>p(F(a,e),(([,t,n])=>(M(t,n??[s],void 0,(t=>(J(t,e),I(t)?1:0))),z(a,e),l(e),n))),e=>p(F(a,e),(([e,,s=[],n,l])=>{const a=(...r)=>{const o=f(r);o==f(s)?e(t,...r,...l(r)):S(s[o])?u(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),xe=e=>{if(!te(e,((e,t)=>[o,c].includes(t))))return!1;const t=e.type;return!(!v(t)&&t!=a||(_(e.default)!=t&&Q(e,c),0))},ze=(t,s)=>(!e||m(ae,s)||ct(s))&&te(t,((e,t)=>Oe(s,t,e)),(()=>ct(s))),Oe=(e,t,s,n)=>te(n?s:Me(s,e,t),((n,l)=>p(je(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>ct(e,t))),je=(t,s,n,l)=>e?p(F(F(ae,t),n),(e=>_(l)!=e.type?ct(t,s,n,l,e.default):l),(()=>ct(t,s,n,l))):S(_(l))?ct(t,s,n,l):l,ke=(e,t)=>te(t?e:Ne(e),((t,s)=>p(Ae(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>it())),Ae=(e,s)=>t?p(F(oe,e),(t=>_(s)!=t.type?it(e,s,t.default):s),(()=>it(e,s))):S(_(s))?it(e,s):s,Me=(e,t,s)=>(p(F(re,t),(([n,l])=>{C(n,((t,s)=>{K(e,s)||(e[s]=t)})),C(l,(n=>{K(e,n)||ct(t,s,n)}))})),e),Ne=e=>(t&&(C(ce,((t,s)=>{K(e,s)||(e[s]=t)})),C(ie,(t=>{K(e,t)||it(t)}))),e),Pe=e=>ee(ae,e,((e,t,s)=>{const n=L(),l=N();ee(O(ae,t,L),s,((e,t,s)=>{z(e,t,s),p(s.default,(e=>z(n,t,e)),(()=>P(l,t)))})),z(re,t,[n,l])}),((e,t)=>{z(ae,t),z(re,t)})),Be=e=>ee(oe,e,((e,t,s)=>{z(oe,t,s),p(s.default,(e=>z(ce,t,e)),(()=>P(ie,t)))}),((e,t)=>{z(oe,t),z(ce,t),J(ie,t)})),De=e=>X(e)?zt():Jt(e),We=e=>ee(de,e,((e,t,s)=>$e(t,s)),((e,t)=>Ze(t))),$e=(e,t)=>ee(O(de,e,(()=>(st(e,1),L()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>_e(e,t,s))),qe=(e,t,s,n,l)=>ee(O(t,s,(()=>(nt(e,s,1),L()))),n,((t,n,l)=>Ge(e,s,t,n,l)),((n,a)=>et(e,t,s,n,a,l))),Ge=(e,t,s,n,l)=>{m(s,n)||lt(e,t,n,1);const a=F(s,n);l!==a&&(at(e,t,n,a,l),z(s,n,l))},He=(e,t,s,n,l)=>p(F(t,s),(t=>Ge(e,s,t,n,l)),(()=>qe(e,t,s,Me({[n]:l},e,s)))),Ke=e=>X(e)?Ot():Lt(e),Qe=e=>ee(fe,e,((e,t,s)=>Ue(t,s)),((e,t)=>tt(t))),Ue=(e,t)=>{m(fe,e)||rt(e,1);const s=F(fe,e);t!==s&&(ot(e,s,t),z(fe,e,t))},Xe=(e,t)=>{const[s]=O(ue,e,D),n=s(t);return m(F(de,e),n)?Xe(e,t):n},Ye=e=>F(de,e)??$e(e,{}),Ze=e=>$e(e,{}),_e=(e,t,s)=>{const[,n]=O(ue,e,D);n(s),qe(e,t,s,{},!0)},et=(e,t,s,n,l,a)=>{const r=F(F(re,e)?.[0],l);if(!S(r)&&!a)return Ge(e,s,n,l,r);const o=t=>{at(e,s,t,F(n,t)),lt(e,s,t,-1),z(n,t)};S(r)?o(l):x(n,o),I(n)&&(nt(e,s,-1),I(z(t,s))&&(st(e,-1),z(de,e),z(ue,e)))},tt=e=>{const t=F(ce,e);if(!S(t))return Ue(e,t);ot(e,F(fe,e)),rt(e,-1),z(fe,e)},st=(e,t)=>se(V,e,t),nt=(e,t,s)=>se(O(y,e,L),t,s),lt=(e,t,s,n)=>se(O(O(B,e,L),t,L),s,n),at=(e,t,s,n,l)=>O(O(O(W,e,L),t,L),s,(()=>[n,0]))[1]=l,rt=(e,t)=>se($,e,t),ot=(e,t,s)=>O(q,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,l)=>(T(O(O(O(H,e,L),t,L),s,(()=>[])),n),l),it=(e,t,s)=>(T(O(le,e,(()=>[])),t),s),ut=(e,t,s)=>p(F(F(F(W,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(mt(e,t,s))])),dt=e=>p(F(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(Ct(e))])),ft=e=>I(H)||I(ve[e])?0:C(e?k(H,A):H,((t,s)=>C(t,((t,n)=>C(t,((t,l)=>Le(ve[e],[s,n,l],t))))))),ht=e=>I(le)||I(we[e])?0:C(e?k(le):le,((t,s)=>Le(we[e],[s],t))),Tt=(e,t,s)=>{if(!I(t))return Le(e,s),1},gt=e=>{const t=I(Ve[e]),s=I(Se[e])&&I(be[e])&&t&&I(Te[e]),n=I(pe[e])&&I(ye[e])&&I(ge[e])&&I(he[e]);if(!s||!n){const l=e?[k(V),A(y),k(B,A),k(W,A)]:[V,y,B,W];if(!s){C(l[2],((t,s)=>C(t,((t,n)=>Tt(Se[e],t,[s,n])))));const s=N();C(l[1],((n,l)=>{Tt(be[e],n,[l])&&!t&&(Le(Ve[e],[l,null]),P(s,l))})),t||C(l[3],((t,n)=>{if(!m(s,n)){const s=N();C(t,(e=>C(e,(([t,n],l)=>n!==t?P(s,l):J(e,l))))),C(s,(t=>Le(Ve[e],[n,t])))}})),Tt(Te[e],l[0])}if(!n){let t;C(l[3],((s,n)=>{let l;C(s,((s,a)=>{let r;C(s,(([s,o],c)=>{o!==s&&(Le(pe[e],[n,a,c],o,s,ut),t=l=r=1)})),r&&Le(ye[e],[n,a],ut)})),l&&Le(ge[e],[n],ut)})),t&&Le(he[e],void 0,ut)}}},bt=e=>{const t=I(Ie[e]),s=I(Re[e])&&I(me[e]);if(!t||!s){const n=e?[k($),k(q)]:[$,q];if(t||Tt(Ie[e],n[0]),!s){let t;C(n[1],(([s,n],l)=>{n!==s&&(Le(Re[e],[l],n,s,dt),t=1)})),t&&Le(me[e],void 0,dt)}}},Vt=(e,...t)=>(At((()=>e(...d(t,i)))),Pt),yt=()=>j(de,(e=>j(e,j))),St=()=>E(de),pt=e=>E(F(de,i(e))),vt=(e,t,s,n=0,l)=>{return d(h((r=F(de,i(e)),o=(e,s)=>[S(t)?s:F(e,i(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),d([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,S(l)?l:n+l),(([,e])=>e));var a,r,o},wt=(e,t)=>E(F(F(de,i(e)),i(t))),mt=(e,t,s)=>F(F(F(de,i(e)),i(t)),i(s)),It=()=>j(fe),Rt=()=>E(fe),Ct=e=>F(fe,i(e)),Jt=e=>Vt((()=>(e=>te(e,ze,ct))(e)?We(e):0)),Lt=e=>Vt((()=>ke(e)?Qe(e):0)),Et=e=>{try{De(b(e))}catch{}return Pt},Ft=t=>Vt((()=>{if((e=te(t,(e=>te(e,xe))))&&(Pe(t),!I(de))){const e=yt();zt(),Jt(e)}})),xt=e=>Vt((()=>{if(t=(e=>te(e,xe))(e)){const s=It();kt(),Ot(),t=!0,Be(e),Lt(s)}})),zt=()=>Vt((()=>We({}))),Ot=()=>Vt((()=>Qe({}))),jt=()=>Vt((()=>{Pe({}),e=!1})),kt=()=>Vt((()=>{Be({}),t=!1})),At=(e,t)=>{if(-1==r)return;Mt();const s=e();return Nt(t),s},Mt=()=>(r++,Pt),Nt=e=>(r>0&&(r--,0==r&&(n=!I(W),l=!I(q),r=1,ft(1),n&&gt(1),ht(1),l&&bt(1),r=-1,e?.(j(W,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),X)),X),j(H,(e=>j(e,j))),j(q,(e=>[...e]),(([e,t])=>e===t)),j(le))&&(r=1,C(W,((e,t)=>C(e,((e,s)=>C(e,(([e],n)=>((e,t,s,n,l)=>S(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l))(Pt,t,s,n,e))))))),C(q,(([e],t)=>((e,t,s)=>S(s)?e.delValue(t):e.setValue(t,s))(Pt,t,e))),r=-1,n=l=!1),Le(Ce[0],void 0,n,l),ft(0),n&&gt(0),ht(0),l&&bt(0),Le(Ce[1],void 0,n,l),r=0,u([V,y,B,W,H,$,q,le],R))),Pt),Pt={getTables:yt,getTableIds:St,getTable:e=>j(F(de,i(e)),j),getRowIds:pt,getSortedRowIds:vt,getRow:(e,t)=>j(F(F(de,i(e)),i(t))),getCellIds:wt,getCell:mt,getValues:It,getValueIds:Rt,getValue:Ct,hasTables:()=>!I(de),hasTable:e=>m(de,i(e)),hasRow:(e,t)=>m(F(de,i(e)),i(t)),hasCell:(e,t,s)=>m(F(F(de,i(e)),i(t)),i(s)),hasValues:()=>!I(fe),hasValue:e=>m(fe,i(e)),getTablesJson:()=>g(de),getValuesJson:()=>g(fe),getJson:()=>g([de,fe]),getTablesSchemaJson:()=>g(ae),getValuesSchemaJson:()=>g(oe),getSchemaJson:()=>g([ae,oe]),setTables:Jt,setTable:(e,t)=>Vt((e=>ze(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Vt(((e,t)=>Oe(e,t,s)?qe(e,Ye(e),t,s):0),e,t),addRow:(e,t,s=!0)=>At((()=>{let n;return Oe(e,n,t)&&(e=i(e),qe(e,Ye(e),n=Xe(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Vt(((e,t)=>{if(Oe(e,t,s,1)){const n=Ye(e);U(s,((s,l)=>He(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>Vt(((e,t,s)=>p(je(e,t,s,w(n)?n(mt(e,t,s)):n),(n=>He(e,Ye(e),t,s,n)))),e,t,s),setValues:Lt,setPartialValues:e=>Vt((()=>ke(e,1)?U(e,((e,t)=>Ue(t,e))):0)),setValue:(e,t)=>Vt((e=>p(Ae(e,w(t)?t(Ct(e)):t),(t=>Ue(e,t)))),e),setTablesJson:Et,setValuesJson:e=>{try{Ke(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);De(t),Ke(s)}catch{Et(e)}return Pt},setTablesSchema:Ft,setValuesSchema:xt,setSchema:(e,t)=>Vt((()=>{Ft(e),xt(t)})),delTables:zt,delTable:e=>Vt((e=>m(de,e)?Ze(e):0),e),delRow:(e,t)=>Vt(((e,t)=>p(F(de,e),(s=>m(s,t)?_e(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Vt(((e,t,s)=>p(F(de,e),(l=>p(F(l,t),(a=>m(a,s)?et(e,l,t,a,s,n):0))))),e,t,s),delValues:Ot,delValue:e=>Vt((e=>m(fe,e)?tt(e):0),e),delTablesSchema:jt,delValuesSchema:kt,delSchema:()=>Vt((()=>{jt(),kt()})),transaction:At,startTransaction:Mt,finishTransaction:Nt,forEachTable:e=>C(de,((t,s)=>e(s,(e=>C(t,((t,s)=>e(s,(e=>x(t,e))))))))),forEachRow:(e,t)=>C(F(de,i(e)),((e,s)=>t(s,(t=>x(e,t))))),forEachCell:(e,t,s)=>x(F(F(de,i(e)),i(t)),s),forEachValue:e=>x(fe,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=vt(e,t,s,n,l);return Je((()=>{const r=vt(e,t,s,n,l);var c,i,u;i=o,f(c=r)===f(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,a(Pt,e,t,s,n,l,o))}),Ve[r?1:0],[e,t],[St])},addWillFinishTransactionListener:e=>Je(e,Ce[0]),addDidFinishTransactionListener:e=>Je(e,Ce[1]),callListener:e=>(Fe(e),Pt),delListener:e=>(Ee(e),Pt),getListenerStats:()=>({}),createStore:ne};return U({Tables:[0,he],TableIds:[0,Te],Table:[1,ge,[St]],RowIds:[1,be,[St]],Row:[2,ye,[St,pt]],CellIds:[2,Se,[St,pt]],Cell:[3,pe,[St,pt,wt],e=>Y(mt(...e))],InvalidCell:[3,ve],Values:[0,me],ValueIds:[0,Ie],Value:[1,Re,[Rt],e=>Y(Ct(e[0]))],InvalidValue:[1,we]},(([e,t,s,n],l)=>{Pt["add"+l+"Listener"]=(...l)=>Je(l[e],t[l[e+1]?1:0],e>0?h(l,0,e):void 0,s,n)})),G(Pt)};e.createStore=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),l=t(!0),a=t(0),r=t(t),o="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row"+i,g="Cell",T=g+i,V="Value",b=V+"s",v=V+i,S=e=>s+e,y=(e,t)=>e.forEach(t),C=(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),n={},[...t].reduce(s,n)):t;var s,n})),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==n||e==l,z=e=>t(e)==r,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],B=(e,t)=>C(O.entries(e),(([e,s])=>t(s,e))),D=e=>{return M(e)&&(t=j(e),0==w(t));var t},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)=>{const n={};return G(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=K();return G(e,((e,n)=>s.set(n,t?.(e)??e))),s},ne=e=>se(e,se),le=e=>se(e,ne),ae=(e,t,s,n,l=0)=>F((s?Z:U)(e,t[l],l>w(t)-2?s:K),(a=>{if(l>w(t)-2)return n?.(a)&&Y(e,t[l]),a;const r=ae(a,t,s,n,l+1);return $(a)&&Y(e,t[l]),r})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{ce.test(t)&&w(e)<1e3&&I(e,t)}]},de=e=>[e,e],ue=()=>[K(),K()],he=e=>[...e],fe=([e,t])=>e===t,ge=e=>{const s=t(e);return x(s)||s==a&&J(e)?s:void 0},Te=(e,t,s,n,l)=>E(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Ve=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s,n=Y)=>(B(t,((t,n)=>s(e,n,t))),X(e,(s=>N(t,s)?0:n(e,s))),e),ve=(e,t,s)=>E(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,n)=>{t(s,n)||P(e,n)})),!D(e)),Se=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),ye=()=>{let e,t,n,l,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ce=K(),Ce=K(),we=K(),pe=K(),Ie=K(),Re=re(),me=K(),Je=K(),Le=K(),Ee=ue(),Fe=ue(),xe=ue(),ze=ue(),Oe=ue(),je=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),Be=ue(),De=ue(),We=ue(),[$e,qe,Ge,He]=(e=>{let t;const[n,l]=ie(),a=K();return[(e,l,r,o=[],c=(()=>[]))=>{t??=as;const i=n(1);return Y(a,i,[e,l,r,o,c]),oe(ae(l,r??[s],re),i),i},(e,n,...l)=>y(((e,t=[s])=>{const n=[],l=(e,s)=>s==w(t)?I(n,e):null===t[s]?G(e,(e=>l(e,s+1))):y([t[s],null],(t=>l(U(e,t),s+1)));return l(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](t,...n??[],...l))))),e=>F(U(a,e),(([,t,n])=>(ae(t,n??[s],void 0,(t=>(H(t,e),$(t)?1:0))),Y(a,e),l(e),n))),e=>F(U(a,e),(([e,,s=[],n,l])=>{const a=(...r)=>{const o=w(r);o==w(s)?e(t,...r,...l(r)):E(s[o])?y(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),Ke=e=>{if(!ve(e,((e,t)=>[o,c].includes(t))))return!1;const t=e[o];return!(!x(t)&&t!=a||(ge(e[c])!=t&&P(e,c),0))},Qe=(t,s)=>(!e||W(Ce,s)||It(s))&&ve(t,((e,t)=>Ue(s,t,e)),(()=>It(s))),Ue=(e,t,s,n)=>ve(n?s:_e(s,e,t),((n,l)=>F(Xe(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>It(e,t))),Xe=(t,s,n,l)=>e?F(U(U(Ce,t),n),(e=>ge(l)!=e[o]?It(t,s,n,l,e[c]):l),(()=>It(t,s,n,l))):E(ge(l))?It(t,s,n,l):l,Ye=(e,t)=>ve(t?e:et(e),((t,s)=>F(Ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Rt())),Ze=(e,s)=>t?F(U(pe,e),(t=>ge(s)!=t[o]?Rt(e,s,t[c]):s),(()=>Rt(e,s))):E(ge(s))?Rt(e,s):s,_e=(e,t,s)=>(F(U(we,t),(([n,l])=>{G(n,((t,s)=>{N(e,s)||(e[s]=t)})),G(l,(n=>{N(e,n)||It(t,s,n)}))})),e),et=e=>(t&&(G(Ie,((t,s)=>{N(e,s)||(e[s]=t)})),G(Re,(t=>{N(e,t)||Rt(t)}))),e),tt=e=>be(Ce,e,((e,t,s)=>{const n=K(),l=re();be(Z(Ce,t,K),s,((e,t,s)=>{Y(e,t,s),F(s[c],(e=>Y(n,t,e)),(()=>oe(l,t)))})),Y(we,t,[n,l])}),((e,t)=>{Y(Ce,t),Y(we,t)})),st=e=>be(pe,e,((e,t,s)=>{Y(pe,t,s),F(s[c],(e=>Y(Ie,t,e)),(()=>oe(Re,t)))}),((e,t)=>{Y(pe,t),Y(Ie,t),H(Re,t)})),nt=e=>D(e)?Xt():Gt(e),lt=e=>be(Je,e,((e,t,s)=>at(t,s)),((e,t)=>gt(t))),at=(e,t)=>be(Z(Je,e,(()=>(vt(e,1),K()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Tt(e,t,s))),rt=(e,t,s,n,l)=>be(Z(t,s,(()=>(St(e,s,1),K()))),n,((t,n,l)=>ot(e,s,t,n,l)),((n,a)=>Vt(e,t,s,n,a,l))),ot=(e,t,s,n,l)=>{W(s,n)||yt(e,t,n,1);const a=U(s,n);l!==a&&(Ct(e,t,n,a,l),Y(s,n,l))},ct=(e,t,s,n,l)=>F(U(t,s),(t=>ot(e,s,t,n,l)),(()=>rt(e,t,s,_e({[n]:l},e,s)))),it=e=>D(e)?_t():Ht(e),dt=e=>be(Le,e,((e,t,s)=>ut(t,s)),((e,t)=>bt(t))),ut=(e,t)=>{W(Le,e)||wt(e,1);const s=U(Le,e);t!==s&&(pt(e,s,t),Y(Le,e,t))},ht=(e,t)=>{const[s]=Z(me,e,ie),n=s(t);return W(U(Je,e),n)?ht(e,t):n},ft=e=>U(Je,e)??at(e,{}),gt=e=>at(e,{}),Tt=(e,t,s)=>{const[,n]=Z(me,e,ie);n(s),rt(e,t,s,{},!0)},Vt=(e,t,s,n,l,a)=>{const r=U(U(we,e)?.[0],l);if(!E(r)&&!a)return ot(e,s,n,l,r);const o=t=>{Ct(e,s,t,U(n,t)),yt(e,s,t,-1),Y(n,t)};E(r)?o(l):X(n,o),$(n)&&(St(e,s,-1),$(Y(t,s))&&(vt(e,-1),Y(Je,e),Y(me,e)))},bt=e=>{const t=U(Ie,e);if(!E(t))return ut(e,t);pt(e,U(Le,e)),wt(e,-1),Y(Le,e)},vt=(e,t)=>Se(i,e,t),St=(e,t,s)=>Se(Z(J,e,K),t,s),yt=(e,t,s,n)=>Se(Z(Z(L,e,K),t,K),s,n),Ct=(e,t,s,n,l)=>Z(Z(Z(O,e,K),t,K),s,(()=>[n,0]))[1]=l,wt=(e,t)=>Se(j,e,t),pt=(e,t,s)=>Z(k,e,(()=>[t,0]))[1]=s,It=(e,t,s,n,l)=>(I(Z(Z(Z(M,e,K),t,K),s,(()=>[])),n),l),Rt=(e,t,s)=>(I(Z(ce,e,(()=>[])),t),s),mt=(e,t,s)=>F(U(U(U(O,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Dt(e,t,s))])),Jt=e=>F(U(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(qt(e))])),Lt=e=>$(M)||$(Me[e])?0:G(e?le(M):M,((t,s)=>G(t,((t,n)=>G(t,((t,l)=>qe(Me[e],[s,n,l],t))))))),Et=e=>$(ce)||$(Ne[e])?0:G(e?se(ce):ce,((t,s)=>qe(Ne[e],[s],t))),Ft=(e,t,s)=>{if(!$(t))return qe(e,s),1},xt=e=>{const t=$(Oe[e]),s=$(ke[e])&&$(ze[e])&&t&&$(Fe[e]),n=$(Ae[e])&&$(je[e])&&$(xe[e])&&$(Ee[e]);if(!s||!n){const l=e?[se(i),ne(J),le(L),le(O)]:[i,J,L,O];if(!s){G(l[2],((t,s)=>G(t,((t,n)=>Ft(ke[e],t,[s,n])))));const s=re();G(l[1],((n,l)=>{Ft(ze[e],n,[l])&&!t&&(qe(Oe[e],[l,null]),oe(s,l))})),t||G(l[3],((t,n)=>{if(!W(s,n)){const s=re();G(t,(e=>G(e,(([t,n],l)=>n!==t?oe(s,l):H(e,l))))),G(s,(t=>qe(Oe[e],[n,t])))}})),Ft(Fe[e],l[0])}if(!n){let t;G(l[3],((s,n)=>{let l;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(qe(Ae[e],[n,a,c],o,s,mt),t=l=r=1)})),r&&qe(je[e],[n,a],mt)})),l&&qe(xe[e],[n],mt)})),t&&qe(Ee[e],void 0,mt)}}},zt=e=>{const t=$(Be[e]),s=$(De[e])&&$(Pe[e]);if(!t||!s){const n=e?[se(j),se(k)]:[j,k];if(t||Ft(Be[e],n[0]),!s){let t;G(n[1],(([s,n],l)=>{n!==s&&(qe(De[e],[l],n,s,Jt),t=1)})),t&&qe(Pe[e],void 0,Jt)}}},Ot=(e,...t)=>(ss((()=>e(...C(t,S)))),as),jt=()=>[_(O,((e,t)=>-1===U(i,t)?null:_(e,((e,s)=>-1===U(U(J,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),_(k,(([,e])=>e??null),((e,t)=>fe(t)))],kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:te(O,he,fe),invalidCells:te(M),changedValues:_(k,he,fe),invalidValues:_(ce),changedTableIds:_(i),changedRowIds:ee(J),changedCellIds:te(L),changedValueIds:_(j)}),At=()=>te(Je),Mt=()=>Q(Je),Nt=e=>Q(U(Je,S(e))),Pt=(e,t,s,n=0,l)=>{return C(p((r=U(Je,S(e)),o=(e,s)=>[E(t)?s:U(e,S(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),C([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,E(l)?l:n+l),(([,e])=>e));var a,r,o},Bt=(e,t)=>Q(U(U(Je,S(e)),S(t))),Dt=(e,t,s)=>U(U(U(Je,S(e)),S(t)),S(s)),Wt=()=>_(Le),$t=()=>Q(Le),qt=e=>U(Le,S(e)),Gt=e=>Ot((()=>(e=>ve(e,Qe,It))(e)?lt(e):0)),Ht=e=>Ot((()=>Ye(e)?dt(e):0)),Kt=e=>{try{nt(m(e))}catch{}return as},Qt=t=>Ot((()=>{if((e=ve(t,(e=>ve(e,Ke))))&&(tt(t),!$(Je))){const e=At();Xt(),Gt(e)}})),Ut=e=>Ot((()=>{if(t=(e=>ve(e,Ke))(e)){const s=Wt();ts(),_t(),t=!0,st(e),Ht(s)}})),Xt=()=>Ot((()=>lt({}))),Yt=e=>Ot((e=>W(Je,e)?gt(e):0),e),Zt=(e,t)=>Ot(((e,t)=>F(U(Je,e),(s=>W(s,t)?Tt(e,s,t):0))),e,t),_t=()=>Ot((()=>dt({}))),es=()=>Ot((()=>{tt({}),e=!1})),ts=()=>Ot((()=>{st({}),t=!1})),ss=(e,t)=>{if(-1==r)return;ns();const s=e();return ls(t),s},ns=()=>(r++,as),ls=e=>(r>0&&(r--,0==r&&(n=!$(O),l=!$(k),r=1,Lt(1),n&&xt(1),Et(1),l&&zt(1),r=-1,e?.(jt,kt)&&(r=1,G(O,((e,t)=>G(e,((e,s)=>G(e,(([e],n)=>Te(as,t,s,n,e))))))),G(k,(([e],t)=>Ve(as,t,e))),r=-1,n=l=!1),qe(We[0],void 0,jt,kt),Lt(0),n&&xt(0),Et(0),l&&zt(0),qe(We[1],void 0,jt,kt),r=0,y([i,J,L,O,M,j,k,ce],q))),as),as={getContent:()=>[At(),Wt()],getTables:At,getTableIds:Mt,getTable:e=>ee(U(Je,S(e))),getRowIds:Nt,getSortedRowIds:Pt,getRow:(e,t)=>_(U(U(Je,S(e)),S(t))),getCellIds:Bt,getCell:Dt,getValues:Wt,getValueIds:$t,getValue:qt,hasTables:()=>!$(Je),hasTable:e=>W(Je,S(e)),hasRow:(e,t)=>W(U(Je,S(e)),S(t)),hasCell:(e,t,s)=>W(U(U(Je,S(e)),S(t)),S(s)),hasValues:()=>!$(Le),hasValue:e=>W(Le,S(e)),getTablesJson:()=>R(Je),getValuesJson:()=>R(Le),getJson:()=>R([Je,Le]),getTablesSchemaJson:()=>R(Ce),getValuesSchemaJson:()=>R(pe),getSchemaJson:()=>R([Ce,pe]),setContent:([e,t])=>Ot((()=>{Gt(e),Ht(t)})),setTables:Gt,setTable:(e,t)=>Ot((e=>Qe(t,e)?at(e,t):0),e),setRow:(e,t,s)=>Ot(((e,t)=>Ue(e,t,s)?rt(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ss((()=>{let n;return Ue(e,n,t)&&(e=S(e),rt(e,ft(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ot(((e,t)=>{if(Ue(e,t,s,1)){const n=ft(e);B(s,((s,l)=>ct(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>Ot(((e,t,s)=>F(Xe(e,t,s,z(n)?n(Dt(e,t,s)):n),(n=>ct(e,ft(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Ot((()=>Ye(e,1)?B(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Ot((e=>F(Ze(e,z(t)?t(qt(e)):t),(t=>ut(e,t)))),e),setTransactionChanges:e=>Ot((()=>{B(e[0],((e,t)=>E(e)?Yt(t):B(e,((e,s)=>E(e)?Zt(t,s):B(e,((e,n)=>Te(as,t,s,n,e))))))),B(e[1],((e,t)=>Ve(as,t,e)))})),setTablesJson:Kt,setValuesJson:e=>{try{it(m(e))}catch{}return as},setJson:e=>{try{const[t,s]=m(e);nt(t),it(s)}catch{Kt(e)}return as},setTablesSchema:Qt,setValuesSchema:Ut,setSchema:(e,t)=>Ot((()=>{Qt(e),Ut(t)})),delTables:Xt,delTable:Yt,delRow:Zt,delCell:(e,t,s,n)=>Ot(((e,t,s)=>F(U(Je,e),(l=>F(U(l,t),(a=>W(a,s)?Vt(e,l,t,a,s,n):0))))),e,t,s),delValues:_t,delValue:e=>Ot((e=>W(Le,e)?bt(e):0),e),delTablesSchema:es,delValuesSchema:ts,delSchema:()=>Ot((()=>{es(),ts()})),transaction:ss,startTransaction:ns,finishTransaction:ls,forEachTable:e=>G(Je,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachRow:(e,t)=>G(U(Je,S(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(Je,S(e)),S(t)),s),forEachValue:e=>X(Le,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=Pt(e,t,s,n,l);return $e((()=>{const r=Pt(e,t,s,n,l);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(as,e,t,s,n,l,o))}),Oe[r?1:0],[e,t],[Mt])},addWillFinishTransactionListener:e=>$e(e,We[0]),addDidFinishTransactionListener:e=>$e(e,We[1]),callListener:e=>(He(e),as),delListener:e=>(Ge(e),as),getListenerStats:()=>({}),createStore:ye};return B({[u]:[0,Ee],[h]:[0,Fe],[d]:[1,xe,[Mt]],[f]:[1,ze,[Mt]],Row:[2,je,[Mt,Nt]],[T]:[2,ke,[Mt,Nt]],[g]:[3,Ae,[Mt,Nt,Bt],e=>de(Dt(...e))],InvalidCell:[3,Me],[b]:[0,Pe],[v]:[0,Be],[V]:[1,De,[$t],e=>de(qt(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],l)=>{as["add"+l+"Listener"]=(...l)=>$e(l[e],t[l[e+1]?1:0],e>0?p(l,0,e):void 0,s,n)})),A(as)};e.createStore=ye},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="default",c="utf8",d="Listener",u="Result",h="add",f="Table",g="RowIds",L="Cell",w="CellIds",p=e=>n+e,v=(e,t)=>e.includes(t),S=(e,t)=>e.every(t),R=(e,t)=>C(e)===C(t)&&S(e,((e,s)=>t[s]===e)),y=(e,t)=>S(e,((s,n)=>0==n||t(e[n-1],s)<=0)),I=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),m=e=>E(e,((e,t)=>e+t),0),C=e=>e.length,V=e=>0==C(e),E=(e,t,s)=>e.reduce(t,s),k=(e,t,s)=>e.slice(t,s),J=(e,...t)=>e.push(...t),M=e=>e.pop(),x=e=>e.shift(),A=e=>JSON.stringify(e,((e,t)=>j(t,Map)?E([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),D=JSON.parse,F=Math.max,P=Math.min,Q=isFinite,j=(e,t)=>e instanceof t,z=e=>null==e,N=(e,t,s)=>z(e)?s?.():t(e),O=e=>e==o||e==a,W=e=>s(e)==i,B=e=>Array.isArray(e),q=()=>{},H=e=>e.size,$=(e,t)=>e?.has(t)??!1,G=e=>z(e)||0==H(e),K=e=>[...e?.values()??[]],U=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>z(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>($(e,t)||se(e,t,s()),ee(e,t)),oe=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>N(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},re=e=>ae(e,ae),ie=(e,t,s,n,o=0)=>N((s?ne:ee)(e,t[o],o>C(t)-2?s:Z),(a=>{if(o>C(t)-2)return n?.(a)&&se(e,t[o]),a;const r=ie(a,t,s,n,o+1);return G(a)&&se(e,t[o]),r})),le=e=>{const t=s(e);return O(t)||t==r&&Q(e)?t:void 0},ce=(e,t,s,n,o)=>z(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),de=(e,t,s)=>z(s)?e.delValue(t):e.setValue(t,s),ue=e=>new Set(B(e)||z(e)?e:[e]),he=(e,t)=>e?.add(t),fe=(e,t,s)=>{const n=e.hasRow,o=Z(),a=Z(),r=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=ne(l,t,ue);return T(n,(t=>he(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>N(ee(l,t),(n=>{T(V(s)?K(n):s,(t=>{e.delListener(t),Y(n,t)})),G(n)&&se(l,t)})),u=(e,s)=>{se(o,e,s),$(a,e)||(se(a,e,t()),se(r,e,Z()),se(i,e,Z()))},h=e=>{se(o,e),se(a,e),se(r,e),se(i,e),d(e)};return[()=>e,()=>_(o),e=>te(a,e),e=>$(a,e),e=>ee(o,e),e=>ee(a,e),(e,t)=>se(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const f=Z(),g=Z(),L=ee(r,t),w=ee(i,t),p=t=>{const a=s=>e.getCell(o,t,s),r=ee(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||B(r)&&B(i)&&R(r,i)||se(f,t,[r,i]),!z(h)){const e=ee(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&se(g,t,s)}},v=e=>{a((()=>{X(f,(([,e],t)=>se(L,t,e))),X(g,((e,t)=>se(w,t,e)))}),f,g,L,w,e),U(f),U(g)};te(L,p),e.hasTable(o)&&T(e.getRowIds(o),(e=>{$(L,e)||p(e)})),v(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>v())))},h,()=>te(l,h),c,d]},ge=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),Le=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},we=/^\d+$/,pe=()=>{const e=[];let t=0;return[s=>(s?x(e):null)??n+t++,t=>{we.test(t)&&C(e)<1e3&&J(e,t)}]},ve=e=>{let t;const[s,o]=pe(),a=Z();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return se(a,d,[o,r,i,l,c]),he(ie(r,i??[n],ue),d),d},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==C(t)?J(s,e):null===t[n]?X(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(ee(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>ee(a,e)[0](t,...s??[],...o))))),e=>N(ee(a,e),(([,t,s])=>(ie(t,s??[n],void 0,(t=>(Y(t,e),G(t)?1:0))),se(a,e),o(e),s))),e=>N(ee(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=C(r);i==C(s)?e(t,...r,...o(r)):z(s[i])?T(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Se=Object,Re=Se.keys,ye=Se.isFrozen,Ie=Se.freeze,Te=e=>j(e,Se)&&e.constructor==Se,be=(e,t)=>!z(((e,t)=>N(e,(e=>e[t])))(e,t)),me=(e,t)=>delete e[t],Ce=(e,t)=>b(Se.entries(e),(([e,s])=>t(s,e))),Ve=e=>Te(e)&&V(Re(e)),Ee=Le((e=>{let t,s,o,a=100,r=Z(),i=Z(),l=1;const c=Z(),d=Z(),[u,h,f]=ve((()=>W)),g=Z(),L=Z(),w=[],p=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ee(g,s);X(n,((s,n)=>X(s,((s,o)=>X(s,((s,a)=>ce(e,n,o,a,s[t]))))))),X(o,((s,n)=>de(e,n,s[t])))})),l=1},R=e=>{se(g,e),se(L,e),h(d,[e])},y=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??C(e)),R),I=()=>y(w,C(w)-a),b=()=>N(t,(()=>{J(w,t),I(),y(p),t=void 0,o=1})),m=()=>{t=M(w),o=1},E=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){b();const e=ne(r,t,Z),i=ne(e,s,Z),l=ne(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&G(se(i,n))&&G(se(e,s))&&G(se(r,t))&&m(),P()}})),k=e.addValueListener(null,((e,t,s,n)=>{if(l){b();const e=ne(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&G(se(i,t))&&m(),P()}})),A=(e="")=>(z(t)&&(t=n+s++,se(g,t,[r,i]),j(t,e),r=Z(),i=Z(),o=1),t),D=()=>{V(w)||(((e,...t)=>{e.unshift(...t)})(p,A()),S(0,t),t=M(w),o=1)},F=()=>{V(p)||(J(w,t),t=x(p),S(1,t),o=1)},P=()=>{o&&(h(c),o=0)},Q=e=>{const t=A(e);return P(),t},j=(e,t)=>(O(e)&&ee(L,e)!==t&&(se(L,e,t),h(d,[e])),W),O=e=>$(g,e),W={setSize:e=>(a=e,I(),W),addCheckpoint:Q,setCheckpoint:j,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...p]],forEachCheckpoint:e=>te(L,e),hasCheckpoint:O,getCheckpoint:e=>ee(L,e),goBackward:()=>(D(),P(),W),goForward:()=>(F(),P(),W),goTo:e=>{const s=v(w,e)?D:v(p,e)?F:null;for(;!z(s)&&e!=t;)s();return P(),W},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),W),clear:()=>(y(w),y(p),z(t)||R(t),t=void 0,s=0,Q(),W),destroy:()=>{e.delListener(E),e.delListener(k)},getListenerStats:()=>({})};return Ie(W.clear())})),ke=(e,t)=>e<t?-1:1,Je=Le((e=>{const t=Z(),s=Z(),[o,a,r,i,l,c,d,,u,h,f]=fe(e,Z,(e=>z(e)?n:B(e)?b(e,p):p(e))),[g,L,w]=ve((()=>S)),v=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=ke)=>{const l=z(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,f)=>{let g=0;const w=ue(),p=ue(),v=c(e);if(X(o,(([e,t],s)=>{const n=ue(e),o=ue(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{he(w,e),N(ee(v,e),(t=>{Y(t,s),G(t)&&(se(v,e),g=1)}))})),X(o,(e=>{he(w,e),$(v,e)||(se(v,e,ue()),g=1),he(ee(v,e),s),z(a)||he(p,e)}))})),n(),G(h)||(f?te(v,(e=>he(p,e))):te(r,(e=>N(ee(u,e),(e=>he(p,e))))),X(p,(e=>{const t=(t,s)=>i(ee(h,t),ee(h,s),e),s=[...ee(v,e)];y(s,t)||(se(v,e,ue(I(s,t))),he(w,e))}))),(g||f)&&!z(l)){const t=[...v];y(t,l)||(d(e,Z(I(t,l))),g=1)}g&&L(t,[e]),X(w,(t=>L(s,[e,t])))}),ge(o),N(a,ge)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>$(c(e),t),getTableId:l,getSliceIds:e=>_(c(e)),getSliceRowIds:(e,t)=>K(ee(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(w(e),S),destroy:f,getListenerStats:()=>({})};return Ie(S)})),Me=Z([["avg",[(e,t)=>m(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>F(...e),(e,t)=>F(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:F(t,e)]],["min",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),xe=(e,t,s,n,o,a=!1)=>{if(G(s))return;const[r,i,l,c]=o;return a||=z(e),X(n,(([s,n])=>{a||(e=z(s)?i?.(e,n,t++):z(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=z(e))})),a?r(K(s),H(s)):e},Ae=Le((e=>{const t=Z(),[s,o,a,r,i,l,c,,d,u,h]=fe(e,q,(e=>isNaN(e)||z(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=W(n)?[n,a,r,i]:ee(Me,n)??ee(Me,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=H(a);i||=z(d),s();let f=xe(d,h,a,n,u,i);Q(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),ge(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ie(w)})),De=(e,t,s,o,a)=>{let r,i,l,c=0,d=!1;const u={load:async(s,o)=>{if(2!=c){c=1;const a=await t();z(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),c=0}return u},startAutoLoad:async(e,t)=>(u.stopAutoLoad(),await u.load(e,t),d=!0,l=o(u.load),u),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=!1),u),save:async()=>(1!=c&&(c=2,await s(e.getJson()),c=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),r=e.addTablesListener(u.save),i=e.addValuesListener(u.save),u),stopAutoSave:()=>(N(r,e.delListener),N(i,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ie(u)},Fe="storage",Pe=globalThis.window,Qe=(e,t,s)=>De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{const n=n=>{n.storageArea===s&&n.key===t&&e()};return Pe.addEventListener(Fe,n),n}),(e=>Pe.removeEventListener(Fe,e))),je=e=>e.headers.get("ETag"),ze=Le((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,p,v,R]=fe(e,(()=>!0),q),y=t(),I=t(),b=Z(),m=(e,t,...s)=>T(s,(s=>he(ne(ne(b,t,Z),e,ue),s))),E=e=>{N(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),U(e)})),T([I,y],(t=>t.delTable(e)))},M=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),x={setQueryDefinition:(t,s,o)=>{l(t,s),E(t);const a=[],r=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=W(e)?[C(a)+n,e]:[z(t)?e:t,s=>s(e,t)];return J(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=z(s)||W(t)?null:t,o=z(n)?t:s,a=[e,[e,n,W(o)?o:e=>e(o),[],Z()]];return J(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>J(i,W(e)?e:z(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,W(t)?[t,s,n,o]:ee(Me,t)??[(e,t)=>t]]];return J(c,a),{as:e=>a[0]=e}},having:(e,t)=>J(d,W(e)?e:s=>s(e)===t)});const u=Z(a);if(G(u))return x;const h=Z(r);te(h,((e,[,t])=>N(ee(h,t),(({3:t})=>z(e)?0:J(t,e)))));const f=Z(c);let g=y;if(G(f)&&V(d))g=I;else{M(t,g,I);const e=Z();te(f,((t,[s,n])=>he(ne(e,s,ue),[t,n])));const s=ue();te(u,(t=>$(e,t)?0:he(s,t)));const n=Z(),o=(s,n,o,a)=>N(s,(([r,i,l,c])=>{te(n,((t,[s])=>{const n=ne(r,t,Z),i=ee(n,o),l=a?void 0:s;if(i!==l){const s=ue([[i,l]]),a=H(n);se(n,o,l),X(ee(e,t),(([e,t])=>{const o=xe(c[e],a,n,s,t);c[e]=z(le(o))?null:o}))}})),G(i)||!S(d,(e=>e((e=>c[e]))))?I.delRow(t,l):z(l)?s[2]=I.addRow(t,c):I.setRow(t,l,c)}));m(g,t,g.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=Z(),h=g.hasRow(t,i);let f=!h;X(s,(e=>{const[s,n,o]=l(t,i,e);J(c,n),J(d,o),f||=s})),te(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&se(u,e,[n])})),f&&o(ie(n,c,void 0,(([,e])=>(Y(e,i),G(e)))),u,i,1),h&&o(ie(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),ue(),void 0,e]}),(([,e])=>{he(e,i)})),u,i)})))}M(t,e,g);const L=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);T(r,(s=>{const[o,,a,r,i]=ee(h,s),c=a?.(l,n),[d,u]=ee(i,n)??[];c!=d&&(z(u)||R(t,u),se(i,n,z(c)?null:[c,...v(t,1,e.addRowListener(o,c,(()=>L(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...z(o)?[s,n,t]:t===s?[s,n,o]:[ee(h,t)?.[0],ee(ee(h,t)?.[4],n)?.[0],o]);g.transaction((()=>S(i,(e=>e(o)))?te(u,((e,s)=>ce(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:w}=ee(h,null);return g.transaction((()=>v(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?L(a,s,a,w):(g.delRow(t,a),X(h,(({4:e})=>N(ee(e,a),(([,s])=>{R(t,s),se(e,a)})))))}))))),x},delQueryDefinition:e=>(E(e),c(e),x),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(I.delListener(e),x),destroy:p,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=I.getListenerStats();return n}};return Ce({[f]:[1,1],[g]:[0,1],SortedRowIds:[0,5],Row:[1,2],[w]:[0,2],[L]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>x[e+u+s]=(...t)=>I[e+s](...t))),x[h+u+s+d]=(...e)=>I[h+s+d](...k(e,0,t),((s,...n)=>e[t](x,...n)))})),Ie(x)})),Ne=Le((e=>{const t=Z(),s=Z(),o=Z(),a=Z(),[r,i,l,c,d,u,,,h,f,g]=fe(e,(()=>[Z(),Z(),Z(),Z()]),(e=>z(e)?void 0:e+n)),[L,w,p]=ve((()=>y)),v=(e,t,s)=>N(u(e),(([n,,o])=>{if(!$(o,t)){const a=ue();if(d(e)!=R(e))he(a,t);else{let e=t;for(;!z(e)&&!$(a,e);)he(a,e),e=ee(n,e)}if(s)return a;se(o,t,a)}return ee(o,t)})),S=(e,t)=>N(u(e),(([,,e])=>se(e,t))),R=e=>ee(t,e),y={setRelationshipDefinition:(e,n,r,i)=>(se(t,e,r),h(e,n,((t,n)=>{const r=ue(),i=ue(),l=ue(),[c,d]=u(e);X(n,(([t,s],n)=>{z(t)||(he(i,t),N(ee(d,t),(e=>{Y(e,n),G(e)&&se(d,t)}))),z(s)||(he(i,s),$(d,s)||se(d,s,ue()),he(ee(d,s),n)),he(r,n),se(c,n,s),te(ee(a,e),(t=>{$(v(e,t),n)&&he(l,t)}))})),t(),X(r,(t=>w(s,[e,t]))),X(i,(t=>w(o,[e,t]))),X(l,(t=>{S(e,t),w(a,[e,t])}))}),ge(i)),y),delRelationshipDefinition:e=>(se(t,e),f(e),y),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ee(u(e)?.[0],t),getLocalRowIds:(e,t)=>K(ee(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>z(u(e))?[t]:K(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,a,[e,t])),delListener:e=>(S(...p(e)),y),destroy:g,getListenerStats:()=>({})};return Ie(y)})),Oe=e=>[e,e],We=()=>[Z(),Z()],Be=(e,t,s,n=se)=>{const o=(a=e=>!be(t,e),_(e).filter(a));var a;return T(Re(t),(n=>s(e,n,t[n]))),T(o,(t=>n(e,t))),e},qe=(e,t,s)=>z(e)||!Te(e)||Ve(e)||ye(e)?(s?.(),!1):(Ce(e,((s,n)=>{t(s,n)||me(e,n)})),!Ve(e)),He=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),$e=()=>{let e,t,s,n,o=0;const a=Z(),i=Z(),c=Z(),u=Z(),S=Z(),y=Z(),m=Z(),C=Z(),V=Z(),E=Z(),M=Z(),x=Z(),F=ue(),P=Z(),Q=Z(),j=Z(),B=We(),q=We(),H=We(),K=We(),ie=We(),fe=We(),ge=We(),Le=We(),we=We(),Se=We(),Re=We(),ye=We(),Te=We(),Ee=We(),[Je,Me,xe,Ae]=ve((()=>Kt)),De=e=>{if(!qe(e,((e,t)=>v(["type",l],t))))return!1;const t=e.type;return!(!O(t)&&t!=r||(le(e.default)!=t&&me(e,l),0))},Fe=(t,s)=>(!e||$(V,s)||pt(s))&&qe(t,((e,t)=>Pe(s,t,e)),(()=>pt(s))),Pe=(e,t,s,n)=>qe(n?s:Ne(s,e,t),((n,o)=>N(Qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>pt(e,t))),Qe=(t,s,n,o)=>e?N(ee(ee(V,t),n),(e=>le(o)!=e.type?pt(t,s,n,o,e.default):o),(()=>pt(t,s,n,o))):z(le(o))?pt(t,s,n,o):o,je=(e,t)=>qe(t?e:Ge(e),((t,s)=>N(ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>vt())),ze=(e,s)=>t?N(ee(M,e),(t=>le(s)!=t.type?vt(e,s,t.default):s),(()=>vt(e,s))):z(le(s))?vt(e,s):s,Ne=(e,t,s)=>(N(ee(E,t),(([n,o])=>{X(n,((t,s)=>{be(e,s)||(e[s]=t)})),X(o,(n=>{be(e,n)||pt(t,s,n)}))})),e),Ge=e=>(t&&(X(x,((t,s)=>{be(e,s)||(e[s]=t)})),X(F,(t=>{be(e,t)||vt(t)}))),e),Ke=e=>Be(V,e,((e,t,s)=>{const n=Z(),o=ue();Be(ne(V,t,Z),s,((e,t,s)=>{se(e,t,s),N(s.default,(e=>se(n,t,e)),(()=>he(o,t)))})),se(E,t,[n,o])}),((e,t)=>{se(V,t),se(E,t)})),Ue=e=>Be(M,e,((e,t,s)=>{se(M,t,s),N(s.default,(e=>se(x,t,e)),(()=>he(F,t)))}),((e,t)=>{se(M,t),se(x,t),Y(F,t)})),Xe=e=>Ve(e)?Ot():Pt(e),Ye=e=>Be(Q,e,((e,t,s)=>Ze(t,s)),((e,t)=>it(t))),Ze=(e,t)=>Be(ne(Q,e,(()=>(ut(e,1),Z()))),t,((t,s,n)=>_e(e,t,s,n)),((t,s)=>lt(e,t,s))),_e=(e,t,s,n,o)=>Be(ne(t,s,(()=>(ht(e,s,1),Z()))),n,((t,n,o)=>et(e,s,t,n,o)),((n,a)=>ct(e,t,s,n,a,o))),et=(e,t,s,n,o)=>{$(s,n)||ft(e,t,n,1);const a=ee(s,n);o!==a&&(gt(e,t,n,a,o),se(s,n,o))},tt=(e,t,s,n,o)=>N(ee(t,s),(t=>et(e,s,t,n,o)),(()=>_e(e,t,s,Ne({[n]:o},e,s)))),st=e=>Ve(e)?Wt():Qt(e),nt=e=>Be(j,e,((e,t,s)=>ot(t,s)),((e,t)=>dt(t))),ot=(e,t)=>{$(j,e)||Lt(e,1);const s=ee(j,e);t!==s&&(wt(e,s,t),se(j,e,t))},at=(e,t)=>{const[s]=ne(P,e,pe),n=s(t);return $(ee(Q,e),n)?at(e,t):n},rt=e=>ee(Q,e)??Ze(e,{}),it=e=>Ze(e,{}),lt=(e,t,s)=>{const[,n]=ne(P,e,pe);n(s),_e(e,t,s,{},!0)},ct=(e,t,s,n,o,a)=>{const r=ee(ee(E,e)?.[0],o);if(!z(r)&&!a)return et(e,s,n,o,r);const i=t=>{gt(e,s,t,ee(n,t)),ft(e,s,t,-1),se(n,t)};z(r)?i(o):te(n,i),G(n)&&(ht(e,s,-1),G(se(t,s))&&(ut(e,-1),se(Q,e),se(P,e)))},dt=e=>{const t=ee(x,e);if(!z(t))return ot(e,t);wt(e,ee(j,e)),Lt(e,-1),se(j,e)},ut=(e,t)=>He(a,e,t),ht=(e,t,s)=>He(ne(i,e,Z),t,s),ft=(e,t,s,n)=>He(ne(ne(c,e,Z),t,Z),s,n),gt=(e,t,s,n,o)=>ne(ne(ne(u,e,Z),t,Z),s,(()=>[n,0]))[1]=o,Lt=(e,t)=>He(S,e,t),wt=(e,t,s)=>ne(y,e,(()=>[t,0]))[1]=s,pt=(e,t,s,n,o)=>(J(ne(ne(ne(m,e,Z),t,Z),s,(()=>[])),n),o),vt=(e,t,s)=>(J(ne(C,e,(()=>[])),t),s),St=(e,t,s)=>N(ee(ee(ee(u,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(xt(e,t,s))])),Rt=e=>N(ee(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(Ft(e))])),yt=e=>G(m)||G(we[e])?0:X(e?ae(m,re):m,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>Me(we[e],[s,n,o],t))))))),It=e=>G(C)||G(Se[e])?0:X(e?ae(C):C,((t,s)=>Me(Se[e],[s],t))),Tt=(e,t,s)=>{if(!G(t))return Me(e,s),1},bt=e=>{const t=G(ie[e]),s=G(ge[e])&&G(K[e])&&t&&G(q[e]),n=G(Le[e])&&G(fe[e])&&G(H[e])&&G(B[e]);if(!s||!n){const o=e?[ae(a),re(i),ae(c,re),ae(u,re)]:[a,i,c,u];if(!s){X(o[2],((t,s)=>X(t,((t,n)=>Tt(ge[e],t,[s,n])))));const s=ue();X(o[1],((n,o)=>{Tt(K[e],n,[o])&&!t&&(Me(ie[e],[o,null]),he(s,o))})),t||X(o[3],((t,n)=>{if(!$(s,n)){const s=ue();X(t,(e=>X(e,(([t,n],o)=>n!==t?he(s,o):Y(e,o))))),X(s,(t=>Me(ie[e],[n,t])))}})),Tt(q[e],o[0])}if(!n){let t;X(o[3],((s,n)=>{let o;X(s,((s,a)=>{let r;X(s,(([s,i],l)=>{i!==s&&(Me(Le[e],[n,a,l],i,s,St),t=o=r=1)})),r&&Me(fe[e],[n,a],St)})),o&&Me(H[e],[n],St)})),t&&Me(B[e],void 0,St)}}},mt=e=>{const t=G(ye[e]),s=G(Te[e])&&G(Re[e]);if(!t||!s){const n=e?[ae(S),ae(y)]:[S,y];if(t||Tt(ye[e],n[0]),!s){let t;X(n[1],(([s,n],o)=>{n!==s&&(Me(Te[e],[o],n,s,Rt),t=1)})),t&&Me(Re[e],void 0,Rt)}}},Ct=(e,...t)=>(Ht((()=>e(...b(t,p)))),Kt),Vt=()=>oe(Q,(e=>oe(e,oe))),Et=()=>_(Q),kt=e=>_(ee(Q,p(e))),Jt=(e,t,s,n=0,o)=>{return b(k(I((a=ee(Q,p(e)),r=(e,s)=>[z(t)?s:ee(e,p(t)),s],b([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>ke(e,t)*(s?-1:1))),n,z(o)?o:n+o),(([,e])=>e));var a,r},Mt=(e,t)=>_(ee(ee(Q,p(e)),p(t))),xt=(e,t,s)=>ee(ee(ee(Q,p(e)),p(t)),p(s)),At=()=>oe(j),Dt=()=>_(j),Ft=e=>ee(j,p(e)),Pt=e=>Ct((()=>(e=>qe(e,Fe,pt))(e)?Ye(e):0)),Qt=e=>Ct((()=>je(e)?nt(e):0)),jt=e=>{try{Xe(D(e))}catch{}return Kt},zt=t=>Ct((()=>{if((e=qe(t,(e=>qe(e,De))))&&(Ke(t),!G(Q))){const e=Vt();Ot(),Pt(e)}})),Nt=e=>Ct((()=>{if(t=(e=>qe(e,De))(e)){const s=At();qt(),Wt(),t=!0,Ue(e),Qt(s)}})),Ot=()=>Ct((()=>Ye({}))),Wt=()=>Ct((()=>nt({}))),Bt=()=>Ct((()=>{Ke({}),e=!1})),qt=()=>Ct((()=>{Ue({}),t=!1})),Ht=(e,t)=>{if(-1==o)return;$t();const s=e();return Gt(t),s},$t=()=>(o++,Kt),Gt=e=>(o>0&&(o--,0==o&&(s=!G(u),n=!G(y),o=1,yt(1),s&&bt(1),It(1),n&&mt(1),o=-1,e?.(oe(u,(e=>oe(e,(e=>oe(e,(e=>[...e]),(([e,t])=>e===t))),Ve)),Ve),oe(m,(e=>oe(e,oe))),oe(y,(e=>[...e]),(([e,t])=>e===t)),oe(C))&&(o=1,X(u,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>ce(Kt,t,s,n,e))))))),X(y,(([e],t)=>de(Kt,t,e))),o=-1,s=n=!1),Me(Ee[0],void 0,s,n),yt(0),s&&bt(0),It(0),n&&mt(0),Me(Ee[1],void 0,s,n),o=0,T([a,i,c,u,m,S,y,C],U))),Kt),Kt={getTables:Vt,getTableIds:Et,getTable:e=>oe(ee(Q,p(e)),oe),getRowIds:kt,getSortedRowIds:Jt,getRow:(e,t)=>oe(ee(ee(Q,p(e)),p(t))),getCellIds:Mt,getCell:xt,getValues:At,getValueIds:Dt,getValue:Ft,hasTables:()=>!G(Q),hasTable:e=>$(Q,p(e)),hasRow:(e,t)=>$(ee(Q,p(e)),p(t)),hasCell:(e,t,s)=>$(ee(ee(Q,p(e)),p(t)),p(s)),hasValues:()=>!G(j),hasValue:e=>$(j,p(e)),getTablesJson:()=>A(Q),getValuesJson:()=>A(j),getJson:()=>A([Q,j]),getTablesSchemaJson:()=>A(V),getValuesSchemaJson:()=>A(M),getSchemaJson:()=>A([V,M]),setTables:Pt,setTable:(e,t)=>Ct((e=>Fe(t,e)?Ze(e,t):0),e),setRow:(e,t,s)=>Ct(((e,t)=>Pe(e,t,s)?_e(e,rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ht((()=>{let n;return Pe(e,n,t)&&(e=p(e),_e(e,rt(e),n=at(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ct(((e,t)=>{if(Pe(e,t,s,1)){const n=rt(e);Ce(s,((s,o)=>tt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ct(((e,t,s)=>N(Qe(e,t,s,W(n)?n(xt(e,t,s)):n),(n=>tt(e,rt(e),t,s,n)))),e,t,s),setValues:Qt,setPartialValues:e=>Ct((()=>je(e,1)?Ce(e,((e,t)=>ot(t,e))):0)),setValue:(e,t)=>Ct((e=>N(ze(e,W(t)?t(Ft(e)):t),(t=>ot(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{st(D(e))}catch{}return Kt},setJson:e=>{try{const[t,s]=D(e);Xe(t),st(s)}catch{jt(e)}return Kt},setTablesSchema:zt,setValuesSchema:Nt,setSchema:(e,t)=>Ct((()=>{zt(e),Nt(t)})),delTables:Ot,delTable:e=>Ct((e=>$(Q,e)?it(e):0),e),delRow:(e,t)=>Ct(((e,t)=>N(ee(Q,e),(s=>$(s,t)?lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ct(((e,t,s)=>N(ee(Q,e),(o=>N(ee(o,t),(a=>$(a,s)?ct(e,o,t,a,s,n):0))))),e,t,s),delValues:Wt,delValue:e=>Ct((e=>$(j,e)?dt(e):0),e),delTablesSchema:Bt,delValuesSchema:qt,delSchema:()=>Ct((()=>{Bt(),qt()})),transaction:Ht,startTransaction:$t,finishTransaction:Gt,forEachTable:e=>X(Q,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(Q,p(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(Q,p(e)),p(t)),s),forEachValue:e=>te(j,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=Jt(e,t,s,n,o);return Je((()=>{const r=Jt(e,t,s,n,o);R(r,i)||(i=r,a(Kt,e,t,s,n,o,i))}),ie[r?1:0],[e,t],[Et])},addWillFinishTransactionListener:e=>Je(e,Ee[0]),addDidFinishTransactionListener:e=>Je(e,Ee[1]),callListener:e=>(Ae(e),Kt),delListener:e=>(xe(e),Kt),getListenerStats:()=>({}),createStore:$e};return Ce({Tables:[0,B],TableIds:[0,q],[f]:[1,H,[Et]],[g]:[1,K,[Et]],Row:[2,fe,[Et,kt]],[w]:[2,ge,[Et,kt]],[L]:[3,Le,[Et,kt,Mt],e=>Oe(xt(...e))],InvalidCell:[3,we],Values:[0,Re],ValueIds:[0,ye],Value:[1,Te,[Dt],e=>Oe(Ft(e[0]))],InvalidValue:[1,Se]},(([e,t,s,n],o)=>{Kt[h+o+d]=(...o)=>Je(o[e],t[o[e+1]?1:0],e>0?k(o,0,e):void 0,s,n)})),Ie(Kt)};e.createCheckpoints=Ee,e.createCustomPersister=De,e.createFilePersister=(e,s)=>De(e,(async()=>{try{return await t.promises.readFile(s,c)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,c)}catch{}}),(e=>t.watch(s,e)),(e=>e?.close())),e.createIndexes=Je,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=Ae,e.createQueries=ze,e.createRelationships=Ne,e.createRemotePersister=(e,t,s,n)=>{let o;return De(e,(async()=>{const e=await fetch(t);return o=je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=je(s);z(o)||z(n)||n==o||(o=n,e())}),1e3*n)),(e=>clearInterval(e)))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=$e,e.defaultSorter=ke},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),o=t(!0),a=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",v=w+h,R="Sorted"+w+h,S="Cell",I=S+h,T="Value",p=T+"s",y=T+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)),k=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(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,W=Math.max,B=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==o,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)),oe=(e,t)=>delete e[t],ae=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&A(_(e)),ie=e=>e.size,le=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==ie(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),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Re=(e,t,s)=>G(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Re(e,t,s()),we(e,t)),Ie=(e,t,s)=>{const n={};return he(e,((e,o)=>{const a=t?t(e,o):e;!s?.(a,e)&&(n[o]=a)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),re),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),re),ye=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),be=e=>ye(e,Ce),Ve=(e,t,s,n,o=0)=>H((s?Se:we)(e,t[o],o>J(t)-2?s:fe),(a=>{if(o>J(t)-2)return n?.(a)&&Re(e,t[o]),a;const r=Ve(a,t,s,n,o+1);return ce(a)&&Re(e,t[o]),r})),me=e=>{const s=t(e);return K(s)||s==a&&$(e)?s:void 0},ke=(e,t,s,n,o)=>G(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(X(e)||G(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,o=fe(),a=fe(),r=fe(),i=fe(),l=fe(),c=(t,s,...n)=>{const o=Se(l,t,Me);return M(n,(t=>xe(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(l,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Re(l,t)})),u=(e,s)=>{Re(o,e,s),le(a,e)||(Re(a,e,t()),Re(r,e,fe()),Re(i,e,fe()))},h=e=>{Re(o,e),Re(a,e),Re(r,e),Re(i,e),d(e)};return[()=>e,()=>Le(o),e=>ve(a,e),e=>le(a,e),e=>we(o,e),e=>we(a,e),(e,t)=>Re(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=fe(),f=fe(),L=we(r,t),w=we(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=we(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||X(r)&&X(i)&&m(r,i)||Re(g,t,[r,i]),!G(h)){const e=we(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&Re(f,t,s)}},R=e=>{a((()=>{he(g,(([,e],t)=>Re(L,t,e))),he(f,((e,t)=>Re(w,t,e)))}),g,f,L,w,e),ue(g),ue(f)};ve(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{le(L,e)||v(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>R())))},h,()=>ve(l,h),c,d]},Je=(e,o)=>t(e)==n?t=>t(e):e??(()=>o??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Fe.test(t)&&J(e)<1e3&&z(e,t)}]},ze=e=>{let t;const[n,o]=Qe(),a=fe();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Re(a,d,[o,r,i,l,c]),xe(Ve(r,i??[s],Me),d),d},(e,n,...o)=>M(((e,t=[s])=>{const n=[],o=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>o(e,s+1))):M([t[s],null],(t=>o(we(e,t),s+1)));return o(e,0),n})(e,n),(e=>he(e,(e=>we(a,e)[0](t,...n??[],...o))))),e=>H(we(a,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Re(a,e),o(e),n))),e=>H(we(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=J(r);i==J(s)?e(t,...r,...o(r)):G(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ne=Ae((e=>{let t,n,o,a=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=ze((()=>O)),f=fe(),L=fe(),w=[],v=[],R=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=we(f,s);he(n,((s,n)=>he(s,((s,o)=>he(s,((s,a)=>ke(e,n,o,a,s[t]))))))),he(o,((s,n)=>Ee(e,n,s[t])))})),l=1},S=e=>{Re(f,e),Re(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),S),T=()=>I(w,J(w)-a),p=()=>H(t,(()=>{z(w,t),T(),I(v),t=void 0,o=1})),y=()=>{t=N(w),o=1},C=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){p();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&ce(Re(i,n))&&ce(Re(e,s))&&ce(Re(r,t))&&y(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(l){p();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Re(i,t))&&y(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,Re(f,t,[r,i]),F(t,e),r=fe(),i=fe(),o=1),t),k=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),R(0,t),t=N(w),o=1)},E=()=>{A(v)||(z(w,t),t=j(v),R(1,t),o=1)},x=()=>{o&&(h(c),o=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(Re(L,e,t),h(d,[e])),O),Q=e=>le(f,e),O={setSize:e=>(a=e,T(),O),addCheckpoint:D,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:Q,getCheckpoint:e=>we(L,e),goBackward:()=>(k(),x(),O),goForward:()=>(E(),x(),O),goTo:e=>{const s=b(w,e)?k:b(v,e)?E: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:()=>(I(w),I(v),G(t)||S(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),je=(e,t)=>e<t?-1:1,Oe=Ae((e=>{const t=fe(),n=fe(),[o,a,r,i,l,c,d,,u,h,g]=De(e,fe,(e=>G(e)?s:X(e)?x(e,C):C(e))),[f,L,w]=ze((()=>R)),v=(t,s,n)=>{const o=l(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},R={setIndexDefinition:(e,s,o,a,r,i=je)=>{const l=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,o,r,u,h,g)=>{let f=0;const w=Me(),v=Me(),R=c(e);if(he(o,(([e,t],s)=>{const n=Me(e),o=Me(t);he(n,(e=>ge(o,e)?ge(n,e):0)),he(n,(e=>{xe(w,e),H(we(R,e),(t=>{ge(t,s),ce(t)&&(Re(R,e),f=1)}))})),he(o,(e=>{xe(w,e),le(R,e)||(Re(R,e,Me()),f=1),xe(we(R,e),s),G(a)||xe(v,e)}))})),s(),ce(h)||(g?ve(R,(e=>xe(v,e))):ve(r,(e=>H(we(u,e),(e=>xe(v,e))))),he(v,(e=>{const t=(t,s)=>i(we(h,t),we(h,s),e),s=[...we(R,e)];k(s,t)||(Re(R,e,Me(E(s,t))),xe(w,e))}))),(f||g)&&!G(l)){const t=[...R];k(t,l)||(d(e,fe(E(t,l))),f=1)}f&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Je(o),H(a,Je)),R},delIndexDefinition:e=>(h(e),R),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>le(c(e),t),getTableId:l,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),R),destroy:g,getListenerStats:()=>({})};return te(R)})),Pe=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=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["min",[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)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,o,a=!1)=>{if(ce(s))return;const[r,i,l,c]=o;return a||=G(e),he(n,(([s,n])=>{a||(e=G(s)?i?.(e,n,t++):G(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=G(e))})),a?r(de(s),ie(s)):e},Be=Ae((e=>{const t=fe(),[n,o,a,r,i,l,c,,d,u,h]=De(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=U(n)?[n,a,r,i]:we(Pe,n)??we(Pe,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ie(a);i||=G(d),s();let g=We(d,h,a,n,u,i);$(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Je(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return te(w)})),$e=Ae((e=>{const t=e.createStore,[n,o,a,r,i,,,l,,h,f,L,T]=De(e,(()=>!0),Y),p=t(),y=t(),C=fe(),b=(e,t,...s)=>M(s,(s=>xe(Se(Se(C,t,fe),e,Me),s))),m=e=>{H(we(C,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([y,p],(t=>t.delTable(e)))},k=(e,t,s)=>b(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,o)=>{l(t,n),m(t);const a=[],r=[[null,[n,null,null,[],fe()]]],i=[],c=[],d=[];o({select:(e,t)=>{const n=U(e)?[J(a)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,o=G(n)?t:s,a=[e,[e,n,U(o)?o:e=>e(o),[],fe()]];return z(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>z(i,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,U(t)?[t,s,n,o]:we(Pe,t)??[(e,t)=>t]]];return z(c,a),{as:e=>a[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=fe(a);if(ce(u))return E;const h=fe(r);ve(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=fe(c);let f=p;if(ce(g)&&A(d))f=y;else{k(t,f,y);const e=fe();ve(g,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();ve(u,(t=>le(e,t)?0:xe(s,t)));const n=fe(),o=(s,n,o,a)=>H(s,(([r,i,l,c])=>{ve(n,((t,[s])=>{const n=Se(r,t,fe),i=we(n,o),l=a?void 0:s;if(i!==l){const s=Me([[i,l]]),a=ie(n);Re(n,o,l),he(we(e,t),(([e,t])=>{const o=We(c[e],a,n,s,t);c[e]=G(me(o))?null:o}))}})),ce(i)||!V(d,(e=>e((e=>c[e]))))?y.delRow(t,l):G(l)?s[2]=y.addRow(t,c):y.setRow(t,l,c)}));b(f,t,f.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=f.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Re(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=f.getCell(t,i,s))),[fe(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}k(t,e,f);const w=(s,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(n=>{const[o,,a,r,i]=we(h,n),c=a?.(l,s),[d,u]=we(i,s)??[];c!=d&&(G(u)||T(t,u),Re(i,s,G(c)?null:[c,...L(t,1,e.addRowListener(o,c,(()=>w(s,o,c,r))))]))})),(s=>{const o=(t,o)=>e.getCell(...G(o)?[n,s,t]:t===n?[n,s,o]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],o]);f.transaction((()=>V(i,(e=>e(o)))?ve(u,((e,n)=>ke(f,t,s,e,n(o,s)))):f.delRow(t,s)))})(s)},{3:v}=we(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,o,a)=>{e.hasRow(n,a)?w(a,n,a,v):(f.delRow(t,a),he(h,(({4:e})=>H(we(e,a),(([,s])=>{T(t,s),Re(e,a)})))))}))))),E},delQueryDefinition:e=>(m(e),h(e),E),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(y.delListener(e),E),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return ae({[g]:[1,1],[v]:[0,1],[R]:[0,5],[w]:[1,2],[I]:[0,2],[S]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>y[e+s](...t))),E[u+d+s+c]=(...e)=>y[u+s+c](...Q(e,0,t),((s,...n)=>e[t](E,...n)))})),te(E)})),qe=Ae((e=>{const t=fe(),n=fe(),o=fe(),a=fe(),[r,i,l,c,d,u,,,h,g,f]=De(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+s)),[L,w,v]=ze((()=>T)),R=(e,t,s)=>H(u(e),(([n,,o])=>{if(!le(o,t)){const a=Me();if(d(e)!=I(e))xe(a,t);else{let e=t;for(;!G(e)&&!le(a,e);)xe(a,e),e=we(n,e)}if(s)return a;Re(o,t,a)}return we(o,t)})),S=(e,t)=>H(u(e),(([,,e])=>Re(e,t))),I=e=>we(t,e),T={setRelationshipDefinition:(e,s,r,i)=>(Re(t,e,r),h(e,s,((t,s)=>{const r=Me(),i=Me(),l=Me(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(xe(i,t),H(we(d,t),(e=>{ge(e,n),ce(e)&&Re(d,t)}))),G(s)||(xe(i,s),le(d,s)||Re(d,s,Me()),xe(we(d,s),n)),xe(r,n),Re(c,n,s),ve(we(a,e),(t=>{le(R(e,t),n)&&xe(l,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(i,(t=>w(o,[e,t]))),he(l,(t=>{S(e,t),w(a,[e,t])}))}),Je(i)),T),delRelationshipDefinition:e=>(Re(t,e),g(e),T),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,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(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),L(s,a,[e,t])),delListener:e=>(S(...v(e)),T),destroy:f,getListenerStats:()=>({})};return te(T)})),Ge=e=>[e,e],He=()=>[fe(),fe()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s,n=Re)=>(ae(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||oe(e,n)})),!re(e)),Ze=(e,t,s)=>Re(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s,n,o=0;const r=fe(),d=fe(),h=fe(),R=fe(),V=fe(),k=fe(),D=fe(),J=fe(),A=fe(),F=fe(),N=fe(),j=fe(),W=Me(),B=fe(),$=fe(),q=fe(),X=He(),Y=He(),Z=He(),_=He(),ee=He(),se=He(),ie=He(),de=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),[Oe,Pe,We,Be]=ze((()=>ds)),$e=e=>{if(!Ye(e,((e,t)=>b([i,l],t))))return!1;const t=e[i];return!(!K(t)&&t!=a||(me(e[l])!=t&&oe(e,l),0))},qe=(t,s)=>(!e||le(A,s)||Et(s))&&Ye(t,((e,t)=>et(s,t,e)),(()=>Et(s))),et=(e,t,s,n)=>Ye(n?s:ot(s,e,t),((n,o)=>H(tt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Et(e,t))),tt=(t,s,n,o)=>e?H(we(we(A,t),n),(e=>me(o)!=e[i]?Et(t,s,n,o,e[l]):o),(()=>Et(t,s,n,o))):G(me(o))?Et(t,s,n,o):o,st=(e,t)=>Ye(t?e:at(e),((t,s)=>H(nt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Mt())),nt=(e,s)=>t?H(we(N,e),(t=>me(s)!=t[i]?Mt(e,s,t[l]):s),(()=>Mt(e,s))):G(me(s))?Mt(e,s):s,ot=(e,t,s)=>(H(we(F,t),(([n,o])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(o,(n=>{ne(e,n)||Et(t,s,n)}))})),e),at=e=>(t&&(he(j,((t,s)=>{ne(e,s)||(e[s]=t)})),he(W,(t=>{ne(e,t)||Mt(t)}))),e),rt=e=>Xe(A,e,((e,t,s)=>{const n=fe(),o=Me();Xe(Se(A,t,fe),s,((e,t,s)=>{Re(e,t,s),H(s[l],(e=>Re(n,t,e)),(()=>xe(o,t)))})),Re(F,t,[n,o])}),((e,t)=>{Re(A,t),Re(F,t)})),it=e=>Xe(N,e,((e,t,s)=>{Re(N,t,s),H(s[l],(e=>Re(j,t,e)),(()=>xe(W,t)))}),((e,t)=>{Re(N,t),Re(j,t),ge(W,t)})),lt=e=>re(e)?ts():Xt(e),ct=e=>Xe($,e,((e,t,s)=>dt(t,s)),((e,t)=>St(t))),dt=(e,t)=>Xe(Se($,e,(()=>(yt(e,1),fe()))),t,((t,s,n)=>ut(e,t,s,n)),((t,s)=>It(e,t,s))),ut=(e,t,s,n,o)=>Xe(Se(t,s,(()=>(Ct(e,s,1),fe()))),n,((t,n,o)=>ht(e,s,t,n,o)),((n,a)=>Tt(e,t,s,n,a,o))),ht=(e,t,s,n,o)=>{le(s,n)||bt(e,t,n,1);const a=we(s,n);o!==a&&(Vt(e,t,n,a,o),Re(s,n,o))},gt=(e,t,s,n,o)=>H(we(t,s),(t=>ht(e,s,t,n,o)),(()=>ut(e,t,s,ot({[n]:o},e,s)))),ft=e=>re(e)?os():Yt(e),Lt=e=>Xe(q,e,((e,t,s)=>wt(t,s)),((e,t)=>pt(t))),wt=(e,t)=>{le(q,e)||mt(e,1);const s=we(q,e);t!==s&&(kt(e,s,t),Re(q,e,t))},vt=(e,t)=>{const[s]=Se(B,e,Qe),n=s(t);return le(we($,e),n)?vt(e,t):n},Rt=e=>we($,e)??dt(e,{}),St=e=>dt(e,{}),It=(e,t,s)=>{const[,n]=Se(B,e,Qe);n(s),ut(e,t,s,{},!0)},Tt=(e,t,s,n,o,a)=>{const r=we(we(F,e)?.[0],o);if(!G(r)&&!a)return ht(e,s,n,o,r);const i=t=>{Vt(e,s,t,we(n,t)),bt(e,s,t,-1),Re(n,t)};G(r)?i(o):ve(n,i),ce(n)&&(Ct(e,s,-1),ce(Re(t,s))&&(yt(e,-1),Re($,e),Re(B,e)))},pt=e=>{const t=we(j,e);if(!G(t))return wt(e,t);kt(e,we(q,e)),mt(e,-1),Re(q,e)},yt=(e,t)=>Ze(r,e,t),Ct=(e,t,s)=>Ze(Se(d,e,fe),t,s),bt=(e,t,s,n)=>Ze(Se(Se(h,e,fe),t,fe),s,n),Vt=(e,t,s,n,o)=>Se(Se(Se(R,e,fe),t,fe),s,(()=>[n,0]))[1]=o,mt=(e,t)=>Ze(V,e,t),kt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,Et=(e,t,s,n,o)=>(z(Se(Se(Se(D,e,fe),t,fe),s,(()=>[])),n),o),Mt=(e,t,s)=>(z(Se(J,e,(()=>[])),t),s),xt=(e,t,s)=>H(we(we(we(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Gt(e,t,s))])),Dt=e=>H(we(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Ut(e))])),Jt=e=>ce(D)||ce(Ve[e])?0:he(e?be(D):D,((t,s)=>he(t,((t,n)=>he(t,((t,o)=>Pe(Ve[e],[s,n,o],t))))))),At=e=>ce(J)||ce(De[e])?0:he(e?ye(J):J,((t,s)=>Pe(De[e],[s],t))),Ft=(e,t,s)=>{if(!ce(t))return Pe(e,s),1},Qt=e=>{const t=ce(ee[e]),s=ce(ie[e])&&ce(_[e])&&t&&ce(Y[e]),n=ce(de[e])&&ce(se[e])&&ce(Z[e])&&ce(X[e]);if(!s||!n){const o=e?[ye(r),Ce(d),be(h),be(R)]:[r,d,h,R];if(!s){he(o[2],((t,s)=>he(t,((t,n)=>Ft(ie[e],t,[s,n])))));const s=Me();he(o[1],((n,o)=>{Ft(_[e],n,[o])&&!t&&(Pe(ee[e],[o,null]),xe(s,o))})),t||he(o[3],((t,n)=>{if(!le(s,n)){const s=Me();he(t,(e=>he(e,(([t,n],o)=>n!==t?xe(s,o):ge(e,o))))),he(s,(t=>Pe(ee[e],[n,t])))}})),Ft(Y[e],o[0])}if(!n){let t;he(o[3],((s,n)=>{let o;he(s,((s,a)=>{let r;he(s,(([s,i],l)=>{i!==s&&(Pe(de[e],[n,a,l],i,s,xt),t=o=r=1)})),r&&Pe(se[e],[n,a],xt)})),o&&Pe(Z[e],[n],xt)})),t&&Pe(X[e],void 0,xt)}}},zt=e=>{const t=ce(Ae[e]),s=ce(Fe[e])&&ce(Je[e]);if(!t||!s){const n=e?[ye(V),ye(k)]:[V,k];if(t||Ft(Ae[e],n[0]),!s){let t;he(n[1],(([s,n],o)=>{n!==s&&(Pe(Fe[e],[o],n,s,Dt),t=1)})),t&&Pe(Je[e],void 0,Dt)}}},Nt=(e,...t)=>(is((()=>e(...x(t,C)))),ds),jt=()=>[Ie(R,((e,t)=>-1===we(r,t)?null:Ie(e,((e,s)=>-1===we(we(d,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),re)),re),Ie(k,(([,e])=>e??null),((e,t)=>Ue(t)))],Ot=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(R,Ke,Ue),invalidCells:pe(D),changedValues:Ie(k,Ke,Ue),invalidValues:Ie(J),changedTableIds:Ie(r),changedRowIds:Te(d),changedCellIds:pe(h),changedValueIds:Ie(V)}),Pt=()=>pe($),Wt=()=>Le($),Bt=e=>Le(we($,C(e))),$t=(e,t,s,n=0,o)=>{return x(Q(E((a=we($,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,G(o)?o:n+o),(([,e])=>e));var a,r},qt=(e,t)=>Le(we(we($,C(e)),C(t))),Gt=(e,t,s)=>we(we(we($,C(e)),C(t)),C(s)),Ht=()=>Ie(q),Kt=()=>Le(q),Ut=e=>we(q,C(e)),Xt=e=>Nt((()=>(e=>Ye(e,qe,Et))(e)?ct(e):0)),Yt=e=>Nt((()=>st(e)?Lt(e):0)),Zt=e=>{try{lt(P(e))}catch{}return ds},_t=t=>Nt((()=>{if((e=Ye(t,(e=>Ye(e,$e))))&&(rt(t),!ce($))){const e=Pt();ts(),Xt(e)}})),es=e=>Nt((()=>{if(t=(e=>Ye(e,$e))(e)){const s=Ht();rs(),os(),t=!0,it(e),Yt(s)}})),ts=()=>Nt((()=>ct({}))),ss=e=>Nt((e=>le($,e)?St(e):0),e),ns=(e,t)=>Nt(((e,t)=>H(we($,e),(s=>le(s,t)?It(e,s,t):0))),e,t),os=()=>Nt((()=>Lt({}))),as=()=>Nt((()=>{rt({}),e=!1})),rs=()=>Nt((()=>{it({}),t=!1})),is=(e,t)=>{if(-1==o)return;ls();const s=e();return cs(t),s},ls=()=>(o++,ds),cs=e=>(o>0&&(o--,0==o&&(s=!ce(R),n=!ce(k),o=1,Jt(1),s&&Qt(1),At(1),n&&zt(1),o=-1,e?.(jt,Ot)&&(o=1,he(R,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(ds,t,s,n,e))))))),he(k,(([e],t)=>Ee(ds,t,e))),o=-1,s=n=!1),Pe(Ne[0],void 0,jt,Ot),Jt(0),s&&Qt(0),At(0),n&&zt(0),Pe(Ne[1],void 0,jt,Ot),o=0,M([r,d,h,R,D,V,k,J],ue))),ds),ds={getContent:()=>[Pt(),Ht()],getTables:Pt,getTableIds:Wt,getTable:e=>Te(we($,C(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Ie(we(we($,C(e)),C(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ce($),hasTable:e=>le($,C(e)),hasRow:(e,t)=>le(we($,C(e)),C(t)),hasCell:(e,t,s)=>le(we(we($,C(e)),C(t)),C(s)),hasValues:()=>!ce(q),hasValue:e=>le(q,C(e)),getTablesJson:()=>O($),getValuesJson:()=>O(q),getJson:()=>O([$,q]),getTablesSchemaJson:()=>O(A),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([A,N]),setContent:([e,t])=>Nt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>Nt((e=>qe(t,e)?dt(e,t):0),e),setRow:(e,t,s)=>Nt(((e,t)=>et(e,t,s)?ut(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>is((()=>{let n;return et(e,n,t)&&(e=C(e),ut(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Nt(((e,t)=>{if(et(e,t,s,1)){const n=Rt(e);ae(s,((s,o)=>gt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Nt(((e,t,s)=>H(tt(e,t,s,U(n)?n(Gt(e,t,s)):n),(n=>gt(e,Rt(e),t,s,n)))),e,t,s),setValues:Yt,setPartialValues:e=>Nt((()=>st(e,1)?ae(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Nt((e=>H(nt(e,U(t)?t(Ut(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Nt((()=>{ae(e[0],((e,t)=>G(e)?ss(t):ae(e,((e,s)=>G(e)?ns(t,s):ae(e,((e,n)=>ke(ds,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(ds,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{ft(P(e))}catch{}return ds},setJson:e=>{try{const[t,s]=P(e);lt(t),ft(s)}catch{Zt(e)}return ds},setTablesSchema:_t,setValuesSchema:es,setSchema:(e,t)=>Nt((()=>{_t(e),es(t)})),delTables:ts,delTable:ss,delRow:ns,delCell:(e,t,s,n)=>Nt(((e,t,s)=>H(we($,e),(o=>H(we(o,t),(a=>le(a,s)?Tt(e,o,t,a,s,n):0))))),e,t,s),delValues:os,delValue:e=>Nt((e=>le(q,e)?pt(e):0),e),delTablesSchema:as,delValuesSchema:rs,delSchema:()=>Nt((()=>{as(),rs()})),transaction:is,startTransaction:ls,finishTransaction:cs,forEachTable:e=>he($,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachRow:(e,t)=>he(we($,C(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we($,C(e)),C(t)),s),forEachValue:e=>ve(q,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=$t(e,t,s,n,o);return Oe((()=>{const r=$t(e,t,s,n,o);m(r,i)||(i=r,a(ds,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Wt])},addWillFinishTransactionListener:e=>Oe(e,Ne[0]),addDidFinishTransactionListener:e=>Oe(e,Ne[1]),callListener:e=>(Be(e),ds),delListener:e=>(We(e),ds),getListenerStats:()=>({}),createStore:_e};return ae({[f]:[0,X],[L]:[0,Y],[g]:[1,Z,[Wt]],[v]:[1,_,[Wt]],[w]:[2,se,[Wt,Bt]],[I]:[2,ie,[Wt,Bt]],[S]:[3,de,[Wt,Bt,qt],e=>Ge(Gt(...e))],InvalidCell:[3,Ve],[p]:[0,Je],[y]:[0,Ae],[T]:[1,Fe,[Kt],e=>Ge(Ut(e[0]))],InvalidValue:[1,De]},(([e,t,s,n],o)=>{ds[u+o+c]=(...o)=>Oe(o[e],t[o[e+1]?1:0],e>0?Q(o,0,e):void 0,s,n)})),te(ds)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,o)=>{let a,r,i=0,l=!1;const c=async e=>{2!=i&&(i=1,await e(),i=0)},d={load:async(s,n)=>(await c((async()=>{let o;try{o=await t()}catch{}e.setContent(o??[s,n])})),d),startAutoLoad:async(s,o)=>(d.stopAutoLoad(),await d.load(s,o),l=!0,r=n((async(s,n)=>{await c((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),d),stopAutoLoad:()=>(l&&(o(r),r=void 0,l=!1),d),save:async t=>(1!=i&&(i=2,await s(e.getContent,t),i=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>d.save(t))),d),stopAutoSave:()=>(H(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(d)},e.createIndexes=Oe,e.createMetrics=Be,e.createQueries=$e,e.createRelationships=qe,e.createStore=_e,e.defaultSorter=je},"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="",a=t(l),n=t(!0),o=t(0),d="type",r="default",s="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,g="Cell",m=g+$,f="Value",w=f+"s",y=f+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),A=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,j=(e,t)=>e instanceof t,L=e=>null==e,M=e=>e==a||e==n,G=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return M(l)||l==o&&N(e)?l:void 0},W=(e,t)=>e?.has(t)??!1,B=e=>[...e?.values()??[]],F=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),_=e=>new Map(e),Z=(e,t)=>e?.get(t),H=(e,t)=>F(e,((e,l)=>t(l,e))),Q=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),q=(e,t,l)=>L(l)?(U(e,t),e):e?.set(t,l),K=(e,t,l)=>(W(e,t)||q(e,t,l()),Z(e,t)),X=e=>e.toUpperCase(),Y=e=>e.toLowerCase(),ee="a ",te="A function for",le=", and registers a listener so that any changes to that result will cause a re-render",ae="Callback",ne="Del",oe="Deps",de=oe+"?: React.DependencyList",re="doRollback?: DoRollback",se="actions: () => Return, "+re,Ie="export",ce="Id",$e="Invalid",ie="Json",ue=Y(s),pe="?: ",be=" | undefined",Ce="NonNullable",he="Partial",ge="Props",me="Provider",fe=`Registers a ${ue} that will be called`,we="Represents",ye="rowId: "+ce,Te="Schema",ve="Set",Ve=", descending?: boolean, offset?: number, limit?: number",xe="[]",Re="the Store",ke="Transaction",Se=Y(ke),Pe="Execute a "+Se+" to make multiple mutations",Ae="Explicitly starts a "+Se,Ee="Explicitly finishes a "+Se,De="the end of the "+Se,Oe="void",Ne=" => "+Oe,je="WhenSet",Le=" when setting it",Me=ee+"string serialization of",Ge=" ",Je="Gets a callback that can ",ze="the ",We=" the schema for",Be=(e=0,t=0)=>`the ${rt[e]}content of`+(t?Ge+Re:l),Fe=(e=0,t,a=0)=>nt[t]+Ge+Be(e,1)+(a?" when setting it":l),Ue=(e,t=0)=>we+` a Row when ${t?"s":"g"}etting ${Be()} the '${e}' `+i,_e=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ze=(e,t)=>`Calls a function for each ${e} in `+t,He=e=>"The props passed to a component that renders "+e,Qe=e=>"A function that takes "+e,qe=(e,t=0)=>te+" listening to changes to "+dt[e]+" in "+dt[t],Ke=(e,t,a=0)=>fe+" whenever "+dt[e]+" in "+dt[t]+" change"+(a?l:"s"),Xe=e=>`the '${e}' `+i,Ye=e=>"the specified Row in "+Xe(e),et=(e,t=0)=>nt[t]+` ${Be()} `+Xe(e),tt=(e,t=0)=>nt[t]+` ${Be()} `+Ye(e),lt=(e,t,l=0)=>nt[l]+` the '${t}' Cell for `+Ye(e),at=(e,t=0)=>nt[t]+` the '${e}' Value`,nt=["Gets","Checks existence of","Sets","Deletes","Sets part of",we,"Gets "+Me,"Sets "+Me,fe+" whenever",Je+"set",Je+"add",Je+"set part of",Je+"delete","Renders","Gets "+Me+We,"Sets"+We,"Deletes"+We],ot=[I,"has","set","del","set","forEach",c,l],dt=[Re,u,ze+i+Ge+$,ee+i,ze+b+Ge+$,ee+b,ze+g+Ge+$,ee+g,"invalid Cell changes",w,ze+f+Ge+$,ee+f,"invalid Value changes",ze+"sorted "+b+Ge+$],rt=[l,"tabular ","keyed value "],st=e=>new Set(J(e)||L(e)?e:[e]),It=(e,t)=>e?.add(t),ct=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,it=/^( *)\/\*\* *(.*?) *\*\/$/gm,ut=(e,t,l)=>e.substring(t,l),pt=e=>e.includes(","),bt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return W(e,n)?bt(e,t,l,a+1):(q(e,n,l),n)},Ct=e=>e.replace(it,((e,t,l)=>{const a=77-ht(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),ht=e=>e.length,gt=(e,t=l)=>e.join(t),mt=e=>e.flat(1e3),ft=(e,t=0)=>gt(x(e.split($t),((e,l)=>(l>0||t?X:Y)(ut(e,0,1))+ut(e,1)))),wt=e=>X(gt((e&&!ct.test(e[0])?e:" "+e).split($t),"_")),yt=e=>`/** ${e}. */`,Tt=(...e)=>gt(S(e,(e=>e)),", "),vt=(...e)=>"{"+gt(e,"; ")+"}",Vt=(...e)=>vt(...x(e,(e=>"readonly "+e))),xt=()=>{const e=[_(),_(),_(),_()],t=_(),a=_();return[(...e)=>gt(mt(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?It(K(e[n],l,st),a):0)))),(e,a,n,o=l,d=1)=>bt(t,e,[a,n,o,d]),(e,t,l)=>bt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Z(a,e)===t?e:bt(a,e,t),(t=0)=>x([...v(Q(e[t],((e,t)=>`import {${gt(v(B(e)),", ")}} from '${t}';`)),((e,t)=>pt(e)!=pt(t)?pt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>Q(t,(([e,t,a,n],o)=>[yt(t),`${n?Ie+" ":l}type ${o}${a} = ${e};`,l])),()=>Q(a,((e,t)=>(e=J(e)?e:[e],P(e,A(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Rt=Object,kt=Rt.keys,St=Rt.freeze,Pt=e=>j(e,Rt)&&e.constructor==Rt,At=(e,t)=>x(Rt.entries(e),(([e,l])=>t(l,e))),Et=e=>Pt(e)&&k(kt(e)),Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(e,t,l)=>[t=>At(e,((e,a)=>t(a,ft(a,1),l(wt(a),`'${a}'`)))),(t,a)=>At(e[t],((e,t)=>a(t,e[d],e[r],l(wt(t),`'${t}'`),ft(t,1)))),e=>At(t,((t,a)=>e(a,t[d],t[r],l(wt(a),`'${a}'`),ft(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(u,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`)))+"}"))),Fe(1,5)),I=e(u+je,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Fe(1,5,1)),c=e(i+ce,"keyof "+r,"A "+i+" Id in "+Re),$=`<TId extends ${c}>`,f=e(i,Ce+`<${r}[TId]>`,"A "+i+" in "+Re,$),w=e(i+je,Ce+`<${I}[TId]>`,"A "+i+" in "+Re+Le,$),y=e(b,f+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+je,w+"<TId>[Id]","A "+b+" in a "+i+Le,$),v=e(g+ce,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+b,$),V=e(g,Ce+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+ae,`(...[cellId, cell]: ${x}<TId>)`+Ne,Qe(ee+g+" Id, and "+g),$),k=e(b+ae,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ne+") "+Ne,Qe(ee+b+" Id, and a "+g+" iterator"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ne}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),P=e(i+ae,`(...[tableId, forEachRow]: ${S})`+Ne,Qe(ee+i+" Id, and a "+b+" iterator"),l),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,te+" returning information about any Cell's changes during a "+Se),D=e(u+s,`(${d}, getCellChange: ${E}${be})`+Ne,qe(1)),O=e(p+s,`(${d})`+Ne,qe(2)),N=e(i+s,`(${d}, tableId: ${c}, getCellChange: ${E}${be})`+Ne,qe(3)),j=e(C+s,`(${d}, tableId: ${c})`+Ne,qe(4,3)),M=e(h+s,"("+Tt(d,"tableId: "+c,"cellId: Id"+be,"descending: boolean","offset: number","limit: number"+be,"sortedRowIds: Ids")+")"+Ne,qe(13,3)),G=e(b+s,"("+Tt(""+d,"tableId: "+c,ye,`getCellChange: ${E}${be}`)+")"+Ne,qe(5,3)),J=e(m+s,"("+Tt(""+d,"tableId: "+c,ye)+")"+Ne,qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ye}, cellId: CId, newCell: ${V}<TId, CId> ${be}, oldCell: ${V}<TId, CId> ${be}, getCellChange: ${E} ${be}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,I,c,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(g+s,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Ne,qe(7,5)),e($e+g+s,`(${d}, tableId: Id, ${ye}, cellId: Id, invalidCells: any[])`+Ne,qe(8))]},(t,a)=>{const o=t+": "+a,d=e(w,vt(...n(((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`))),Fe(2,5)),r=e(w+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Fe(2,5,1)),I=e(f+ce,"keyof "+d,"A "+f+" Id in "+Re),c=e(f,Ce+`<${d}[VId]>`,"A "+f+" Id in "+Re,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,f+" Ids and types in "+Re,`<VId = ${I}>`,0),i=e(f+ae,`(...[valueId, value]: ${$})`+Ne,Qe(ee+f+" Id, and "+f)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,te+" returning information about any Value's changes during a "+Se),p=e(w+s,`(${o}, getValueChange: ${u}${be})`+Ne,qe(9)),b=e(y+s,`(${o})`+Ne,qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${be}, oldValue: ${c}<VId> ${be}, getValueChange: ${u} ${be}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,r,I,c,i,p,b,e(f+s,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ne,qe(11)),e($e+f+s,`(${o}, valueId: Id, invalidValues: any[])`+Ne,qe(12))]},(t,l)=>e(ke+s,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Ne,te+" listening to the completion of a "+Se)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Gt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=xt(),[A,D,O]=Ot(e,t,x),[N,j,M]=Nt(T,A,D,O),J=_(),z=(e=0)=>Q(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,yt(o)),P(s,l),s})),W=(e,t,a,n,o,d=l)=>bt(J,e,[t,a,n,o,d]),F=(e,t,a,n,o,d=l,r=l,s=l)=>W(ot[e]+t+(4==e?he:l)+a,d,n,(n==X?Lt:jt)(ot[e]+(4==e?he:l)+a,r,e?void 0:n),o,s),U=(e,t,a,n=l,o=l,d=1,r=l)=>W(c+e+s,(n?n+", ":l)+ue+": "+t+(d?", mutator?: boolean":l),ce,Mt(c+e+s,o,d?"mutator":l),a,r),K=`./${ft(a)}.d`,X=ft(a,1),Y=ft(X),ee=[],te=_();let le=[],ne=[];if(I(1,K,X,`create${X} as create${X}Decl`),!Et(e)){I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,s,c,f,w,y,v,R,k,S,E,O,j,M,J,z,W,H]=N(Y,X),Q=_();A(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,we+` the '${e}' `+i),T(t+i+je,s+l,we+` the '${e}' `+i+Le),T(t+b,c+l,Ue(e)),T(t+b+je,f+l,Ue(e,1)),T(t+g+ce,w+l,`A Cell Id for the '${e}' `+i),T(t+g+ae,v+l,Qe(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+ae,R+l,Qe(`a Row Id from the '${e}' Table, and a Cell iterator`))];q(Q,e,a),I(1,K,...a)})),I(1,K,e,t,a,w,k,S,E,O,j,M,J,z,W,H),le=[e,t,a,w,S,E,O,j,M,J,z,W,Q],V([[e],[n],[X,"tables: "+t,"tables"],[X]],(([e,t,a],n)=>F(n,l,u,e,Fe(1,n),t,a))),F(0,l,p,a+xe,_e(i,Re)),F(5,l,i,Oe,Ze(i,Re),"tableCallback: "+k,"tableCallback as any"),A(((e,t,a)=>{const[o,d,r,s,I,c,u]=Z(Q,e);V([[o],[n],[X,"table: "+d,", table"],[X]],(([n,o,d=l],r)=>F(r,t,i,n,et(e,r),o,a+d))),F(0,t,C,$,_e(b,Xe(e)),l,a),F(0,t,h,$,_e(b,Xe(e),1),"cellId?: "+I+Ve,a+", cellId, descending, offset, limit"),F(5,t,b,Oe,Ze(b,Xe(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[r],[n],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>F(r,t,b,n,tt(e,r),ye+o,a+", rowId"+d))),F(6,t,b,ce+be,"Add a new Row to "+Xe(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),F(0,t,m,I+xe,_e(g,Ye(e)),ye,a+", rowId"),F(5,t,g,Oe,Ze(g,Ye(e)),ye+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const c="Map"+ft(d,1);q(te,d,c);const $=d+(L(r)?be:l);V([[$],[n],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([n,d=l,r=l],c)=>F(c,t+I,g,n,lt(e,o,c),ye+d,a+", rowId, "+s+r)))}))})),F(0,l,u+ie,ie,Fe(1,6)),F(2,l,u+ie,X,Fe(1,7),"tablesJson: "+ie,"tables"+ie),U(u,S,Fe(1,8)+" changes"),U(p,E,Ke(2,0,1)),U(i,O,Ke(3,0),`tableId: ${a} | null`,"tableId"),U(C,j,Ke(4,3,1),`tableId: ${a} | null`,"tableId"),U(h,M,Ke(13,3,1),Tt("tableId: TId",`cellId: ${w}<TId>`+be,"descending: boolean","offset: number","limit: number"+be),Tt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),U(b,J,Ke(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(m,z,Ke(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(g,W,Ke(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${gt(A((e=>Z(Q,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),U($e+g,H,fe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,K,...B(te)),P(ee,".set"+u+Te+"({",mt(A(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!Et(t)){const[e,t,a,o,s,c,$,i,u]=j(Y,X);I(1,K,e,t,a,s,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[X,"values: "+t,"values"],[X],[X,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>F(n,l,w,e,Fe(2,n),t,a))),F(0,l,y,a+xe,_e(f,Re)),F(5,l,f,"void",Ze(f,Re),"valueCallback: "+s,"valueCallback as any"),O(((e,t,a,o,d)=>{const r="Map"+ft(t,1);q(te,t,r),V([[t],[n],[X,`value: ${t} | `+r,", value as any"],[X]],(([t,a,n=l],r)=>F(r,d,f,t,at(e,r),a,o+n)))})),F(0,l,w+ie,ie,Fe(2,6)),F(2,l,w+ie,X,Fe(2,7),"valuesJson: "+ie,"values"+ie),U(w,c,Fe(2,8)+" changes"),U(y,$,Ke(10,0,1)),U(f,i,Ke(11,0),`valueId: ${a} | null`,"valueId"),U($e+f,u,fe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,K,...B(te)),I(0,"tinybase","ValueChange"),P(ee,".set"+w+Te+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`])),"})")}H(te,((e,t)=>T(t,`(cell: ${e}${be}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",ce,"IdOrNull",ie,"Store"),F(0,l,ie,ie,Fe(0,6)),F(2,l,ie,X,Fe(0,7),"tablesAndValuesJson: "+ie,"tablesAndValuesJson"),F(7,l,Se,"Return",Pe,se,"actions, doRollback","<Return>"),F(7,l,"start"+ke,X,Ae),F(7,l,"finish"+ke,X,Ee,re,"doRollback");const oe=M(Y,X);return U("WillFinish"+ke,oe,fe+" just before "+De,l,l,0),U("DidFinish"+ke,oe,fe+" just after "+De,l,l,0),F(7,l,"call"+s,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,l,s,X,"Remove a listener that was previously added to "+Re,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",nt[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),v("fluent","actions: () => Store",["actions();",`return ${Y};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[o(...R(0),...k(),Ie+" interface "+X+" {",...z(0),"}",l,yt(`Creates a ${X} object`),Ie+" function create"+X+"(): "+X+";"),o(...R(1),Ie+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),le,ne]},Jt=e=>I+e,zt=e=>Tt(Jt(e),Jt(e)+oe),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+de,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+ae+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=Tt(ll+")"+Ne,Ft),nl="then, then"+oe,ol=Xt+Qt+ce,dl="View",rl=(e,...t)=>Tt(...t,ue+": "+e,ue+de,"mutator?: boolean"),sl=(...e)=>Tt(...e,ue,ue+oe,"mutator"),Il=(e,t,a,n,o)=>{const[d,r,I,c,T,v,V,x]=xt(),[R,k,S]=Ot(e,t,T),A=`./${ft(a)}.d`,D=`./${ft(a)}-ui-react.d`,O="tinybase/ui-react",N=ft(a,1),j=ft(N),M=N+"Or"+N+ce,G=j+"Or"+N+ce,J=j+`={${j}}`,z=_(),W=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),bt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),B(e,Tt(o,X,I),a,te+`(${G}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),U=(e,t,l,a)=>W(e,t,1,l,a),H=(e=0)=>Q(z,(([t,a,n,o,d],r)=>{const s=e?[Ie+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ie+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,yt(o)),P(s,l),s}));r(null,"tinybase",ce,"Store",ae,Ut+"ized"+ae),r(0,O,"ComponentReturnType"),r(null,O,"ExtraProps"),r(0,A,N);const q=I(M,N+" | "+ce,`Used when you need to refer to a ${N} in a React hook or component`),K=I(me+ge,Vt(j+pe+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${me} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=G+pe+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+de,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=B(N,"id?: Id",N+be,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${me} component context`),te=c("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),oe=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=c("wrap",Tt("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;"]),se=T("NullComponent","() => null");if(!Et(e)){const[e,t,a,o,d,f,w,y,T,v,V,x,S]=n;r(null,A,e,t,a,d,f,w,y,T,v,V,x),r(0,A,o),r(1,A,N),r(null,"tinybase",$,"IdOrNull");const P=c("tableView",`{${j}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+oe+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),E=c("getDefaultTableComponent","tableId: Id",gt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),O=c("getDefaultCellComponent","tableId: Id, cellId: Id",gt(R(((e,t,l)=>`tableId == ${l} ? ${gt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);F(u,u,e,Fe(1,0)+le);const M=F(p,p,a+xe,_e(i,Re)+le);F(ve+u+ae,ve+u+ae,Kt,Fe(1,9)+Ht,Tt(Jt(u)+_t+t,Jt(u)+de),zt(u),qt,Tt(ll,`tables: ${t})`+Ne,Ft),nl),F(ne+u+ae,ne+u+ae,ae,Fe(1,12),l,l,l,al,nl);const G=I(g+ge,Vt("tableId?: TId","rowId: Id","cellId?: CId",j+pe+N,Wt),He(ee+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(b+ge,Vt("tableId?: TId","rowId: Id",j+pe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),He(ee+b),`<TId extends ${a}>`),W=I(i+ge,Vt("tableId?: TId",j+pe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+i),`<TId extends ${a}>`),B=I("Sorted"+i+ge,Vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+pe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+"sorted "+i),`<TId extends ${a}>`),_=I(u+ge,Vt(j+pe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),He(Be(1,1)));r(1,D,_,W,B,z,G),U(u+dl,"{"+j+", tableComponents, getTableComponentProps"+el+"}: "+_,[re+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+E+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${oe}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],Fe(1,13)+le),R(((e,t,a)=>{const[n,o,d,s,I]=Z(S,e);r(null,A,n,o,d,s,I),F(t+i,i,n,et(e)+le,l,a);const c=F(t+C,C,$,_e(b,Xe(e))+le,l,a),u=F(t+h,h,$,_e(b,Xe(e),1)+le,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,tt(e)+le,ol,Tt(a,Xt));const p=F(t+m,m,I+xe,_e(g,Ye(e))+le,ol,Tt(a,Xt));F(ve+t+i+ae,ve+i+ae,Kt,et(e,9)+Ht,Tt(Jt(i)+_t+o,Jt(i)+de),Tt(a,zt(i)),qt,Tt(ll,`table: ${o})`+Ne,Ft),nl),F(ne+t+i+ae,ne+i+ae,ae,et(e,12),l,a,l,al,nl),F(ve+t+b+ae,ve+b+ae,Kt,tt(e,9)+Ht,Tt(ol,Jt(b)+_t+s,Jt(b)+de),Tt(a,Xt,zt(b)),qt,Tt(ll,`row: ${s})`+Ne,Ft),nl),F("Add"+t+b+ae,"Add"+b+ae,Kt,tt(e,10)+Ht,Tt(Jt(b)+_t+s,Jt(b)+de),Tt(a,zt(b)),qt,"then?: ("+Tt(ol+be,"store: Store","row: "+s+")"+Ne,"then"+de)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(ve+t+he+b+ae,ve+he+b+ae,Kt,tt(e,11)+Ht,Tt(ol,Jt(he+b)+_t+s,Jt(he+b)+de),Tt(a,Xt,zt(he+b)),qt,Tt(ll,`partialRow: ${s})`+Ne,Ft),nl),F(ne+t+b+ae,ne+b+ae,ae,tt(e,12),ol,Tt(a,Xt),l,al,nl);const f=U(t+b+dl,"{rowId, "+j+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[re+`(${p}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${oe}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],tt(e,13)+le);U(t+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,et(e,13)+", sorted"+le),U(t+i+dl,`props: ${W}<'${e}'>`,P+"(props, "+c+`(props.${j}), ${a}, ${f});`,et(e,13)+le),k(e,((n,o,d,s,I)=>{const c="Map"+ft(o,1);r(0,A,c),r(1,A,c);const $=F(t+I+g,g,o+(L(d)?be:l),lt(e,n)+le,ol,Tt(a,Xt,s));F(ve+t+I+g+ae,ve+g+ae,Kt,lt(e,n,9)+Ht,Tt(ol,Jt(g)+_t+o+" | "+c,Jt(g)+de),Tt(a,Xt,s,zt(g)),qt,Tt(ll,`cell: ${o} | ${c})`+Ne,Ft),nl),F(ne+t+I+g+ae,ne+g+ae,ae,lt(e,n,12),Tt(ol,"forceDel?: boolean"),Tt(a,Xt,s,"forceDel"),l,al,nl),U(t+I+g+dl,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],lt(e,n,13)+le)}))}));const H=gt(R((e=>Z(S,e)?.[4]??l))," | ");F(u+s,u+s,Oe,Fe(1,8)+" changes",rl(d),sl()),F(p+s,p+s,Oe,Ke(2,0,1),rl(f),sl()),F(i+s,i+s,Oe,Ke(3,0),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+s,C+s,Oe,Ke(4,3,1),rl(y,`tableId: ${a} | null`),sl("tableId")),F(h+s,h+s,Oe,Ke(13,3,1),rl(T,`tableId: ${a} | null`,"cellId: "+H+be,"descending: boolean","offset: number","limit: number"+be),sl("tableId","cellId","descending","offset","limit")),F(b+s,b+s,Oe,Ke(5,3),rl(v,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(m+s,m+s,Oe,Ke(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+s,g+s,Oe,Ke(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${H} | null`),sl("tableId",Xt,"cellId"))}if(!Et(t)){const[e,t,a,n,d,$]=o;r(null,A,...o),r(1,A,N);const i=c("getDefaultValueComponent","valueId: Id",gt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);F(w,w,e,Fe(2,0)+le);const u=F(y,y,a+xe,_e(f,Re)+le);F(ve+w+ae,ve+w+ae,Kt,Fe(2,9)+Ht,Tt(Jt(w)+_t+t,Jt(w)+de),zt(w),qt,Tt(ll,`values: ${t})`+Ne,Ft),nl),F(ve+he+w+ae,ve+he+w+ae,Kt,Fe(2,11)+Ht,Tt(Jt(he+w)+_t+t,Jt(he+w)+de),zt(he+w),qt,Tt(ll,`partialValues: ${t})`+Ne,Ft),nl),F(ne+w+ae,ne+w+ae,ae,Fe(2,12),l,l,l,al,nl);const p=I(f+ge,Vt("valueId?: VId",j+pe+N,Wt),He("a Value"),`<VId extends ${a}>`),b=I(w+ge,Vt(j+pe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),He(Be(2,1)));r(1,D,b,p),U(w+dl,"{"+j+", valueComponents, getValueComponentProps"+el+"}: "+b,[re+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${oe}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],Fe(2,13)+le),S(((e,t,a,n,o)=>{const d="Map"+ft(t,1);r(0,A,d),r(1,A,d);const s=F(o+f,f,t,at(e)+le,l,n);F(ve+o+f+ae,ve+f+ae,Kt,at(e,9)+Ht,Tt(Jt(f)+_t+t+" | "+d,Jt(f)+de),Tt(n,zt(f)),qt,Tt(ll,`value: ${t} | ${d})`+Ne,Ft),nl),F(ne+o+f+ae,ne+f+ae,ae,at(e,12),l,n,l,al,nl),U(o+f+dl,`{${j}, debugIds}: ${p}<'${e}'>`,[re+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],at(e,13)+le)})),F(w+s,w+s,Oe,Fe(2,8)+" changes",rl(n),sl()),F(y+s,y+s,Oe,Ke(10,0,1),rl(d),sl()),F(f+s,f+s,Oe,Ke(11,0),rl($,`valueId: ${a} | null`),sl("valueId"))}return U(me,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+me,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${me}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...H(0)),d(...v(1),...x(),...H(1))]},cl=(e,t,a)=>{if(Et(e)&&Et(t))return[l,l,l,l];const[n,o,d,r]=Gt(e,t,a);return[n,o,...Il(e,t,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Et(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=_();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=K(n,a,(()=>[z(o),_(),[0],0])),[r,s,[I]]=d,c=K(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),q(s,o,c),d[3]++,r==z(o)})))))return t[l]={},F(n,(([e,,[,n],o],s)=>{t[l][s]={[d]:e,...o==R(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Et(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>cl(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 x(a(e),((e,a)=>Ct(l(e,{...$l,filepath:"_."+t[a]}))))};return St({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:R(e.getValueIds()),jsonLength:ht(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=il},"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="",a=t(l),n=t(!0),o=t(0),d="type",r="default",s="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,g="Cell",m=g+$,f="Value",w=f+"s",y=f+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),A=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,j=(e,t)=>e instanceof t,L=e=>null==e,M=e=>e==a||e==n,G=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return M(l)||l==o&&N(e)?l:void 0},W=Object,B=W.keys,F=W.freeze,U=e=>j(e,W)&&e.constructor==W,_=(e,t)=>x(W.entries(e),(([e,l])=>t(l,e))),Z=e=>U(e)&&k(B(e)),H=(e,t)=>e?.has(t)??!1,Q=e=>[...e?.values()??[]],q=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=(e,t)=>e?.get(t),ee=(e,t)=>q(e,((e,l)=>t(l,e))),te=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),le=(e,t,l)=>L(l)?(K(e,t),e):e?.set(t,l),ae=(e,t,l)=>(H(e,t)||le(e,t,l()),Y(e,t)),ne=e=>e.toUpperCase(),oe=e=>e.toLowerCase(),de="a ",re="A function for",se=", and registers a listener so that any changes to that result will cause a re-render",Ie="Callback",ce="Del",$e="Deps",ie=$e+"?: React.DependencyList",ue="doRollback?: DoRollback",pe="actions: () => Return, "+ue,be="export",Ce="Id",he="Invalid",ge="Json",me=oe(s),fe="?: ",we=" | undefined",ye="NonNullable",Te="Partial",ve="Props",Ve="Provider",xe=`Registers a ${me} that will be called`,Re="Represents",ke="rowId: "+Ce,Se="Schema",Pe="Set",Ae=", descending?: boolean, offset?: number, limit?: number",Ee="[]",De="the Store",Oe="Transaction",Ne=oe(Oe),je="Execute a "+Ne+" to make multiple mutations",Le="Explicitly starts a "+Ne,Me="Explicitly finishes a "+Ne,Ge="the end of the "+Ne,Je="void",ze=" => "+Je,We="WhenSet",Be=" when setting it",Fe=de+"string serialization of",Ue=" ",_e="Gets a callback that can ",Ze="the ",He=" the schema for",Qe=(e=0,t=0)=>`the ${ut[e]}content of`+(t?Ue+De:l),qe=(e=0,t,a=0)=>ct[t]+Ue+Qe(e,1)+(a?" when setting it":l),Ke=(e,t=0)=>Re+` a Row when ${t?"s":"g"}etting ${Qe()} the '${e}' `+i,Xe=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ye=(e,t)=>`Calls a function for each ${e} in `+t,et=e=>"The props passed to a component that renders "+e,tt=e=>"A function that takes "+e,lt=(e,t=0)=>re+" listening to changes to "+it[e]+" in "+it[t],at=(e,t,a=0)=>xe+" whenever "+it[e]+" in "+it[t]+" change"+(a?l:"s"),nt=e=>`the '${e}' `+i,ot=e=>"the specified Row in "+nt(e),dt=(e,t=0)=>ct[t]+` ${Qe()} `+nt(e),rt=(e,t=0)=>ct[t]+` ${Qe()} `+ot(e),st=(e,t,l=0)=>ct[l]+` the '${t}' Cell for `+ot(e),It=(e,t=0)=>ct[t]+` the '${e}' Value`,ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",Re,"Gets "+Fe,"Sets "+Fe,xe+" whenever",_e+"set",_e+"add",_e+"set part of",_e+"delete","Renders","Gets "+Fe+He,"Sets"+He,"Deletes"+He],$t=[I,"has","set","del","set","forEach",c,l],it=[De,u,Ze+i+Ue+$,de+i,Ze+b+Ue+$,de+b,Ze+g+Ue+$,de+g,"invalid Cell changes",w,Ze+f+Ue+$,de+f,"invalid Value changes",Ze+"sorted "+b+Ue+$],ut=[l,"tabular ","keyed value "],pt=e=>new Set(J(e)||L(e)?e:[e]),bt=(e,t)=>e?.add(t),Ct=/[^A-Za-z]+/,ht=/[^A-Za-z0-9]+/,gt=/^( *)\/\*\* *(.*?) *\*\/$/gm,mt=(e,t,l)=>e.substring(t,l),ft=e=>e.includes(","),wt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return H(e,n)?wt(e,t,l,a+1):(le(e,n,l),n)},yt=e=>e.replace(gt,((e,t,l)=>{const a=77-Tt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Tt=e=>e.length,vt=(e,t=l)=>e.join(t),Vt=e=>e.flat(1e3),xt=(e,t=0)=>vt(x(e.split(ht),((e,l)=>(l>0||t?ne:oe)(mt(e,0,1))+mt(e,1)))),Rt=e=>ne(vt((e&&!Ct.test(e[0])?e:" "+e).split(ht),"_")),kt=e=>`/** ${e}. */`,St=(...e)=>vt(S(e,(e=>e)),", "),Pt=(...e)=>"{"+vt(e,"; ")+"}",At=(...e)=>Pt(...x(e,(e=>"readonly "+e))),Et=()=>{const e=[X(),X(),X(),X()],t=X(),a=X();return[(...e)=>vt(Vt(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?bt(ae(e[n],l,pt),a):0)))),(e,a,n,o=l,d=1)=>wt(t,e,[a,n,o,d]),(e,t,l)=>wt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Y(a,e)===t?e:wt(a,e,t),(t=0)=>x([...v(te(e[t],((e,t)=>`import {${vt(v(Q(e)),", ")}} from '${t}';`)),((e,t)=>ft(e)!=ft(t)?ft(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>te(t,(([e,t,a,n],o)=>[kt(t),`${n?be+" ":l}type ${o}${a} = ${e};`,l])),()=>te(a,((e,t)=>(e=J(e)?e:[e],P(e,A(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(e,t,l)=>[t=>_(e,((e,a)=>t(a,xt(a,1),l(Rt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[d],e[r],l(Rt(t),`'${t}'`),xt(t,1)))),e=>_(t,((t,a)=>e(a,t[d],t[r],l(Rt(a),`'${a}'`),xt(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(u,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`)))+"}"))),qe(1,5)),I=e(u+We,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),qe(1,5,1)),c=e(i+Ce,"keyof "+r,"A "+i+" Id in "+De),$=`<TId extends ${c}>`,f=e(i,ye+`<${r}[TId]>`,"A "+i+" in "+De,$),w=e(i+We,ye+`<${I}[TId]>`,"A "+i+" in "+De+Be,$),y=e(b,f+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+We,w+"<TId>[Id]","A "+b+" in a "+i+Be,$),v=e(g+Ce,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+b,$),V=e(g,ye+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+Ie,`(...[cellId, cell]: ${x}<TId>)`+ze,tt(de+g+" Id, and "+g),$),k=e(b+Ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+ze+") "+ze,tt(de+b+" Id, and a "+g+" iterator"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${ze}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),P=e(i+Ie,`(...[tableId, forEachRow]: ${S})`+ze,tt(de+i+" Id, and a "+b+" iterator"),l),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,re+" returning information about any Cell's changes during a "+Ne),D=e(u+s,`(${d}, getCellChange: ${E}${we})`+ze,lt(1)),O=e(p+s,`(${d})`+ze,lt(2)),N=e(i+s,`(${d}, tableId: ${c}, getCellChange: ${E}${we})`+ze,lt(3)),j=e(C+s,`(${d}, tableId: ${c})`+ze,lt(4,3)),M=e(h+s,"("+St(d,"tableId: "+c,"cellId: Id"+we,"descending: boolean","offset: number","limit: number"+we,"sortedRowIds: Ids")+")"+ze,lt(13,3)),G=e(b+s,"("+St(""+d,"tableId: "+c,ke,`getCellChange: ${E}${we}`)+")"+ze,lt(5,3)),J=e(m+s,"("+St(""+d,"tableId: "+c,ke)+")"+ze,lt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ke}, cellId: CId, newCell: ${V}<TId, CId> ${we}, oldCell: ${V}<TId, CId> ${we}, getCellChange: ${E} ${we}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,I,c,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(g+s,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+ze,lt(7,5)),e(he+g+s,`(${d}, tableId: Id, ${ke}, cellId: Id, invalidCells: any[])`+ze,lt(8))]},(t,a)=>{const o=t+": "+a,d=e(w,Pt(...n(((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`))),qe(2,5)),r=e(w+We,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),qe(2,5,1)),I=e(f+Ce,"keyof "+d,"A "+f+" Id in "+De),c=e(f,ye+`<${d}[VId]>`,"A "+f+" Id in "+De,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,f+" Ids and types in "+De,`<VId = ${I}>`,0),i=e(f+Ie,`(...[valueId, value]: ${$})`+ze,tt(de+f+" Id, and "+f)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,re+" returning information about any Value's changes during a "+Ne),p=e(w+s,`(${o}, getValueChange: ${u}${we})`+ze,lt(9)),b=e(y+s,`(${o})`+ze,lt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${we}, oldValue: ${c}<VId> ${we}, getValueChange: ${u} ${we}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,r,I,c,i,p,b,e(f+s,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+ze,lt(11)),e(he+f+s,`(${o}, valueId: Id, invalidValues: any[])`+ze,lt(12))]},(t,l)=>e(Oe+s,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+ze,re+" listening to the completion of a "+Ne)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Gt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=Et(),[A,D,O]=Ot(e,t,x),[N,j,M]=Nt(T,A,D,O),J=X(),z=(e=0)=>te(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,kt(o)),P(s,l),s})),W=(e,t,a,n,o,d=l)=>wt(J,e,[t,a,n,o,d]),B=(e,t,a,n,o,d=l,r=l,s=l)=>W($t[e]+t+(4==e?Te:l)+a,d,n,(n==_?Lt:jt)($t[e]+(4==e?Te:l)+a,r,e?void 0:n),o,s),F=(e,t,a,n=l,o=l,d=1,r=l)=>W(c+e+s,(n?n+", ":l)+me+": "+t+(d?", mutator?: boolean":l),Ce,Mt(c+e+s,o,d?"mutator":l),a,r),U=`./${xt(a)}.d`,_=xt(a,1),H=xt(_),q=[],K=X();let ae=[],ne=[];if(I(1,U,_,`create${_} as create${_}Decl`),!Z(e)){I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,s,c,f,w,y,v,R,k,S,E,O,j,M,J,z,W,Z]=N(H,_),ee=X();A(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,Re+` the '${e}' `+i),T(t+i+We,s+l,Re+` the '${e}' `+i+Be),T(t+b,c+l,Ke(e)),T(t+b+We,f+l,Ke(e,1)),T(t+g+Ce,w+l,`A Cell Id for the '${e}' `+i),T(t+g+Ie,v+l,tt(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+Ie,R+l,tt(`a Row Id from the '${e}' Table, and a Cell iterator`))];le(ee,e,a),I(1,U,...a)})),I(1,U,e,t,a,w,k,S,E,O,j,M,J,z,W,Z),ae=[e,t,a,w,S,E,O,j,M,J,z,W,ee],V([[e],[n],[_,"tables: "+t,"tables"],[_]],(([e,t,a],n)=>B(n,l,u,e,qe(1,n),t,a))),B(0,l,p,a+Ee,Xe(i,De)),B(5,l,i,Je,Ye(i,De),"tableCallback: "+k,"tableCallback as any"),A(((e,t,a)=>{const[o,d,r,s,I,c,u]=Y(ee,e);V([[o],[n],[_,"table: "+d,", table"],[_]],(([n,o,d=l],r)=>B(r,t,i,n,dt(e,r),o,a+d))),B(0,t,C,$,Xe(b,nt(e)),l,a),B(0,t,h,$,Xe(b,nt(e),1),"cellId?: "+I+Ae,a+", cellId, descending, offset, limit"),B(5,t,b,Je,Ye(b,nt(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[r],[n],[_,", row: "+s,", row"],[_],[_,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>B(r,t,b,n,rt(e,r),ke+o,a+", rowId"+d))),B(6,t,b,Ce+we,"Add a new Row to "+nt(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),B(0,t,m,I+Ee,Xe(g,ot(e)),ke,a+", rowId"),B(5,t,g,Je,Ye(g,ot(e)),ke+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const c="Map"+xt(d,1);le(K,d,c);const $=d+(L(r)?we:l);V([[$],[n],[_,`, cell: ${d} | `+c,", cell as any"],[_]],(([n,d=l,r=l],c)=>B(c,t+I,g,n,st(e,o,c),ke+d,a+", rowId, "+s+r)))}))})),B(0,l,u+ge,ge,qe(1,6)),B(2,l,u+ge,_,qe(1,7),"tablesJson: "+ge,"tables"+ge),F(u,S,qe(1,8)+" changes"),F(p,E,at(2,0,1)),F(i,O,at(3,0),`tableId: ${a} | null`,"tableId"),F(C,j,at(4,3,1),`tableId: ${a} | null`,"tableId"),F(h,M,at(13,3,1),St("tableId: TId",`cellId: ${w}<TId>`+we,"descending: boolean","offset: number","limit: number"+we),St("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(b,J,at(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(m,z,at(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,W,at(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${vt(A((e=>Y(ee,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),F(he+g,Z,xe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,U,...Q(K)),P(q,".set"+u+Se+"({",Vt(A(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(Rt(d),`'${d}'`)}]: ${x(Rt(t),`'${t}'`)}${L(a)?l:`, [${x(Rt(r),`'${r}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!Z(t)){const[e,t,a,o,s,c,$,i,u]=j(H,_);I(1,U,e,t,a,s,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[_,"values: "+t,"values"],[_],[_,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>B(n,l,w,e,qe(2,n),t,a))),B(0,l,y,a+Ee,Xe(f,De)),B(5,l,f,"void",Ye(f,De),"valueCallback: "+s,"valueCallback as any"),O(((e,t,a,o,d)=>{const r="Map"+xt(t,1);le(K,t,r),V([[t],[n],[_,`value: ${t} | `+r,", value as any"],[_]],(([t,a,n=l],r)=>B(r,d,f,t,It(e,r),a,o+n)))})),B(0,l,w+ge,ge,qe(2,6)),B(2,l,w+ge,_,qe(2,7),"valuesJson: "+ge,"values"+ge),F(w,c,qe(2,8)+" changes"),F(y,$,at(10,0,1)),F(f,i,at(11,0),`valueId: ${a} | null`,"valueId"),F(he+f,u,xe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,U,...Q(K)),I(0,"tinybase","ValueChange"),P(q,".set"+w+Se+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(Rt(d),`'${d}'`)}]: ${x(Rt(t),`'${t}'`)}${L(a)?l:`, [${x(Rt(r),`'${r}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`])),"})")}ee(K,((e,t)=>T(t,`(cell: ${e}${we}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",Ce,"IdOrNull",ge,"Store"),B(0,l,ge,ge,qe(0,6)),B(2,l,ge,_,qe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),B(7,l,Ne,"Return",je,pe,"actions, doRollback","<Return>"),B(7,l,"start"+Oe,_,Le),B(7,l,"finish"+Oe,_,Me,ue,"doRollback");const oe=M(H,_);return F("WillFinish"+Oe,oe,xe+" just before "+Ge,l,l,0),F("DidFinish"+Oe,oe,xe+" just after "+Ge,l,l,0),B(7,l,"call"+s,_,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,l,s,_,"Remove a listener that was previously added to "+De,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",ct[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,U,_,`create${_} as create${_}Decl`,oe),x("store",["createStore()",...q]),v("fluent","actions: () => Store",["actions();",`return ${H};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${H}, ...params)`),x(H,["{",...z(1),"}"]),[o(...R(0),...k(),be+" interface "+_+" {",...z(0),"}",l,kt(`Creates a ${_} object`),be+" function create"+_+"(): "+_+";"),o(...R(1),be+" const create"+_+": typeof create"+_+"Decl = () => {",...S(),`return Object.freeze(${H});`,"};"),ae,ne]},Jt=e=>I+e,zt=e=>St(Jt(e),Jt(e)+$e),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+ie,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+Ie+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=St(ll+")"+ze,Ft),nl="then, then"+$e,ol=Xt+Qt+Ce,dl="View",rl=(e,...t)=>St(...t,me+": "+e,me+ie,"mutator?: boolean"),sl=(...e)=>St(...e,me,me+$e,"mutator"),Il=(e,t,a,n,o)=>{const[d,r,I,c,T,v,V,x]=Et(),[R,k,S]=Ot(e,t,T),A=`./${xt(a)}.d`,D=`./${xt(a)}-ui-react.d`,O="tinybase/ui-react",N=xt(a,1),j=xt(N),M=N+"Or"+N+Ce,G=j+"Or"+N+Ce,J=j+`={${j}}`,z=X(),W=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),wt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),B(e,St(o,q,I),a,ee+`(${G}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),U=(e,t,l,a)=>W(e,t,1,l,a),_=(e=0)=>te(z,(([t,a,n,o,d],r)=>{const s=e?[be+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[be+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,kt(o)),P(s,l),s}));r(null,"tinybase",Ce,"Store",Ie,Ut+"ized"+Ie),r(0,O,"ComponentReturnType"),r(null,O,"ExtraProps"),r(0,A,N);const H=I(M,N+" | "+Ce,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(Ve+ve,At(j+fe+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${Ve} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,H,Q);const q=G+fe+H;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ie,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const K=B(N,"id?: Id",N+we,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Ve} component context`),ee=c("useHook",G+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${K}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),le=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=c("wrap",St("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;"]),ne=T("NullComponent","() => null");if(!Z(e)){const[e,t,a,o,d,f,w,y,T,v,V,x,S]=n;r(null,A,e,t,a,d,f,w,y,T,v,V,x),r(0,A,o),r(1,A,N),r(null,"tinybase",$,"IdOrNull");const P=c("tableView",`{${j}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),E=c("getDefaultTableComponent","tableId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),O=c("getDefaultCellComponent","tableId: Id, cellId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${vt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F(u,u,e,qe(1,0)+se);const M=F(p,p,a+Ee,Xe(i,De)+se);F(Pe+u+Ie,Pe+u+Ie,Kt,qe(1,9)+Ht,St(Jt(u)+_t+t,Jt(u)+ie),zt(u),qt,St(ll,`tables: ${t})`+ze,Ft),nl),F(ce+u+Ie,ce+u+Ie,Ie,qe(1,12),l,l,l,al,nl);const G=I(g+ve,At("tableId?: TId","rowId: Id","cellId?: CId",j+fe+N,Wt),et(de+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(b+ve,At("tableId?: TId","rowId: Id",j+fe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),et(de+b),`<TId extends ${a}>`),W=I(i+ve,At("tableId?: TId",j+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(de+i),`<TId extends ${a}>`),B=I("Sorted"+i+ve,At("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(de+"sorted "+i),`<TId extends ${a}>`),_=I(u+ve,At(j+fe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),et(Qe(1,1)));r(1,D,_,W,B,z,G),U(u+dl,"{"+j+", tableComponents, getTableComponentProps"+el+"}: "+_,[ae+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+E+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],qe(1,13)+se),R(((e,t,a)=>{const[n,o,d,s,I]=Y(S,e);r(null,A,n,o,d,s,I),F(t+i,i,n,dt(e)+se,l,a);const c=F(t+C,C,$,Xe(b,nt(e))+se,l,a),u=F(t+h,h,$,Xe(b,nt(e),1)+se,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,rt(e)+se,ol,St(a,Xt));const p=F(t+m,m,I+Ee,Xe(g,ot(e))+se,ol,St(a,Xt));F(Pe+t+i+Ie,Pe+i+Ie,Kt,dt(e,9)+Ht,St(Jt(i)+_t+o,Jt(i)+ie),St(a,zt(i)),qt,St(ll,`table: ${o})`+ze,Ft),nl),F(ce+t+i+Ie,ce+i+Ie,Ie,dt(e,12),l,a,l,al,nl),F(Pe+t+b+Ie,Pe+b+Ie,Kt,rt(e,9)+Ht,St(ol,Jt(b)+_t+s,Jt(b)+ie),St(a,Xt,zt(b)),qt,St(ll,`row: ${s})`+ze,Ft),nl),F("Add"+t+b+Ie,"Add"+b+Ie,Kt,rt(e,10)+Ht,St(Jt(b)+_t+s,Jt(b)+ie),St(a,zt(b)),qt,"then?: ("+St(ol+we,"store: Store","row: "+s+")"+ze,"then"+ie)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(Pe+t+Te+b+Ie,Pe+Te+b+Ie,Kt,rt(e,11)+Ht,St(ol,Jt(Te+b)+_t+s,Jt(Te+b)+ie),St(a,Xt,zt(Te+b)),qt,St(ll,`partialRow: ${s})`+ze,Ft),nl),F(ce+t+b+Ie,ce+b+Ie,Ie,rt(e,12),ol,St(a,Xt),l,al,nl);const f=U(t+b+dl,"{rowId, "+j+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[ae+`(${p}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],rt(e,13)+se);U(t+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,dt(e,13)+", sorted"+se),U(t+i+dl,`props: ${W}<'${e}'>`,P+"(props, "+c+`(props.${j}), ${a}, ${f});`,dt(e,13)+se),k(e,((n,o,d,s,I)=>{const c="Map"+xt(o,1);r(0,A,c),r(1,A,c);const $=F(t+I+g,g,o+(L(d)?we:l),st(e,n)+se,ol,St(a,Xt,s));F(Pe+t+I+g+Ie,Pe+g+Ie,Kt,st(e,n,9)+Ht,St(ol,Jt(g)+_t+o+" | "+c,Jt(g)+ie),St(a,Xt,s,zt(g)),qt,St(ll,`cell: ${o} | ${c})`+ze,Ft),nl),F(ce+t+I+g+Ie,ce+g+Ie,Ie,st(e,n,12),St(ol,"forceDel?: boolean"),St(a,Xt,s,"forceDel"),l,al,nl),U(t+I+g+dl,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[ae+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],st(e,n,13)+se)}))}));const Z=vt(R((e=>Y(S,e)?.[4]??l))," | ");F(u+s,u+s,Je,qe(1,8)+" changes",rl(d),sl()),F(p+s,p+s,Je,at(2,0,1),rl(f),sl()),F(i+s,i+s,Je,at(3,0),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+s,C+s,Je,at(4,3,1),rl(y,`tableId: ${a} | null`),sl("tableId")),F(h+s,h+s,Je,at(13,3,1),rl(T,`tableId: ${a} | null`,"cellId: "+Z+we,"descending: boolean","offset: number","limit: number"+we),sl("tableId","cellId","descending","offset","limit")),F(b+s,b+s,Je,at(5,3),rl(v,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(m+s,m+s,Je,at(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+s,g+s,Je,at(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${Z} | null`),sl("tableId",Xt,"cellId"))}if(!Z(t)){const[e,t,a,n,d,$]=o;r(null,A,...o),r(1,A,N);const i=c("getDefaultValueComponent","valueId: Id",vt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(w,w,e,qe(2,0)+se);const u=F(y,y,a+Ee,Xe(f,De)+se);F(Pe+w+Ie,Pe+w+Ie,Kt,qe(2,9)+Ht,St(Jt(w)+_t+t,Jt(w)+ie),zt(w),qt,St(ll,`values: ${t})`+ze,Ft),nl),F(Pe+Te+w+Ie,Pe+Te+w+Ie,Kt,qe(2,11)+Ht,St(Jt(Te+w)+_t+t,Jt(Te+w)+ie),zt(Te+w),qt,St(ll,`partialValues: ${t})`+ze,Ft),nl),F(ce+w+Ie,ce+w+Ie,Ie,qe(2,12),l,l,l,al,nl);const p=I(f+ve,At("valueId?: VId",j+fe+N,Wt),et("a Value"),`<VId extends ${a}>`),b=I(w+ve,At(j+fe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),et(Qe(2,1)));r(1,D,b,p),U(w+dl,"{"+j+", valueComponents, getValueComponentProps"+el+"}: "+b,[ae+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],qe(2,13)+se),S(((e,t,a,n,o)=>{const d="Map"+xt(t,1);r(0,A,d),r(1,A,d);const s=F(o+f,f,t,It(e)+se,l,n);F(Pe+o+f+Ie,Pe+f+Ie,Kt,It(e,9)+Ht,St(Jt(f)+_t+t+" | "+d,Jt(f)+ie),St(n,zt(f)),qt,St(ll,`value: ${t} | ${d})`+ze,Ft),nl),F(ce+o+f+Ie,ce+f+Ie,Ie,It(e,12),l,n,l,al,nl),U(o+f+dl,`{${j}, debugIds}: ${p}<'${e}'>`,[ae+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],It(e,13)+se)})),F(w+s,w+s,Je,qe(2,8)+" changes",rl(n),sl()),F(y+s,y+s,Je,at(10,0,1),rl(d),sl()),F(f+s,f+s,Je,at(11,0),rl($,`valueId: ${a} | null`),sl("valueId"))}return U(Ve,`{${j}, ${j}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+Ve,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${Ve}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),..._(0)),d(...v(1),...x(),..._(1))]},cl=(e,t,a)=>{if(Z(e)&&Z(t))return[l,l,l,l];const[n,o,d,r]=Gt(e,t,a);return[n,o,...Il(e,t,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Z(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=X();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ae(n,a,(()=>[z(o),X(),[0],0])),[r,s,[I]]=d,c=ae(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),le(s,o,c),d[3]++,r==z(o)})))))return t[l]={},q(n,(([e,,[,n],o],s)=>{t[l][s]={[d]:e,...o==R(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Z(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>cl(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 x(a(e),((e,a)=>yt(l(e,{...$l,filepath:"_."+t[a]}))))};return F({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:R(e.getValueIds()),jsonLength:Tt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=il},"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="Tables",n=d+r,i="Row",a=i+r,I="SortedRowIds",c="Cell",w=c+r,R="Value",C="Values",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:V,useContext:L}=s,y=V([]),S=(e,s)=>{const t=L(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),Ve=e=>we(e,K(e.tableId,e.store)),Le=({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=Ve,e.TablesView=({store:e,tableComponent:s=Ve,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=Le,e.ValuesView=({store:e,valueComponent:s=Le,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.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,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.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);