tinybase 4.1.0-beta.2 → 4.1.0-beta.4

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 (244) 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/common.cjs +1 -1
  7. package/lib/cjs/common.cjs.gz +0 -0
  8. package/lib/cjs/indexes.cjs +1 -1
  9. package/lib/cjs/indexes.cjs.gz +0 -0
  10. package/lib/cjs/metrics.cjs +1 -1
  11. package/lib/cjs/metrics.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  13. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-file.cjs +1 -1
  17. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  19. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  21. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  23. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  24. package/lib/cjs/queries.cjs +1 -1
  25. package/lib/cjs/queries.cjs.gz +0 -0
  26. package/lib/cjs/relationships.cjs +1 -1
  27. package/lib/cjs/relationships.cjs.gz +0 -0
  28. package/lib/cjs/store.cjs +1 -1
  29. package/lib/cjs/store.cjs.gz +0 -0
  30. package/lib/cjs/tinybase.cjs +1 -1
  31. package/lib/cjs/tinybase.cjs.gz +0 -0
  32. package/lib/cjs/tools.cjs +1 -1
  33. package/lib/cjs/tools.cjs.gz +0 -0
  34. package/lib/cjs/ui-react-dom-debug.cjs +1 -0
  35. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  36. package/lib/cjs/ui-react-dom.cjs +1 -1
  37. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  38. package/lib/cjs/ui-react.cjs +1 -1
  39. package/lib/cjs/ui-react.cjs.gz +0 -0
  40. package/lib/cjs-es6/checkpoints.cjs +1 -1
  41. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  42. package/lib/cjs-es6/common.cjs +1 -1
  43. package/lib/cjs-es6/common.cjs.gz +0 -0
  44. package/lib/cjs-es6/indexes.cjs +1 -1
  45. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  46. package/lib/cjs-es6/metrics.cjs +1 -1
  47. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  48. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  49. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  50. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  51. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  52. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  53. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  54. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  55. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  56. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  57. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  58. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  59. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  60. package/lib/cjs-es6/queries.cjs +1 -1
  61. package/lib/cjs-es6/queries.cjs.gz +0 -0
  62. package/lib/cjs-es6/relationships.cjs +1 -1
  63. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  64. package/lib/cjs-es6/store.cjs +1 -1
  65. package/lib/cjs-es6/store.cjs.gz +0 -0
  66. package/lib/cjs-es6/tinybase.cjs +1 -1
  67. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  68. package/lib/cjs-es6/tools.cjs +1 -1
  69. package/lib/cjs-es6/tools.cjs.gz +0 -0
  70. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -0
  71. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  72. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  73. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  74. package/lib/cjs-es6/ui-react.cjs +1 -1
  75. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  76. package/lib/common.js +1 -1
  77. package/lib/common.js.gz +0 -0
  78. package/lib/debug/checkpoints.js +7 -7
  79. package/lib/debug/common.js +2 -1
  80. package/lib/debug/indexes.js +10 -9
  81. package/lib/debug/metrics.js +13 -13
  82. package/lib/debug/persisters/persister-browser.js +10 -19
  83. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -15
  84. package/lib/debug/persisters/persister-file.js +10 -19
  85. package/lib/debug/persisters/persister-remote.js +10 -19
  86. package/lib/debug/persisters/persister-sqlite-wasm.js +6 -15
  87. package/lib/debug/persisters/persister-sqlite3.js +6 -15
  88. package/lib/debug/persisters.js +4 -4
  89. package/lib/debug/queries.js +3 -1
  90. package/lib/debug/relationships.js +8 -8
  91. package/lib/debug/store.js +48 -30
  92. package/lib/debug/tinybase.js +53 -34
  93. package/lib/debug/tools.js +14 -13
  94. package/lib/debug/ui-react-dom.js +2269 -72
  95. package/lib/debug/ui-react.js +89 -29
  96. package/lib/es6/checkpoints.js +1 -1
  97. package/lib/es6/checkpoints.js.gz +0 -0
  98. package/lib/es6/common.js +1 -1
  99. package/lib/es6/common.js.gz +0 -0
  100. package/lib/es6/indexes.js +1 -1
  101. package/lib/es6/indexes.js.gz +0 -0
  102. package/lib/es6/metrics.js +1 -1
  103. package/lib/es6/metrics.js.gz +0 -0
  104. package/lib/es6/persisters/persister-browser.js +1 -1
  105. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  106. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  107. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  108. package/lib/es6/persisters/persister-file.js +1 -1
  109. package/lib/es6/persisters/persister-file.js.gz +0 -0
  110. package/lib/es6/persisters/persister-remote.js +1 -1
  111. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  112. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  113. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  114. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  115. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  116. package/lib/es6/queries.js +1 -1
  117. package/lib/es6/queries.js.gz +0 -0
  118. package/lib/es6/relationships.js +1 -1
  119. package/lib/es6/relationships.js.gz +0 -0
  120. package/lib/es6/store.js +1 -1
  121. package/lib/es6/store.js.gz +0 -0
  122. package/lib/es6/tinybase.js +1 -1
  123. package/lib/es6/tinybase.js.gz +0 -0
  124. package/lib/es6/tools.js +1 -1
  125. package/lib/es6/tools.js.gz +0 -0
  126. package/lib/es6/ui-react-dom-debug.js +1 -0
  127. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  128. package/lib/es6/ui-react-dom.js +1 -1
  129. package/lib/es6/ui-react-dom.js.gz +0 -0
  130. package/lib/es6/ui-react.js +1 -1
  131. package/lib/es6/ui-react.js.gz +0 -0
  132. package/lib/indexes.js +1 -1
  133. package/lib/indexes.js.gz +0 -0
  134. package/lib/metrics.js +1 -1
  135. package/lib/metrics.js.gz +0 -0
  136. package/lib/persisters/persister-browser.js +1 -1
  137. package/lib/persisters/persister-browser.js.gz +0 -0
  138. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  139. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  140. package/lib/persisters/persister-file.js +1 -1
  141. package/lib/persisters/persister-file.js.gz +0 -0
  142. package/lib/persisters/persister-remote.js +1 -1
  143. package/lib/persisters/persister-remote.js.gz +0 -0
  144. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  145. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  146. package/lib/persisters/persister-sqlite3.js +1 -1
  147. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  148. package/lib/queries.js +1 -1
  149. package/lib/queries.js.gz +0 -0
  150. package/lib/relationships.js +1 -1
  151. package/lib/relationships.js.gz +0 -0
  152. package/lib/store.js +1 -1
  153. package/lib/store.js.gz +0 -0
  154. package/lib/tinybase.js +1 -1
  155. package/lib/tinybase.js.gz +0 -0
  156. package/lib/tools.js +1 -1
  157. package/lib/tools.js.gz +0 -0
  158. package/lib/types/queries.d.ts +304 -19
  159. package/lib/types/store.d.ts +155 -0
  160. package/lib/types/ui-react-dom.d.ts +402 -16
  161. package/lib/types/ui-react.d.ts +532 -1
  162. package/lib/types/with-schemas/internal/ui-react.d.ts +24 -14
  163. package/lib/types/with-schemas/queries.d.ts +338 -21
  164. package/lib/types/with-schemas/store.d.ts +188 -0
  165. package/lib/types/with-schemas/ui-react-dom.d.ts +435 -24
  166. package/lib/types/with-schemas/ui-react.d.ts +576 -2
  167. package/lib/ui-react-dom.js +1 -1
  168. package/lib/ui-react-dom.js.gz +0 -0
  169. package/lib/ui-react.js +1 -1
  170. package/lib/ui-react.js.gz +0 -0
  171. package/lib/umd/checkpoints.js +1 -1
  172. package/lib/umd/checkpoints.js.gz +0 -0
  173. package/lib/umd/common.js +1 -1
  174. package/lib/umd/common.js.gz +0 -0
  175. package/lib/umd/indexes.js +1 -1
  176. package/lib/umd/indexes.js.gz +0 -0
  177. package/lib/umd/metrics.js +1 -1
  178. package/lib/umd/metrics.js.gz +0 -0
  179. package/lib/umd/persisters/persister-browser.js +1 -1
  180. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  181. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  182. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  183. package/lib/umd/persisters/persister-file.js +1 -1
  184. package/lib/umd/persisters/persister-file.js.gz +0 -0
  185. package/lib/umd/persisters/persister-remote.js +1 -1
  186. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  187. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  188. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  189. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  190. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  191. package/lib/umd/queries.js +1 -1
  192. package/lib/umd/queries.js.gz +0 -0
  193. package/lib/umd/relationships.js +1 -1
  194. package/lib/umd/relationships.js.gz +0 -0
  195. package/lib/umd/store.js +1 -1
  196. package/lib/umd/store.js.gz +0 -0
  197. package/lib/umd/tinybase.js +1 -1
  198. package/lib/umd/tinybase.js.gz +0 -0
  199. package/lib/umd/tools.js +1 -1
  200. package/lib/umd/tools.js.gz +0 -0
  201. package/lib/umd/ui-react-dom-debug.js +1 -0
  202. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  203. package/lib/umd/ui-react-dom.js +1 -1
  204. package/lib/umd/ui-react-dom.js.gz +0 -0
  205. package/lib/umd/ui-react.js +1 -1
  206. package/lib/umd/ui-react.js.gz +0 -0
  207. package/lib/umd-es6/checkpoints.js +1 -1
  208. package/lib/umd-es6/checkpoints.js.gz +0 -0
  209. package/lib/umd-es6/common.js +1 -1
  210. package/lib/umd-es6/common.js.gz +0 -0
  211. package/lib/umd-es6/indexes.js +1 -1
  212. package/lib/umd-es6/indexes.js.gz +0 -0
  213. package/lib/umd-es6/metrics.js +1 -1
  214. package/lib/umd-es6/metrics.js.gz +0 -0
  215. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  216. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  217. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  218. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  219. package/lib/umd-es6/persisters/persister-file.js +1 -1
  220. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  221. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  222. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  223. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  224. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  225. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  226. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  227. package/lib/umd-es6/queries.js +1 -1
  228. package/lib/umd-es6/queries.js.gz +0 -0
  229. package/lib/umd-es6/relationships.js +1 -1
  230. package/lib/umd-es6/relationships.js.gz +0 -0
  231. package/lib/umd-es6/store.js +1 -1
  232. package/lib/umd-es6/store.js.gz +0 -0
  233. package/lib/umd-es6/tinybase.js +1 -1
  234. package/lib/umd-es6/tinybase.js.gz +0 -0
  235. package/lib/umd-es6/tools.js +1 -1
  236. package/lib/umd-es6/tools.js.gz +0 -0
  237. package/lib/umd-es6/ui-react-dom-debug.js +1 -0
  238. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  239. package/lib/umd-es6/ui-react-dom.js +1 -1
  240. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  241. package/lib/umd-es6/ui-react.js +1 -1
  242. package/lib/umd-es6/ui-react.js.gz +0 -0
  243. package/package.json +18 -17
  244. package/readme.md +3 -3
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,S="Sorted"+L+u,v="Cell",R=v+u,I="Value",T=I+"s",p=I+u,C=e=>t+e,y=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),x=(e,t)=>e.sort(t),E=(e,t)=>e.forEach(t),k=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,j=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>k(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Se=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),ve=(e,t,s)=>(le(e,t)||Se(e,t,s()),Le(e,t)),Re=(e,t,s,n=Se)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),oe),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},ye=e=>Ce(e,Ce),be=e=>Ce(e,ye),Ve=(e,t,s,n,a=0)=>G((s?ve:Le)(e,t[a],a>D(t)-2?s:ge),(o=>{if(a>D(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Se(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},xe=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,ke);return E(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{E(J(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Se(i,t)})),u=(e,s)=>{Se(a,e,s),le(o,e)||(Se(o,e,t()),Se(r,e,ge()),Se(l,e,ge()))},h=e=>{Se(a,e),Se(o,e),Se(r,e),Se(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>Se(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||Se(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Se(f,t,s)}},v=e=>{o((()=>{ue(g,(([,e],t)=>Se(L,t,e))),ue(f,((e,t)=>Se(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,S),e.hasTable(a)&&E(e.getRowIds(a),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>v())))},h,()=>we(i,h),c,d]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),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 s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&D(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):E([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Se(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=D(r);l==D(t)?e(s,...r,...a(r)):q(t[l])?E(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>P)),f=ge(),L=ge(),w=[],S=[],v=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{Se(f,e),Se(L,e),h(d,[e])},I=(e,t)=>E(((e,t)=>e.splice(0,t))(e,t??D(e)),R),T=()=>I(w,D(w)-o),p=()=>G(s,(()=>{Q(w,s),T(),I(S),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){p();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Se(l,n))&&ie(Se(e,s))&&ie(Se(r,t))&&C(),M()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){p();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Se(l,t))&&C(),M()}})),m=(e="")=>(q(s)&&(s=t+n++,Se(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),x=()=>{J(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,s),s=z(w),a=1)},k=()=>{J(S)||(Q(w,s),s=N(S),v(1,s),a=1)},M=()=>{a&&(h(c),a=0)},A=e=>{const t=m(e);return M(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(Se(L,e,t),h(d,[e])),P),O=e=>le(f,e),P={setSize:e=>(o=e,T(),P),addCheckpoint:A,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...S]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(x(),M(),P),goForward:()=>(k(),M(),P),goTo:e=>{const t=y(w,e)?x:y(S,e)?k:null;for(;!q(t)&&e!=s;)t();return M(),P},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),P),clear:()=>(I(w),I(S),q(s)||R(s),s=void 0,n=0,A(),P),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(P.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=De(e,ge,(e=>q(e)?t:U(e)?k(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=ke(),S=ke(),v=c(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),G(Le(v,e),(t=>{he(t,s),ie(t)&&(Se(v,e),f=1)}))})),ue(a,(e=>{Me(w,e),le(v,e)||(Se(v,e,ke()),f=1),Me(Le(v,e),s),q(o)||Me(S,e)}))})),t(),ie(h)||(g?we(v,(e=>Me(S,e))):we(r,(e=>G(Le(u,e),(e=>Me(S,e))))),ue(S,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(v,e)];m(s,t)||(Se(v,e,ke(x(s,t))),Me(w,e))}))),(f||g)&&!q(i)){const t=[...v];m(t,i)||(d(e,ge(x(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Je(a),G(o,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ee(v)})),je=ge([["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=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(je,n)??Le(je,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Je(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=Ae((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,I,T]=De(e,(()=>!0),X),p=s(),C=s(),y=ge(),V=(e,t,...s)=>E(s,(s=>Me(ve(ve(y,t,ge),e,ke),s))),m=e=>{G(Le(y,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),E([C,p],(t=>t.delTable(e)))},x=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[D(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return k;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=p;if(ie(g)&&J(c))f=C;else{x(s,f,C);const e=ge();we(g,((t,[s,n])=>Me(ve(e,s,ke),[t,n])));const t=ke();we(d,(s=>le(e,s)?0:Me(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=ve(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=ke([[l,i]]),o=re(n);Se(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Se(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}x(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);E(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||T(s,u),Se(l,t,q(c)?null:[c,...I(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>xe(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>I(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{T(s,t),Se(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),g(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(C.delListener(e),k),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[h+R]:[0,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{E(e?["get","has","forEach"]:["get"],(e=>k[e+c+s]=(...t)=>C[e+s](...t))),k[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](k,...n)))})),ee(k)})),qe=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,S]=ze((()=>T)),v=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(d(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Se(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),I=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Se(s,e,r),h(e,t,((t,s)=>{const r=ke(),l=ke(),i=ke(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(Me(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&Se(d,t)}))),q(s)||(Me(l,s),le(d,s)||Se(d,s,ke()),Me(Le(d,s),n)),Me(r,n),Se(c,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Je(l)),T),delRelationshipDefinition:e=>(Se(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(R(...S(e)),T),destroy:f,getListenerStats:()=>({})};return ee(T)})),Ge=e=>[e,e],He=()=>[ge(),ge()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ye=(e,t,s)=>Se(e,t,Le(e,t)==-s?void 0:s),Ze=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),S=ge(),b=ge(),m=ge(),M=ge(),D=ge(),J=ge(),A=ge(),z=ge(),N=ge(),j=ge(),W=ge(),B=ke(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=He(),_=He(),te=He(),re=He(),ce=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),Pe=He(),je=He(),We=He(),Be=ge(),$e=He(),[qe,_e,et,tt]=ze((()=>fs)),st=e=>{if(!Xe(e,((e,t)=>y([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||Jt(s))&&Xe(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Xe(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?Jt(t,s,n,a,e[l]):a),(()=>Jt(t,s,n,a))):q(me(a))?Jt(t,s,n,a):a,rt=(e,t)=>Xe(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?G(Le(j,e),(t=>me(s)!=t[r]?At(e,s,t[l]):s),(()=>At(e,s))):q(me(s))?At(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||At(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=ke();Re(ve(z,t,ge),s,((e,t,s)=>{Se(e,t,s),G(s[l],(e=>Se(n,t,e)),(()=>Me(a,t)))})),Se(N,t,[n,a])}),((e,t)=>{Se(z,t),Se(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Se(j,t,s),G(s[l],(e=>Se(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{Se(j,t),Se(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Se($,e,Qe()),Se(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>yt(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(xt(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||Et(e,t,n,1);const o=Le(s,n);a!==o&&(kt(e,t,n,o,a),Se(s,n,a))},St=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),vt=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>It(t,s)),((e,t)=>Vt(t))),It=(e,t)=>{le(Y,e)||Mt(e,1);const s=Le(Y,e);t!==s&&(Dt(e,s,t),Se(Y,e,t))},Tt=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?Tt(e,t):n},pt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),yt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{kt(e,s,t,Le(n,t)),Et(e,s,t,-1),Se(n,t)};q(r)?l(a):we(n,l),ie(n)&&(xt(e,s,-1),ie(Se(t,s))&&(mt(e,-1),Se(X,e),Se($,e),Se(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return It(e,t);Dt(e,Le(Y,e)),Mt(e,-1),Se(Y,e)},mt=(e,t)=>Ye(c,e,t),xt=(e,t,s)=>Ye(ve(S,e,ge),t,s),Et=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ye(ve(u,e,ge),s,n),Se(a,s,o!=-n?o+n:null),Ye(ve(ve(b,e,ge),t,ge),s,n)},kt=(e,t,s,n,a)=>ve(ve(ve(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Mt=(e,t)=>Ye(M,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(Q(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(Q(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e,t,s))])),Qt=e=>G(Le(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(_t(e))])),zt=e=>ie(J)||ie(Fe[e])?0:ue(e?be(J):J,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>_e(Fe[e],[s,n,a],t))))))),Nt=e=>ie(A)||ie(Ne[e])?0:ue(e?Ce(A):A,((t,s)=>_e(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return _e(e,s,(()=>Ie(t))),1},Pt=e=>{const t=ie(Ve[e]),s=ie(Je[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(Ae[e])&&ie(De[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),ye(u),ye(S),be(b),be(m)]:[c,u,S,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=ke();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(_e(Ve[e],[a,null]),Me(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=ke();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?Me(s,a):he(e,a))))),ue(s,(t=>_e(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Je[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(_e(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&_e(De[e],[n,o],Ft)})),a&&_e(te[e],[n],Ft)})),t&&_e(Z[e],void 0,Ft)}}},jt=e=>{const t=ie(je[e]),s=ie(We[e])&&ie(Pe[e]);if(!t||!s){const n=e?[Ce(M),Ce(D)]:[M,D];if(t||Ot(je[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(_e(We[e],[a],n,s,Qt),t=1)})),t&&_e(Pe[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...k(t,C)))),fs),Bt=()=>[Ie(m,((e,t)=>-1===Le(c,t)?null:Ie(e,((e,s)=>-1===Le(Le(S,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),oe)),oe),Ie(D,(([,e])=>e??null),((e,t)=>Ue(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(m,Ke,Ue),invalidCells:pe(J),changedValues:Ie(D,Ke,Ue),invalidValues:Ie(A),changedTableIds:Ie(c),changedRowIds:Te(S),changedCellIds:pe(b),changedValueIds:Ie(M)}),qt=()=>pe(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return k(F(x((o=Le(X,C(e)),r=(e,s)=>[q(t)?s:Le(e,C(t)),s],k([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Xe(e,nt,Jt))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(P(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Xe(t,(e=>Xe(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Xe(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?Ct(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?yt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&_e(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(D),o=1,zt(1),s&&Pt(1),Nt(1),n&&jt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(fs,t,s,n,e))))))),ue(D,(([e],t)=>Ee(fs,t,e))),s=n=!1),_e($e[0],void 0,Bt,$t),o=-1,zt(0),s&&Pt(0),Nt(0),n&&jt(0),_e($e[1],void 0,Bt,$t),o=0,s=n=!1,E([c,u,S,b,m,J,M,D,A],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Te(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,C(e)),hasTableCell:(e,t)=>le(Le(U,C(e)),C(t)),hasRow:(e,t)=>le(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>le(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([z,j]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,pt(e),n=Tt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=pt(e);ae(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>St(e,pt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>xe(fs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{vt(P(e))}catch{}return fs},setJson:e=>{try{const[t,s]=P(e);ht(t),vt(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:Ze};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,De,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>Ge(Xt(...e))],InvalidCell:[3,Fe],[T]:[0,Pe],[p]:[0,je],[I]:[1,We,[Zt],e=>Ge(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=$e,exports.createRelationships=qe,exports.createStore=Ze,exports.defaultSorter=Oe;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,w="Row",L=w+"Count",S=w+u,R="Sorted"+w+u,v="Cell",I=v+u,T="Value",C=T+"s",p=T+u,y=e=>t+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,x=e=>null==e,k=(e,t,s)=>x(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>B(e)===B(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>q(e,((e,t)=>e+t),0),B=e=>e.length,$=e=>0==B(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!x(((e,t)=>k(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>j(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>B(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>x(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),we=(e,t)=>de(e,((e,s)=>t(s,e))),Le=(e,t,s)=>x(s)?(ue(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||Le(e,t,s()),fe(e,t)),Re=(e,t,s,n=Le)=>(ne(t,((t,n)=>s(e,n,t))),we(e,(s=>te(t,s)?0:n(e,s))),e),ve=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Ie=(e,t,s)=>ve(e,(e=>ve(e,t,s)),ae),Te=(e,t,s)=>ve(e,(e=>Ie(e,t,s)),ae),Ce=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),ye=e=>Ce(e,pe),be=(e,t,s,n,a=0)=>k((s?Se:fe)(e,t[a],a>B(t)-2?s:he),(o=>{if(a>B(t)-2)return n?.(o)&&Le(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&Le(e,t[a]),r})),Ve=t=>{const s=e(t);return M(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>x(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>x(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(J(e)||x(e)?e:[e]),ke=(e,t)=>e?.add(t),Me=(e,t,s)=>{const n=e.hasRow,a=he(),o=he(),r=he(),l=he(),i=he(),c=(t,s,...n)=>{const a=Se(i,t,xe);return P(n,(t=>ke(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>k(fe(i,t),(n=>{P($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&Le(i,t)})),u=(e,s)=>{Le(a,e,s),re(o,e)||(Le(o,e,t()),Le(r,e,he()),Le(l,e,he()))},h=e=>{Le(a,e),Le(o,e),Le(r,e),Le(l,e),d(e)};return[()=>e,()=>ge(a),e=>we(o,e),e=>re(o,e),e=>fe(a,e),e=>fe(o,e),(e,t)=>Le(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=he(),f=he(),w=fe(r,t),L=fe(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=fe(w,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||J(r)&&J(l)&&z(r,l)||Le(g,t,[r,l]),!x(h)){const e=fe(L,t),s=n(a,t)?h(o,t):void 0;e!=s&&Le(f,t,s)}},R=e=>{o((()=>{de(g,(([,e],t)=>Le(w,t,e))),de(f,((e,t)=>Le(L,t,e)))}),g,f,w,L,e),ce(g),ce(f)};we(w,S),e.hasTable(a)&&P(e.getRowIds(a),(e=>{re(w,e)||S(e)})),R(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>R())))},h,()=>we(i,h),c,d]},De=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Je=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Ae=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Ae.test(t)&&B(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Le(o,d,[a,r,l,i,c]),ke(be(r,l??[t],xe),d),d},(e,n,...a)=>P(((e,s=[t])=>{const n=[],a=(e,t)=>t==B(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):P([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>k(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),Le(o,e),a(e),n))),e=>k(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=B(r);l==B(t)?e(s,...r,...a(r)):x(t[l])?P(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Je((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>Q)),f=he(),w=he(),L=[],S=[],R=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{Le(f,e),Le(w,e),h(d,[e])},I=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??B(e)),v),T=()=>I(L,B(L)-o),C=()=>k(s,(()=>{H(L,s),T(),I(S),s=void 0,a=1})),p=()=>{s=K(L),a=1},y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){C();const e=Se(r,t,he),l=Se(e,s,he),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(Le(l,n))&&le(Le(e,s))&&le(Le(r,t))&&p(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){C();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Le(l,t))&&p(),M()}})),V=(e="")=>(x(s)&&(s=t+n++,Le(f,s,[r,l]),J(s,e),r=he(),l=he(),a=1),s),m=()=>{$(L)||(((e,...t)=>{e.unshift(...t)})(S,V()),R(0,s),s=K(L),a=1)},E=()=>{$(S)||(H(L,s),s=U(S),R(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&fe(w,e)!==t&&(Le(w,e,t),h(d,[e])),Q),A=e=>re(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...L],s,[...S]],forEachCheckpoint:e=>we(w,e),hasCheckpoint:A,getCheckpoint:e=>fe(w,e),goBackward:()=>(m(),M(),Q),goForward:()=>(E(),M(),Q),goTo:e=>{const t=F(L,e)?m:F(S,e)?E:null;for(;!x(t)&&e!=s;)t();return M(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(I(L),I(S),x(s)||v(s),s=void 0,n=0,D(),Q),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Je((e=>{const s=he(),n=he(),[a,o,r,l,i,c,d,,u,h,g]=Me(e,he,(e=>x(e)?t:J(e)?j(e,y):y(e))),[f,w,L]=Qe((()=>R)),S=(t,s,n)=>{const a=i(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,o,r,l=Ne)=>{const i=x(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const L=xe(),S=xe(),R=c(e);if(de(a,(([e,t],s)=>{const n=xe(e),a=xe(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{ke(L,e),k(fe(R,e),(t=>{ue(t,s),le(t)&&(Le(R,e),f=1)}))})),de(a,(e=>{ke(L,e),re(R,e)||(Le(R,e,xe()),f=1),ke(fe(R,e),s),x(o)||ke(S,e)}))})),t(),le(h)||(g?we(R,(e=>ke(S,e))):we(r,(e=>k(fe(u,e),(e=>ke(S,e))))),de(S,(e=>{const t=(t,s)=>l(fe(h,t),fe(h,s),e),s=[...fe(R,e)];N(s,t)||(Le(R,e,xe(O(s,t))),ke(L,e))}))),(f||g)&&!x(i)){const t=[...R];N(t,i)||(d(e,he(O(t,i))),f=1)}f&&w(s,[e]),de(L,(t=>w(n,[e,t])))}),De(a),k(o,De)),R},delIndexDefinition:e=>(h(e),R),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>re(c(e),t),getTableId:i,getSliceIds:e=>ge(c(e)),getSliceRowIds:(e,t)=>ie(fe(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(L(e),R),destroy:g,getListenerStats:()=>({})};return _(R)})),Pe=he([["avg",[(e,t)=>W(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),je=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=x(e),de(n,(([s,n])=>{o||(e=x(s)?l?.(e,n,t++):x(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=x(e))})),o?r(ie(s),oe(s)):e},We=Je((e=>{const s=he(),[n,a,o,r,l,i,c,,d,u,h]=Me(e,A,(e=>isNaN(e)||x(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,w]=Qe((()=>L)),L={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=D(n)?[n,o,r,l]:fe(Pe,n)??fe(Pe,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=oe(o);l||=x(d),t();let g=je(d,h,o,n,u,l);m(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),De(a,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(w(e),L),destroy:h,getListenerStats:()=>({})};return _(L)})),Be=Je((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,T,C]=Me(e,(()=>!0),A),p=s(),y=s(),b=he(),V=(e,t,...s)=>P(s,(s=>ke(Se(Se(b,t,he),e,xe),s))),m=e=>{k(fe(b,e),(e=>{we(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),P([y,p],(t=>t.delTable(e)))},E=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),M={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],he()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=D(e)?[B(o)+t,e]:[x(s)?e:s,t=>t(e,s)];return H(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=x(s)||D(t)?null:t,a=x(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],he()]];return H(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(l,D(e)?e:x(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:fe(Pe,t)??[(e,t)=>t]]];return H(i,o),{as:e=>o[0]=e}},having:(e,t)=>H(c,D(e)?e:s=>s(e)===t)});const d=he(o);if(le(d))return M;const h=he(r);we(h,((e,[,t])=>k(fe(h,t),(({3:t})=>x(e)?0:H(t,e)))));const g=he(i);let f=p;if(le(g)&&$(c))f=y;else{E(s,f,y);const e=he();we(g,((t,[s,n])=>ke(Se(e,s,xe),[t,n])));const t=xe();we(d,(s=>re(e,s)?0:ke(t,s)));const n=he(),a=(t,n,a,o)=>k(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=Se(r,t,he),l=fe(n,a),i=o?void 0:s;if(l!==i){const s=xe([[l,i]]),o=oe(n);Le(n,a,i),de(fe(e,t),(([e,t])=>{const a=je(d[e],o,n,s,t);d[e]=x(Ve(a))?null:a}))}})),le(l)||!Q(c,(e=>e((e=>d[e]))))?y.delRow(s,i):x(i)?t[2]=y.addRow(s,d):y.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=he(),h=f.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Le(u,e,[n])})),g&&a(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&a(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=f.getCell(s,l,t))),[he(),xe(),void 0,e]}),(([,e])=>{ke(e,l)})),u,l)})))}E(s,e,f);const w=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);P(r,(n=>{const[a,,o,r,l]=fe(h,n),c=o?.(i,t),[d,u]=fe(l,t)??[];c!=d&&(x(u)||C(s,u),Le(l,t,x(c)?null:[c,...T(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...x(a)?[n,t,s]:s===n?[n,t,a]:[fe(h,s)?.[0],fe(fe(h,s)?.[4],t)?.[0],a]);f.transaction((()=>Q(l,(e=>e(a)))?we(d,((e,n)=>me(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:L}=fe(h,null);return f.transaction((()=>T(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?w(o,n,o,L):(f.delRow(s,o),de(h,(({4:e})=>k(fe(e,o),(([,t])=>{C(s,t),Le(e,o)})))))}))))),M},delQueryDefinition:e=>(m(e),g(e),M),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(y.delListener(e),M),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return ne({[h]:[1,1],[h+I]:[0,1],[L]:[0,1],[S]:[0,1],[R]:[0,5],[w]:[1,2],[I]:[0,2],[v]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>M[e+c+s]=(...t)=>y[e+s](...t))),M[d+c+s+i]=(...e)=>y[d+s+i](...G(e,0,t),((s,...n)=>e[t](M,...n)))})),_(M)})),$e=Je((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i,c,d,u,,,h,g,f]=Me(e,(()=>[he(),he(),he(),he()]),(e=>x(e)?void 0:e+t)),[w,L,S]=Qe((()=>T)),R=(e,t,s)=>k(u(e),(([n,,a])=>{if(!re(a,t)){const o=xe();if(d(e)!=I(e))ke(o,t);else{let e=t;for(;!x(e)&&!re(o,e);)ke(o,e),e=fe(n,e)}if(s)return o;Le(a,t,o)}return fe(a,t)})),v=(e,t)=>k(u(e),(([,,e])=>Le(e,t))),I=e=>fe(s,e),T={setRelationshipDefinition:(e,t,r,l)=>(Le(s,e,r),h(e,t,((t,s)=>{const r=xe(),l=xe(),i=xe(),[c,d]=u(e);de(s,(([t,s],n)=>{x(t)||(ke(l,t),k(fe(d,t),(e=>{ue(e,n),le(e)&&Le(d,t)}))),x(s)||(ke(l,s),re(d,s)||Le(d,s,xe()),ke(fe(d,s),n)),ke(r,n),Le(c,n,s),we(fe(o,e),(t=>{re(R(e,t),n)&&ke(i,t)}))})),t(),de(r,(t=>L(n,[e,t]))),de(l,(t=>L(a,[e,t]))),de(i,(t=>{v(e,t),L(o,[e,t])}))}),De(l)),T),delRelationshipDefinition:e=>(Le(s,e),g(e),T),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>fe(u(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>x(u(e))?[t]:ie(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>w(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,o,[e,t])),delListener:e=>(v(...S(e)),T),destroy:f,getListenerStats:()=>({})};return _(T)})),qe=e=>[e,e],Ge=()=>[he(),he()],He=e=>[...e],Ke=([e,t])=>e===t,Ue=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),Xe=JSON.parse,Ye=(e,t,s)=>x(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),Ze=(e,t,s)=>Le(e,t,fe(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),R=he(),b=he(),V=he(),m=he(),E=he(),J=he(),A=he(),Q=he(),N=he(),W=he(),B=he(),$=he(),q=xe(),K=he(),U=he(),X=he(),Y=he(),Z=Ge(),ee=Ge(),ie=Ge(),be=Ge(),Me=Ge(),De=Ge(),Je=Ge(),Ae=Ge(),ze=Ge(),Oe=Ge(),Pe=Ge(),je=Ge(),We=Ge(),Be=Ge(),$e=Ge(),et=he(),tt=Ge(),[st,nt,at,ot]=Qe((()=>vs)),rt=e=>{if(!Ye(e,((e,t)=>F([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(N,s)||zt(s))&&Ye(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>Ye(n?s:ht(s,e,t),((n,a)=>k(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?k(fe(fe(N,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):x(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>Ye(t?e:gt(e),((t,s)=>k(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?k(fe(B,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):x(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(k(fe(W,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de($,((t,s)=>{te(e,s)||(e[s]=t)})),de(q,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Re(N,e,((e,t,s)=>{const n=he(),a=xe();Re(Se(N,t,he),s,((e,t,s)=>{Le(e,t,s),k(s[l],(e=>Le(n,t,e)),(()=>ke(a,t)))})),Le(W,t,[n,a])}),((e,t)=>{Le(N,t),Le(W,t)})),wt=e=>Re(B,e,((e,t,s)=>{Le(B,t,s),k(s[l],(e=>Le($,t,e)),(()=>ke(q,t)))}),((e,t)=>{Le(B,t),Le($,t),ue(q,t)})),Lt=e=>ae(e)?ds():os(e),St=e=>Re(X,e,((e,t,s)=>Rt(t,s)),((e,t)=>mt(t))),Rt=(e,t)=>Re(Se(X,e,(()=>(Mt(e,1),Le(K,e,Fe()),Le(U,e,he()),he()))),t,((t,s,n)=>vt(e,t,s,n)),((t,s)=>Et(e,t,s))),vt=(e,t,s,n,a)=>Re(Se(t,s,(()=>(Dt(e,s,1),he()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,o)=>xt(e,t,s,n,o,a))),It=(e,t,s,n,a)=>{re(s,n)||Jt(e,t,n,1);const o=fe(s,n);a!==o&&(At(e,t,n,o,a),Le(s,n,a))},Tt=(e,t,s,n,a)=>k(fe(t,s),(t=>It(e,s,t,n,a)),(()=>vt(e,t,s,ht({[n]:a},e,s)))),Ct=e=>ae(e)?gs():rs(e),pt=e=>Re(Y,e,((e,t,s)=>yt(t,s)),((e,t)=>kt(t))),yt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),Le(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??Rt(e,{}),mt=e=>Rt(e,{}),Et=(e,t,s)=>{const[,n]=fe(K,e);n(s),vt(e,t,s,{},!0)},xt=(e,t,s,n,a,o)=>{const r=fe(fe(W,e)?.[0],a);if(!x(r)&&!o)return It(e,s,n,a,r);const l=t=>{At(e,s,t,fe(n,t)),Jt(e,s,t,-1),Le(n,t)};x(r)?l(a):we(n,l),le(n)&&(Dt(e,s,-1),le(Le(t,s))&&(Mt(e,-1),Le(X,e),Le(K,e),Le(U,e)))},kt=e=>{const t=fe($,e);if(!x(t))return yt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),Le(Y,e)},Mt=(e,t)=>Ze(c,e,t),Dt=(e,t,s)=>Ze(Se(b,e,he),t,s)&&Le(R,e,Se(R,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(u,e,he),s,n),Le(a,s,o!=-n?o+n:null),Ze(Se(Se(V,e,he),t,he),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>Ze(E,e,t),Qt=(e,t,s)=>Se(J,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Se(Se(Se(A,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Se(Q,e,(()=>[])),t),s),Ot=(e,t,s)=>k(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(ts(e,t,s))])),Pt=e=>k(fe(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...qe(as(e))])),jt=e=>le(A)||le(Pe[e])?0:de(e?ye(A):A,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(Pe[e],[s,n,a],t))))))),Wt=e=>le(Q)||le(je[e])?0:de(e?Ce(Q):Q,((t,s)=>nt(je[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>ve(t))),1},$t=e=>{const t=le(Je[e]),s=le(ze[e])&&le(be[e])&&le(Me[e])&&le(De[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(Ae[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(c),pe(u),Ce(R),pe(b),ye(V),ye(m)]:[c,u,R,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(Me[e],[s],Yt(s))}));const s=xe();de(a[3],((n,a)=>{Bt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),ke(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=xe();de(t,(e=>de(e,(([t,n],a)=>n!==t?ke(s,a):ue(e,a))))),de(s,(t=>nt(Je[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(Ae[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[Ce(E),Ce(J)]:[E,J];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Pt),t=1)})),t&&nt(We[e],void 0,Pt)}}},Gt=(e,...t)=>(Ls((()=>e(...j(t,y)))),vs),Ht=()=>[ve(m,((e,t)=>-1===fe(c,t)?null:ve(e,((e,s)=>-1===fe(fe(b,t),s)?null:ve(e,(([,e])=>e??null),((e,t)=>Ke(t)))),ae)),ae),ve(J,(([,e])=>e??null),((e,t)=>Ke(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,He,Ke),invalidCells:Te(A),changedValues:ve(J,He,Ke),invalidValues:ve(Q),changedTableIds:ve(c),changedRowIds:Ie(b),changedCellIds:Te(V),changedValueIds:ve(E)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,y(e))),Zt=e=>ge(fe(X,y(e))),_t=(e,t,s,n=0,a)=>{return j(G(O((o=fe(X,y(e)),r=(e,s)=>[x(t)?s:fe(e,y(t)),s],j([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,x(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,y(e)),y(t))),ts=(e,t,s)=>fe(fe(fe(X,y(e)),y(t)),y(s)),ss=()=>ve(Y),ns=()=>ge(Y),as=e=>fe(Y,y(e)),os=e=>Gt((()=>(e=>Ye(e,lt,zt))(e)?St(e):0)),rs=e=>Gt((()=>dt(e)?pt(e):0)),ls=e=>{try{Lt(Xe(e))}catch{}return vs},is=t=>Gt((()=>{if((e=Ye(t,(e=>Ye(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>Ye(e,rt))(e)){const s=ss();ws(),gs(),t=!0,wt(e),rs(s)}})),ds=()=>Gt((()=>St({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>k(fe(X,e),(s=>re(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>pt({}))),fs=()=>Gt((()=>{ft({}),e=!1})),ws=()=>Gt((()=>{wt({}),t=!1})),Ls=(e,t)=>{if(-1!=o){Ss();const s=e();return Rs(t),s}},Ss=()=>(-1!=o&&o++,1==o&&nt(et,void 0,Ht,Kt),vs),Rs=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(J),o=1,jt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(vs,t,s,n,e))))))),de(J,(([e],t)=>Ee(vs,t,e))),s=n=!1),nt(tt[0],void 0,Ht,Kt),o=-1,jt(0),s&&$t(0),Wt(0),n&&qt(0),nt(tt[1],void 0,Ht,Kt),o=0,s=n=!1,P([c,u,R,b,V,m,A,E,J,Q],ce))),vs),vs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>Ie(fe(X,y(e))),getTableCellIds:e=>ge(fe(U,y(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>ve(fe(fe(X,y(e)),y(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,y(e)),hasTableCell:(e,t)=>re(fe(U,y(e)),y(t)),hasRow:(e,t)=>re(fe(X,y(e)),y(t)),hasCell:(e,t,s)=>re(fe(fe(X,y(e)),y(t)),y(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,y(e)),getTablesJson:()=>Ue(X),getValuesJson:()=>Ue(Y),getJson:()=>Ue([X,Y]),getTablesSchemaJson:()=>Ue(N),getValuesSchemaJson:()=>Ue(B),getSchemaJson:()=>Ue([N,B]),setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?Rt(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?vt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return it(e,n,t)&&(e=y(e),vt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>k(ct(e,t,s,D(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>yt(t,e))):0)),setValue:(e,t)=>Gt((e=>k(ut(e,D(t)?t(as(e)):t),(t=>yt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>x(e)?us(t):ne(e,((e,s)=>x(e)?hs(t,s):ne(e,((e,n)=>me(vs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(vs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(Xe(e))}catch{}return vs},setJson:e=>{try{const[t,s]=Xe(e);Lt(t),Ct(s)}catch{ls(e)}return vs},setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>k(fe(X,e),(a=>k(fe(a,t),(o=>re(o,s)?xt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?kt(e):0),e),delTablesSchema:fs,delValuesSchema:ws,delSchema:()=>Gt((()=>{fs(),ws()})),transaction:Ls,startTransaction:Ss,finishTransaction:Rs,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(fe(U,y(e)),t),forEachRow:(e,t)=>de(fe(X,y(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(fe(fe(X,y(e)),y(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return st((()=>{const r=_t(e,t,s,n,a);z(r,l)||(l=r,o(vs,e,t,s,n,a,l))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>st(e,et),addWillFinishTransactionListener:e=>st(e,tt[0]),addDidFinishTransactionListener:e=>st(e,tt[1]),callListener:e=>(ot(e),vs),delListener:e=>(at(e),vs),getListenerStats:()=>({}),createStore:_e};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+I]:[1,be,[Xt]],[L]:[1,Me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[I]:[2,ze,[Xt,Zt]],[v]:[3,Oe,[Xt,Zt,es],e=>qe(ts(...e))],InvalidCell:[3,Pe],[C]:[0,We],[p]:[0,Be],[T]:[1,$e,[ns],e=>qe(as(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],a)=>{vs[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(vs)};exports.createCheckpoints=ze,exports.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(k(o,e.delListener),g),schedule:async(...e)=>(H(u,...e),await(async()=>{if(!c){for(c=1;!x(r=U(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},exports.createIndexes=Oe,exports.createMetrics=We,exports.createQueries=Be,exports.createRelationships=$e,exports.createStore=_e,exports.defaultSorter=Ne;
Binary file
package/lib/cjs/tools.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",c="get",$="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=(e,t)=>e.every(t),V=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),R=(e,t=l)=>e.join(t),k=(e,t)=>e.map(t),S=e=>e.length,A=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),E=e=>e.pop(),D=(e,...t)=>e.unshift(...t),O=e=>e.shift(),N=JSON.parse,L=isFinite,G=(e,t)=>e instanceof t,j=e=>null==e,M=e=>e==n||e==o,J=t=>e(t)==n,z=e=>Array.isArray(e),W=t=>{const l=e(t);return M(l)||l==d&&L(t)?l:void 0},B=Object,F=B.keys,U=B.freeze,_=e=>G(e,B)&&e.constructor==B,Z=(e,t)=>k(B.entries(e),(([e,l])=>t(l,e))),H=e=>S(F(e)),Q=e=>_(e)&&0==H(e),q=(e,t)=>e?.has(t)??!1,K=e=>[...e?.values()??[]],X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),ee=e=>new Map(e),te=(e,t)=>e?.get(t),le=(e,t)=>X(e,((e,l)=>t(l,e))),ae=(e,t)=>k([...e?.entries()??[]],(([e,l])=>t(l,e))),ne=(e,t,l)=>j(l)?(Y(e,t),e):e?.set(t,l),oe=(e,t,l)=>(q(e,t)||ne(e,t,l()),te(e,t)),de=e=>e.toUpperCase(),se=e=>e.toLowerCase(),re="a ",Ie="A function for",ce=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ue="Del",ie="Deps",pe=ie+"?: React.DependencyList",be="doRollback?: DoRollback",Ce="actions: () => Return, "+be,he="export",me="Id",ge="Invalid",fe="Json",we=se(I),ye="?: ",Te=" | undefined",ve="NonNullable",Ve="Partial",xe="Props",Re="Provider",ke=`Registers a ${we} that will be called`,Se="Represents",Ae="rowId: "+me,Pe="Schema",Ee="Set",De=", descending?: boolean, offset?: number, limit?: number",Oe="[]",Ne="the Store",Le="Transaction",Ge=Le+"Changes",je=se(Le),Me="Execute a "+je+" to make multiple mutations",Je="Explicitly starts a "+je,ze="Explicitly finishes a "+je,We="the end of the "+je,Be="void",Fe=" => "+Be,Ue="WhenSet",_e=" when setting it",Ze=re+"string serialization of",He=" ",Qe="Gets a callback that can ",qe="the ",Ke=" the schema for",Xe=(e=0,t=0)=>`the ${Ct[e]}content of`+(t?He+Ne:l),Ye=(e=0,t,a=0)=>it[t]+He+Xe(e,1)+(a?" when setting it":l),et=(e,t=0)=>Se+` a Row when ${t?"s":"g"}etting ${Xe()} the '${e}' `+i,tt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,lt=(e,t)=>`Calls a function for each ${e} in `+t,at=e=>"The props passed to a component that renders "+e,nt=e=>"A function that takes "+e,ot=(e,t=0)=>Ie+" listening to changes to "+bt[e]+" in "+bt[t],dt=(e,t,a=0)=>ke+" whenever "+bt[e]+" in "+bt[t]+" change"+(a?l:"s"),st=e=>`the '${e}' `+i,rt=e=>"the specified Row in "+st(e),It=(e,t=0)=>it[t]+` ${Xe()} `+st(e),ct=(e,t=0)=>it[t]+` ${Xe()} `+rt(e),$t=(e,t,l=0)=>it[l]+` the '${t}' Cell for `+rt(e),ut=(e,t=0)=>it[t]+` the '${e}' Value`,it=["Gets","Checks existence of","Sets","Deletes","Sets part of",Se,"Gets "+Ze,"Sets "+Ze,ke+" whenever",Qe+"set",Qe+"add",Qe+"set part of",Qe+"delete","Renders","Gets "+Ze+Ke,"Sets"+Ke,"Deletes"+Ke],pt=[c,"has","set","del","set","forEach",$,l],bt=[Ne,p,qe+i+He+u,re+i,qe+C+He+u,re+C,qe+g+He+u,re+g,"invalid Cell changes",y,qe+w+He+u,re+w,"invalid Value changes",qe+"sorted "+C+He+u,qe+g+He+u+" anywhere"],Ct=[l,"tabular ","keyed value "],ht=e=>new Set(z(e)||j(e)?e:[e]),mt=(e,t)=>e?.add(t),gt=/[^A-Za-z]+/,ft=/[^A-Za-z0-9]+/,wt=/^( *)\/\*\* *(.*?) *\*\/$/gm,yt=(e,t,l)=>e.substring(t,l),Tt=e=>e.includes(a),vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return q(e,n)?vt(e,t,l,a+1):(ne(e,n,l),n)},Vt=e=>e.replace(wt,((e,t,l)=>{const a=77-xt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),xt=e=>e.length,Rt=e=>e.flat(1e3),kt=(e,t=0)=>R(k(e.split(ft),((e,l)=>(l>0||t?de:se)(yt(e,0,1))+yt(e,1)))),St=e=>de(R((e&&!gt.test(e[0])?e:" "+e).split(ft),"_")),At=e=>`/** ${e}. */`,Pt=(...e)=>R(A(e,(e=>e)),", "),Et=(...e)=>"{"+R(e,"; ")+"}",Dt=(...e)=>Et(...k(e,(e=>"readonly "+e))),Ot=()=>{const e=[ee(),ee(),ee(),ee()],t=ee(),a=ee(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>R(Rt(e),"\n"),(t,l,...a)=>x(a,(a=>x([0,1],(n=>(t??n)==n?mt(oe(e[n],l,ht),a):0)))),(e,a,n,o=l,d=1)=>vt(t,e,[a,n,o,d]),(e,t,l)=>vt(a,e,z(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>te(a,e)===t?e:vt(a,e,t),(t=0)=>k([...V(ae(e[t],((e,t)=>`import {${R(V(K(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>Tt(e)!=Tt(t)?Tt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>ae(t,(([e,t,a,n],o)=>[At(t),`${n?he+" ":l}type ${o}${a} = ${e};`,l])),()=>ae(a,((e,t)=>(e=z(e)?e:[e],P(e,E(e)+";"),[`const ${t} = ${O(e)}`,e,l])))]},Nt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Lt=(e,t,l)=>[t=>Z(e,((e,a)=>t(a,kt(a,1),l(St(a),`'${a}'`)))),(t,a)=>Z(e[t],((e,t)=>a(t,e[s],e[r],l(St(t),`'${t}'`),kt(t,1)))),e=>Z(t,((t,a)=>e(a,t[s],t[r],l(St(a),`'${a}'`),kt(a,1))))],Gt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...a(e,((e,t,a)=>`'${e}'${j(a)?"?":l}: ${t}`)))+"}"))),Ye(1,5)),r=e(p+Ue,Et(...t((e=>`'${e}'?: {[rowId: Id]: `+Et(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Ye(1,5,1)),c=e(i+me,"keyof "+s,"A "+i+" Id in "+Ne),$=`<TId extends ${c}>`,u=e(i,ve+`<${s}[TId]>`,"A "+i+" in "+Ne,$),w=e(i+Ue,ve+`<${r}[TId]>`,"A "+i+" in "+Ne+_e,$),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,$),T=e(C+Ue,w+"<TId>[Id]","A "+C+" in a "+i+_e,$),v=e(g+me,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,$),V=e(g,ve+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<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 "+C,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+$e,`(...[cellId, cell]: ${x}<TId>)`+Fe,nt(re+g+" Id, and "+g),$),k=e(C+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Fe+") "+Fe,nt(re+C+" Id, and a "+g+" iterator"),$),S=e(i+g+$e,`(cellId: ${v}<TId>, count: number) `+Fe,nt(re+g+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Fe}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),P=e(i+$e,`(...[tableId, forEachRow]: ${A})`+Fe,nt(re+i+" Id, and a "+C+" iterator"),l),E=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,Ie+" returning information about any Cell's changes during a "+je),O=e(p+I,`(${d}, getCellChange: ${D}${Te})`+Fe,ot(1)),N=e(b+I,`(${d})`+Fe,ot(2)),L=e(i+I,`(${d}, tableId: ${c}, getCellChange: ${D}${Te})`+Fe,ot(3)),G=e(i+f+I,`(${d}, tableId: ${c})`+Fe,ot(14,3)),M=e(h+I,`(${d}, tableId: ${c})`+Fe,ot(4,3)),J=e(m+I,"("+Pt(d,"tableId: "+c,"cellId: Id"+Te,"descending: boolean","offset: number","limit: number"+Te,"sortedRowIds: Ids")+")"+Fe,ot(13,3)),z=e(C+I,"("+Pt(""+d,"tableId: "+c,Ae,`getCellChange: ${D}${Te}`)+")"+Fe,ot(5,3)),W=e(f+I,"("+Pt(""+d,"tableId: "+c,Ae)+")"+Fe,ot(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Ae}, cellId: CId, newCell: ${V}<TId, CId> ${Te}, oldCell: ${V}<TId, CId> ${Te}, getCellChange: ${D} ${Te}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,r,c,u,w,y,T,v,V,R,k,S,P,O,N,L,G,M,J,z,W,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Fe,ot(7,5)),e(ge+g+I,`(${d}, tableId: Id, ${Ae}, cellId: Id, invalidCells: any[])`+Fe,ot(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Et(...n(((e,t,a)=>`'${e}'${j(a)?"?":l}: ${t}`))),Ye(2,5)),s=e(y+Ue,Et(...n(((e,t)=>`'${e}'?: ${t}`))),Ye(2,5,1)),r=e(w+me,"keyof "+d,"A "+w+" Id in "+Ne),c=e(w,ve+`<${d}[VId]>`,"A "+w+" Id in "+Ne,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Ne,`<VId = ${r}>`,0),u=e(w+$e,`(...[valueId, value]: ${$})`+Fe,nt(re+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,Ie+" returning information about any Value's changes during a "+je),p=e(y+I,`(${o}, getValueChange: ${i}${Te})`+Fe,ot(9)),b=e(T+I,`(${o})`+Fe,ot(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${c}<VId> ${Te}, oldValue: ${c}<VId> ${Te}, getValueChange: ${i} ${Te}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,c,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Fe,ot(11)),e(ge+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Fe,ot(12))]},(t,l)=>e(Le+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Fe,Ie+" listening to the completion of a "+je)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Mt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Jt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,zt=(e,a,n)=>{const[d,c,v,V,k,S,A,E]=Ot(),[O,N,L]=Lt(e,a,k),[G,M,z]=Gt(v,O,N,L),W=ee(),B=(e=0)=>ae(W,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||D(r,At(o)),P(r,l),r})),F=(e,t,a,n,o,d=l)=>vt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(pt[e]+t+(4==e?Ve:l)+a,d,n,(n==H?Mt:jt)(pt[e]+(4==e?Ve:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F($+e+I,(n?n+", ":l)+we+": "+t+(d?", mutator?: boolean":l),me,Jt($+e+I,o,d?"mutator":l),a,s),Z=`./${kt(n)}.d`,H=kt(n,1),q=kt(H),X=[],Y=ee();let oe=[],de=[];if(c(1,Z,H,`create${H} as create${H}Decl`),Q(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,u);const[e,a,n,d,I,$,w,y,T,V,S,A,E,D,L,M,z,W,B,F,Q,le,ae]=G(q,H),de=ee();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,Se+` the '${e}' `+i),v(t+i+Ue,I+l,Se+` the '${e}' `+i+_e),v(t+C,$+l,et(e)),v(t+C+Ue,w+l,et(e,1)),v(t+g+me,y+l,`A Cell Id for the '${e}' `+i),v(t+g+$e,V+l,nt(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+$e,S+l,nt(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+$e,A+l,nt(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ne(de,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,E,D,L,M,z,W,B,F,Q,le,ae),oe=[e,a,n,y,D,L,M,z,W,B,F,Q,le,de],x([[e],[o],[H,"tables: "+a,"tables"],[H]],(([e,t,a],n)=>U(n,l,p,e,Ye(1,n),t,a))),U(0,l,b,n+Oe,tt(i,Ne)),U(5,l,i,Be,lt(i,Ne),"tableCallback: "+E,"tableCallback as any"),O(((e,t,a)=>{const[n,d,s,r,I,c,$,p]=te(de,e);x([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],s)=>U(s,t,i,n,It(e,s),o,a+d))),U(0,t,i+f,u,tt(g,"the whole of "+st(e)),l,a),U(5,t,i+g,Be,lt(i+g,"the whole of "+st(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,h,u,tt(C,st(e)),l,a),U(0,t,m,u,tt(C,st(e),1),"cellId?: "+I+De,a+", cellId, descending, offset, limit"),U(5,t,C,Be,lt(C,st(e)),"rowCallback: "+$,a+", rowCallback as any"),x([[s],[o],[H,", row: "+r,", row"],[H],[H,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,ct(e,s),Ae+o,a+", rowId"+d))),U(6,t,C,me+Te,"Add a new Row to "+st(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+Oe,tt(g,rt(e)),Ae,a+", rowId"),U(5,t,g,Be,lt(g,rt(e)),Ae+", cellCallback: "+c,a+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const c="Map"+kt(d,1);ne(Y,d,c);const $=d+(j(s)?Te:l);x([[$],[o],[H,`, cell: ${d} | `+c,", cell as any"],[H]],(([o,d=l,s=l],c)=>U(c,t+I,g,o,$t(e,n,c),Ae+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,it[1]+` the '${n}' Cell anywhere in `+st(e),l,a+", "+r)}))})),U(0,l,p+fe,fe,Ye(1,6)),U(2,l,p+fe,H,Ye(1,7),"tablesJson: "+fe,"tables"+fe),_(p,D,Ye(1,8)+" changes"),_(b,L,dt(2,0,1)),_(i,M,dt(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,dt(14,3,1),`tableId: ${n} | null`,"tableId"),_(h,W,dt(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,dt(13,3,1),Pt("tableId: TId",`cellId: ${y}<TId>`+Te,"descending: boolean","offset: number","limit: number"+Te),Pt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,F,dt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,Q,dt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,le,dt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${R(O((e=>te(de,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(ge+g,ae,ke+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...K(Y)),P(X,".set"+p+Pe+"({",Rt(O(((e,t,a)=>[`[${a}]: {`,...N(e,((e,t,a,n)=>`[${n}]: {[${k(St(s),`'${s}'`)}]: ${k(St(t),`'${t}'`)}${j(a)?l:`, [${k(St(r),`'${r}'`)}]: `+(J(a)?k(St(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Q(a))c(null,t,y);else{const[e,a,n,d,I,$,u,i,p]=M(q,H);c(1,Z,e,a,n,I,$,u,i,p),de=[e,a,n,$,u,i],x([[e],[o],[H,"values: "+a,"values"],[H],[H,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Ye(2,n),t,a))),U(0,l,T,n+Oe,tt(w,Ne)),U(5,l,w,"void",lt(w,Ne),"valueCallback: "+I,"valueCallback as any"),L(((e,t,a,n,d)=>{const s="Map"+kt(t,1);ne(Y,t,s),x([[t],[o],[H,`value: ${t} | `+s,", value as any"],[H]],(([t,a,o=l],s)=>U(s,d,w,t,ut(e,s),a,n+o)))})),U(0,l,y+fe,fe,Ye(2,6)),U(2,l,y+fe,H,Ye(2,7),"valuesJson: "+fe,"values"+fe),_(y,$,Ye(2,8)+" changes"),_(T,u,dt(10,0,1)),_(w,i,dt(11,0),`valueId: ${n} | null`,"valueId"),_(ge+w,p,ke+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...K(Y)),c(0,t,"ValueChange"),P(X,".set"+y+Pe+"({",L(((e,t,a,n)=>[`[${n}]: {[${k(St(s),`'${s}'`)}]: ${k(St(t),`'${t}'`)}${j(a)?l:`, [${k(St(r),`'${r}'`)}]: `+(J(a)?k(St(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Ye(0,0)),U(2,l,"Content",H,Ye(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Ge,H,`Applies a set of ${Ge} to the Store`,"transactionChanges: "+Ge,"transactionChanges"),le(Y,((e,t)=>v(t,`(cell: ${e}${Te}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",me,"IdOrNull",fe,"Store",Ge),c(0,t,"Get"+Ge,"GetTransactionLog"),U(0,l,fe,fe,Ye(0,6)),U(2,l,fe,H,Ye(0,7),"tablesAndValuesJson: "+fe,"tablesAndValuesJson"),U(7,l,je,"Return",Me,Ce,"actions, doRollback","<Return>"),U(7,l,"start"+Le,H,Je),U(7,l,"finish"+Le,H,ze,be,"doRollback");const se=z(q,H);return _("Start"+Le,se,ke+" just before the start of the "+je,l,l,0),_("WillFinish"+Le,se,ke+" just before "+We,l,l,0),_("DidFinish"+Le,se,ke+" just after "+We,l,l,0),U(7,l,"call"+I,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,H,"Remove a listener that was previously added to "+Ne,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",it[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,H,`create${H} as create${H}Decl`,se),k("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),k(q,["{",...B(1),"}"]),[d(...S(0),...A(),he+" interface "+H+" {",...B(0),"}",l,At(`Creates a ${H} object`),he+" function create"+H+"(): "+H+";"),d(...S(1),he+" const create"+H+": typeof create"+H+"Decl = () => {",...E(),`return Object.freeze(${q});`,"};"),oe,de]},Wt=e=>c+e,Bt=e=>Pt(Wt(e),Wt(e)+ie),Ft="debugIds?: boolean",Ut="debugIds={debugIds}",_t="then"+pe,Zt="Parameter",Ht=": (parameter: "+Zt+", store: Store) => ",Qt="const contextValue = useContext(Context);",qt=", based on a parameter",Kt=": ",Xt="<"+Zt+",>",Yt=Zt+"ized"+$e+"<"+Zt+">",el="rowId",tl="rowId={rowId}",ll=", separator, debugIds",al="separator?: ReactElement | string",nl="then?: (store: Store",ol=Pt(nl+")"+Fe,_t),dl="then, then"+ie,sl=el+Kt+me,rl="View",Il=(e,...t)=>Pt(...t,we+": "+e,we+pe,"mutator?: boolean"),cl=(...e)=>Pt(...e,we,we+ie,"mutator"),$l=(e,a,n,o,d)=>{const[s,r,c,$,v,V,x,k]=Ot(),[S,A,E]=Lt(e,a,v),O=`./${kt(n)}.d`,N=`./${kt(n)}-ui-react.d`,L="tinybase/ui-react",G=kt(n,1),M=kt(G),J=G+"Or"+G+me,z=M+"Or"+G+me,W=M+`={${M}}`,B=ee(),F=(e,t,a,n,o,d=l)=>(r(1,N,e+" as "+e+"Decl"),vt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,L,`use${t} as use${t}Core`),U(e,Pt(o,X,I),a,le+`(${z}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ae(B,(([t,a,n,o,d],s)=>{const r=e?[he+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[he+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||D(r,At(o)),P(r,l),r}));r(null,t,me,"Store",$e,Zt+"ized"+$e),r(0,L,"ComponentReturnType"),r(1,L,"useCellIds"),r(null,L,"ExtraProps"),r(0,O,G);const q=c(J,G+" | "+me,`Used when you need to refer to a ${G} in a React hook or component`),K=c(Re+xe,Dt(M+ye+G,M+`ById?: {[${M}Id: Id]: ${G}}`),`Used with the ${Re} component, so that a `+G+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,N,q,K);const X=z+ye+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${G}?, {[${M}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+pe,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const Y=U(G,"id?: Id",G+Te,["{",Qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${Re} component context`),le=$("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${Y}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${M} : ${z})?.getStore(), ...postParams)`]),ne=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Pt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=$("useCustomOrDefaultCellIds",Pt("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${le}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),se=v("NullComponent","() => null");if(!Q(e)){const[e,a,n,d,s,w,y,T,v,V,x,k,P,E]=o;r(null,O,e,a,n,s,w,y,T,v,V,x,k,P),r(0,O,d),r(1,O,G),r(null,t,u,"IdOrNull");const D=$("tableView",`{${M}, rowComponent, getRowComponentProps, customCellIds`+ll+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",tl,"customCellIds={customCellIds}",W,Ut,"/>","))",ll,", tableId,",");"]),L=$("getDefaultTableComponent","tableId: Id",R(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",R(S(((e,t,l)=>`tableId == ${l} ? ${R(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);_(p,p,e,Ye(1,0)+ce);const z=_(b,b,n+Oe,tt(i,Ne)+ce);_(Ee+p+$e,Ee+p+$e,Yt,Ye(1,9)+qt,Pt(Wt(p)+Ht+a,Wt(p)+pe),Bt(p),Xt,Pt(nl,`tables: ${a})`+Fe,_t),dl),_(ue+p+$e,ue+p+$e,$e,Ye(1,12),l,l,l,ol,dl);const B=c(g+xe,Dt("tableId?: TId","rowId: Id","cellId?: CId",M+ye+G,Ft),at(re+g),`<TId extends ${n}, CId extends ${d}<TId>>`),F=c(C+xe,Dt("tableId?: TId","rowId: Id",M+ye+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,al,Ft),at(re+C),`<TId extends ${n}>`),U=c(i+xe,Dt("tableId?: TId",M+ye+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",al,Ft),at(re+i),`<TId extends ${n}>`),H=c("Sorted"+i+xe,Dt("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",M+ye+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",al,Ft),at(re+"sorted "+i),`<TId extends ${n}>`),Q=c(p+xe,Dt(M+ye+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,al,Ft),at(Xe(1,1)));r(1,N,Q,U,H,F,B),Z(p+rl,"{"+M+", tableComponents, getTableComponentProps"+ll+"}: "+Q,[oe+`(${z}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+L+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ut,"/>;","}), separator)"],Ye(1,13)+ce),S(((e,t,a)=>{const[n,o,d,s,I]=te(E,e);r(null,O,n,o,d,s,I),_(t+i,i,n,It(e)+ce,l,a),_(t+i+f,i+f,u,tt(g,"the whole of "+st(e))+ce,l,a);const c=_(t+h,h,u,tt(C,st(e))+ce,l,a),$=_(t+m,m,u,tt(C,st(e),1)+ce,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,ct(e)+ce,sl,Pt(a,el)),_(t+f,f,I+Oe,tt(g,rt(e))+ce,sl,Pt(a,el)),_(Ee+t+i+$e,Ee+i+$e,Yt,It(e,9)+qt,Pt(Wt(i)+Ht+o,Wt(i)+pe),Pt(a,Bt(i)),Xt,Pt(nl,`table: ${o})`+Fe,_t),dl),_(ue+t+i+$e,ue+i+$e,$e,It(e,12),l,a,l,ol,dl),_(Ee+t+C+$e,Ee+C+$e,Yt,ct(e,9)+qt,Pt(sl,Wt(C)+Ht+s,Wt(C)+pe),Pt(a,el,Bt(C)),Xt,Pt(nl,`row: ${s})`+Fe,_t),dl),_("Add"+t+C+$e,"Add"+C+$e,Yt,ct(e,10)+qt,Pt(Wt(C)+Ht+s,Wt(C)+pe),Pt(a,Bt(C)),Xt,"then?: ("+Pt(sl+Te,"store: Store","row: "+s+")"+Fe,"then"+pe)+", reuseRowIds?: boolean",dl+", reuseRowIds"),_(Ee+t+Ve+C+$e,Ee+Ve+C+$e,Yt,ct(e,11)+qt,Pt(sl,Wt(Ve+C)+Ht+s,Wt(Ve+C)+pe),Pt(a,el,Bt(Ve+C)),Xt,Pt(nl,`partialRow: ${s})`+Fe,_t),dl),_(ue+t+C+$e,ue+C+$e,$e,ct(e,12),sl,Pt(a,el),l,ol,dl);const p=Z(t+C+rl,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+ll+`}: ${F}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,tl,"cellId={cellId}",W,Ut,"/>;","})"+ll+", rowId)"],ct(e,13)+ce);Z(t+"Sorted"+i+rl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,D+"(props, "+$+`(cellId, descending, offset, limit, props.${M}), ${a}, ${p});`,It(e,13)+", sorted"+ce),Z(t+i+rl,`props: ${U}<'${e}'>`,D+"(props, "+c+`(props.${M}), ${a}, ${p});`,It(e,13)+ce),A(e,((n,o,d,s,I)=>{const c="Map"+kt(o,1);r(0,O,c),r(1,O,c);const $=_(t+I+g,g,o+(j(d)?Te:l),$t(e,n)+ce,sl,Pt(a,el,s));_(Ee+t+I+g+$e,Ee+g+$e,Yt,$t(e,n,9)+qt,Pt(sl,Wt(g)+Ht+o+" | "+c,Wt(g)+pe),Pt(a,el,s,Bt(g)),Xt,Pt(nl,`cell: ${o} | ${c})`+Fe,_t),dl),_(ue+t+I+g+$e,ue+g+$e,$e,$t(e,n,12),Pt(sl,"forceDel?: boolean"),Pt(a,el,s,"forceDel"),l,ol,dl),Z(t+I+g+rl,`{rowId, ${M}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+M+`) ?? '', undefined, debugIds, ${s})`],$t(e,n,13)+ce)}))}));const q=R(S((e=>te(E,e)?.[4]??l))," | ");_(p+I,p+I,Be,Ye(1,8)+" changes",Il(s),cl()),_(b+I,b+I,Be,dt(2,0,1),Il(w),cl()),_(i+I,i+I,Be,dt(3,0),Il(y,`tableId: ${n} | null`),cl("tableId")),_(i+f+I,i+f+I,Be,dt(14,3,1),Il(T,`tableId: ${n} | null`),cl("tableId")),_(h+I,h+I,Be,dt(4,3,1),Il(v,`tableId: ${n} | null`),cl("tableId")),_(m+I,m+I,Be,dt(13,3,1),Il(V,`tableId: ${n} | null`,"cellId: "+q+Te,"descending: boolean","offset: number","limit: number"+Te),cl("tableId","cellId","descending","offset","limit")),_(C+I,C+I,Be,dt(5,3),Il(x,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(f+I,f+I,Be,dt(6,5,1),Il(k,`tableId: ${n} | null`,el+": IdOrNull"),cl("tableId",el)),_(g+I,g+I,Be,dt(7,5),Il(P,`tableId: ${n} | null`,el+": IdOrNull",`cellId: ${q} | null`),cl("tableId",el,"cellId"))}if(!Q(a)){const[e,t,a,n,o,s]=d;r(null,O,...d),r(1,O,G);const u=$("getDefaultValueComponent","valueId: Id",R(E(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);_(y,y,e,Ye(2,0)+ce);const i=_(T,T,a+Oe,tt(w,Ne)+ce);_(Ee+y+$e,Ee+y+$e,Yt,Ye(2,9)+qt,Pt(Wt(y)+Ht+t,Wt(y)+pe),Bt(y),Xt,Pt(nl,`values: ${t})`+Fe,_t),dl),_(Ee+Ve+y+$e,Ee+Ve+y+$e,Yt,Ye(2,11)+qt,Pt(Wt(Ve+y)+Ht+t,Wt(Ve+y)+pe),Bt(Ve+y),Xt,Pt(nl,`partialValues: ${t})`+Fe,_t),dl),_(ue+y+$e,ue+y+$e,$e,Ye(2,12),l,l,l,ol,dl);const p=c(w+xe,Dt("valueId?: VId",M+ye+G,Ft),at("a Value"),`<VId extends ${a}>`),b=c(y+xe,Dt(M+ye+G,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,al,Ft),at(Xe(2,1)));r(1,N,b,p),Z(y+rl,"{"+M+", valueComponents, getValueComponentProps"+ll+"}: "+b,[oe+`(${i}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ut,"/>;","}), separator)"],Ye(2,13)+ce),E(((e,t,a,n,o)=>{const d="Map"+kt(t,1);r(0,O,d),r(1,O,d);const s=_(o+w,w,t,ut(e)+ce,l,n);_(Ee+o+w+$e,Ee+w+$e,Yt,ut(e,9)+qt,Pt(Wt(w)+Ht+t+" | "+d,Wt(w)+pe),Pt(n,Bt(w)),Xt,Pt(nl,`value: ${t} | ${d})`+Fe,_t),dl),_(ue+o+w+$e,ue+w+$e,$e,ut(e,12),l,n,l,ol,dl),Z(o+w+rl,`{${M}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+M+`) ?? '', undefined, debugIds, ${n})`],ut(e,13)+ce)})),_(y+I,y+I,Be,Ye(2,8)+" changes",Il(n),cl()),_(T+I,T+I,Be,dt(10,0,1),Il(o),cl()),_(w+I,w+I,Be,dt(11,0),Il(s,`valueId: ${a} | null`),cl("valueId"))}return Z(Re,`{${M}, ${M}ById, children}: `+K+" & {children: React.ReactNode}",["{",Qt,"return (","<Context."+Re,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Re}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...x(),...H(0)),s(...V(1),...k(),...H(1))]},ul=(e,t,a)=>{if(Q(e)&&Q(t))return[l,l,l,l];const[n,o,d,s]=zt(e,t,a);return[n,o,...$l(e,t,a,d,s)]},il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},pl=Nt((e=>{const t=()=>{const t=N(e.getTablesSchemaJson());return!Q(t)||v(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ee();if(v(a,(t=>v(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=oe(n,a,(()=>[W(o),ee(),[0],0])),[s,r,[I]]=d,c=oe(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ne(r,o,c),d[3]++,s==W(o)})))))return t[l]={},X(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==S(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=N(e.getValuesSchemaJson());return Q(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:W(l)}})),t},a=e=>ul(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return k(a(e),((e,a)=>Vt(l(e,{...il,filepath:"_."+t[a]}))))};return U({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:S(e.getValueIds()),jsonLength:xt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=pl;
1
+ "use strict";const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),s="type",r="default",I="Listener",c="get",$="add",u="Ids",i="Table",p=i+"s",b=i+u,C="Row",h=C+u,m="Sorted"+C+u,g="Cell",f=g+u,w="Value",y=w+"s",T=w+u,v=isFinite,V=(e,t)=>e instanceof t,x=e=>null==e,R=e=>e==n||e==o,k=t=>e(t)==n,S=e=>Array.isArray(e),A=t=>{const l=e(t);return R(l)||l==d&&v(t)?l:void 0},P=(e,t)=>e.every(t),E=(e,t)=>e.sort(t),D=(e,t)=>e.forEach(t),O=(e,t=l)=>e.join(t),N=(e,t)=>e.map(t),L=e=>e.length,G=(e,t)=>e.filter(t),j=(e,...t)=>e.push(...t),M=e=>e.pop(),J=(e,...t)=>e.unshift(...t),z=e=>e.shift(),W=Object,B=W.keys,F=W.freeze,U=e=>V(e,W)&&e.constructor==W,_=(e,t)=>N(W.entries(e),(([e,l])=>t(l,e))),Z=e=>L(B(e)),H=e=>U(e)&&0==Z(e),Q=(e,t)=>e?.has(t)??!1,q=e=>[...e?.values()??[]],K=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),ee=(e,t)=>e?.get(t),te=(e,t)=>K(e,((e,l)=>t(l,e))),le=(e,t)=>N([...e?.entries()??[]],(([e,l])=>t(l,e))),ae=(e,t,l)=>x(l)?(X(e,t),e):e?.set(t,l),ne=(e,t,l)=>(Q(e,t)||ae(e,t,l()),ee(e,t)),oe=e=>e.toUpperCase(),de=e=>e.toLowerCase(),se="a ",re="A function for",Ie=", and registers a listener so that any changes to that result will cause a re-render",ce="Callback",$e="Del",ue="Deps",ie=ue+"?: React.DependencyList",pe="doRollback?: DoRollback",be="actions: () => Return, "+pe,Ce="export",he="Id",me="Invalid",ge="Json",fe=de(I),we="?: ",ye=" | undefined",Te="NonNullable",ve="Partial",Ve="Props",xe="Provider",Re=`Registers a ${fe} that will be called`,ke="Represents",Se="rowId: "+he,Ae="Schema",Pe="Set",Ee=", descending?: boolean, offset?: number, limit?: number",De="[]",Oe="the Store",Ne="Transaction",Le=Ne+"Changes",Ge=de(Ne),je="Execute a "+Ge+" to make multiple mutations",Me="Explicitly starts a "+Ge,Je="Explicitly finishes a "+Ge,ze="the end of the "+Ge,We="void",Be=" => "+We,Fe="WhenSet",Ue=" when setting it",_e=se+"string serialization of",Ze=" ",He="Gets a callback that can ",Qe="the ",qe=" the schema for",Ke=(e=0,t=0)=>`the ${bt[e]}content of`+(t?Ze+Oe:l),Xe=(e=0,t,a=0)=>ut[t]+Ze+Ke(e,1)+(a?" when setting it":l),Ye=(e,t=0)=>ke+` a Row when ${t?"s":"g"}etting ${Ke()} the '${e}' `+i,et=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,tt=(e,t)=>`Calls a function for each ${e} in `+t,lt=e=>"The props passed to a component that renders "+e,at=e=>"A function that takes "+e,nt=(e,t=0)=>re+" listening to changes to "+pt[e]+" in "+pt[t],ot=(e,t,a=0)=>Re+" whenever "+pt[e]+" in "+pt[t]+" change"+(a?l:"s"),dt=e=>`the '${e}' `+i,st=e=>"the specified Row in "+dt(e),rt=(e,t=0)=>ut[t]+` ${Ke()} `+dt(e),It=(e,t=0)=>ut[t]+` ${Ke()} `+st(e),ct=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),$t=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",ke,"Gets "+_e,"Sets "+_e,Re+" whenever",He+"set",He+"add",He+"set part of",He+"delete","Renders","Gets "+_e+qe,"Sets"+qe,"Deletes"+qe],it=[c,"has","set","del","set","forEach",$,l],pt=[Oe,p,Qe+i+Ze+u,se+i,Qe+C+Ze+u,se+C,Qe+g+Ze+u,se+g,"invalid Cell changes",y,Qe+w+Ze+u,se+w,"invalid Value changes",Qe+"sorted "+C+Ze+u,Qe+g+Ze+u+" anywhere"],bt=[l,"tabular ","keyed value "],Ct=e=>new Set(S(e)||x(e)?e:[e]),ht=(e,t)=>e?.add(t),mt=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,ft=/^( *)\/\*\* *(.*?) *\*\/$/gm,wt=(e,t,l)=>e.substring(t,l),yt=e=>e.includes(a),Tt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Q(e,n)?Tt(e,t,l,a+1):(ae(e,n,l),n)},vt=e=>e.replace(ft,((e,t,l)=>{const a=77-Vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Vt=e=>e.length,xt=e=>e.flat(1e3),Rt=(e,t=0)=>O(N(e.split(gt),((e,l)=>(l>0||t?oe:de)(wt(e,0,1))+wt(e,1)))),kt=e=>oe(O((e&&!mt.test(e[0])?e:" "+e).split(gt),"_")),St=e=>`/** ${e}. */`,At=(...e)=>O(G(e,(e=>e)),", "),Pt=(...e)=>"{"+O(e,"; ")+"}",Et=(...e)=>Pt(...N(e,(e=>"readonly "+e))),Dt=()=>{const e=[Y(),Y(),Y(),Y()],t=Y(),a=Y(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>O(xt(e),"\n"),(t,l,...a)=>D(a,(a=>D([0,1],(n=>(t??n)==n?ht(ne(e[n],l,Ct),a):0)))),(e,a,n,o=l,d=1)=>Tt(t,e,[a,n,o,d]),(e,t,l)=>Tt(a,e,S(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>ee(a,e)===t?e:Tt(a,e,t),(t=0)=>N([...E(le(e[t],((e,t)=>`import {${O(E(q(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>yt(e)!=yt(t)?yt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>le(t,(([e,t,a,n],o)=>[St(t),`${n?Ce+" ":l}type ${o}${a} = ${e};`,l])),()=>le(a,((e,t)=>(e=S(e)?e:[e],j(e,M(e)+";"),[`const ${t} = ${z(e)}`,e,l])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[s],e[r],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[s],t[r],l(kt(a),`'${a}'`),Rt(a,1))))],Lt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(p,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`)))+"}"))),Xe(1,5)),r=e(p+Fe,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Xe(1,5,1)),c=e(i+he,"keyof "+s,"A "+i+" Id in "+Oe),$=`<TId extends ${c}>`,u=e(i,Te+`<${s}[TId]>`,"A "+i+" in "+Oe,$),w=e(i+Fe,Te+`<${r}[TId]>`,"A "+i+" in "+Oe+Ue,$),y=e(C,u+"<TId>[Id]","A "+C+" in a "+i,$),T=e(C+Fe,w+"<TId>[Id]","A "+C+" in a "+i+Ue,$),v=e(g+he,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+C,$),V=e(g,Te+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+C,`<TId extends ${c}, CId extends ${v}<TId>>`),R=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+C,`<TId extends ${c}, CId = ${v}<TId>>`,0),k=e(g+ce,`(...[cellId, cell]: ${R}<TId>)`+Be,at(se+g+" Id, and "+g),$),S=e(C+ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Be+") "+Be,at(se+C+" Id, and a "+g+" iterator"),$),A=e(i+g+ce,`(cellId: ${v}<TId>, count: number) `+Be,at(se+g+" Id, and count of how many times it appears"),$),P=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Be}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),E=e(i+ce,`(...[tableId, forEachRow]: ${P})`+Be,at(se+i+" Id, and a "+C+" iterator"),l),D=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${D}) => CellChange`,re+" returning information about any Cell's changes during a "+Ge),N=e(p+I,`(${d}, getCellChange: ${O}${ye})`+Be,nt(1)),L=e(b+I,`(${d})`+Be,nt(2)),G=e(i+I,`(${d}, tableId: ${c}, getCellChange: ${O}${ye})`+Be,nt(3)),j=e(i+f+I,`(${d}, tableId: ${c})`+Be,nt(14,3)),M=e(h+I,`(${d}, tableId: ${c})`+Be,nt(4,3)),J=e(m+I,"("+At(d,"tableId: "+c,"cellId: Id"+ye,"descending: boolean","offset: number","limit: number"+ye,"sortedRowIds: Ids")+")"+Be,nt(13,3)),z=e(C+I,"("+At(""+d,"tableId: "+c,Se,`getCellChange: ${O}${ye}`)+")"+Be,nt(5,3)),W=e(f+I,"("+At(""+d,"tableId: "+c,Se)+")"+Be,nt(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Se}, cellId: CId, newCell: ${V}<TId, CId> ${ye}, oldCell: ${V}<TId, CId> ${ye}, getCellChange: ${O} ${ye}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,r,c,u,w,y,T,v,V,k,S,A,E,N,L,G,j,M,J,z,W,e(g+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Be,nt(7,5)),e(me+g+I,`(${d}, tableId: Id, ${Se}, cellId: Id, invalidCells: any[])`+Be,nt(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Pt(...n(((e,t,a)=>`'${e}'${x(a)?"?":l}: ${t}`))),Xe(2,5)),s=e(y+Fe,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),Xe(2,5,1)),r=e(w+he,"keyof "+d,"A "+w+" Id in "+Oe),c=e(w,Te+`<${d}[VId]>`,"A "+w+" Id in "+Oe,`<VId extends ${r}>`),$=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+Oe,`<VId = ${r}>`,0),u=e(w+ce,`(...[valueId, value]: ${$})`+Be,at(se+w+" Id, and "+w)),i=e("GetValueChange",`(valueId: ${r}) => ValueChange`,re+" returning information about any Value's changes during a "+Ge),p=e(y+I,`(${o}, getValueChange: ${i}${ye})`+Be,nt(9)),b=e(T+I,`(${o})`+Be,nt(10)),C=e("ValueListenerArgsArray",`VId extends ${r} ? [${o}, valueId: VId, newValue: ${c}<VId> ${ye}, oldValue: ${c}<VId> ${ye}, getValueChange: ${i} ${ye}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[d,s,r,c,u,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Be,nt(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Be,nt(12))]},(t,l)=>e(Ne+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Be,re+" listening to the completion of a "+Ge)],Gt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),jt=(e,t=l)=>`fluent(() => ${Gt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,a,n)=>{const[d,c,v,V,R,S,A,P]=Dt(),[E,N,L]=Nt(e,a,R),[G,M,z]=Lt(v,E,N,L),W=Y(),B=(e=0)=>le(W,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||J(r,St(o)),j(r,l),r})),F=(e,t,a,n,o,d=l)=>Tt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,s=l,r=l)=>F(it[e]+t+(4==e?ve:l)+a,d,n,(n==Q?jt:Gt)(it[e]+(4==e?ve:l)+a,s,e?void 0:n),o,r),_=(e,t,a,n=l,o=l,d=1,s=l)=>F($+e+I,(n?n+", ":l)+fe+": "+t+(d?", mutator?: boolean":l),he,Mt($+e+I,o,d?"mutator":l),a,s),Z=`./${Rt(n)}.d`,Q=Rt(n,1),K=Rt(Q),X=[],ne=Y();let oe=[],de=[];if(c(1,Z,Q,`create${Q} as create${Q}Decl`),H(e))c(null,t,p);else{c(0,t,"CellChange"),c(null,t,u);const[e,a,n,d,I,$,w,y,T,V,S,A,P,L,M,J,z,W,B,F,H,te,le]=G(K,Q),de=Y();E(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,d+l,ke+` the '${e}' `+i),v(t+i+Fe,I+l,ke+` the '${e}' `+i+Ue),v(t+C,$+l,Ye(e)),v(t+C+Fe,w+l,Ye(e,1)),v(t+g+he,y+l,`A Cell Id for the '${e}' `+i),v(t+g+ce,V+l,at(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+C+ce,S+l,at(`a Row Id from the '${e}' Table, and a Cell iterator`)),v(t+i+g+ce,A+l,at(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];ae(de,e,a),c(1,Z,...a)})),c(1,Z,e,a,n,y,P,L,M,J,z,W,B,F,H,te,le),oe=[e,a,n,y,L,M,J,z,W,B,F,H,te,de],D([[e],[o],[Q,"tables: "+a,"tables"],[Q]],(([e,t,a],n)=>U(n,l,p,e,Xe(1,n),t,a))),U(0,l,b,n+De,et(i,Oe)),U(5,l,i,We,tt(i,Oe),"tableCallback: "+P,"tableCallback as any"),E(((e,t,a)=>{const[n,d,s,r,I,c,$,p]=ee(de,e);D([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,o,d=l],s)=>U(s,t,i,n,rt(e,s),o,a+d))),U(0,t,i+f,u,et(g,"the whole of "+dt(e)),l,a),U(5,t,i+g,We,tt(i+g,"the whole of "+dt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,h,u,et(C,dt(e)),l,a),U(0,t,m,u,et(C,dt(e),1),"cellId?: "+I+Ee,a+", cellId, descending, offset, limit"),U(5,t,C,We,tt(C,dt(e)),"rowCallback: "+$,a+", rowCallback as any"),D([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>U(s,t,C,n,It(e,s),Se+o,a+", rowId"+d))),U(6,t,C,he+ye,"Add a new Row to "+dt(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+De,et(g,st(e)),Se,a+", rowId"),U(5,t,g,We,tt(g,st(e)),Se+", cellCallback: "+c,a+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const c="Map"+Rt(d,1);ae(ne,d,c);const $=d+(x(s)?ye:l);D([[$],[o],[Q,`, cell: ${d} | `+c,", cell as any"],[Q]],(([o,d=l,s=l],c)=>U(c,t+I,g,o,ct(e,n,c),Se+d,a+", rowId, "+r+s))),U(1,t+I,i+g,o,ut[1]+` the '${n}' Cell anywhere in `+dt(e),l,a+", "+r)}))})),U(0,l,p+ge,ge,Xe(1,6)),U(2,l,p+ge,Q,Xe(1,7),"tablesJson: "+ge,"tables"+ge),_(p,L,Xe(1,8)+" changes"),_(b,M,ot(2,0,1)),_(i,J,ot(3,0),`tableId: ${n} | null`,"tableId"),_(i+f,z,ot(14,3,1),`tableId: ${n} | null`,"tableId"),_(h,W,ot(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,ot(13,3,1),At("tableId: TId",`cellId: ${y}<TId>`+ye,"descending: boolean","offset: number","limit: number"+ye),At("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(C,F,ot(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,H,ot(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,te,ot(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${O(E((e=>ee(de,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),_(me+g,le,Re+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...q(ne)),j(X,".set"+p+Ae+"({",xt(E(((e,t,a)=>[`[${a}]: {`,...N(e,((e,t,a,n)=>`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(H(a))c(null,t,y);else{const[e,a,n,d,I,$,u,i,p]=M(K,Q);c(1,Z,e,a,n,I,$,u,i,p),de=[e,a,n,$,u,i],D([[e],[o],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,t,a],n)=>U(n,l,y,e,Xe(2,n),t,a))),U(0,l,T,n+De,et(w,Oe)),U(5,l,w,"void",tt(w,Oe),"valueCallback: "+I,"valueCallback as any"),L(((e,t,a,n,d)=>{const s="Map"+Rt(t,1);ae(ne,t,s),D([[t],[o],[Q,`value: ${t} | `+s,", value as any"],[Q]],(([t,a,o=l],s)=>U(s,d,w,t,$t(e,s),a,n+o)))})),U(0,l,y+ge,ge,Xe(2,6)),U(2,l,y+ge,Q,Xe(2,7),"valuesJson: "+ge,"values"+ge),_(y,$,Xe(2,8)+" changes"),_(T,u,ot(10,0,1)),_(w,i,ot(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,Re+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...q(ne)),c(0,t,"ValueChange"),j(X,".set"+y+Ae+"({",L(((e,t,a,n)=>[`[${n}]: {[${R(kt(s),`'${s}'`)}]: ${R(kt(t),`'${t}'`)}${x(a)?l:`, [${R(kt(r),`'${r}'`)}]: `+(k(a)?R(kt(a),`'${a}'`):a)}},`])),"})")}U(0,l,"Content",`[${p}, ${y}]`,Xe(0,0)),U(2,l,"Content",Q,Xe(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,l,Le,Q,`Applies a set of ${Le} to the Store`,"transactionChanges: "+Le,"transactionChanges"),te(ne,((e,t)=>v(t,`(cell: ${e}${ye}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",he,"IdOrNull",ge,"Store",Le),c(0,t,"Get"+Le,"GetTransactionLog"),U(0,l,ge,ge,Xe(0,6)),U(2,l,ge,Q,Xe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),U(7,l,Ge,"Return",je,be,"actions, doRollback","<Return>"),U(7,l,"start"+Ne,Q,Me),U(7,l,"finish"+Ne,Q,Je,pe,"doRollback");const se=z(K,Q);return _("Start"+Ne,se,Re+" just before the start of the "+Ge,l,l,0),_("WillFinish"+Ne,se,Re+" just before "+ze,l,l,0),_("DidFinish"+Ne,se,Re+" just after "+ze,l,l,0),U(7,l,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,l,I,Q,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",ut[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,Q,`create${Q} as create${Q}Decl`,se),R("store",["createStore()",...X]),V("fluent","actions: () => Store",["actions();",`return ${K};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${K}, ...params)`),R(K,["{",...B(1),"}"]),[d(...S(0),...A(),Ce+" interface "+Q+" {",...B(0),"}",l,St(`Creates a ${Q} object`),Ce+" function create"+Q+"(): "+Q+";"),d(...S(1),Ce+" const create"+Q+": typeof create"+Q+"Decl = () => {",...P(),`return Object.freeze(${K});`,"};"),oe,de]},zt=e=>c+e,Wt=e=>At(zt(e),zt(e)+ue),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+ce+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=At(al+")"+Be,Ut),ol="then, then"+ue,dl=Yt+qt+he,sl="View",rl=(e,...t)=>At(...t,fe+": "+e,fe+ie,"mutator?: boolean"),Il=(...e)=>At(...e,fe,fe+ue,"mutator"),cl=(e,a,n,o,d)=>{const[s,r,c,$,v,V,R,k]=Dt(),[S,A,P]=Nt(e,a,v),E=`./${Rt(n)}.d`,D=`./${Rt(n)}-ui-react.d`,N="tinybase/ui-react",L=Rt(n,1),G=Rt(L),M=L+"Or"+L+he,z=G+"Or"+L+he,W=G+`={${G}}`,B=Y(),F=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),Tt(B,e,[t,a,n,o,d])),U=(e,t,a,n,o,d=l)=>F("use"+e,t,a,n,o,d),_=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,N,`use${t} as use${t}Core`),U(e,At(o,X,I),a,ae+`(${z}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),Z=(e,t,l,a)=>F(e,t,1,l,a),Q=(e=0)=>le(B,(([t,a,n,o,d],s)=>{const r=e?[Ce+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ce+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||J(r,St(o)),j(r,l),r}));r(null,t,he,"Store",ce,_t+"ized"+ce),r(0,N,"ComponentReturnType"),r(1,N,"useCellIds"),r(null,N,"ExtraProps"),r(0,E,L);const q=c(M,L+" | "+he,`Used when you need to refer to a ${L} in a React hook or component`),K=c(xe+Ve,Et(G+we+L,G+`ById?: {[${G}Id: Id]: ${L}}`),`Used with the ${xe} component, so that a `+L+" 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=z+we+q;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${L}?, {[${G}Id: Id]: ${L}}?]>([])`),U("Create"+L,`create: () => ${L}, create`+ie,L,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${L} within a React application with convenient memoization`);const te=U(L,"id?: Id",L+ye,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${L} from within a ${xe} component context`),ae=$("useHook",z+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${G} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${G} : ${z})?.getStore(), ...postParams)`]),ne=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",At("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),de=$("useCustomOrDefaultCellIds",At("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${q} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),re=v("NullComponent","() => null");if(!H(e)){const[e,a,n,d,s,w,y,T,v,V,R,k,P,N]=o;r(null,E,e,a,n,s,w,y,T,v,V,R,k,P),r(0,E,d),r(1,E,L),r(null,t,u,"IdOrNull");const j=$("tableView",`{${G}, rowComponent, getRowComponentProps, customCellIds`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,"customCellIds={customCellIds}",W,Ft,"/>","))",tl,", tableId,",");"]),M=$("getDefaultTableComponent","tableId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+re),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",O(S(((e,t,l)=>`tableId == ${l} ? ${O(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+re} : `)))+re);_(p,p,e,Xe(1,0)+Ie);const z=_(b,b,n+De,et(i,Oe)+Ie);_(Pe+p+ce,Pe+p+ce,Xt,Xe(1,9)+Qt,At(zt(p)+Zt+a,zt(p)+ie),Wt(p),Kt,At(al,`tables: ${a})`+Be,Ut),ol),_($e+p+ce,$e+p+ce,ce,Xe(1,12),l,l,l,nl,ol);const B=c(g+Ve,Et("tableId?: TId","rowId: Id","cellId?: CId",G+we+L,Bt),lt(se+g),`<TId extends ${n}, CId extends ${d}<TId>>`),F=c(C+Ve,Et("tableId?: TId","rowId: Id",G+we+L,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,`customCellIds?: ${d}<TId>[]`,ll,Bt),lt(se+C),`<TId extends ${n}>`),U=c(i+Ve,Et("tableId?: TId",G+we+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+i),`<TId extends ${n}>`),H=c("Sorted"+i+Ve,Et("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",G+we+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",ll,Bt),lt(se+"sorted "+i),`<TId extends ${n}>`),Q=c(p+Ve,Et(G+we+L,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,ll,Bt),lt(Ke(1,1)));r(1,D,Q,U,H,F,B),Z(p+sl,"{"+G+", tableComponents, getTableComponentProps"+tl+"}: "+Q,[oe+`(${z}(${G}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+M+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ft,"/>;","}), separator)"],Xe(1,13)+Ie),S(((e,t,a)=>{const[n,o,d,s,I]=ee(N,e);r(null,E,n,o,d,s,I),_(t+i,i,n,rt(e)+Ie,l,a),_(t+i+f,i+f,u,et(g,"the whole of "+dt(e))+Ie,l,a);const c=_(t+h,h,u,et(C,dt(e))+Ie,l,a),$=_(t+m,m,u,et(C,dt(e),1)+Ie,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,It(e)+Ie,dl,At(a,Yt)),_(t+f,f,I+De,et(g,st(e))+Ie,dl,At(a,Yt)),_(Pe+t+i+ce,Pe+i+ce,Xt,rt(e,9)+Qt,At(zt(i)+Zt+o,zt(i)+ie),At(a,Wt(i)),Kt,At(al,`table: ${o})`+Be,Ut),ol),_($e+t+i+ce,$e+i+ce,ce,rt(e,12),l,a,l,nl,ol),_(Pe+t+C+ce,Pe+C+ce,Xt,It(e,9)+Qt,At(dl,zt(C)+Zt+s,zt(C)+ie),At(a,Yt,Wt(C)),Kt,At(al,`row: ${s})`+Be,Ut),ol),_("Add"+t+C+ce,"Add"+C+ce,Xt,It(e,10)+Qt,At(zt(C)+Zt+s,zt(C)+ie),At(a,Wt(C)),Kt,"then?: ("+At(dl+ye,"store: Store","row: "+s+")"+Be,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),_(Pe+t+ve+C+ce,Pe+ve+C+ce,Xt,It(e,11)+Qt,At(dl,zt(ve+C)+Zt+s,zt(ve+C)+ie),At(a,Yt,Wt(ve+C)),Kt,At(al,`partialRow: ${s})`+Be,Ut),ol),_($e+t+C+ce,$e+C+ce,ce,It(e,12),dl,At(a,Yt),l,nl,ol);const p=Z(t+C+sl,"{rowId, "+G+", cellComponents, getCellComponentProps, customCellIds"+tl+`}: ${F}<'${e}'>`,[oe+`(${de}(customCellIds, `+a+`, rowId, ${G}).map((cellId: ${I}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",W,Ft,"/>;","})"+tl+", rowId)"],It(e,13)+Ie);Z(t+"Sorted"+i+sl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,j+"(props, "+$+`(cellId, descending, offset, limit, props.${G}), ${a}, ${p});`,rt(e,13)+", sorted"+Ie),Z(t+i+sl,`props: ${U}<'${e}'>`,j+"(props, "+c+`(props.${G}), ${a}, ${p});`,rt(e,13)+Ie),A(e,((n,o,d,s,I)=>{const c="Map"+Rt(o,1);r(0,E,c),r(1,E,c);const $=_(t+I+g,g,o+(x(d)?ye:l),ct(e,n)+Ie,dl,At(a,Yt,s));_(Pe+t+I+g+ce,Pe+g+ce,Xt,ct(e,n,9)+Qt,At(dl,zt(g)+Zt+o+" | "+c,zt(g)+ie),At(a,Yt,s,Wt(g)),Kt,At(al,`cell: ${o} | ${c})`+Be,Ut),ol),_($e+t+I+g+ce,$e+g+ce,ce,ct(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,s,"forceDel"),l,nl,ol),Z(t+I+g+sl,`{rowId, ${G}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+G+`) ?? '', undefined, debugIds, ${s})`],ct(e,n,13)+Ie)}))}));const q=O(S((e=>ee(N,e)?.[4]??l))," | ");_(p+I,p+I,We,Xe(1,8)+" changes",rl(s),Il()),_(b+I,b+I,We,ot(2,0,1),rl(w),Il()),_(i+I,i+I,We,ot(3,0),rl(y,`tableId: ${n} | null`),Il("tableId")),_(i+f+I,i+f+I,We,ot(14,3,1),rl(T,`tableId: ${n} | null`),Il("tableId")),_(h+I,h+I,We,ot(4,3,1),rl(v,`tableId: ${n} | null`),Il("tableId")),_(m+I,m+I,We,ot(13,3,1),rl(V,`tableId: ${n} | null`,"cellId: "+q+ye,"descending: boolean","offset: number","limit: number"+ye),Il("tableId","cellId","descending","offset","limit")),_(C+I,C+I,We,ot(5,3),rl(R,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(f+I,f+I,We,ot(6,5,1),rl(k,`tableId: ${n} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),_(g+I,g+I,We,ot(7,5),rl(P,`tableId: ${n} | null`,Yt+": IdOrNull",`cellId: ${q} | null`),Il("tableId",Yt,"cellId"))}if(!H(a)){const[e,t,a,n,o,s]=d;r(null,E,...d),r(1,E,L);const u=$("getDefaultValueComponent","valueId: Id",O(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+re);_(y,y,e,Xe(2,0)+Ie);const i=_(T,T,a+De,et(w,Oe)+Ie);_(Pe+y+ce,Pe+y+ce,Xt,Xe(2,9)+Qt,At(zt(y)+Zt+t,zt(y)+ie),Wt(y),Kt,At(al,`values: ${t})`+Be,Ut),ol),_(Pe+ve+y+ce,Pe+ve+y+ce,Xt,Xe(2,11)+Qt,At(zt(ve+y)+Zt+t,zt(ve+y)+ie),Wt(ve+y),Kt,At(al,`partialValues: ${t})`+Be,Ut),ol),_($e+y+ce,$e+y+ce,ce,Xe(2,12),l,l,l,nl,ol);const p=c(w+Ve,Et("valueId?: VId",G+we+L,Bt),lt("a Value"),`<VId extends ${a}>`),b=c(y+Ve,Et(G+we+L,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),lt(Ke(2,1)));r(1,D,b,p),Z(y+sl,"{"+G+", valueComponents, getValueComponentProps"+tl+"}: "+b,[oe+`(${i}(${G}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+u+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ft,"/>;","}), separator)"],Xe(2,13)+Ie),P(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);r(0,E,d),r(1,E,d);const s=_(o+w,w,t,$t(e)+Ie,l,n);_(Pe+o+w+ce,Pe+w+ce,Xt,$t(e,9)+Qt,At(zt(w)+Zt+t+" | "+d,zt(w)+ie),At(n,Wt(w)),Kt,At(al,`value: ${t} | ${d})`+Be,Ut),ol),_($e+o+w+ce,$e+w+ce,ce,$t(e,12),l,n,l,nl,ol),Z(o+w+sl,`{${G}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${s}(`+G+`) ?? '', undefined, debugIds, ${n})`],$t(e,13)+Ie)})),_(y+I,y+I,We,Xe(2,8)+" changes",rl(n),Il()),_(T+I,T+I,We,ot(10,0,1),rl(o),Il()),_(w+I,w+I,We,ot(11,0),rl(s,`valueId: ${a} | null`),Il("valueId"))}return Z(xe,`{${G}, ${G}ById, children}: `+K+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+xe,"value={useMemo(",`() => [${G} ?? contextValue[0], {...contextValue[1], ...${G}ById}],`,`[${G}, ${G}ById, contextValue],`,")}>","{children}",`</Context.${xe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[s(...V(0),...R(),...Q(0)),s(...V(1),...k(),...Q(1))]},$l=(e,t,a)=>{if(H(e)&&H(t))return[l,l,l,l];const[n,o,d,s]=Jt(e,t,a);return[n,o,...cl(e,t,a,d,s)]},ul=JSON.parse,il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},pl=Ot((e=>{const t=()=>{const t=ul(e.getTablesSchemaJson());return!H(t)||P(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=Y();if(P(a,(t=>P(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ne(n,a,(()=>[A(o),Y(),[0],0])),[s,r,[I]]=d,c=ne(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ae(r,o,c),d[3]++,s==A(o)})))))return t[l]={},K(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==L(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=ul(e.getValuesSchemaJson());return H(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:A(l)}})),t},a=e=>$l(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 N(a(e),((e,a)=>vt(l(e,{...il,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:Vt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=pl;
Binary file
@@ -0,0 +1 @@
1
+ "use strict";var e=require("./ui-react"),t=require("react");const l=e=>typeof e,a="",s=l(a),n=l(!0),o=l(0),r=l(l),i="type",d="default",u="Ids",c="Table",h=c+"s",m=c+u,g="Row",b=g+"Count",w=g+u,p="Cell",f=p+u,C="Value",v=C+"s",I=C+u,y="currentTarget",T="value",V=e=>a+e,k=isFinite,S=(e,t)=>e instanceof t,x=e=>null==e,R=(e,t,l)=>x(e)?l?.():t(e),N=e=>e==s||e==n,E=e=>l(e)==r,L=e=>Array.isArray(e),z=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),$=e=>e.length,A=(e,t,l)=>e.slice(t,l),J=(e,...t)=>e.push(...t),M=e=>e.shift(),F=Object,O=F.keys,P=F.isFrozen,H=F.freeze,B=e=>S(e,F)&&e.constructor==F,D=(e=[])=>F.fromEntries(e),j=(e,t)=>!x(((e,t)=>R(e,(e=>e[t])))(e,t)),W=(e,t)=>(delete e[t],e),G=(e,t)=>q(F.entries(e),(([e,l])=>t(l,e))),K=e=>B(e)&&0==(e=>$(O(e)))(e),Q=e=>JSON.stringify(e,((e,t)=>S(t,Map)?F.fromEntries([...t]):t)),U=JSON.parse,X="tinybaseStoreInspector",Y="TinyBase Store Inspector",Z=["left","top","bottom","right","full"],_="state",ee="sort",te="open",le="position",ae=te,se=(...e)=>Q(e),ne='content:url("',oe=ne+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white'>",re='</svg>")',ie=ne+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",de=q([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>oe+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+re)),ue=oe+"<path d='M20 20l60 60M20 80l60-60' />"+re,ce=((e,t="")=>e.join(t))(G({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",img:"width:1rem;height:1rem;background:#111;border:0",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+ie,...D(q(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...D(q(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ie,"header>img:nth-of-type(6)":ue,...D(q(de,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto",details:"margin-left:0.75rem;width:fit-content;",summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${X} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${X} ${t}{${e}}`:""))),{createElement:he}=t,me=(e,...t)=>x(e)?{}:e(...t),ge=({s:t})=>{const l=e.useValue(le,t)??1,a=e.useSetValueCallback(ae,(()=>!0),[],t);return e.useValue(ae,t)?null:he("img",{onClick:a,title:Y,"data-position":l})},be=e=>{const t=l(e);return N(t)||t==o&&k(e)?t:void 0},we=(e,t,l,a,s)=>x(s)?e.delCell(t,l,a,!0):e.setCell(t,l,a,s),pe=(e,t,l)=>x(l)?e.delValue(t):e.setValue(t,l),fe=(e,t,l,a)=>e==s?t:e==o?l:a,{useCallback:Ce,useMemo:ve,useState:Ie}=t,ye="editable",Te=(e,t,l)=>{const a=Ce(e,t);return l?a:void 0},Ve=(e,t=!1,l,a=0,s,n,o,r)=>{const[[i,d,u],c]=Ie([e,t,a]),h=Ce((e=>{c(e),r?.(e)}),[r]),m=Te((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),g=Ce((e=>h([i,d,e])),[h,i,d]),b=!0===o?ze:o;return[[i,d,u],m,ve((()=>!1===o?null:he(b,{offset:u,limit:s,total:n,onChange:g})),[o,b,u,s,n,g])]},ke=({cellId:e,sort:[t,l],label:s=e??a,onClick:n})=>he("th",{onClick:Te((()=>n?.(e)),[n,e],n),className:x(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},x(l)||t!=e?null:(l?"↓":"↑")+" ",s),Se=({className:e,headerRow:t,idColumn:a,customCells:n,params:o,rowIds:r})=>{const[i,d,u,c,h,m,g]=o,b=c(...d),w=ve((()=>{const e=n??b;return D(G(L(e)?D(q(e,(e=>[e,e]))):e,((e,t)=>{return[t,{label:t,...(a=e,l(a)==s?{label:e}:e)}];var a})))}),[n,b]);return he("table",{className:e},g?he("caption",null,g):null,!1===t?null:he("thead",null,he("tr",null,!1===a?null:he(ke,{sort:h??[],label:"Id",onClick:m}),G(w,(({label:e},t)=>he(ke,{key:t,cellId:t,label:e,sort:h??[],onClick:m}))))),he("tbody",null,q(r,(e=>he("tr",{key:e},!1===a?null:he("th",null,e),G(w,(({component:t=u,getComponentProps:l},a)=>he("td",{key:a},he(t,{...me(l,e,a),...i,rowId:e,cellId:a})))))))))},xe=({thing:e,onThingChange:t,className:l})=>{const[a,r]=Ie(),[i,d]=Ie(),[u,c]=Ie(),[h,m]=Ie(),[g,b]=Ie();i!==e&&(r(be(e)),d(e),c(e+""),m(Number(e)||0),b(!!e));const w=Ce(((e,l)=>{l(e),d(e),t(e)}),[t]);return he("div",{className:l},he("button",{className:a,onClick:Ce((()=>{const e=fe(a,o,n,s),l=fe(e,u,h,g);r(e),d(l),t(l)}),[t,u,h,g,a])},a),fe(a,he("input",{key:a,value:u,onChange:Ce((e=>w(e[y][T]+"",c)),[w])}),he("input",{key:a,type:"number",value:h,onChange:Ce((e=>w(Number(e[y][T]||0),m)),[w])}),he("input",{key:a,type:"checkbox",checked:g,onChange:Ce((e=>w(!!e[y].checked,b)),[w])})))},Re=({tableId:t,cellId:l,descending:a,offset:s,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,...c})=>{const[h,m,g]=Ve(l,a,i,s,n,e.useRowCount(t,o),d,u);return he(Se,{...c,params:ve((()=>[{tableId:t,store:o},[t,o],r?Ee:e.CellView,e.useTableCellIds,h,m,g]),[o,t,r,h,m,g]),rowIds:e.useSortedRowIds(t,...h,n,o)})},Ne=({store:t,editable:l=!1,valueComponent:a=(l?Le:e.ValueView),getValueComponentProps:s,className:n,headerRow:o,idColumn:r})=>he("table",{className:n},!1===o?null:he("thead",null,he("tr",null,!1===r?null:he("th",null,"Id"),he("th",null,C))),he("tbody",null,q(e.useValueIds(t),(e=>he("tr",{key:e},!1===r?null:he("th",null,e),he("td",null,he(a,{...me(s,e),valueId:e,store:t}))))))),Ee=({tableId:t,rowId:l,cellId:a,store:s,className:n})=>he(xe,{thing:e.useCell(t,l,a,s),onThingChange:e.useSetCellCallback(t,l,a,(e=>e),[],s),className:n??ye+p}),Le=({valueId:t,store:l,className:a})=>he(xe,{thing:e.useValue(t,l),onThingChange:e.useSetValueCallback(t,(e=>e),[],l),className:a??ye+C}),ze=({onChange:e,total:l,offset:a=0,limit:s=l,singular:n="row",plural:o=n+"s"})=>{(a>l||a<0)&&(a=0,e(0));const r=Te((()=>e(a-s)),[e,a,s],a>0),i=Te((()=>e(a+s)),[e,a,s],a+s<l);return he(t.Fragment,null,l>s&&he(t.Fragment,null,he("button",{className:"previous",disabled:0==a,onClick:r},"←"),he("button",{className:"next",disabled:a+s>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+s)," of "),l," ",1!=l?o:n)},qe=({uniqueId:l,summary:a,children:s,s:n})=>{const o=!!e.useCell(_,l,te,n),r=e.useSetCellCallback(_,l,te,(e=>e[y].open),[],n);return t.createElement("details",{open:o,onToggle:r},t.createElement("summary",null,a),s)},$e=({tableId:t,store:l,storeId:a,s:s})=>{const n=se("t",a,t),[o,r,i]=U(e.useCell(_,n,ee,s)??"[]"),d=e.useSetCellCallback(_,n,ee,Q,[],s);return he(qe,{uniqueId:n,summary:c+": "+t,s:s},he(Re,{tableId:t,store:l,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Ae=({store:t,storeId:l,s:a})=>{return s=e.useValueIds(t),0==$(s)?null:he(qe,{uniqueId:se("v",l),summary:v,s:a},he(Ne,{store:t}));var s},Je=({storeId:t,s:l})=>{const a=e.useStore(t),s=e.useTableIds(a);return x(a)?null:he(qe,{uniqueId:se("s",t),summary:"Store: "+(t??d),s:l},he(Ae,{storeId:t,store:a,s:l}),q(s,(e=>he($e,{storeId:t,tableId:e,store:a,s:l}))))},Me=t=>he("article",null,he(Je,{...t}),q(e.useStoreIds(),(e=>he(Je,{storeId:e,key:e,...t})))),Fe=({s:t})=>{const l=e.useValue(le,t)??1,a=e.useSetValueCallback(ae,(()=>!1),[],t),s=e.useSetValueCallback(le,(e=>Number(e[y].dataset.id)),[],t);return he("header",null,he("img",{title:Y}),he("span",null,Y),q(Z,((e,t)=>t==l?null:he("img",{onClick:s,"data-id":t,title:"Dock to "+e,key:t}))),he("img",{onClick:a,title:"Close"}))},Oe=({s:t})=>{const l=e.useValue(le,t)??1;return e.useValue(ae,t)?he("main",{"data-position":l},he(Fe,{s:t}),he(Me,{s:t})):null},Pe="storage",He=globalThis.window,Be=(e,t)=>((e,t,l)=>((e,a,s,n,o)=>{let r,i,d,u=0,c=0,h=0,m=0,g=0;const b=[],w=async e=>(2!=u&&(u=1,c++,await p.schedule((async()=>{await e(),u=0}))),p),p={load:async(t,l)=>await w((async()=>{try{e.setContent(await a())}catch{e.setContent([t,l])}})),startAutoLoad:async(s={},n={})=>(p.stopAutoLoad(),await p.load(s,n),g=1,d=(e=>{const a=a=>{a.storageArea===l&&a.key===t&&e((()=>U(a.newValue)))};return He.addEventListener(Pe,a),a})((async(t,l)=>await w((async()=>{if(l)e.setTransactionChanges(l());else try{e.setContent(t?.()??await a())}catch{}})))),p),stopAutoLoad:()=>{return g&&(e=d,He.removeEventListener(Pe,e),d=void 0,g=0),p;var e},save:async a=>(1!=u&&(u=2,h++,await p.schedule((async()=>{try{await(async e=>l.setItem(t,Q(e())))(e.getContent)}catch{}u=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),r=e.addDidFinishTransactionListener(((e,t)=>{const[l,a]=t();K(l)&&K(a)||p.save((()=>[l,a]))})),p),stopAutoSave:()=>(R(r,e.delListener),p),schedule:async(...e)=>(J(b,...e),await(async()=>{if(!m){for(m=1;!x(i=M(b));)try{await i()}catch{}m=0}})(),p),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return H(p)})(e,(async()=>U(l.getItem(t)))))(e,t,sessionStorage),De=e=>t=>{return l=(t,l)=>t+e(l),Xe(t).reduce(l,0);var l},je=e=>e?.size??0,We=De(je),Ge=De(We),Ke=De(Ge),Qe=(e,t)=>e?.has(t)??!1,Ue=e=>x(e)||0==je(e),Xe=e=>[...e?.values()??[]],Ye=e=>e.clear(),Ze=(e,t)=>e?.forEach(t),_e=(e,t)=>e?.delete(t),et=e=>new Map(e),tt=e=>[...e?.keys()??[]],lt=(e,t)=>e?.get(t),at=(e,t)=>Ze(e,((e,l)=>t(l,e))),st=(e,t,l)=>x(l)?(_e(e,t),e):e?.set(t,l),nt=(e,t,l)=>(Qe(e,t)||st(e,t,l()),lt(e,t)),ot=(e,t,l,a=st)=>(G(t,((t,a)=>l(e,a,t))),at(e,(l=>j(t,l)?0:a(e,l))),e),rt=(e,t,l)=>{const a={};return Ze(e,((e,s)=>{const n=t?t(e,s):e;!l?.(n,e)&&(a[s]=n)})),a},it=(e,t,l)=>rt(e,(e=>rt(e,t,l)),K),dt=(e,t,l)=>rt(e,(e=>it(e,t,l)),K),ut=(e,t)=>{const l=et();return Ze(e,((e,a)=>l.set(a,t?.(e)??e))),l},ct=e=>ut(e,ut),ht=e=>ut(e,ct),mt=(e,t,l,a,s=0)=>R((l?nt:lt)(e,t[s],s>$(t)-2?l:et),(n=>{if(s>$(t)-2)return a?.(n)&&st(e,t[s]),n;const o=mt(n,t,l,a,s+1);return Ue(n)&&st(e,t[s]),o})),gt=e=>new Set(L(e)||x(e)?e:[e]),bt=(e,t)=>e?.add(t),wt=/^\d+$/,pt=()=>{const e=[];let t=0;return[l=>(l?M(e):null)??a+t++,t=>{wt.test(t)&&$(e)<1e3&&J(e,t)}]},ft=e=>[e,e],Ct=(e,t=We)=>t(e[0])+t(e[1]),vt=()=>[et(),et()],It=e=>[...e],yt=([e,t])=>e===t,Tt=(e,t,l)=>x(e)||!B(e)||K(e)||P(e)?(l?.(),!1):(G(e,((l,a)=>{t(l,a)||W(e,a)})),!K(e)),Vt=(e,t,l)=>st(e,t,lt(e,t)==-l?void 0:l),kt=()=>{let e,t,l=!1,s=!1,n=0;const r=et(),u=et(),y=et(),T=et(),k=et(),S=et(),L=et(),M=et(),F=et(),O=et(),P=et(),B=et(),D=et(),X=et(),Y=gt(),Z=et(),_=et(),ee=et(),te=et(),le=vt(),ae=vt(),se=vt(),ne=vt(),oe=vt(),re=vt(),ie=vt(),de=vt(),ue=vt(),ce=vt(),he=vt(),me=vt(),ge=vt(),fe=vt(),Ce=vt(),ve=et(),Ie=vt(),[ye,Te,Ve,ke]=(e=>{let t;const[l,s]=pt(),n=et();return[(e,s,o,r=[],i=(()=>[]))=>{t??=Cl;const d=l(1);return st(n,d,[e,s,o,r,i]),bt(mt(s,o??[a],gt),d),d},(e,l,...s)=>z(((e,t=[a])=>{const l=[],s=(e,a)=>a==$(t)?J(l,e):null===t[a]?Ze(e,(e=>s(e,a+1))):z([t[a],null],(t=>s(lt(e,t),a+1)));return s(e,0),l})(e,l),(e=>Ze(e,(e=>lt(n,e)[0](t,...l??[],...s))))),e=>R(lt(n,e),(([,t,l])=>(mt(t,l??[a],void 0,(t=>(_e(t,e),Ue(t)?1:0))),st(n,e),s(e),l))),e=>R(lt(n,e),(([e,,l=[],a,s])=>{const n=(...o)=>{const r=$(o);r==$(l)?e(t,...o,...s(o)):x(l[r])?z(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,l[r])};n()}))]})(),Se=e=>{if(!Tt(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!N(t)&&t!=o||(be(e[d])!=t&&W(e,d),0))},xe=(t,l)=>(!e||Qe(P,l)||Mt(l))&&Tt(t,((e,t)=>Re(l,t,e)),(()=>Mt(l))),Re=(e,t,l,a)=>Tt(a?l:ze(l,e,t),((a,s)=>R(Ne(e,t,s,a),(e=>(l[s]=e,!0)),(()=>!1))),(()=>Mt(e,t))),Ne=(t,l,a,s)=>e?R(lt(lt(P,t),a),(e=>be(s)!=e[i]?Mt(t,l,a,s,e[d]):s),(()=>Mt(t,l,a,s))):x(be(s))?Mt(t,l,a,s):s,Ee=(e,t)=>Tt(t?e:qe(e),((t,l)=>R(Le(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>Ft())),Le=(e,l)=>t?R(lt(D,e),(t=>be(l)!=t[i]?Ft(e,l,t[d]):l),(()=>Ft(e,l))):x(be(l))?Ft(e,l):l,ze=(e,t,l)=>(R(lt(B,t),(([a,s])=>{Ze(a,((t,l)=>{j(e,l)||(e[l]=t)})),Ze(s,(a=>{j(e,a)||Mt(t,l,a)}))})),e),qe=e=>(t&&(Ze(X,((t,l)=>{j(e,l)||(e[l]=t)})),Ze(Y,(t=>{j(e,t)||Ft(t)}))),e),$e=e=>ot(P,e,((e,t,l)=>{const a=et(),s=gt();ot(nt(P,t,et),l,((e,t,l)=>{st(e,t,l),R(l[d],(e=>st(a,t,e)),(()=>bt(s,t)))})),st(B,t,[a,s])}),((e,t)=>{st(P,t),st(B,t)})),Ae=e=>ot(D,e,((e,t,l)=>{st(D,t,l),R(l[d],(e=>st(X,t,e)),(()=>bt(Y,t)))}),((e,t)=>{st(D,t),st(X,t),_e(Y,t)})),Je=e=>K(e)?ul():nl(e),Me=e=>ot(ee,e,((e,t,l)=>Fe(t,l)),((e,t)=>xt(t))),Fe=(e,t)=>ot(nt(ee,e,(()=>(Lt(e,1),st(Z,e,pt()),st(_,e,et()),et()))),t,((t,l,a)=>Oe(e,t,l,a)),((t,l)=>Rt(e,t,l))),Oe=(e,t,l,a,s)=>ot(nt(t,l,(()=>(zt(e,l,1),et()))),a,((t,a,s)=>Pe(e,l,t,a,s)),((a,n)=>Nt(e,t,l,a,n,s))),Pe=(e,t,l,a,s)=>{Qe(l,a)||qt(e,t,a,1);const n=lt(l,a);s!==n&&($t(e,t,a,n,s),st(l,a,s))},He=(e,t,l,a,s)=>R(lt(t,l),(t=>Pe(e,l,t,a,s)),(()=>Oe(e,t,l,ze({[a]:s},e,l)))),Be=e=>K(e)?ml():ol(e),De=e=>ot(te,e,((e,t,l)=>Xe(t,l)),((e,t)=>Et(t))),Xe=(e,t)=>{Qe(te,e)||At(e,1);const l=lt(te,e);t!==l&&(Jt(e,l,t),st(te,e,t))},wt=(e,t)=>{const[l]=lt(Z,e),a=l(t);return Qe(lt(ee,e),a)?wt(e,t):a},St=e=>lt(ee,e)??Fe(e,{}),xt=e=>Fe(e,{}),Rt=(e,t,l)=>{const[,a]=lt(Z,e);a(l),Oe(e,t,l,{},!0)},Nt=(e,t,l,a,s,n)=>{const o=lt(lt(B,e)?.[0],s);if(!x(o)&&!n)return Pe(e,l,a,s,o);const r=t=>{$t(e,l,t,lt(a,t)),qt(e,l,t,-1),st(a,t)};x(o)?r(s):at(a,r),Ue(a)&&(zt(e,l,-1),Ue(st(t,l))&&(Lt(e,-1),st(ee,e),st(Z,e),st(_,e)))},Et=e=>{const t=lt(X,e);if(!x(t))return Xe(e,t);Jt(e,lt(te,e)),At(e,-1),st(te,e)},Lt=(e,t)=>Vt(r,e,t),zt=(e,t,l)=>Vt(nt(T,e,et),t,l)&&st(y,e,nt(y,e,(()=>0))+l),qt=(e,t,l,a)=>{const s=lt(_,e),n=lt(s,l)??0;(0==n&&1==a||1==n&&-1==a)&&Vt(nt(u,e,et),l,a),st(s,l,n!=-a?n+a:null),Vt(nt(nt(k,e,et),t,et),l,a)},$t=(e,t,l,a,s)=>nt(nt(nt(S,e,et),t,et),l,(()=>[a,0]))[1]=s,At=(e,t)=>Vt(L,e,t),Jt=(e,t,l)=>nt(M,e,(()=>[t,0]))[1]=l,Mt=(e,t,l,a,s)=>(J(nt(nt(nt(F,e,et),t,et),l,(()=>[])),a),s),Ft=(e,t,l)=>(J(nt(O,e,(()=>[])),t),l),Ot=(e,t,l)=>R(lt(lt(lt(S,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...ft(tl(e,t,l))])),Pt=e=>R(lt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ft(sl(e))])),Ht=e=>Ue(F)||Ue(he[e])?0:Ze(e?ht(F):F,((t,l)=>Ze(t,((t,a)=>Ze(t,((t,s)=>Te(he[e],[l,a,s],t))))))),Bt=e=>Ue(O)||Ue(me[e])?0:Ze(e?ut(O):O,((t,l)=>Te(me[e],[l],t))),Dt=(e,t,l)=>{if(!Ue(t))return Te(e,l,(()=>rt(t))),1},jt=e=>{const t=Ue(ie[e]),l=Ue(ue[e])&&Ue(ne[e])&&Ue(oe[e])&&Ue(re[e])&&t&&Ue(ae[e]),a=Ue(ce[e])&&Ue(de[e])&&Ue(se[e])&&Ue(le[e]);if(!l||!a){const s=e?[ut(r),ct(u),ut(y),ct(T),ht(k),ht(S)]:[r,u,y,T,k,S];if(!l){Dt(ae[e],s[0]),Ze(s[1],((t,l)=>Dt(ne[e],t,[l]))),Ze(s[2],((t,l)=>{0!=t&&Te(oe[e],[l],Yt(l))}));const l=gt();Ze(s[3],((a,s)=>{Dt(re[e],a,[s])&&!t&&(Te(ie[e],[s,null]),bt(l,s))})),t||Ze(s[5],((t,a)=>{if(!Qe(l,a)){const l=gt();Ze(t,(e=>Ze(e,(([t,a],s)=>a!==t?bt(l,s):_e(e,s))))),Ze(l,(t=>Te(ie[e],[a,t])))}})),Ze(s[4],((t,l)=>Ze(t,((t,a)=>Dt(ue[e],t,[l,a])))))}if(!a){let t;Ze(s[5],((l,a)=>{let s;Ze(l,((l,n)=>{let o;Ze(l,(([l,r],i)=>{r!==l&&(Te(ce[e],[a,n,i],r,l,Ot),t=s=o=1)})),o&&Te(de[e],[a,n],Ot)})),s&&Te(se[e],[a],Ot)})),t&&Te(le[e],void 0,Ot)}}},Wt=e=>{const t=Ue(fe[e]),l=Ue(Ce[e])&&Ue(ge[e]);if(!t||!l){const a=e?[ut(L),ut(M)]:[L,M];if(t||Dt(fe[e],a[0]),!l){let t;Ze(a[1],(([l,a],s)=>{a!==l&&(Te(Ce[e],[s],a,l,Pt),t=1)})),t&&Te(ge[e],void 0,Pt)}}},Gt=(e,...t)=>(wl((()=>e(...q(t,V)))),Cl),Kt=()=>[rt(S,((e,t)=>-1===lt(r,t)?null:rt(e,((e,l)=>-1===lt(lt(T,t),l)?null:rt(e,(([,e])=>e??null),((e,t)=>yt(t)))),K)),K),rt(M,(([,e])=>e??null),((e,t)=>yt(t)))],Qt=()=>({cellsTouched:l,valuesTouched:s,changedCells:dt(S,It,yt),invalidCells:dt(F),changedValues:rt(M,It,yt),invalidValues:rt(O),changedTableIds:rt(r),changedRowIds:it(T),changedCellIds:dt(k),changedValueIds:rt(L)}),Ut=()=>dt(ee),Xt=()=>tt(ee),Yt=e=>je(lt(ee,V(e))),Zt=e=>tt(lt(ee,V(e))),_t=(e,t,l,a=0,s)=>{return q(A((o=lt(ee,V(e)),r=(e,l)=>[x(t)?l:lt(e,V(t)),l],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(l?-1:1),q([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,x(s)?s:a+s),(([,e])=>e));var n,o,r},el=(e,t)=>tt(lt(lt(ee,V(e)),V(t))),tl=(e,t,l)=>lt(lt(lt(ee,V(e)),V(t)),V(l)),ll=()=>rt(te),al=()=>tt(te),sl=e=>lt(te,V(e)),nl=e=>Gt((()=>(e=>Tt(e,xe,Mt))(e)?Me(e):0)),ol=e=>Gt((()=>Ee(e)?De(e):0)),rl=e=>{try{Je(U(e))}catch{}return Cl},il=t=>Gt((()=>{if((e=Tt(t,(e=>Tt(e,Se))))&&($e(t),!Ue(ee))){const e=Ut();ul(),nl(e)}})),dl=e=>Gt((()=>{if(t=(e=>Tt(e,Se))(e)){const l=ll();bl(),ml(),t=!0,Ae(e),ol(l)}})),ul=()=>Gt((()=>Me({}))),cl=e=>Gt((e=>Qe(ee,e)?xt(e):0),e),hl=(e,t)=>Gt(((e,t)=>R(lt(ee,e),(l=>Qe(l,t)?Rt(e,l,t):0))),e,t),ml=()=>Gt((()=>De({}))),gl=()=>Gt((()=>{$e({}),e=!1})),bl=()=>Gt((()=>{Ae({}),t=!1})),wl=(e,t)=>{if(-1!=n){pl();const l=e();return fl(t),l}},pl=()=>(-1!=n&&n++,1==n&&Te(ve,void 0,Kt,Qt),Cl),fl=e=>(n>0&&(n--,0==n&&(l=!Ue(S),s=!Ue(M),n=1,Ht(1),l&&jt(1),Bt(1),s&&Wt(1),e?.(Kt,Qt)&&(Ze(S,((e,t)=>Ze(e,((e,l)=>Ze(e,(([e],a)=>we(Cl,t,l,a,e))))))),Ze(M,(([e],t)=>pe(Cl,t,e))),l=s=!1),Te(Ie[0],void 0,Kt,Qt),n=-1,Ht(0),l&&jt(0),Bt(0),s&&Wt(0),Te(Ie[1],void 0,Kt,Qt),n=0,l=s=!1,z([r,u,y,T,k,S,F,L,M,O],Ye))),Cl),Cl={getContent:()=>[Ut(),ll()],getTables:Ut,getTableIds:Xt,getTable:e=>it(lt(ee,V(e))),getTableCellIds:e=>tt(lt(_,V(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>rt(lt(lt(ee,V(e)),V(t))),getCellIds:el,getCell:tl,getValues:ll,getValueIds:al,getValue:sl,hasTables:()=>!Ue(ee),hasTable:e=>Qe(ee,V(e)),hasTableCell:(e,t)=>Qe(lt(_,V(e)),V(t)),hasRow:(e,t)=>Qe(lt(ee,V(e)),V(t)),hasCell:(e,t,l)=>Qe(lt(lt(ee,V(e)),V(t)),V(l)),hasValues:()=>!Ue(te),hasValue:e=>Qe(te,V(e)),getTablesJson:()=>Q(ee),getValuesJson:()=>Q(te),getJson:()=>Q([ee,te]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(D),getSchemaJson:()=>Q([P,D]),setContent:([e,t])=>Gt((()=>{(K(e)?ul:nl)(e),(K(t)?ml:ol)(t)})),setTables:nl,setTable:(e,t)=>Gt((e=>xe(t,e)?Fe(e,t):0),e),setRow:(e,t,l)=>Gt(((e,t)=>Re(e,t,l)?Oe(e,St(e),t,l):0),e,t),addRow:(e,t,l=!0)=>wl((()=>{let a;return Re(e,a,t)&&(e=V(e),Oe(e,St(e),a=wt(e,l?1:0),t)),a})),setPartialRow:(e,t,l)=>Gt(((e,t)=>{if(Re(e,t,l,1)){const a=St(e);G(l,((l,s)=>He(e,a,t,s,l)))}}),e,t),setCell:(e,t,l,a)=>Gt(((e,t,l)=>R(Ne(e,t,l,E(a)?a(tl(e,t,l)):a),(a=>He(e,St(e),t,l,a)))),e,t,l),setValues:ol,setPartialValues:e=>Gt((()=>Ee(e,1)?G(e,((e,t)=>Xe(t,e))):0)),setValue:(e,t)=>Gt((e=>R(Le(e,E(t)?t(sl(e)):t),(t=>Xe(e,t)))),e),setTransactionChanges:e=>Gt((()=>{G(e[0],((e,t)=>x(e)?cl(t):G(e,((e,l)=>x(e)?hl(t,l):G(e,((e,a)=>we(Cl,t,l,a,e))))))),G(e[1],((e,t)=>pe(Cl,t,e)))})),setTablesJson:rl,setValuesJson:e=>{try{Be(U(e))}catch{}return Cl},setJson:e=>{try{const[t,l]=U(e);Je(t),Be(l)}catch{rl(e)}return Cl},setTablesSchema:il,setValuesSchema:dl,setSchema:(e,t)=>Gt((()=>{il(e),dl(t)})),delTables:ul,delTable:cl,delRow:hl,delCell:(e,t,l,a)=>Gt(((e,t,l)=>R(lt(ee,e),(s=>R(lt(s,t),(n=>Qe(n,l)?Nt(e,s,t,n,l,a):0))))),e,t,l),delValues:ml,delValue:e=>Gt((e=>Qe(te,e)?Et(e):0),e),delTablesSchema:gl,delValuesSchema:bl,delSchema:()=>Gt((()=>{gl(),bl()})),transaction:wl,startTransaction:pl,finishTransaction:fl,forEachTable:e=>Ze(ee,((t,l)=>e(l,(e=>Ze(t,((t,l)=>e(l,(e=>at(t,e))))))))),forEachTableCell:(e,t)=>at(lt(_,V(e)),t),forEachRow:(e,t)=>Ze(lt(ee,V(e)),((e,l)=>t(l,(t=>at(e,t))))),forEachCell:(e,t,l)=>at(lt(lt(ee,V(e)),V(t)),l),forEachValue:e=>at(te,e),addSortedRowIdsListener:(e,t,l,a,s,n,o)=>{let r=_t(e,t,l,a,s);return ye((()=>{const o=_t(e,t,l,a,s);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Cl,e,t,l,a,s,r))}),ie[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>ye(e,ve),addWillFinishTransactionListener:e=>ye(e,Ie[0]),addDidFinishTransactionListener:e=>ye(e,Ie[1]),callListener:e=>(ke(e),Cl),delListener:e=>(Ve(e),Cl),getListenerStats:()=>({tables:Ct(le),tableIds:Ct(ae),tableCellIds:Ct(ne),table:Ct(se),rowCount:Ct(oe),rowIds:Ct(re),sortedRowIds:Ct(ie),row:Ct(de,Ge),cellIds:Ct(ue,Ge),cell:Ct(ce,Ke),invalidCell:Ct(he,Ke),values:Ct(ge),valueIds:Ct(fe),value:Ct(Ce),invalidValue:Ct(me),transaction:We(ve)+Ct(Ie)}),createStore:kt};return G({[h]:[0,le],[m]:[0,ae],[c]:[1,se,[Xt]],[c+f]:[1,ne,[Xt]],[b]:[1,oe,[Xt]],[w]:[1,re,[Xt]],[g]:[2,de,[Xt,Zt]],[f]:[2,ue,[Xt,Zt]],[p]:[3,ce,[Xt,Zt,el],e=>ft(tl(...e))],InvalidCell:[3,he],[v]:[0,ge],[I]:[0,fe],[C]:[1,Ce,[al],e=>ft(sl(e[0]))],InvalidValue:[1,me]},(([e,t,l,a],s)=>{Cl["add"+s+"Listener"]=(...s)=>ye(s[e],t[s[e+1]?1:0],e>0?A(s,0,e):void 0,l,a)})),H(Cl)},St=({position:l="right",open:a=!1})=>{const s=e.useCreateStore(kt),n=Z.indexOf(l);return e.useCreatePersister(s,(e=>Be(e,X)),void 0,(async e=>{await e.load(void 0,{position:-1==n?1:n,open:!!a}),await e.startAutoSave()})),he(t.Fragment,null,he("aside",{id:X},he(ge,{s:s}),he(Oe,{s:s})),he("style",null,ce))};exports.EditableCellView=Ee,exports.EditableValueView=Le,exports.ResultSortedTableInHtmlTable=({queryId:t,cellId:l,descending:a,offset:s,limit:n,queries:o,sortOnClick:r,paginator:i=!1,onChange:d,...u})=>{const[c,h,m]=Ve(l,a,r,s,n,e.useResultRowCount(t,o),i,d);return he(Se,{...u,params:ve((()=>[{queryId:t,queries:o},[t,o],e.ResultCellView,e.useResultTableCellIds,c,h,m]),[t,o,c,h,m]),rowIds:e.useResultSortedRowIds(t,...c,n,o)})},exports.ResultTableInHtmlTable=({queryId:t,queries:l,...a})=>he(Se,{...a,params:ve((()=>[{queryId:t,queries:l},[t,l],e.ResultCellView,e.useResultTableCellIds]),[t,l]),rowIds:e.useResultRowIds(t,l)}),exports.SortedTableInHtmlTable=Re,exports.SortedTablePaginator=ze,exports.StoreInspector=e=>he(St,{...e}),exports.TableInHtmlTable=({tableId:t,store:l,editable:a,...s})=>he(Se,{...s,params:ve((()=>[{tableId:t,store:l},[t,l],a?Ee:e.CellView,e.useTableCellIds]),[l,t,a]),rowIds:e.useRowIds(t,l)}),exports.ValuesInHtmlTable=Ne;
@@ -1 +1 @@
1
- "use strict";var e=require("./ui-react"),l=require("react");const t=e=>typeof e,s=t(""),r=(e,l)=>e.map(l),u=e=>null==e,d=Object,o=(e=[])=>d.fromEntries(e),a=(e,l)=>r(d.entries(e),(([e,t])=>l(t,e))),{createContext:n,useContext:I}=l;n([]);const i=(e,...l)=>u(e)?{}:e(...l),{createElement:c,useCallback:b,useMemo:C,useState:m}=l,T=(e,l,t)=>{const s=b(e,l);return t?s:void 0},w=(e,l)=>u(e)||e[0]!=l?void 0:`sorted ${e[1]?"de":"a"}scending`,y=({cellId:e,sorting:l,label:t=e??"",onClick:s})=>c("th",{onClick:T((()=>s?.(e)),[s,e],!u(s)),className:w(l,e)},t),f=({className:l,headerRow:u,idColumn:d,customCells:n,storeTableIdOrQueriesQueryId:I,defaultCellView:b=e.CellView,rowIds:m,defaultCellIds:T,sorting:w,onHeaderThClick:f})=>{const k=C((()=>{const e=n??T;return o(a(Array.isArray(e)?o(r(e,(e=>[e,e]))):e,((e,l)=>{return[l,{label:l,...(r=e,t(r)==s?{label:e}:e)}];var r})))}),[n,T]);return c("table",{className:l},!1===u?null:c("thead",null,c("tr",null,!1===d?null:c(y,{sorting:w,label:"Id",onClick:f}),a(k,(({label:e},l)=>c(y,{key:l,cellId:l,label:e,sorting:w,onClick:f}))))),c("tbody",null,r(m,(e=>c("tr",{key:e},!1===d?null:c("th",null,e),a(k,(({component:l=b,getComponentProps:t},s)=>c("td",{key:s},c(l,{...i(t,e,s),...I,rowId:e,cellId:s})))))))))};exports.ResultSortedTableInHtmlTable=({queryId:l,cellId:t,descending:s,offset:r,limit:u,queries:d,sortOnClick:o,...a})=>{const[n,I]=m([t,!!s]),i=T((e=>I([e,e==n[0]&&!n[1]])),[n],o);return c(f,{...a,storeTableIdOrQueriesQueryId:C((()=>({queries:d,queryId:l})),[d,l]),defaultCellView:e.ResultCellView,rowIds:e.useResultSortedRowIds(l,...n,r,u,d),defaultCellIds:e.useResultTableCellIds(l,d),sorting:n,onHeaderThClick:i})},exports.ResultTableInHtmlTable=({queryId:l,queries:t,...s})=>c(f,{...s,storeTableIdOrQueriesQueryId:C((()=>({queries:t,queryId:l})),[t,l]),defaultCellView:e.ResultCellView,rowIds:e.useResultRowIds(l,t),defaultCellIds:e.useResultTableCellIds(l,t)}),exports.SortedTableInHtmlTable=({tableId:l,cellId:t,descending:s,offset:r,limit:u,store:d,sortOnClick:o,...a})=>{const[n,I]=m([t,!!s]),i=T((e=>I([e,e==n[0]&&!n[1]])),[n],o);return c(f,{...a,storeTableIdOrQueriesQueryId:C((()=>({store:d,tableId:l})),[d,l]),rowIds:e.useSortedRowIds(l,...n,r,u,d),defaultCellIds:e.useTableCellIds(l,d),sorting:n,onHeaderThClick:i})},exports.TableInHtmlTable=({tableId:l,store:t,...s})=>c(f,{...s,storeTableIdOrQueriesQueryId:C((()=>({store:t,tableId:l})),[t,l]),rowIds:e.useRowIds(l,t),defaultCellIds:e.useTableCellIds(l,t)}),exports.ValuesInHtmlTable=({store:l,valueComponent:t=e.ValueView,getValueComponentProps:s,className:u,headerRow:d,idColumn:o})=>c("table",{className:u},!1===d?null:c("thead",null,c("tr",null,!1===o?null:c("th",null,"Id"),c("th",null,"Value"))),c("tbody",null,r(e.useValueIds(l),(e=>c("tr",{key:e},!1===o?null:c("th",null,e),c("td",null,c(t,{...i(s,e),valueId:e,store:l})))))));
1
+ "use strict";var e=require("./ui-react"),t=require("react");const l=e=>typeof e,a=l(""),o=l(!0),r=l(0),n="Value",i="currentTarget",s="value",d=isFinite,u=e=>null==e,h=(e,t)=>e.map(t),m=Object,c=(e=[])=>m.fromEntries(e),g=(e,t)=>h(m.entries(e),(([e,l])=>t(l,e))),b="tinybaseStoreInspector",p='content:url("',w=p+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white'>",f='</svg>")',C=p+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",I=h([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>w+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+f)),v=w+"<path d='M20 20l60 60M20 80l60-60' />"+f;((e,t="")=>{e.join(t)})(g({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",img:"width:1rem;height:1rem;background:#111;border:0",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+C,...c(h(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...c(h(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":C,"header>img:nth-of-type(6)":v,...c(h(I,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto",details:"margin-left:0.75rem;width:fit-content;",summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${b} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left"},((e,t)=>e?`#${b} ${t}{${e}}`:"")));const{createElement:x}=t,k=(e,...t)=>u(e)?{}:e(...t),y=(e,t,l,o)=>e==a?t:e==r?l:o,{useCallback:T,useMemo:R,useState:N}=t,V="editable",z=(e,t,l)=>{const a=T(e,t);return l?a:void 0},$=(e,t=!1,l,a=0,o,r,n,i)=>{const[[s,d,u],h]=N([e,t,a]),m=T((e=>{h(e),i?.(e)}),[i]),c=z((e=>m([e,e==s&&!d,u])),[m,s,d,u],l),g=T((e=>m([s,d,e])),[m,s,d]),b=!0===n?F:n;return[[s,d,u],c,R((()=>!1===n?null:x(b,{offset:u,limit:o,total:r,onChange:g})),[n,b,u,o,r,g])]},q=({cellId:e,sort:[t,l],label:a=e??"",onClick:o})=>x("th",{onClick:z((()=>o?.(e)),[o,e],o),className:u(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},u(l)||t!=e?null:(l?"↓":"↑")+" ",a),S=({className:e,headerRow:t,idColumn:o,customCells:r,params:n,rowIds:i})=>{const[s,d,u,m,b,p,w]=n,f=m(...d),C=R((()=>{const e=r??f;return c(g(Array.isArray(e)?c(h(e,(e=>[e,e]))):e,((e,t)=>{return[t,{label:t,...(o=e,l(o)==a?{label:e}:e)}];var o})))}),[r,f]);return x("table",{className:e},w?x("caption",null,w):null,!1===t?null:x("thead",null,x("tr",null,!1===o?null:x(q,{sort:b??[],label:"Id",onClick:p}),g(C,(({label:e},t)=>x(q,{key:t,cellId:t,label:e,sort:b??[],onClick:p}))))),x("tbody",null,h(i,(e=>x("tr",{key:e},!1===o?null:x("th",null,e),g(C,(({component:t=u,getComponentProps:l},a)=>x("td",{key:a},x(t,{...k(l,e,a),...s,rowId:e,cellId:a})))))))))},M=({thing:e,onThingChange:t,className:n})=>{const[u,h]=N(),[m,c]=N(),[g,b]=N(),[p,w]=N(),[f,C]=N();m!==e&&(h((e=>{const t=l(e);return(e=>e==a||e==o)(t)||t==r&&d(e)?t:void 0})(e)),c(e),b(e+""),w(Number(e)||0),C(!!e));const I=T(((e,l)=>{l(e),c(e),t(e)}),[t]);return x("div",{className:n},x("button",{className:u,onClick:T((()=>{const e=y(u,r,o,a),l=y(e,g,p,f);h(e),c(l),t(l)}),[t,g,p,f,u])},u),y(u,x("input",{key:u,value:g,onChange:T((e=>I(e[i][s]+"",b)),[I])}),x("input",{key:u,type:"number",value:p,onChange:T((e=>I(Number(e[i][s]||0),w)),[I])}),x("input",{key:u,type:"checkbox",checked:f,onChange:T((e=>I(!!e[i].checked,C)),[I])})))},H=({tableId:t,rowId:l,cellId:a,store:o,className:r})=>x(M,{thing:e.useCell(t,l,a,o),onThingChange:e.useSetCellCallback(t,l,a,(e=>e),[],o),className:r??V+"Cell"}),E=({valueId:t,store:l,className:a})=>x(M,{thing:e.useValue(t,l),onThingChange:e.useSetValueCallback(t,(e=>e),[],l),className:a??V+n}),F=({onChange:e,total:l,offset:a=0,limit:o=l,singular:r="row",plural:n=r+"s"})=>{(a>l||a<0)&&(a=0,e(0));const i=z((()=>e(a-o)),[e,a,o],a>0),s=z((()=>e(a+o)),[e,a,o],a+o<l);return x(t.Fragment,null,l>o&&x(t.Fragment,null,x("button",{className:"previous",disabled:0==a,onClick:i},"←"),x("button",{className:"next",disabled:a+o>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+o)," of "),l," ",1!=l?n:r)};exports.EditableCellView=H,exports.EditableValueView=E,exports.ResultSortedTableInHtmlTable=({queryId:t,cellId:l,descending:a,offset:o,limit:r,queries:n,sortOnClick:i,paginator:s=!1,onChange:d,...u})=>{const[h,m,c]=$(l,a,i,o,r,e.useResultRowCount(t,n),s,d);return x(S,{...u,params:R((()=>[{queryId:t,queries:n},[t,n],e.ResultCellView,e.useResultTableCellIds,h,m,c]),[t,n,h,m,c]),rowIds:e.useResultSortedRowIds(t,...h,r,n)})},exports.ResultTableInHtmlTable=({queryId:t,queries:l,...a})=>x(S,{...a,params:R((()=>[{queryId:t,queries:l},[t,l],e.ResultCellView,e.useResultTableCellIds]),[t,l]),rowIds:e.useResultRowIds(t,l)}),exports.SortedTableInHtmlTable=({tableId:t,cellId:l,descending:a,offset:o,limit:r,store:n,editable:i,sortOnClick:s,paginator:d=!1,onChange:u,...h})=>{const[m,c,g]=$(l,a,s,o,r,e.useRowCount(t,n),d,u);return x(S,{...h,params:R((()=>[{tableId:t,store:n},[t,n],i?H:e.CellView,e.useTableCellIds,m,c,g]),[n,t,i,m,c,g]),rowIds:e.useSortedRowIds(t,...m,r,n)})},exports.SortedTablePaginator=F,exports.StoreInspector=e=>null,exports.TableInHtmlTable=({tableId:t,store:l,editable:a,...o})=>x(S,{...o,params:R((()=>[{tableId:t,store:l},[t,l],a?H:e.CellView,e.useTableCellIds]),[l,t,a]),rowIds:e.useRowIds(t,l)}),exports.ValuesInHtmlTable=({store:t,editable:l=!1,valueComponent:a=(l?E:e.ValueView),getValueComponentProps:o,className:r,headerRow:i,idColumn:s})=>x("table",{className:r},!1===i?null:x("thead",null,x("tr",null,!1===s?null:x("th",null,"Id"),x("th",null,n))),x("tbody",null,h(e.useValueIds(t),(e=>x("tr",{key:e},!1===s?null:x("th",null,e),x("td",null,x(a,{...k(o,e),valueId:e,store:t})))))));
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Ids",l="Table",d=l+"s",u=l+r,n="Row",p=n+r,a="Sorted"+n+r,i="Cell",I=i+r,c="Value",x=c+"s",C=c+r,R=(e,s)=>e.map(s),w=e=>null==e,b=(e,s,t)=>w(e)?t?.():s(e),k=e=>s(e)==o,g=()=>{},{createContext:m,useContext:L}=e,h=m([]),V=(e,s)=>{const t=L(h);return w(e)?t[s]:k(e)?((e,s)=>b(e,(e=>e[s])))(t[s+1],e):e},S=(e,s)=>{const t=V(e,s);return w(e)||k(e)?t:e},T=(e,...s)=>w(e)?{}:e(...s),y=e=>S(e,0),v=e=>S(e,2),P=e=>S(e,4),q=e=>S(e,6),f=e=>S(e,8),B=e=>S(e,10),{useCallback:M,useEffect:D,useMemo:A,useRef:F,useState:G}=e,E=(e,s,t=[])=>{const o=A((()=>s(e)),[e,...t]);return D((()=>()=>o.destroy()),[o]),o},Q=(e,s,t,o=[],r)=>{const[,l]=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=w(r)?d():e[r],l([])}),[],o),n.current},U=(e,s,t,o=[],r=[],...l)=>D((()=>{const o=s?.["add"+e+"Listener"]?.(...r,t,...l);return()=>s?.delListener(o)}),[s,...r,...o,...l]),j=(e,s,t,o=[],r=g,l=[],...d)=>{const u=y(e);return M((e=>b(u,(o=>b(t(e,o),(e=>r(o["set"+s](...d,e),e)))))),[u,s,...o,...l,...d])},z=(e,s,t=g,o=[],...r)=>{const l=y(e);return M((()=>t(l?.["del"+s](...r))),[l,s,...o,...r])},H=(e,s,t)=>{const o=B(e);return M((()=>o?.[s](t)),[o,s,t])},J=e=>Q(u,y(e),[],[]),K=(e,s)=>Q(p,y(s),[],[e]),N=(e,s,t,o=0,r,l)=>Q(a,y(l),[],[e,s,t,o,r],6),O=(e,s,t)=>Q(I,y(t),[],[e,s]),W=(e,s,t,o)=>Q(i,y(o),void 0,[e,s,t],4),X=e=>Q(C,y(e),[],[]),Y=(e,s)=>Q(c,y(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",f(s),[],[e]),re=(e,s,t,o=0,r,l)=>Q("ResultSortedRowIds",f(l),[],[e,s,t,o,r],6),le=(e,s,t)=>Q("ResultCellIds",f(t),[],[e,s]),de=(e,s,t,o)=>Q("ResultCell",f(o),void 0,[e,s,t]),ue=e=>Q("CheckpointIds",B(e),[[],void 0,[]]),ne=(e,s)=>Q("Checkpoint",B(s),void 0,[e]),pe=e=>H(e,"goBackward"),ae=e=>H(e,"goForward"),{createElement:ie,useMemo:Ie}=e,ce=({tableId:e,store:s,rowComponent:t=ge,getRowComponentProps:o,customCellIds:r,separator:l,debugIds:d},u)=>be(R(u,(l=>ie(t,{...T(o,l),key:l,tableId:e,rowId:l,customCellIds:r,store:s,debugIds:d}))),l,d,e),xe=({queryId:e,queries:s,resultRowComponent:t=Se,getResultRowComponentProps:o,separator:r,debugIds:l},d)=>be(R(d,(r=>ie(t,{...T(o,r),key:r,queryId:e,rowId:r,queries:s,debugIds:l}))),r,l,e),Ce=e=>{const s=q(e);return[s,s?.getStore()]},Re=({relationshipId:e,relationships:s,rowComponent:t=ge,getRowComponentProps:o,separator:r,debugIds:l},d,u)=>{const[n,p]=Ce(s),a=n?.getLocalTableId(e),i=d(e,u,n);return be(R(i,(e=>ie(t,{...T(o,e),key:e,tableId:a,rowId:e,store:p,debugIds:l}))),r,l,u)},we=e=>({checkpoints:s,checkpointComponent:t=Te,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const d=B(s);return be(R(e(ue(d)),(e=>ie(t,{...T(o,e),key:e,checkpoints:d,checkpointId:e,debugIds:l}))),r)},be=(e,s,t,o)=>{const r=w(s)||!Array.isArray(e)?e:R(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},ke=({tableId:e,rowId:s,cellId:o,store:r,debugIds:l})=>be(t+(W(e,s,o,r)??t),void 0,l,o),ge=({tableId:e,rowId:s,store:t,cellComponent:o=ke,getCellComponentProps:r,customCellIds:l,separator:d,debugIds:u})=>be(R(((e,s,t,o)=>{const r=O(s,t,o);return e??r})(l,e,s,t),(l=>ie(o,{...T(r,l),key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:u}))),d,u,s),me=e=>ce(e,K(e.tableId,e.store)),Le=({valueId:e,store:s,debugIds:o})=>be(t+(Y(e,s)??t),void 0,o,e),he=({indexId:e,sliceId:s,indexes:t,rowComponent:o=ge,getRowComponentProps:r,separator:l,debugIds:d})=>{const u=P(t),n=u?.getStore(),p=u?.getTableId(e),a=_(e,s,u);return be(R(a,(e=>ie(o,{...T(r,e),key:e,tableId:p,rowId:e,store:n,debugIds:d}))),l,d,s)},Ve=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:l})=>be(t+(de(e,s,o,r)??t),void 0,l,o),Se=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Ve,getResultCellComponentProps:r,separator:l,debugIds:d})=>be(R(le(e,s,t),(l=>ie(o,{...T(r,l),key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:d}))),l,d,s),Te=({checkpoints:e,checkpointId:s,debugIds:o})=>be(ne(s,e)??t,void 0,o,s),ye=we((e=>e[0])),ve=we((e=>w(e[1])?[]:[e[1]])),Pe=we((e=>e[2]));exports.BackwardCheckpointsView=ye,exports.CellView=ke,exports.CheckpointView=Te,exports.CurrentCheckpointView=ve,exports.ForwardCheckpointsView=Pe,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=he,getSliceComponentProps:o,separator:r,debugIds:l})=>be(R($(e,s),(r=>ie(t,{...T(o,r),key:r,indexId:e,sliceId:r,indexes:s,debugIds:l}))),r,l,e),exports.LinkedRowsView=e=>Re(e,te,e.firstRowId),exports.LocalRowsView=e=>Re(e,se,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>be(Z(e,s)??t,void 0,o,e),exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:d,relationships:u,relationshipsById:n,queries:p,queriesById:a,checkpoints:i,checkpointsById:I,children:c})=>{const x=e.useContext(h);return ie(h.Provider,{value:Ie((()=>[s??x[0],{...x[1],...t},o??x[2],{...x[3],...r},l??x[4],{...x[5],...d},u??x[6],{...x[7],...n},p??x[8],{...x[9],...a},i??x[10],{...x[11],...I}]),[s,t,o,r,l,d,u,n,p,a,i,I,x])},c)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=ge,getRowComponentProps:r,debugIds:l})=>{const[d,u]=Ce(t),n=d?.getRemoteTableId(e),p=ee(e,s,d);return be(w(n)||w(p)?null:ie(o,{...T(r,p),key:p,tableId:n,rowId:p,store:u,debugIds:l}),void 0,l,s)},exports.ResultCellView=Ve,exports.ResultRowView=Se,exports.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>xe(r,re(r.queryId,e,s,t,o,r.queries)),exports.ResultTableView=e=>xe(e,oe(e.queryId,e.queries)),exports.RowView=ge,exports.SliceView=he,exports.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>ce(r,N(r.tableId,e,s,t,o,r.store)),exports.TableView=me,exports.TablesView=({store:e,tableComponent:s=me,getTableComponentProps:t,separator:o,debugIds:r})=>be(R(J(e),(o=>ie(s,{...T(t,o),key:o,tableId:o,store:e,debugIds:r}))),o),exports.ValueView=Le,exports.ValuesView=({store:e,valueComponent:s=Le,getValueComponentProps:t,separator:o,debugIds:r})=>be(R(X(e),(o=>ie(s,{...T(t,o),key:o,valueId:o,store:e,debugIds:r}))),o),exports.useAddRowCallback=(e,s,t=[],o,r=g,l=[],d=!0)=>{const u=y(o);return M((t=>b(u,(o=>b(s(t,o),(s=>r(o.addRow(e,s,d),o,s)))))),[u,e,...t,...l,d])},exports.useCell=W,exports.useCellIds=O,exports.useCellIdsListener=(e,s,t,o,r,l)=>U(I,y(l),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,l,d)=>U(i,y(d),o,r,[e,s,t],l),exports.useCheckpoint=ne,exports.useCheckpointIds=ue,exports.useCheckpointIdsListener=(e,s,t)=>U("CheckpointIds",B(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>U("Checkpoint",B(o),s,t,[e]),exports.useCheckpoints=e=>V(e,10),exports.useCreateCheckpoints=(e,s,t)=>E(e,s,t),exports.useCreateIndexes=(e,s,t)=>E(e,s,t),exports.useCreateMetrics=(e,s,t)=>E(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=G(),d=A((()=>s(e)),[e,...t]);return D((()=>((async()=>{await(o?.(d)),l(1)})(),()=>{d.destroy()})),[d,...r]),d},exports.useCreateQueries=(e,s,t)=>E(e,s,t),exports.useCreateRelationships=(e,s,t)=>E(e,s,t),exports.useCreateStore=(e,s=[])=>A(e,s),exports.useDelCellCallback=(e,s,t,o,r,l,d)=>z(r,i,l,d,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>z(t,n,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>z(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>z(e,d,s,t),exports.useDelValueCallback=(e,s,t,o)=>z(s,c,t,o,e),exports.useDelValuesCallback=(e,s,t)=>z(e,x,s,t),exports.useGoBackwardCallback=pe,exports.useGoForwardCallback=ae,exports.useGoToCallback=(e,s=[],t,o=g,r=[])=>{const l=B(t);return M((s=>b(l,(t=>b(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},exports.useIndexes=e=>V(e,4),exports.useLinkedRowIds=te,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>U("LinkedRowIds",q(r),t,o,[e,s]),exports.useLocalRowIds=se,exports.useLocalRowIdsListener=(e,s,t,o,r)=>U("LocalRowIds",q(r),t,o,[e,s]),exports.useMetric=Z,exports.useMetricListener=(e,s,t,o)=>U("Metric",v(o),s,t,[e]),exports.useMetrics=e=>V(e,2),exports.useQueries=e=>V(e,8),exports.useRedoInformation=e=>{const s=B(e),[,,[o]]=ue(s);return[!w(o),ae(s),o,b(o,(e=>s?.getCheckpoint(e)))??t]},exports.useRelationships=e=>V(e,6),exports.useRemoteRowId=ee,exports.useRemoteRowIdListener=(e,s,t,o,r)=>U("RemoteRowId",q(r),t,o,[e,s]),exports.useResultCell=de,exports.useResultCellIds=le,exports.useResultCellIdsListener=(e,s,t,o,r)=>U("ResultCellIds",f(r),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,r,l)=>U("ResultCell",f(l),o,r,[e,s,t]),exports.useResultRow=(e,s,t)=>Q("ResultRow",f(t),{},[e,s]),exports.useResultRowIds=oe,exports.useResultRowIdsListener=(e,s,t,o)=>U("ResultRowIds",f(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,r)=>U("ResultRow",f(r),t,o,[e,s]),exports.useResultSortedRowIds=re,exports.useResultSortedRowIdsListener=(e,s,t,o,r,l,d,u)=>U("ResultSortedRowIds",f(u),l,d,[e,s,t,o,r]),exports.useResultTable=(e,s)=>Q("ResultTable",f(s),{},[e]),exports.useResultTableCellIds=(e,s)=>Q("ResultTableCellIds",f(s),[],[e]),exports.useResultTableCellIdsListener=(e,s,t,o)=>U("ResultTableCellIds",f(o),s,t,[e]),exports.useResultTableListener=(e,s,t,o)=>U("ResultTable",f(o),s,t,[e]),exports.useRow=(e,s,t)=>Q(n,y(t),{},[e,s]),exports.useRowIds=K,exports.useRowIdsListener=(e,s,t,o,r)=>U(p,y(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,l)=>U(n,y(l),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,l,d,u)=>j(l,i,o,r,d,u,e,s,t),exports.useSetCheckpointCallback=(e=g,s=[],t,o=g,r=[])=>{const l=B(t);return M((s=>b(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,l,d)=>j(r,"PartialRow",t,o,l,d,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>j(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,l,d)=>j(r,n,t,o,l,d,e,s),exports.useSetTableCallback=(e,s,t,o,r,d)=>j(o,l,s,t,r,d,e),exports.useSetTablesCallback=(e,s,t,o,r)=>j(t,d,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,l)=>j(o,c,s,t,r,l,e),exports.useSetValuesCallback=(e,s,t,o,r)=>j(t,x,e,s,o,r),exports.useSliceIds=$,exports.useSliceIdsListener=(e,s,t,o)=>U("SliceIds",P(o),s,t,[e]),exports.useSliceRowIds=_,exports.useSliceRowIdsListener=(e,s,t,o,r)=>U("SliceRowIds",P(r),t,o,[e,s]),exports.useSortedRowIds=N,exports.useSortedRowIdsListener=(e,s,t,o,r,l,d,u,n)=>U(a,y(n),l,d,[e,s,t,o,r],u),exports.useStore=e=>V(e,0),exports.useTable=(e,s)=>Q(l,y(s),{},[e]),exports.useTableCellIds=(e,s)=>Q(l+I,y(s),[],[e]),exports.useTableCellIdsListener=(e,s,t,o,r)=>U(l+I,y(r),s,t,[e],o),exports.useTableIds=J,exports.useTableIdsListener=(e,s,t,o)=>U(u,y(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>U(l,y(r),s,t,[e],o),exports.useTables=e=>Q(d,y(e),{}),exports.useTablesListener=(e,s,t,o)=>U(d,y(o),e,s,[],t),exports.useUndoInformation=e=>{const s=B(e),[o,r]=ue(s);return[(l=o,!(0==(e=>e.length)(l))),pe(s),r,b(r,(e=>s?.getCheckpoint(e)))??t];var l},exports.useValue=Y,exports.useValueIds=X,exports.useValueIdsListener=(e,s,t,o)=>U(C,y(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>U(c,y(r),s,t,[e],o),exports.useValues=e=>Q(x,y(e),{}),exports.useValuesListener=(e,s,t,o)=>U(x,y(o),e,s,[],t);
1
+ "use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Result",u="Ids",l="Table",d=l+"s",n=l+u,p="Row",i=p+"Count",a=p+u,I="Sorted"+p+u,c="Cell",x=c+u,C="Value",w=C+"s",b=C+u,R=e=>null==e,k=(e,s,t)=>R(e)?t?.():s(e),g=e=>s(e)==o,m=()=>{},L=(e,s)=>e.map(s),h=Object.keys,{createContext:V,useContext:S}=e,y=V([]),T=(e,s)=>{const t=S(y);return R(e)?t[s]:g(e)?((e,s)=>k(e,(e=>e[s])))(t[s+1],e):e},v=(e,s)=>{const t=T(e,s);return R(e)||g(e)?t:e},P=e=>h(S(y)[e]),q=e=>v(e,0),f=e=>v(e,2),M=e=>v(e,4),B=e=>v(e,6),D=e=>v(e,8),A=e=>v(e,10),{useCallback:F,useEffect:G,useMemo:Q,useRef:E,useState:j}=e,O=(e,s,t=[])=>{const o=Q((()=>s(e)),[e,...t]);return G((()=>()=>o.destroy()),[o]),o},U=(e,s,t,o=[],r)=>{const[,u]=j(),l=F((()=>s?.["get"+e]?.(...o)??t),[s,...o]),[d]=j(l),n=E(d);return Q((()=>n.current=l()),[l]),z(e,s,((...e)=>{n.current=R(r)?l():e[r],u([])}),[],o),n.current},z=(e,s,t,o=[],r=[],...u)=>G((()=>{const o=s?.["add"+e+"Listener"]?.(...r,t,...u);return()=>s?.delListener(o)}),[s,...r,...o,...u]),H=(e,s,t,o=[],r=m,u=[],...l)=>{const d=q(e);return F((e=>k(d,(o=>k(t(e,o),(e=>r(o["set"+s](...l,e),e)))))),[d,s,...o,...u,...l])},J=(e,s,t=m,o=[],...r)=>{const u=q(e);return F((()=>t(u?.["del"+s](...r))),[u,s,...o,...r])},K=(e,s,t)=>{const o=A(e);return F((()=>o?.[s](t)),[o,s,t])},N=e=>U(n,q(e),[],[]),W=(e,s)=>U(a,q(s),[],[e]),X=(e,s,t,o=0,r,u)=>U(I,q(u),[],[e,s,t,o,r],6),Y=(e,s,t)=>U(x,q(t),[],[e,s]),Z=(e,s,t,o)=>U(c,q(o),void 0,[e,s,t],4),$=e=>U(b,q(e),[],[]),_=(e,s)=>U(C,q(s),void 0,[e]),ee=(e,s)=>U("Metric",f(s),void 0,[e]),se=(e,s)=>U("SliceIds",M(s),[],[e]),te=(e,s,t)=>U("Slice"+a,M(t),[],[e,s]),oe=(e,s,t)=>U("RemoteRowId",B(t),void 0,[e,s]),re=(e,s,t)=>U("Local"+a,B(t),[],[e,s]),ue=(e,s,t)=>U("Linked"+a,B(t),[],[e,s]),le=(e,s)=>U(r+a,D(s),[],[e]),de=(e,s,t,o=0,u,l)=>U(r+I,D(l),[],[e,s,t,o,u],6),ne=(e,s,t)=>U(r+x,D(t),[],[e,s]),pe=(e,s,t,o)=>U(r+c,D(o),void 0,[e,s,t]),ie=e=>U("CheckpointIds",A(e),[[],void 0,[]]),ae=(e,s)=>U("Checkpoint",A(s),void 0,[e]),Ie=e=>K(e,"goBackward"),ce=e=>K(e,"goForward"),{createElement:xe}=e,Ce=(e,...s)=>R(e)?{}:e(...s),{useMemo:we}=e,be=({tableId:e,store:s,rowComponent:t=Ve,getRowComponentProps:o,customCellIds:r,separator:u,debugIds:l},d)=>Le(L(d,(u=>xe(t,{...Ce(o,u),key:u,tableId:e,rowId:u,customCellIds:r,store:s,debugIds:l}))),u,l,e),Re=({queryId:e,queries:s,resultRowComponent:t=Pe,getResultRowComponentProps:o,separator:r,debugIds:u},l)=>Le(L(l,(r=>xe(t,{...Ce(o,r),key:r,queryId:e,rowId:r,queries:s,debugIds:u}))),r,u,e),ke=e=>{const s=B(e);return[s,s?.getStore()]},ge=({relationshipId:e,relationships:s,rowComponent:t=Ve,getRowComponentProps:o,separator:r,debugIds:u},l,d)=>{const[n,p]=ke(s),i=n?.getLocalTableId(e),a=l(e,d,n);return Le(L(a,(e=>xe(t,{...Ce(o,e),key:e,tableId:i,rowId:e,store:p,debugIds:u}))),r,u,d)},me=e=>({checkpoints:s,checkpointComponent:t=qe,getCheckpointComponentProps:o,separator:r,debugIds:u})=>{const l=A(s);return Le(L(e(ie(l)),(e=>xe(t,{...Ce(o,e),key:e,checkpoints:l,checkpointId:e,debugIds:u}))),r)},Le=(e,s,t,o)=>{const r=R(s)||!Array.isArray(e)?e:L(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},he=({tableId:e,rowId:s,cellId:o,store:r,debugIds:u})=>Le(t+(Z(e,s,o,r)??t),void 0,u,o),Ve=({tableId:e,rowId:s,store:t,cellComponent:o=he,getCellComponentProps:r,customCellIds:u,separator:l,debugIds:d})=>Le(L(((e,s,t,o)=>{const r=Y(s,t,o);return e??r})(u,e,s,t),(u=>xe(o,{...Ce(r,u),key:u,tableId:e,rowId:s,cellId:u,store:t,debugIds:d}))),l,d,s),Se=e=>be(e,W(e.tableId,e.store)),ye=({valueId:e,store:s,debugIds:o})=>Le(t+(_(e,s)??t),void 0,o,e),Te=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Ve,getRowComponentProps:r,separator:u,debugIds:l})=>{const d=M(t),n=d?.getStore(),p=d?.getTableId(e),i=te(e,s,d);return Le(L(i,(e=>xe(o,{...Ce(r,e),key:e,tableId:p,rowId:e,store:n,debugIds:l}))),u,l,s)},ve=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:u})=>Le(t+(pe(e,s,o,r)??t),void 0,u,o),Pe=({queryId:e,rowId:s,queries:t,resultCellComponent:o=ve,getResultCellComponentProps:r,separator:u,debugIds:l})=>Le(L(ne(e,s,t),(u=>xe(o,{...Ce(r,u),key:u,queryId:e,rowId:s,cellId:u,queries:t,debugIds:l}))),u,l,s),qe=({checkpoints:e,checkpointId:s,debugIds:o})=>Le(ae(s,e)??t,void 0,o,s),fe=me((e=>e[0])),Me=me((e=>R(e[1])?[]:[e[1]])),Be=me((e=>e[2]));exports.BackwardCheckpointsView=fe,exports.CellView=he,exports.CheckpointView=qe,exports.CurrentCheckpointView=Me,exports.ForwardCheckpointsView=Be,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Te,getSliceComponentProps:o,separator:r,debugIds:u})=>Le(L(se(e,s),(r=>xe(t,{...Ce(o,r),key:r,indexId:e,sliceId:r,indexes:s,debugIds:u}))),r,u,e),exports.LinkedRowsView=e=>ge(e,ue,e.firstRowId),exports.LocalRowsView=e=>ge(e,re,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>Le(ee(e,s)??t,void 0,o,e),exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:u,indexesById:l,relationships:d,relationshipsById:n,queries:p,queriesById:i,checkpoints:a,checkpointsById:I,children:c})=>{const x=e.useContext(y);return xe(y.Provider,{value:we((()=>[s??x[0],{...x[1],...t},o??x[2],{...x[3],...r},u??x[4],{...x[5],...l},d??x[6],{...x[7],...n},p??x[8],{...x[9],...i},a??x[10],{...x[11],...I}]),[s,t,o,r,u,l,d,n,p,i,a,I,x])},c)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Ve,getRowComponentProps:r,debugIds:u})=>{const[l,d]=ke(t),n=l?.getRemoteTableId(e),p=oe(e,s,l);return Le(R(n)||R(p)?null:xe(o,{...Ce(r,p),key:p,tableId:n,rowId:p,store:d,debugIds:u}),void 0,u,s)},exports.ResultCellView=ve,exports.ResultRowView=Pe,exports.ResultSortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>Re(r,de(r.queryId,e,s,t,o,r.queries)),exports.ResultTableView=e=>Re(e,le(e.queryId,e.queries)),exports.RowView=Ve,exports.SliceView=Te,exports.SortedTableView=({cellId:e,descending:s,offset:t,limit:o,...r})=>be(r,X(r.tableId,e,s,t,o,r.store)),exports.TableView=Se,exports.TablesView=({store:e,tableComponent:s=Se,getTableComponentProps:t,separator:o,debugIds:r})=>Le(L(N(e),(o=>xe(s,{...Ce(t,o),key:o,tableId:o,store:e,debugIds:r}))),o),exports.ValueView=ye,exports.ValuesView=({store:e,valueComponent:s=ye,getValueComponentProps:t,separator:o,debugIds:r})=>Le(L($(e),(o=>xe(s,{...Ce(t,o),key:o,valueId:o,store:e,debugIds:r}))),o),exports.useAddRowCallback=(e,s,t=[],o,r=m,u=[],l=!0)=>{const d=q(o);return F((t=>k(d,(o=>k(s(t,o),(s=>r(o.addRow(e,s,l),o,s)))))),[d,e,...t,...u,l])},exports.useCell=Z,exports.useCellIds=Y,exports.useCellIdsListener=(e,s,t,o,r,u)=>z(x,q(u),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,u,l)=>z(c,q(l),o,r,[e,s,t],u),exports.useCheckpoint=ae,exports.useCheckpointIds=ie,exports.useCheckpointIdsListener=(e,s,t)=>z("CheckpointIds",A(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>z("Checkpoint",A(o),s,t,[e]),exports.useCheckpoints=e=>T(e,10),exports.useCheckpointsIds=()=>P(11),exports.useCreateCheckpoints=(e,s,t)=>O(e,s,t),exports.useCreateIndexes=(e,s,t)=>O(e,s,t),exports.useCreateMetrics=(e,s,t)=>O(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,u]=j(),l=Q((()=>s(e)),[e,...t]);return G((()=>((async()=>{await(o?.(l)),u(1)})(),()=>{l.destroy()})),[l,...r]),l},exports.useCreateQueries=(e,s,t)=>O(e,s,t),exports.useCreateRelationships=(e,s,t)=>O(e,s,t),exports.useCreateStore=(e,s=[])=>Q(e,s),exports.useDelCellCallback=(e,s,t,o,r,u,l)=>J(r,c,u,l,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>J(t,p,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>J(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>J(e,d,s,t),exports.useDelValueCallback=(e,s,t,o)=>J(s,C,t,o,e),exports.useDelValuesCallback=(e,s,t)=>J(e,w,s,t),exports.useGoBackwardCallback=Ie,exports.useGoForwardCallback=ce,exports.useGoToCallback=(e,s=[],t,o=m,r=[])=>{const u=A(t);return F((s=>k(u,(t=>k(e(s),(e=>o(t.goTo(e),e)))))),[u,...s,...r])},exports.useIndexes=e=>T(e,4),exports.useIndexesIds=()=>P(5),exports.useLinkedRowIds=ue,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>z("Linked"+a,B(r),t,o,[e,s]),exports.useLocalRowIds=re,exports.useLocalRowIdsListener=(e,s,t,o,r)=>z("Local"+a,B(r),t,o,[e,s]),exports.useMetric=ee,exports.useMetricListener=(e,s,t,o)=>z("Metric",f(o),s,t,[e]),exports.useMetrics=e=>T(e,2),exports.useMetricsIds=()=>P(3),exports.useQueries=e=>T(e,8),exports.useQueriesIds=()=>P(9),exports.useRedoInformation=e=>{const s=A(e),[,,[o]]=ie(s);return[!R(o),ce(s),o,k(o,(e=>s?.getCheckpoint(e)))??t]},exports.useRelationships=e=>T(e,6),exports.useRelationshipsIds=()=>P(7),exports.useRemoteRowId=oe,exports.useRemoteRowIdListener=(e,s,t,o,r)=>z("RemoteRowId",B(r),t,o,[e,s]),exports.useResultCell=pe,exports.useResultCellIds=ne,exports.useResultCellIdsListener=(e,s,t,o,u)=>z(r+x,D(u),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,u,l)=>z(r+c,D(l),o,u,[e,s,t]),exports.useResultRow=(e,s,t)=>U(r+p,D(t),{},[e,s]),exports.useResultRowCount=(e,s)=>U(r+i,D(s),[],[e]),exports.useResultRowCountListener=(e,s,t,o)=>z(r+i,D(o),s,t,[e]),exports.useResultRowIds=le,exports.useResultRowIdsListener=(e,s,t,o)=>z(r+a,D(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,u)=>z(r+p,D(u),t,o,[e,s]),exports.useResultSortedRowIds=de,exports.useResultSortedRowIdsListener=(e,s,t,o,u,l,d,n)=>z(r+I,D(n),l,d,[e,s,t,o,u]),exports.useResultTable=(e,s)=>U(r+l,D(s),{},[e]),exports.useResultTableCellIds=(e,s)=>U(r+l+x,D(s),[],[e]),exports.useResultTableCellIdsListener=(e,s,t,o)=>z(r+l+x,D(o),s,t,[e]),exports.useResultTableListener=(e,s,t,o)=>z(r+l,D(o),s,t,[e]),exports.useRow=(e,s,t)=>U(p,q(t),{},[e,s]),exports.useRowCount=(e,s)=>U(i,q(s),[],[e]),exports.useRowCountListener=(e,s,t,o,r)=>z(i,q(r),s,t,[e],o),exports.useRowIds=W,exports.useRowIdsListener=(e,s,t,o,r)=>z(a,q(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,u)=>z(p,q(u),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,u,l,d)=>H(u,c,o,r,l,d,e,s,t),exports.useSetCheckpointCallback=(e=m,s=[],t,o=m,r=[])=>{const u=A(t);return F((s=>k(u,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[u,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,u,l)=>H(r,"PartialRow",t,o,u,l,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>H(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,u,l)=>H(r,p,t,o,u,l,e,s),exports.useSetTableCallback=(e,s,t,o,r,u)=>H(o,l,s,t,r,u,e),exports.useSetTablesCallback=(e,s,t,o,r)=>H(t,d,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,u)=>H(o,C,s,t,r,u,e),exports.useSetValuesCallback=(e,s,t,o,r)=>H(t,w,e,s,o,r),exports.useSliceIds=se,exports.useSliceIdsListener=(e,s,t,o)=>z("SliceIds",M(o),s,t,[e]),exports.useSliceRowIds=te,exports.useSliceRowIdsListener=(e,s,t,o,r)=>z("Slice"+a,M(r),t,o,[e,s]),exports.useSortedRowIds=X,exports.useSortedRowIdsListener=(e,s,t,o,r,u,l,d,n)=>z(I,q(n),u,l,[e,s,t,o,r],d),exports.useStore=e=>T(e,0),exports.useStoreIds=()=>P(1),exports.useTable=(e,s)=>U(l,q(s),{},[e]),exports.useTableCellIds=(e,s)=>U(l+x,q(s),[],[e]),exports.useTableCellIdsListener=(e,s,t,o,r)=>z(l+x,q(r),s,t,[e],o),exports.useTableIds=N,exports.useTableIdsListener=(e,s,t,o)=>z(n,q(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>z(l,q(r),s,t,[e],o),exports.useTables=e=>U(d,q(e),{}),exports.useTablesListener=(e,s,t,o)=>z(d,q(o),e,s,[],t),exports.useUndoInformation=e=>{const s=A(e),[o,r]=ie(s);return[(u=o,!(0==(e=>e.length)(u))),Ie(s),r,k(r,(e=>s?.getCheckpoint(e)))??t];var u},exports.useValue=_,exports.useValueIds=$,exports.useValueIdsListener=(e,s,t,o)=>z(b,q(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>z(C,q(r),s,t,[e],o),exports.useValues=e=>U(w,q(e),{}),exports.useValuesListener=(e,s,t,o)=>z(w,q(o),e,s,[],t);
Binary file
@@ -1 +1 @@
1
- "use strict";const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),t=e=>e.length,l=e=>0==t(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=Object.freeze,c=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},a=e=>u(e)||0==(e=>e.size)(e),h=(e,n)=>null==e?void 0:e.forEach(n),v=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),k=(e,n,t)=>u(t)?(v(e,n),e):null==e?void 0:e.set(n,t),f=(e,n,t)=>(c(e,n)||k(e,n,t()),C(e,n)),g=(e,n,l,r,o=0)=>i((l?f:C)(e,n[o],o>t(n)-2?l:p),(s=>{if(o>t(n)-2)return(null==r?void 0:r(s))&&k(e,n[o]),s;const u=g(s,n,l,r,o+1);return a(s)&&k(e,n[o]),u})),L=e=>new Set(Array.isArray(e)||u(e)?e:[e]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(e=>{let l;const[o,d]=(()=>{const e=[];let n=0;return[t=>{var l;return null!=(l=t?s(e):null)?l:""+n++},n=>{w.test(n)&&t(e)<1e3&&r(e,n)}]})(),c=p();return[(e,n,t,r=[],s=(()=>[]))=>{null!=l||(l=_);const u=o(1);var i,d;return k(c,u,[e,n,t,r,s]),d=u,null==(i=g(n,null!=t?t:[""],L))||i.add(d),u},(e,o,...s)=>n(((e,l=[""])=>{const o=[],s=(e,u)=>u==t(l)?r(o,e):null===l[u]?h(e,(e=>s(e,u+1))):n([l[u],null],(n=>s(C(e,n),u+1)));return s(e,0),o})(e,o),(e=>h(e,(e=>C(c,e)[0](l,...null!=o?o:[],...s))))),e=>i(C(c,e),(([,n,t])=>(g(n,null!=t?t:[""],void 0,(n=>(v(n,e),a(n)?1:0))),k(c,e),d(e),t))),e=>i(C(c,e),(([e,,r=[],o,s])=>{const i=(...d)=>{var c,a;const h=t(d);h==t(r)?e(l,...d,...s(d)):u(r[h])?n(null!=(a=null==(c=o[h])?void 0:c.call(o,...d))?a:[],(e=>i(...d,e))):i(...d,r[h])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(e,n)=>{M=0,S.transaction((()=>{const[t,l]=C(O,n);h(t,((n,t)=>h(n,((n,l)=>h(n,((n,r)=>((e,n,t,l,r)=>u(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(S,t,l,r,n[e]))))))),h(l,((n,t)=>((e,n,t)=>u(t)?e.delValue(n):e.setValue(n,t))(S,t,n[e])))})),M=1},q=e=>{k(O,e),k(T,e),B(j,[e])},D=(e,l)=>n(((e,n)=>e.splice(0,n))(e,null!=l?l:t(e)),q),G=()=>D(W,t(W)-V),H=()=>i(y,(()=>{r(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=o(W),E=1},K=S.addCellListener(null,null,null,((e,n,t,l,r,o)=>{if(M){H();const e=f(A,n,p),s=f(e,t,p),u=f(s,l,(()=>[o,void 0]));u[1]=r,u[0]===r&&a(k(s,l))&&a(k(e,t))&&a(k(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,t,l)=>{if(M){H();const e=f(I,n,(()=>[l,void 0]));e[1]=t,e[0]===t&&a(k(I,n))&&J(),U()}})),P=(e="")=>(u(y)&&(y=""+z++,k(O,y,[A,I]),Y(y,e),A=p(),I=p(),E=1),y),Q=()=>{l(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=o(W),E=1)},R=()=>{l($)||(r(W,y),y=s($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(T,e)!==n&&(k(T,e,n),B(j,[e])),_),Z=e=>c(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,h(T,((e,t)=>n(t,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const t=e(W,n)?Q:e($,n)?R:null;for(;!u(t)&&n!=y;)t();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),u(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();exports.createCheckpoints=S;
1
+ "use strict";const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=(e,n)=>e.includes(n),t=(e,n)=>e.forEach(n),r=e=>e.length,o=e=>0==r(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,c=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},a=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),k=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l)=>(c(e,n)||k(e,n,l()),C(e,n)),g=(e,l,t,o,s=0)=>n((t?f:C)(e,l[s],s>r(l)-2?t:p),(n=>{if(s>r(l)-2)return(null==o?void 0:o(n))&&k(e,l[s]),n;const u=g(n,l,t,o,s+1);return a(n)&&k(e,l[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(l=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&r(e)<1e3&&s(e,n)}]})(),c=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=_);const s=u(1);var i,d;return k(c,s,[e,n,l,t,r]),d=s,null==(i=g(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...l)=>t(((e,n=[""])=>{const l=[],o=(e,u)=>u==r(n)?s(l,e):null===n[u]?v(e,(e=>o(e,u+1))):t([n[u],null],(n=>o(C(e,n),u+1)));return o(e,0),l})(e,n),(e=>v(e,(e=>C(c,e)[0](o,...null!=n?n:[],...l))))),e=>n(C(c,e),(([,n,l])=>(g(n,null!=l?l:[""],void 0,(n=>(h(n,e),a(n)?1:0))),k(c,e),d(e),l))),l=>n(C(c,l),(([n,,l=[],s,u])=>{const i=(...d)=>{var c,a;const v=r(d);v==r(l)?n(o,...d,...u(d)):e(l[v])?t(null!=(a=null==(c=s[v])?void 0:c.call(s,...d))?a:[],(e=>i(...d,e))):i(...d,l[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(n,l)=>{M=0,S.transaction((()=>{const[t,r]=C(O,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),M=1},q=e=>{k(O,e),k(T,e),B(j,[e])},D=(e,n)=>t(((e,n)=>e.splice(0,n))(e,null!=n?n:r(e)),q),G=()=>D(W,r(W)-V),H=()=>n(y,(()=>{s(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=u(W),E=1},K=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(M){H();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&a(k(s,t))&&a(k(e,l))&&a(k(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=f(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&a(k(I,n))&&J(),U()}})),P=(n="")=>(e(y)&&(y=""+z++,k(O,y,[A,I]),Y(y,n),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=u(W),E=1)},R=()=>{o($)||(s(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&C(T,e)!==n&&(k(T,e,n),B(j,[e])),_),Z=e=>c(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,v(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const t=l(W,n)?Q:l($,n)?R:null;for(;!e(t)&&n!=y;)t();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();exports.createCheckpoints=S;
Binary file
@@ -1 +1 @@
1
- "use strict";exports.defaultSorter=(t,e)=>t<e?-1:1;
1
+ "use strict";exports.defaultSorter=(l,t)=>(null!=l?l:0)<(null!=t?t:0)?-1:1;
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=(e,n)=>e.every(n),s=(e,n)=>r(e,((l,t)=>0==t||n(e[t-1],l)<=0)),o=(e,n)=>e.sort(n),u=(e,n)=>e.forEach(n),d=e=>e.length,i=(e,...n)=>e.push(...n),a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),v=e=>Array.isArray(e),h=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>a(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>c((l?b:y)(e,n[r],r>d(n)-2?l:x),(s=>{if(r>d(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(v(e)||a(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>e<n?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=x(),M=x(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,s=x(),o=x(),i=x(),h=x(),T=x(),A=(n,l,...t)=>{const r=b(T,n,k);return u(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>c(y(T,n),(t=>{u(0==d(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(s,e,l),f(o,e)||(R(o,e,n()),R(i,e,x()),R(h,e,x()))},M=e=>{R(s,e),R(o,e),R(i,e),R(h,e),C(e)};return[()=>e,()=>p(s),e=>E(o,e),e=>f(o,e),e=>y(s,e),e=>y(o,e),(e,n)=>R(o,e,n),D,(n,s,o,c,I)=>{D(n,s);const g=x(),L=x(),p=y(i,n),b=y(h,n),T=n=>{const o=l=>e.getCell(s,n,l),u=y(p,n),i=t(s,n)?l(c(o,n)):void 0;var h,f;if(u===i||v(u)&&v(i)&&(f=i,d(h=u)===d(f)&&r(h,((e,n)=>f[n]===e)))||R(g,n,[u,i]),!a(I)){const e=y(b,n),l=t(s,n)?I(o,n):void 0;e!=l&&R(L,n,l)}},k=e=>{o((()=>{w(g,(([,e],n)=>R(p,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,p,b,e),S(g),S(L)};E(p,T),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(p,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,x,(e=>{return a(e)?n:v(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,r]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&d(e)<1e3&&i(e,n)}]})(),s=x();return[(e,r,o,u=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(s,i,[e,r,o,u,d]),z(T(r,null!=o?o:[n],k),i),i},(e,t,...r)=>u(((e,l=[n])=>{const t=[],r=(e,n)=>n==d(l)?i(t,e):null===l[n]?w(e,(e=>r(e,n+1))):u([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(s,e)[0](l,...null!=t?t:[],...r))))),e=>c(y(s,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(s,e),r(e),t))),e=>c(y(s,e),(([e,,n=[],t,r])=>{const s=(...o)=>{var i,c;const v=d(o);v==d(n)?e(l,...o,...r(o)):a(n[v])?u(null!=(c=null==(i=t[v])?void 0:i.call(t,...o))?c:[],(e=>s(...o,e))):s(...o,n[v])};s()}))]})(),P=(n,l,t)=>{const r=$(n);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,r,u,d=C)=>{const i=a(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const p=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),s=k(n);w(t,(e=>L(s,e)?L(t,e):0)),w(t,(e=>{z(p,e),c(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(s,(e=>{z(p,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),a(r)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>c(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];s(l,n)||(R(T,e,k(o(l,n))),z(p,e))}))),(S||g)&&!a(i)){const n=[...T];s(n,i)||(B(e,x(o(n,i))),S=1)}S&&K(l,[e]),w(p,(n=>K(M,[e,n])))}),A(t),c(r,A)),Q},delIndexDefinition:e=>(G(e),Q),getStore:j,getIndexIds:m,forEachIndex:e=>O(((n,l)=>e(n,(e=>P(n,e,l))))),forEachSlice:(e,n)=>P(e,n,q(e)),hasIndex:W,hasSlice:(e,n)=>f(q(e),n),getTableId:$,getSliceIds:e=>p(q(e)),getSliceRowIds:(e,n)=>g(y(q(e),n)),addSliceIdsListener:(e,n)=>J(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,M,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),l.get(e))})();exports.createIndexes=M;
1
+ "use strict";const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=(e,n)=>e.every(n),d=(e,n)=>u(e,((l,t)=>0==t||n(e[t-1],l)<=0)),i=(e,n)=>e.sort(n),a=(e,n)=>e.forEach(n),c=e=>e.length,v=(e,...n)=>e.push(...n),h=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>c(n)-2?l:x),(s=>{if(r>c(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=x(),M=x(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,d=x(),i=x(),v=x(),h=x(),T=x(),A=(n,l,...t)=>{const r=b(T,n,k);return a(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>s(y(T,n),(t=>{a(0==c(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(d,e,l),f(i,e)||(R(i,e,n()),R(v,e,x()),R(h,e,x()))},M=e=>{R(d,e),R(i,e),R(v,e),R(h,e),C(e)};return[()=>e,()=>p(d),e=>E(i,e),e=>f(i,e),e=>y(d,e),e=>y(i,e),(e,n)=>R(i,e,n),D,(n,s,d,i,I)=>{D(n,s);const g=x(),L=x(),p=y(v,n),b=y(h,n),T=n=>{const d=l=>e.getCell(s,n,l),a=y(p,n),v=t(s,n)?l(i(d,n)):void 0;var h,f;if(a===v||o(a)&&o(v)&&(f=v,c(h=a)===c(f)&&u(h,((e,n)=>f[n]===e)))||R(g,n,[a,v]),!r(I)){const e=y(b,n),l=t(s,n)?I(d,n):void 0;e!=l&&R(L,n,l)}},k=e=>{d((()=>{w(g,(([,e],n)=>R(p,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,p,b,e),S(g),S(L)};E(p,T),e.hasTable(s)&&a(e.getRowIds(s),(e=>{f(p,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&c(e)<1e3&&v(e,n)}]})(),u=x();return[(e,r,s,o=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(u,i,[e,r,s,o,d]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>a(((e,l=[n])=>{const t=[],r=(e,n)=>n==c(l)?v(t,e):null===l[n]?w(e,(e=>r(e,n+1))):a([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(u,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(u,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(u,e),o(e),t))),e=>s(y(u,e),(([e,,n=[],t,s])=>{const o=(...u)=>{var d,i;const v=c(u);v==c(n)?e(l,...u,...s(u)):r(n[v])?a(null!=(i=null==(d=t[v])?void 0:d.call(t,...u))?i:[],(e=>o(...u,e))):o(...u,n[v])};o()}))]})(),P=(n,l,t)=>{const r=$(n);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,o,u,a=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const p=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),u=k(n);w(t,(e=>L(u,e)?L(t,e):0)),w(t,(e=>{z(p,e),s(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(u,(e=>{z(p,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>a(y(h,n),y(h,l),e),l=[...y(T,e)];d(l,n)||(R(T,e,k(i(l,n))),z(p,e))}))),(S||g)&&!r(c)){const n=[...T];d(n,c)||(B(e,x(i(n,c))),S=1)}S&&K(l,[e]),w(p,(n=>K(M,[e,n])))}),A(t),s(o,A)),Q},delIndexDefinition:e=>(G(e),Q),getStore:j,getIndexIds:m,forEachIndex:e=>O(((n,l)=>e(n,(e=>P(n,e,l))))),forEachSlice:(e,n)=>P(e,n,q(e)),hasIndex:W,hasSlice:(e,n)=>f(q(e),n),getTableId:$,getSliceIds:e=>p(q(e)),getSliceRowIds:(e,n)=>g(y(q(e),n)),addSliceIdsListener:(e,n)=>J(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,M,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return h(Q)})(e)),l.get(e))})();exports.createIndexes=M;
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",n=e(t),l=e(e),r=(e,t)=>e.forEach(t),i=e=>u(e,((e,t)=>e+t),0),o=e=>e.length,u=(e,t,n)=>e.reduce(t,n),s=(e,...t)=>e.push(...t),d=Math.max,a=Math.min,c=isFinite,v=e=>null==e,h=(e,t,n)=>v(e)?null==n?void 0:n():t(e),M=e=>Array.isArray(e),f=()=>{},g=Object.freeze,L=e=>e.size,m=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},w=e=>v(e)||0==L(e),y=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},p=e=>e.clear(),b=(e,t)=>null==e?void 0:e.forEach(t),x=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),R=(e,t)=>b(e,((e,n)=>t(n,e))),S=(e,t,n)=>v(n)?(x(e,t),e):null==e?void 0:e.set(t,n),T=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,l,r=0)=>h((n?T:I)(e,t[r],r>o(t)-2?n:E),(i=>{if(r>o(t)-2)return(null==l?void 0:l(i))&&S(e,t[r]),i;const u=k(i,t,n,l,r+1);return w(i)&&S(e,t[r]),u})),z=E([["avg",[(e,t)=>i(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>d(...e),(e,t)=>d(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:d(t,e)]],["min",[e=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(t,e)]],["sum",[e=>i(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(M(e)||v(e)?e:[e]),D=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,j=(i=>{const u=new WeakMap;return i=>(u.has(i)||u.set(i,(i=>{const u=E(),[d,a,j,C,F,O,W,,$,q,B]=((e,n,l)=>{const i=e.hasRow,u=E(),s=E(),d=E(),a=E(),c=E(),f=(t,n,...l)=>{const i=T(c,t,A);return r(l,(t=>D(i,t)&&n&&e.callListener(t))),l},g=(t,...n)=>h(I(c,t),(l=>{r(0==o(n)?y(l):n,(t=>{e.delListener(t),x(l,t)})),w(l)&&S(c,t)})),L=(e,t)=>{S(u,e,t),m(s,e)||(S(s,e,n()),S(d,e,E()),S(a,e,E()))},k=e=>{S(u,e),S(s,e),S(d,e),S(a,e),g(e)};return[()=>e,()=>{return[...null!=(t=null==(e=u)?void 0:e.keys())?t:[]];var e,t},e=>R(s,e),e=>m(s,e),e=>I(u,e),e=>I(s,e),(e,t)=>S(s,e,t),L,(n,l,u,s,c)=>{L(n,l);const h=E(),w=E(),y=I(d,n),x=I(a,n),T=n=>{const r=t=>e.getCell(l,n,t),u=I(y,n),d=i(l,n)?(a=s(r,n),isNaN(a)||v(a)||!0===a||!1===a||a===t?void 0:1*a):void 0;var a,f,g,L;if(u===d||M(u)&&M(d)&&(g=d,o(f=u)===o(g)&&(L=(e,t)=>g[t]===e,f.every(L)))||S(h,n,[u,d]),!v(c)){const e=I(x,n),t=i(l,n)?c(r,n):void 0;e!=t&&S(w,n,t)}},k=e=>{u((()=>{b(h,(([,e],t)=>S(y,t,e))),b(w,((e,t)=>S(x,t,e)))}),h,w,y,x,e),p(h),p(w)};R(y,T),e.hasTable(l)&&r(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),g(n),f(n,0,e.addRowListener(l,null,((e,t,n)=>T(n))),e.addTableListener(l,(()=>k())))},k,()=>R(c,k),f,g]})(i,f),[G,H,J]=(e=>{let n;const[l,i]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:t+n++},t=>{N.test(t)&&o(e)<1e3&&s(e,t)}]})(),u=E();return[(e,r,i,o=[],s=(()=>[]))=>{null!=n||(n=K);const d=l(1);return S(u,d,[e,r,i,o,s]),D(k(r,null!=i?i:[t],A),d),d},(e,l,...i)=>r(((e,n=[t])=>{const l=[],i=(e,t)=>t==o(n)?s(l,e):null===n[t]?b(e,(e=>i(e,t+1))):r([n[t],null],(n=>i(I(e,n),t+1)));return i(e,0),l})(e,l),(e=>b(e,(e=>I(u,e)[0](n,...null!=l?l:[],...i))))),e=>h(I(u,e),(([,n,l])=>(k(n,null!=l?l:[t],void 0,(t=>(x(t,e),w(t)?1:0))),S(u,e),i(e),l))),e=>h(I(u,e),(([e,,t=[],l,i])=>{const u=(...s)=>{var d,a;const c=o(s);c==o(t)?e(n,...s,...i(s)):v(t[c])?r(null!=(a=null==(d=l[c])?void 0:d.call(l,...s))?a:[],(e=>u(...s,e))):u(...s,t[c])};u()}))]})(),K={setMetricDefinition:(t,r,i,o,s,d,a)=>{var h;const M=e(i)==l?[i,s,d,a]:null!=(h=I(z,i))?h:I(z,"sum");return $(t,r,((e,n,l,r,i,o)=>{const s=O(t),d=L(r);o||(o=v(s)),e();let a=((e,t,n,l,r,i=!1)=>{if(w(n))return;const[o,u,s,d]=r;return i||(i=v(e)),b(l,(([n,l])=>{i||(e=v(n)?null==u?void 0:u(e,l,t++):v(l)?null==s?void 0:s(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=v(e)))})),i?o(y(n),L(n)):e})(s,d,r,n,M,o);c(a)||(a=void 0),a!=s&&(W(t,a),H(u,[t],a,s))}),(1,e(f=o)==n?e=>e(f):null!=f?f:()=>1)),K;var f},delMetricDefinition:e=>(q(e),K),getStore:d,getMetricIds:a,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,t)=>G(t,u,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return g(K)})(i)),u.get(i))})();exports.createMetrics=j;
1
+ "use strict";const e=e=>typeof e,t="",n=e(t),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,t,n)=>o(e)?null==n?void 0:n():t(e),d=e=>Array.isArray(e),a=()=>{},c=(e,t)=>e.forEach(t),v=e=>M(e,((e,t)=>e+t),0),h=e=>e.length,M=(e,t,n)=>e.reduce(t,n),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},m=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},w=e=>o(e)||0==L(e),y=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},p=e=>e.clear(),b=(e,t)=>null==e?void 0:e.forEach(t),x=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),I=(e,t)=>null==e?void 0:e.get(t),R=(e,t)=>b(e,((e,n)=>t(n,e))),S=(e,t,n)=>o(n)?(x(e,t),e):null==e?void 0:e.set(t,n),T=(e,t,n)=>(m(e,t)||S(e,t,n()),I(e,t)),k=(e,t,n,l,r=0)=>s((n?T:I)(e,t[r],r>h(t)-2?n:E),(i=>{if(r>h(t)-2)return(null==l?void 0:l(i))&&S(e,t[r]),i;const u=k(i,t,n,l,r+1);return w(i)&&S(e,t[r]),u})),z=E([["avg",[(e,t)=>v(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>r(...e),(e,t)=>r(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:r(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:i(t,e)]],["sum",[e=>v(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,j=(r=>{const i=new WeakMap;return r=>(i.has(r)||i.set(r,(r=>{const i=E(),[v,M,j,C,F,O,W,,$,q,B]=((e,n,l)=>{const r=e.hasRow,i=E(),u=E(),a=E(),v=E(),M=E(),f=(t,n,...l)=>{const r=T(M,t,A);return c(l,(t=>D(r,t)&&n&&e.callListener(t))),l},g=(t,...n)=>s(I(M,t),(l=>{c(0==h(n)?y(l):n,(t=>{e.delListener(t),x(l,t)})),w(l)&&S(M,t)})),L=(e,t)=>{S(i,e,t),m(u,e)||(S(u,e,n()),S(a,e,E()),S(v,e,E()))},k=e=>{S(i,e),S(u,e),S(a,e),S(v,e),g(e)};return[()=>e,()=>{return[...null!=(t=null==(e=i)?void 0:e.keys())?t:[]];var e,t},e=>R(u,e),e=>m(u,e),e=>I(i,e),e=>I(u,e),(e,t)=>S(u,e,t),L,(n,l,i,u,s)=>{L(n,l);const M=E(),w=E(),y=I(a,n),x=I(v,n),T=n=>{const i=t=>e.getCell(l,n,t),a=I(y,n),c=r(l,n)?(v=u(i,n),isNaN(v)||o(v)||!0===v||!1===v||v===t?void 0:1*v):void 0;var v,f,g,L;if(a===c||d(a)&&d(c)&&(g=c,h(f=a)===h(g)&&(L=(e,t)=>g[t]===e,f.every(L)))||S(M,n,[a,c]),!o(s)){const e=I(x,n),t=r(l,n)?s(i,n):void 0;e!=t&&S(w,n,t)}},k=e=>{i((()=>{b(M,(([,e],t)=>S(y,t,e))),b(w,((e,t)=>S(x,t,e)))}),M,w,y,x,e),p(M),p(w)};R(y,T),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),g(n),f(n,0,e.addRowListener(l,null,((e,t,n)=>T(n))),e.addTableListener(l,(()=>k())))},k,()=>R(M,k),f,g]})(r,a),[G,H,J]=(e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:t+n++},t=>{N.test(t)&&h(e)<1e3&&f(e,t)}]})(),i=E();return[(e,r,u,o=[],s=(()=>[]))=>{null!=n||(n=K);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[t],A),d),d},(e,l,...r)=>c(((e,n=[t])=>{const l=[],r=(e,t)=>t==h(n)?f(l,e):null===n[t]?b(e,(e=>r(e,t+1))):c([n[t],null],(n=>r(I(e,n),t+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>I(i,e)[0](n,...null!=l?l:[],...r))))),e=>s(I(i,e),(([,n,l])=>(k(n,null!=l?l:[t],void 0,(t=>(x(t,e),w(t)?1:0))),S(i,e),r(e),l))),e=>s(I(i,e),(([e,,t=[],l,r])=>{const i=(...u)=>{var s,d;const a=h(u);a==h(t)?e(n,...u,...r(u)):o(t[a])?c(null!=(d=null==(s=l[a])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,t[a])};i()}))]})(),K={setMetricDefinition:(t,r,s,d,a,c,v)=>{var h;const M=e(s)==l?[s,a,c,v]:null!=(h=I(z,s))?h:I(z,"sum");return $(t,r,((e,n,l,r,s,d)=>{const a=O(t),c=L(r);d||(d=o(a)),e();let v=((e,t,n,l,r,i=!1)=>{if(w(n))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([n,l])=>{i||(e=o(n)?null==s?void 0:s(e,l,t++):o(l)?null==d?void 0:d(e,n,t--):null==a?void 0:a(e,l,n,t),i||(i=o(e)))})),i?u(y(n),L(n)):e})(a,c,r,n,M,d);u(v)||(v=void 0),v!=a&&(W(t,v),H(i,[t],v,a))}),(1,e(f=d)==n?e=>e(f):null!=f?f:()=>1)),K;var f},delMetricDefinition:e=>(q(e),K),getStore:v,getMetricIds:M,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,t)=>G(t,i,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return g(K)})(r)),i.get(r))})();exports.createMetrics=j;
Binary file