tinybase 4.0.0-beta.4 → 4.0.0-beta.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/lib/cjs/persisters/persister-automerge.cjs +1 -0
  2. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-browser.cjs +1 -0
  4. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -0
  6. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-file.cjs +1 -0
  8. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-remote.cjs +1 -0
  10. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -0
  12. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -0
  14. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-yjs.cjs +1 -0
  16. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  17. package/lib/cjs/persisters.cjs +1 -1
  18. package/lib/cjs/persisters.cjs.gz +0 -0
  19. package/lib/cjs/store.cjs +1 -1
  20. package/lib/cjs/store.cjs.gz +0 -0
  21. package/lib/cjs/tinybase.cjs +1 -1
  22. package/lib/cjs/tinybase.cjs.gz +0 -0
  23. package/lib/cjs/tools.cjs +1 -1
  24. package/lib/cjs/tools.cjs.gz +0 -0
  25. package/lib/cjs/ui-react.cjs +1 -1
  26. package/lib/cjs/ui-react.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -0
  28. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -0
  30. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -0
  32. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-file.cjs +1 -0
  34. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  35. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -0
  36. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  37. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -0
  38. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  39. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -0
  40. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  41. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -0
  42. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  43. package/lib/cjs-es6/persisters.cjs +1 -1
  44. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  45. package/lib/cjs-es6/store.cjs +1 -1
  46. package/lib/cjs-es6/store.cjs.gz +0 -0
  47. package/lib/cjs-es6/tinybase.cjs +1 -1
  48. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  49. package/lib/cjs-es6/tools.cjs +1 -1
  50. package/lib/cjs-es6/tools.cjs.gz +0 -0
  51. package/lib/cjs-es6/ui-react.cjs +1 -1
  52. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  53. package/lib/debug/{persister-automerge.js → persisters/persister-automerge.js} +58 -31
  54. package/lib/debug/{persister-browser.js → persisters/persister-browser.js} +49 -20
  55. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +665 -0
  56. package/lib/debug/{persister-file.js → persisters/persister-file.js} +51 -25
  57. package/lib/debug/{persister-remote.js → persisters/persister-remote.js} +48 -19
  58. package/lib/debug/persisters/persister-sqlite-wasm.js +673 -0
  59. package/lib/debug/persisters/persister-sqlite3.js +676 -0
  60. package/lib/debug/{persister-yjs.js → persisters/persister-yjs.js} +49 -20
  61. package/lib/debug/persisters.js +47 -18
  62. package/lib/debug/store.js +79 -29
  63. package/lib/debug/tinybase.js +123 -46
  64. package/lib/debug/tools.js +121 -27
  65. package/lib/debug/ui-react.js +24 -0
  66. package/lib/es6/persisters/persister-automerge.js +1 -0
  67. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  68. package/lib/es6/persisters/persister-browser.js +1 -0
  69. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  70. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -0
  71. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  72. package/lib/es6/persisters/persister-file.js +1 -0
  73. package/lib/es6/persisters/persister-file.js.gz +0 -0
  74. package/lib/es6/persisters/persister-remote.js +1 -0
  75. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  76. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -0
  77. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  78. package/lib/es6/persisters/persister-sqlite3.js +1 -0
  79. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  80. package/lib/es6/persisters/persister-yjs.js +1 -0
  81. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  82. package/lib/es6/persisters.js +1 -1
  83. package/lib/es6/persisters.js.gz +0 -0
  84. package/lib/es6/store.js +1 -1
  85. package/lib/es6/store.js.gz +0 -0
  86. package/lib/es6/tinybase.js +1 -1
  87. package/lib/es6/tinybase.js.gz +0 -0
  88. package/lib/es6/tools.js +1 -1
  89. package/lib/es6/tools.js.gz +0 -0
  90. package/lib/es6/ui-react.js +1 -1
  91. package/lib/es6/ui-react.js.gz +0 -0
  92. package/lib/persisters/persister-automerge.js +1 -0
  93. package/lib/persisters/persister-automerge.js.gz +0 -0
  94. package/lib/persisters/persister-browser.js +1 -0
  95. package/lib/persisters/persister-browser.js.gz +0 -0
  96. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -0
  97. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  98. package/lib/persisters/persister-file.js +1 -0
  99. package/lib/persisters/persister-file.js.gz +0 -0
  100. package/lib/persisters/persister-remote.js +1 -0
  101. package/lib/persisters/persister-remote.js.gz +0 -0
  102. package/lib/persisters/persister-sqlite-wasm.js +1 -0
  103. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  104. package/lib/persisters/persister-sqlite3.js +1 -0
  105. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  106. package/lib/persisters/persister-yjs.js +1 -0
  107. package/lib/persisters/persister-yjs.js.gz +0 -0
  108. package/lib/persisters.js +1 -1
  109. package/lib/persisters.js.gz +0 -0
  110. package/lib/store.js +1 -1
  111. package/lib/store.js.gz +0 -0
  112. package/lib/tinybase.js +1 -1
  113. package/lib/tinybase.js.gz +0 -0
  114. package/lib/tools.js +1 -1
  115. package/lib/tools.js.gz +0 -0
  116. package/lib/types/checkpoints.d.ts +0 -27
  117. package/lib/types/common.d.ts +0 -9
  118. package/lib/types/indexes.d.ts +0 -26
  119. package/lib/types/metrics.d.ts +0 -23
  120. package/lib/types/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
  121. package/lib/types/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
  122. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +95 -0
  123. package/lib/types/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
  124. package/lib/types/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
  125. package/lib/types/persisters/persister-sqlite-wasm.d.ts +102 -0
  126. package/lib/types/persisters/persister-sqlite3.d.ts +109 -0
  127. package/lib/types/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
  128. package/lib/types/persisters.d.ts +517 -27
  129. package/lib/types/queries.d.ts +52 -127
  130. package/lib/types/relationships.d.ts +0 -26
  131. package/lib/types/store.d.ts +347 -196
  132. package/lib/types/tinybase.d.ts +0 -1
  133. package/lib/types/tools.d.ts +15 -28
  134. package/lib/types/ui-react.d.ts +196 -181
  135. package/lib/types/with-schemas/checkpoints.d.ts +5 -32
  136. package/lib/types/with-schemas/common.d.ts +0 -9
  137. package/lib/types/with-schemas/indexes.d.ts +9 -35
  138. package/lib/types/with-schemas/metrics.d.ts +9 -32
  139. package/lib/types/with-schemas/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
  140. package/lib/types/with-schemas/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
  141. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +105 -0
  142. package/lib/types/with-schemas/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
  143. package/lib/types/with-schemas/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
  144. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +113 -0
  145. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +119 -0
  146. package/lib/types/with-schemas/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
  147. package/lib/types/with-schemas/persisters.d.ts +534 -29
  148. package/lib/types/with-schemas/queries.d.ts +61 -224
  149. package/lib/types/with-schemas/relationships.d.ts +9 -35
  150. package/lib/types/with-schemas/store.d.ts +488 -239
  151. package/lib/types/with-schemas/tinybase.d.ts +0 -1
  152. package/lib/types/with-schemas/tools.d.ts +19 -32
  153. package/lib/types/with-schemas/ui-react.d.ts +221 -186
  154. package/lib/ui-react.js +1 -1
  155. package/lib/ui-react.js.gz +0 -0
  156. package/lib/umd/persisters/persister-automerge.js +1 -0
  157. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  158. package/lib/umd/persisters/persister-browser.js +1 -0
  159. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  160. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -0
  161. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  162. package/lib/umd/persisters/persister-file.js +1 -0
  163. package/lib/umd/persisters/persister-file.js.gz +0 -0
  164. package/lib/umd/persisters/persister-remote.js +1 -0
  165. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  166. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -0
  167. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  168. package/lib/umd/persisters/persister-sqlite3.js +1 -0
  169. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  170. package/lib/umd/persisters/persister-yjs.js +1 -0
  171. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  172. package/lib/umd/persisters.js +1 -1
  173. package/lib/umd/persisters.js.gz +0 -0
  174. package/lib/umd/store.js +1 -1
  175. package/lib/umd/store.js.gz +0 -0
  176. package/lib/umd/tinybase.js +1 -1
  177. package/lib/umd/tinybase.js.gz +0 -0
  178. package/lib/umd/tools.js +1 -1
  179. package/lib/umd/tools.js.gz +0 -0
  180. package/lib/umd/ui-react.js +1 -1
  181. package/lib/umd/ui-react.js.gz +0 -0
  182. package/lib/umd-es6/persisters/persister-automerge.js +1 -0
  183. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  184. package/lib/umd-es6/persisters/persister-browser.js +1 -0
  185. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  186. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -0
  187. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  188. package/lib/umd-es6/persisters/persister-file.js +1 -0
  189. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  190. package/lib/umd-es6/persisters/persister-remote.js +1 -0
  191. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  192. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -0
  193. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  194. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -0
  195. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  196. package/lib/umd-es6/persisters/persister-yjs.js +1 -0
  197. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  198. package/lib/umd-es6/persisters.js +1 -1
  199. package/lib/umd-es6/persisters.js.gz +0 -0
  200. package/lib/umd-es6/store.js +1 -1
  201. package/lib/umd-es6/store.js.gz +0 -0
  202. package/lib/umd-es6/tinybase.js +1 -1
  203. package/lib/umd-es6/tinybase.js.gz +0 -0
  204. package/lib/umd-es6/tools.js +1 -1
  205. package/lib/umd-es6/tools.js.gz +0 -0
  206. package/lib/umd-es6/ui-react.js +1 -1
  207. package/lib/umd-es6/ui-react.js.gz +0 -0
  208. package/package.json +39 -22
  209. package/readme.md +3 -3
  210. package/lib/cjs/persister-automerge.cjs +0 -1
  211. package/lib/cjs/persister-automerge.cjs.gz +0 -0
  212. package/lib/cjs/persister-browser.cjs +0 -1
  213. package/lib/cjs/persister-browser.cjs.gz +0 -0
  214. package/lib/cjs/persister-file.cjs +0 -1
  215. package/lib/cjs/persister-file.cjs.gz +0 -0
  216. package/lib/cjs/persister-remote.cjs +0 -1
  217. package/lib/cjs/persister-remote.cjs.gz +0 -0
  218. package/lib/cjs/persister-yjs.cjs +0 -1
  219. package/lib/cjs/persister-yjs.cjs.gz +0 -0
  220. package/lib/cjs-es6/persister-automerge.cjs +0 -1
  221. package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
  222. package/lib/cjs-es6/persister-browser.cjs +0 -1
  223. package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
  224. package/lib/cjs-es6/persister-file.cjs +0 -1
  225. package/lib/cjs-es6/persister-file.cjs.gz +0 -0
  226. package/lib/cjs-es6/persister-remote.cjs +0 -1
  227. package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
  228. package/lib/cjs-es6/persister-yjs.cjs +0 -1
  229. package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
  230. package/lib/es6/persister-automerge.js +0 -1
  231. package/lib/es6/persister-automerge.js.gz +0 -0
  232. package/lib/es6/persister-browser.js +0 -1
  233. package/lib/es6/persister-browser.js.gz +0 -0
  234. package/lib/es6/persister-file.js +0 -1
  235. package/lib/es6/persister-file.js.gz +0 -0
  236. package/lib/es6/persister-remote.js +0 -1
  237. package/lib/es6/persister-remote.js.gz +0 -0
  238. package/lib/es6/persister-yjs.js +0 -1
  239. package/lib/es6/persister-yjs.js.gz +0 -0
  240. package/lib/persister-automerge.js +0 -1
  241. package/lib/persister-automerge.js.gz +0 -0
  242. package/lib/persister-browser.js +0 -1
  243. package/lib/persister-browser.js.gz +0 -0
  244. package/lib/persister-file.js +0 -1
  245. package/lib/persister-file.js.gz +0 -0
  246. package/lib/persister-remote.js +0 -1
  247. package/lib/persister-remote.js.gz +0 -0
  248. package/lib/persister-yjs.js +0 -1
  249. package/lib/persister-yjs.js.gz +0 -0
  250. package/lib/umd/persister-automerge.js +0 -1
  251. package/lib/umd/persister-automerge.js.gz +0 -0
  252. package/lib/umd/persister-browser.js +0 -1
  253. package/lib/umd/persister-browser.js.gz +0 -0
  254. package/lib/umd/persister-file.js +0 -1
  255. package/lib/umd/persister-file.js.gz +0 -0
  256. package/lib/umd/persister-remote.js +0 -1
  257. package/lib/umd/persister-remote.js.gz +0 -0
  258. package/lib/umd/persister-yjs.js +0 -1
  259. package/lib/umd/persister-yjs.js.gz +0 -0
  260. package/lib/umd-es6/persister-automerge.js +0 -1
  261. package/lib/umd-es6/persister-automerge.js.gz +0 -0
  262. package/lib/umd-es6/persister-browser.js +0 -1
  263. package/lib/umd-es6/persister-browser.js.gz +0 -0
  264. package/lib/umd-es6/persister-file.js +0 -1
  265. package/lib/umd-es6/persister-file.js.gz +0 -0
  266. package/lib/umd-es6/persister-remote.js +0 -1
  267. package/lib/umd-es6/persister-remote.js.gz +0 -0
  268. package/lib/umd-es6/persister-yjs.js +0 -1
  269. package/lib/umd-es6/persister-yjs.js.gz +0 -0
package/lib/es6/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",i="Table",c=i+"s",d=i+u,v="Row"+u,h="Cell",g=h+u,f="Value",T=f+"s",V=f+u,b=e=>l+e,S=(e,l)=>e.forEach(l),C=(e,l)=>e.map(l),w=e=>e.length,I=(e,l,t)=>e.slice(l,t),R=(e,...l)=>e.push(...l),y=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),J=JSON.parse,m=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),j=(e,l)=>delete e[l],x=(e,l)=>C(O.entries(e),(([e,t])=>l(t,e))),D=e=>{return N(e)&&(l=k(e),0==w(l));var l},W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,l)=>null==e?void 0:e.forEach(l),G=(e,l)=>null==e?void 0:e.delete(l),H=e=>new Map(e),K=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},Q=(e,l)=>null==e?void 0:e.get(l),U=(e,l)=>B(e,((e,t)=>l(t,e))),X=(e,l,t)=>L(t)?(G(e,l),e):null==e?void 0:e.set(l,t),Y=(e,l,t)=>(W(e,l)||X(e,l,t()),Q(e,l)),Z=(e,l,t)=>{const n={};return B(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},_=(e,l,t)=>Z(e,(e=>Z(e,l,t)),D),ee=(e,l,t)=>Z(e,(e=>_(e,l,t)),D),le=(e,l)=>{const t=H();return B(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},te=e=>le(e,le),ne=e=>le(e,te),se=(e,l,t,n,s=0)=>E((t?Y:Q)(e,l[s],s>w(l)-2?t:H),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&X(e,l[s]),a;const r=se(a,l,t,n,s+1);return $(a)&&X(e,l[s]),r})),ae=e=>new Set(Array.isArray(e)||L(e)?e:[e]),re=(e,l)=>null==e?void 0:e.add(l),oe=/^\d+$/,ue=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{oe.test(l)&&w(e)<1e3&&R(e,l)}]},ie=e=>[e,e],ce=()=>[H(),H()],de=e=>[...e],ve=([e,l])=>e===l,he=l=>{const t=e(l);return F(t)||t==s&&m(l)?t:void 0},ge=(e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),fe=(e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t),Te=(e,l,t,n=X)=>(x(l,((l,n)=>t(e,n,l))),U(e,(t=>P(l,t)?0:n(e,t))),e),Ve=(e,l,t)=>L(e)||!N(e)||D(e)||A(e)?(null==t||t(),!1):(x(e,((t,n)=>{l(t,n)||j(e,n)})),!D(e)),be=(e,l,t)=>X(e,l,Q(e,l)==-t?void 0:t),Se=()=>{let e,t,n=!1,a=!1,u=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),oe=H(),Ce=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=ae(),me=H(),pe=H(),Le=H(),Ee=ce(),Fe=ce(),ze=ce(),Oe=ce(),ke=ce(),Ae=ce(),Me=ce(),Ne=ce(),Pe=ce(),je=ce(),xe=ce(),De=ce(),We=ce(),$e=H(),qe=ce(),[Be,Ge,He,Ke]=(e=>{let t;const[n,s]=ue(),a=H();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=rt);const i=n(1);return X(a,i,[e,s,r,o,u]),re(se(s,null!=r?r:[l],ae),i),i},(e,n,...s)=>S(((e,t=[l])=>{const n=[],s=(e,l)=>l==w(t)?R(n,e):null===t[l]?B(e,(e=>s(e,l+1))):S([t[l],null],(t=>s(Q(e,t),l+1)));return s(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](t,...null!=n?n:[],...s))))),e=>E(Q(a,e),(([,t,n])=>(se(t,null!=n?n:[l],void 0,(l=>(G(l,e),$(l)?1:0))),X(a,e),s(e),n))),e=>E(Q(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=w(r);i==w(l)?e(t,...r,...s(r)):L(l[i])?S(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),Qe=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!F(l)&&l!=s||(he(e[o])!=l&&j(e,o),0))},Ue=(l,t)=>(!e||W(we,t)||Jl(t))&&Ve(l,((e,l)=>Xe(t,l,e)),(()=>Jl(t))),Xe=(e,l,t,n)=>Ve(n?t:el(t,e,l),((n,s)=>E(Ye(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Jl(e,l))),Ye=(l,t,n,s)=>e?E(Q(Q(we,l),n),(e=>he(s)!=e[r]?Jl(l,t,n,s,e[o]):s),(()=>Jl(l,t,n,s))):L(he(s))?Jl(l,t,n,s):s,Ze=(e,l)=>Ve(l?e:ll(e),((l,t)=>E(_e(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>ml())),_e=(e,l)=>t?E(Q(Re,e),(t=>he(l)!=t[r]?ml(e,l,t[o]):l),(()=>ml(e,l))):L(he(l))?ml(e,l):l,el=(e,l,t)=>(E(Q(Ie,l),(([n,s])=>{B(n,((l,t)=>{P(e,t)||(e[t]=l)})),B(s,(n=>{P(e,n)||Jl(l,t,n)}))})),e),ll=e=>(t&&(B(ye,((l,t)=>{P(e,t)||(e[t]=l)})),B(Je,(l=>{P(e,l)||ml(l)}))),e),tl=e=>Te(we,e,((e,l,t)=>{const n=H(),s=ae();Te(Y(we,l,H),t,((e,l,t)=>{X(e,l,t),E(t[o],(e=>X(n,l,e)),(()=>re(s,l)))})),X(Ie,l,[n,s])}),((e,l)=>{X(we,l),X(Ie,l)})),nl=e=>Te(Re,e,((e,l,t)=>{X(Re,l,t),E(t[o],(e=>X(ye,l,e)),(()=>re(Je,l)))}),((e,l)=>{X(Re,l),X(ye,l),G(Je,l)})),sl=e=>D(e)?Yl():Hl(e),al=e=>Te(pe,e,((e,l,t)=>rl(l,t)),((e,l)=>fl(l))),rl=(e,l)=>Te(Y(pe,e,(()=>(Sl(e,1),H()))),l,((l,t,n)=>ol(e,l,t,n)),((l,t)=>Tl(e,l,t))),ol=(e,l,t,n,s)=>Te(Y(l,t,(()=>(Cl(e,t,1),H()))),n,((l,n,s)=>ul(e,t,l,n,s)),((n,a)=>Vl(e,l,t,n,a,s))),ul=(e,l,t,n,s)=>{W(t,n)||wl(e,l,n,1);const a=Q(t,n);s!==a&&(Il(e,l,n,a,s),X(t,n,s))},il=(e,l,t,n,s)=>E(Q(l,t),(l=>ul(e,t,l,n,s)),(()=>ol(e,l,t,el({[n]:s},e,t)))),cl=e=>D(e)?et():Kl(e),dl=e=>Te(Le,e,((e,l,t)=>vl(l,t)),((e,l)=>bl(l))),vl=(e,l)=>{W(Le,e)||Rl(e,1);const t=Q(Le,e);l!==t&&(yl(e,t,l),X(Le,e,l))},hl=(e,l)=>{const[t]=Y(me,e,ue),n=t(l);return W(Q(pe,e),n)?hl(e,l):n},gl=e=>{var l;return null!=(l=Q(pe,e))?l:rl(e,{})},fl=e=>rl(e,{}),Tl=(e,l,t)=>{const[,n]=Y(me,e,ue);n(t),ol(e,l,t,{},!0)},Vl=(e,l,t,n,s,a)=>{var r;const o=Q(null==(r=Q(Ie,e))?void 0:r[0],s);if(!L(o)&&!a)return ul(e,t,n,s,o);const u=l=>{Il(e,t,l,Q(n,l)),wl(e,t,l,-1),X(n,l)};L(o)?u(s):U(n,u),$(n)&&(Cl(e,t,-1),$(X(l,t))&&(Sl(e,-1),X(pe,e),X(me,e)))},bl=e=>{const l=Q(ye,e);if(!L(l))return vl(e,l);yl(e,Q(Le,e)),Rl(e,-1),X(Le,e)},Sl=(e,l)=>be(m,e,l),Cl=(e,l,t)=>be(Y(p,e,H),l,t),wl=(e,l,t,n)=>be(Y(Y(O,e,H),l,H),t,n),Il=(e,l,t,n,s)=>Y(Y(Y(k,e,H),l,H),t,(()=>[n,0]))[1]=s,Rl=(e,l)=>be(A,e,l),yl=(e,l,t)=>Y(N,e,(()=>[l,0]))[1]=t,Jl=(e,l,t,n,s)=>(R(Y(Y(Y(oe,e,H),l,H),t,(()=>[])),n),s),ml=(e,l,t)=>(R(Y(Ce,e,(()=>[])),l),t),pl=(e,l,t)=>E(Q(Q(Q(k,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ie($l(e,l,t))])),Ll=e=>E(Q(N,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Gl(e))])),El=e=>$(oe)||$(Pe[e])?0:B(e?ne(oe):oe,((l,t)=>B(l,((l,n)=>B(l,((l,s)=>Ge(Pe[e],[t,n,s],l))))))),Fl=e=>$(Ce)||$(je[e])?0:B(e?le(Ce):Ce,((l,t)=>Ge(je[e],[t],l))),zl=(e,l,t)=>{if(!$(l))return Ge(e,t),1},Ol=e=>{const l=$(ke[e]),t=$(Me[e])&&$(Oe[e])&&l&&$(Fe[e]),n=$(Ne[e])&&$(Ae[e])&&$(ze[e])&&$(Ee[e]);if(!t||!n){const s=e?[le(m),te(p),ne(O),ne(k)]:[m,p,O,k];if(!t){B(s[2],((l,t)=>B(l,((l,n)=>zl(Me[e],l,[t,n])))));const t=ae();B(s[1],((n,s)=>{zl(Oe[e],n,[s])&&!l&&(Ge(ke[e],[s,null]),re(t,s))})),l||B(s[3],((l,n)=>{if(!W(t,n)){const t=ae();B(l,(e=>B(e,(([l,n],s)=>n!==l?re(t,s):G(e,s))))),B(t,(l=>Ge(ke[e],[n,l])))}})),zl(Fe[e],s[0])}if(!n){let l;B(s[3],((t,n)=>{let s;B(t,((t,a)=>{let r;B(t,(([t,o],u)=>{o!==t&&(Ge(Ne[e],[n,a,u],o,t,pl),l=s=r=1)})),r&&Ge(Ae[e],[n,a],pl)})),s&&Ge(ze[e],[n],pl)})),l&&Ge(Ee[e],void 0,pl)}}},kl=e=>{const l=$(De[e]),t=$(We[e])&&$(xe[e]);if(!l||!t){const n=e?[le(A),le(N)]:[A,N];if(l||zl(De[e],n[0]),!t){let l;B(n[1],(([t,n],s)=>{n!==t&&(Ge(We[e],[s],n,t,Ll),l=1)})),l&&Ge(xe[e],void 0,Ll)}}},Al=(e,...l)=>(nt((()=>e(...C(l,b)))),rt),Ml=()=>[Z(k,((e,l)=>-1===Q(m,l)?null:Z(e,((e,t)=>-1===Q(Q(p,l),t)?null:Z(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),Z(N,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],Nl=()=>({cellsTouched:n,valuesTouched:a,changedCells:ee(k,de,ve),invalidCells:ee(oe),changedValues:Z(N,de,ve),invalidValues:Z(Ce),changedTableIds:Z(m),changedRowIds:_(p),changedCellIds:ee(O),changedValueIds:Z(A)}),Pl=()=>ee(pe),jl=()=>K(pe),xl=e=>K(Q(pe,b(e))),Dl=(e,l,t,n=0,s)=>{return C(I((r=Q(pe,b(e)),o=(e,t)=>[L(l)?t:Q(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),C([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},Wl=(e,l)=>K(Q(Q(pe,b(e)),b(l))),$l=(e,l,t)=>Q(Q(Q(pe,b(e)),b(l)),b(t)),ql=()=>Z(Le),Bl=()=>K(Le),Gl=e=>Q(Le,b(e)),Hl=e=>Al((()=>(e=>Ve(e,Ue,Jl))(e)?al(e):0)),Kl=e=>Al((()=>Ze(e)?dl(e):0)),Ql=e=>{try{sl(J(e))}catch(e){}return rt},Ul=l=>Al((()=>{if((e=Ve(l,(e=>Ve(e,Qe))))&&(tl(l),!$(pe))){const e=Pl();Yl(),Hl(e)}})),Xl=e=>Al((()=>{if(t=(e=>Ve(e,Qe))(e)){const l=ql();tt(),et(),t=!0,nl(e),Kl(l)}})),Yl=()=>Al((()=>al({}))),Zl=e=>Al((e=>W(pe,e)?fl(e):0),e),_l=(e,l)=>Al(((e,l)=>E(Q(pe,e),(t=>W(t,l)?Tl(e,t,l):0))),e,l),et=()=>Al((()=>dl({}))),lt=()=>Al((()=>{tl({}),e=!1})),tt=()=>Al((()=>{nl({}),t=!1})),nt=(e,l)=>{if(-1!=u){st();const t=e();return at(l),t}},st=()=>(-1!=u&&u++,1==u&&Ge($e,void 0,Ml,Nl),rt),at=e=>(u>0&&(u--,0==u&&(n=!$(k),a=!$(N),u=1,El(1),n&&Ol(1),Fl(1),a&&kl(1),(null==e?void 0:e(Ml,Nl))&&(B(k,((e,l)=>B(e,((e,t)=>B(e,(([e],n)=>ge(rt,l,t,n,e))))))),B(N,(([e],l)=>fe(rt,l,e))),n=a=!1),Ge(qe[0],void 0,Ml,Nl),u=-1,El(0),n&&Ol(0),Fl(0),a&&kl(0),Ge(qe[1],void 0,Ml,Nl),u=0,n=a=!1,S([m,p,O,k,oe,A,N,Ce],q))),rt),rt={getContent:()=>[Pl(),ql()],getTables:Pl,getTableIds:jl,getTable:e=>_(Q(pe,b(e))),getRowIds:xl,getSortedRowIds:Dl,getRow:(e,l)=>Z(Q(Q(pe,b(e)),b(l))),getCellIds:Wl,getCell:$l,getValues:ql,getValueIds:Bl,getValue:Gl,hasTables:()=>!$(pe),hasTable:e=>W(pe,b(e)),hasRow:(e,l)=>W(Q(pe,b(e)),b(l)),hasCell:(e,l,t)=>W(Q(Q(pe,b(e)),b(l)),b(t)),hasValues:()=>!$(Le),hasValue:e=>W(Le,b(e)),getTablesJson:()=>y(pe),getValuesJson:()=>y(Le),getJson:()=>y([pe,Le]),getTablesSchemaJson:()=>y(we),getValuesSchemaJson:()=>y(Re),getSchemaJson:()=>y([we,Re]),setContent:([e,l])=>Al((()=>{Hl(e),Kl(l)})),setTables:Hl,setTable:(e,l)=>Al((e=>Ue(l,e)?rl(e,l):0),e),setRow:(e,l,t)=>Al(((e,l)=>Xe(e,l,t)?ol(e,gl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>nt((()=>{let n;return Xe(e,n,l)&&(e=b(e),ol(e,gl(e),n=hl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Al(((e,l)=>{if(Xe(e,l,t,1)){const n=gl(e);x(t,((t,s)=>il(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Al(((e,l,t)=>E(Ye(e,l,t,z(n)?n($l(e,l,t)):n),(n=>il(e,gl(e),l,t,n)))),e,l,t),setValues:Kl,setPartialValues:e=>Al((()=>Ze(e,1)?x(e,((e,l)=>vl(l,e))):0)),setValue:(e,l)=>Al((e=>E(_e(e,z(l)?l(Gl(e)):l),(l=>vl(e,l)))),e),setTransactionChanges:e=>Al((()=>{x(e[0],((e,l)=>L(e)?Zl(l):x(e,((e,t)=>L(e)?_l(l,t):x(e,((e,n)=>ge(rt,l,t,n,e))))))),x(e[1],((e,l)=>fe(rt,l,e)))})),setTablesJson:Ql,setValuesJson:e=>{try{cl(J(e))}catch(e){}return rt},setJson:e=>{try{const[l,t]=J(e);sl(l),cl(t)}catch(l){Ql(e)}return rt},setTablesSchema:Ul,setValuesSchema:Xl,setSchema:(e,l)=>Al((()=>{Ul(e),Xl(l)})),delTables:Yl,delTable:Zl,delRow:_l,delCell:(e,l,t,n)=>Al(((e,l,t)=>E(Q(pe,e),(s=>E(Q(s,l),(a=>W(a,t)?Vl(e,s,l,a,t,n):0))))),e,l,t),delValues:et,delValue:e=>Al((e=>W(Le,e)?bl(e):0),e),delTablesSchema:lt,delValuesSchema:tt,delSchema:()=>Al((()=>{lt(),tt()})),transaction:nt,startTransaction:st,finishTransaction:at,forEachTable:e=>B(pe,((l,t)=>e(t,(e=>B(l,((l,t)=>e(t,(e=>U(l,e))))))))),forEachRow:(e,l)=>B(Q(pe,b(e)),((e,t)=>l(t,(l=>U(e,l))))),forEachCell:(e,l,t)=>U(Q(Q(pe,b(e)),b(l)),t),forEachValue:e=>U(Le,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=Dl(e,l,t,n,s);return Be((()=>{const r=Dl(e,l,t,n,s);var u,i,c;i=o,w(u=r)===w(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(rt,e,l,t,n,s,o))}),ke[r?1:0],[e,l],[jl])},addStartTransactionListener:e=>Be(e,$e),addWillFinishTransactionListener:e=>Be(e,qe[0]),addDidFinishTransactionListener:e=>Be(e,qe[1]),callListener:e=>(Ke(e),rt),delListener:e=>(He(e),rt),getListenerStats:()=>({}),createStore:Se};return x({[c]:[0,Ee],[d]:[0,Fe],[i]:[1,ze,[jl]],[v]:[1,Oe,[jl]],Row:[2,Ae,[jl,xl]],[g]:[2,Me,[jl,xl]],[h]:[3,Ne,[jl,xl,Wl],e=>ie($l(...e))],InvalidCell:[3,Pe],[T]:[0,xe],[V]:[0,De],[f]:[1,We,[Bl],e=>ie(Gl(e[0]))],InvalidValue:[1,je]},(([e,l,t,n],s)=>{rt["add"+s+"Listener"]=(...s)=>Be(s[e],l[s[e+1]?1:0],e>0?I(s,0,e):void 0,t,n)})),M(rt)};export{Se as createStore};
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Ids",c="Table",i=c+"s",d=c+u,h="Row"+u,v="Cell",g=v+u,f="Value",T=f+"s",V=f+u,b=e=>l+e,C=(e,l)=>e.forEach(l),S=(e,l)=>e.map(l),w=e=>e.length,I=(e,l,t)=>e.slice(l,t),R=(e,...l)=>e.push(...l),y=e=>JSON.stringify(e,((e,l)=>{return p(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),J=JSON.parse,m=isFinite,p=(e,l)=>e instanceof l,L=e=>null==e,E=(e,l,t)=>L(e)?null==t?void 0:t():l(e),F=e=>e==t||e==n,z=l=>e(l)==a,O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>p(e,O)&&e.constructor==O,P=(e,l)=>!L(((e,l)=>E(e,(e=>e[l])))(e,l)),j=(e,l)=>(delete e[l],e),x=(e,l)=>S(O.entries(e),(([e,t])=>l(t,e))),D=e=>N(e)&&0==(e=>w(k(e)))(e),W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>L(e)||0==(e=>e.size)(e),q=e=>e.clear(),B=(e,l)=>null==e?void 0:e.forEach(l),G=(e,l)=>null==e?void 0:e.delete(l),H=e=>new Map(e),K=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},Q=(e,l)=>null==e?void 0:e.get(l),U=(e,l)=>B(e,((e,t)=>l(t,e))),X=(e,l,t)=>L(t)?(G(e,l),e):null==e?void 0:e.set(l,t),Y=(e,l,t)=>(W(e,l)||X(e,l,t()),Q(e,l)),Z=(e,l,t,n=X)=>(x(l,((l,n)=>t(e,n,l))),U(e,(t=>P(l,t)?0:n(e,t))),e),_=(e,l,t)=>{const n={};return B(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=H();return B(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>E((t?Y:Q)(e,l[s],s>w(l)-2?t:H),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&X(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&X(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||L(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ce=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{ue.test(l)&&w(e)<1e3&&R(e,l)}]},ie=e=>[e,e],de=()=>[H(),H()],he=e=>[...e],ve=([e,l])=>e===l,ge=l=>{const t=e(l);return F(t)||t==s&&m(l)?t:void 0},fe=(e,l,t,n,s)=>L(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>L(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t)=>L(e)||!N(e)||D(e)||A(e)?(null==t||t(),!1):(x(e,((t,n)=>{l(t,n)||j(e,n)})),!D(e)),be=(e,l,t)=>X(e,l,Q(e,l)==-t?void 0:t),Ce=()=>{let e,t,n=!1,a=!1,u=0;const m=H(),p=H(),O=H(),k=H(),A=H(),N=H(),ue=H(),Se=H(),we=H(),Ie=H(),Re=H(),ye=H(),Je=H(),me=re(),pe=H(),Le=H(),Ee=H(),Fe=H(),ze=de(),Oe=de(),ke=de(),Ae=de(),Me=de(),Ne=de(),Pe=de(),je=de(),xe=de(),De=de(),We=de(),$e=de(),qe=de(),Be=de(),Ge=H(),He=de(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[n,s]=ce(),a=H();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=ct);const c=n(1);return X(a,c,[e,s,r,o,u]),oe(ae(s,null!=r?r:[l],re),c),c},(e,n,...s)=>C(((e,t=[l])=>{const n=[],s=(e,l)=>l==w(t)?R(n,e):null===t[l]?B(e,(e=>s(e,l+1))):C([t[l],null],(t=>s(Q(e,t),l+1)));return s(e,0),n})(e,n),(e=>B(e,(e=>Q(a,e)[0](t,...null!=n?n:[],...s))))),e=>E(Q(a,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(l=>(G(l,e),$(l)?1:0))),X(a,e),s(e),n))),e=>E(Q(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const c=w(r);c==w(l)?e(t,...r,...s(r)):L(l[c])?C(null!=(u=null==(o=n[c])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[c])};a()}))]})(),Ye=e=>{if(!Ve(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!F(l)&&l!=s||(ge(e[o])!=l&&j(e,o),0))},Ze=(l,t)=>(!e||W(Ie,t)||Ll(t))&&Ve(l,((e,l)=>_e(t,l,e)),(()=>Ll(t))),_e=(e,l,t,n)=>Ve(n?t:nl(t,e,l),((n,s)=>E(el(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Ll(e,l))),el=(l,t,n,s)=>e?E(Q(Q(Ie,l),n),(e=>ge(s)!=e[r]?Ll(l,t,n,s,e[o]):s),(()=>Ll(l,t,n,s))):L(ge(s))?Ll(l,t,n,s):s,ll=(e,l)=>Ve(l?e:sl(e),((l,t)=>E(tl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>El())),tl=(e,l)=>t?E(Q(ye,e),(t=>ge(l)!=t[r]?El(e,l,t[o]):l),(()=>El(e,l))):L(ge(l))?El(e,l):l,nl=(e,l,t)=>(E(Q(Re,l),(([n,s])=>{B(n,((l,t)=>{P(e,t)||(e[t]=l)})),B(s,(n=>{P(e,n)||Ll(l,t,n)}))})),e),sl=e=>(t&&(B(Je,((l,t)=>{P(e,t)||(e[t]=l)})),B(me,(l=>{P(e,l)||El(l)}))),e),al=e=>Z(Ie,e,((e,l,t)=>{const n=H(),s=re();Z(Y(Ie,l,H),t,((e,l,t)=>{X(e,l,t),E(t[o],(e=>X(n,l,e)),(()=>oe(s,l)))})),X(Re,l,[n,s])}),((e,l)=>{X(Ie,l),X(Re,l)})),rl=e=>Z(ye,e,((e,l,t)=>{X(ye,l,t),E(t[o],(e=>X(Je,l,e)),(()=>oe(me,l)))}),((e,l)=>{X(ye,l),X(Je,l),G(me,l)})),ol=e=>D(e)?et():Ul(e),ul=e=>Z(Ee,e,((e,l,t)=>cl(l,t)),((e,l)=>bl(l))),cl=(e,l)=>Z(Y(Ee,e,(()=>(Il(e,1),X(pe,e,ce()),X(Le,e,H()),H()))),l,((l,t,n)=>il(e,l,t,n)),((l,t)=>Cl(e,l,t))),il=(e,l,t,n,s)=>Z(Y(l,t,(()=>(Rl(e,t,1),H()))),n,((l,n,s)=>dl(e,t,l,n,s)),((n,a)=>Sl(e,l,t,n,a,s))),dl=(e,l,t,n,s)=>{W(t,n)||yl(e,l,n,1);const a=Q(t,n);s!==a&&(Jl(e,l,n,a,s),X(t,n,s))},hl=(e,l,t,n,s)=>E(Q(l,t),(l=>dl(e,t,l,n,s)),(()=>il(e,l,t,nl({[n]:s},e,t)))),vl=e=>D(e)?nt():Xl(e),gl=e=>Z(Fe,e,((e,l,t)=>fl(l,t)),((e,l)=>wl(l))),fl=(e,l)=>{W(Fe,e)||ml(e,1);const t=Q(Fe,e);l!==t&&(pl(e,t,l),X(Fe,e,l))},Tl=(e,l)=>{const[t]=Q(pe,e),n=t(l);return W(Q(Ee,e),n)?Tl(e,l):n},Vl=e=>{var l;return null!=(l=Q(Ee,e))?l:cl(e,{})},bl=e=>cl(e,{}),Cl=(e,l,t)=>{const[,n]=Q(pe,e);n(t),il(e,l,t,{},!0)},Sl=(e,l,t,n,s,a)=>{var r;const o=Q(null==(r=Q(Re,e))?void 0:r[0],s);if(!L(o)&&!a)return dl(e,t,n,s,o);const u=l=>{Jl(e,t,l,Q(n,l)),yl(e,t,l,-1),X(n,l)};L(o)?u(s):U(n,u),$(n)&&(Rl(e,t,-1),$(X(l,t))&&(Il(e,-1),X(Ee,e),X(pe,e),X(Le,e)))},wl=e=>{const l=Q(Je,e);if(!L(l))return fl(e,l);pl(e,Q(Fe,e)),ml(e,-1),X(Fe,e)},Il=(e,l)=>be(m,e,l),Rl=(e,l,t)=>be(Y(O,e,H),l,t),yl=(e,l,t,n)=>{var s;const a=Q(Le,e),r=null!=(s=Q(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&be(Y(p,e,H),t,n),X(a,t,r!=-n?r+n:null),be(Y(Y(k,e,H),l,H),t,n)},Jl=(e,l,t,n,s)=>Y(Y(Y(A,e,H),l,H),t,(()=>[n,0]))[1]=s,ml=(e,l)=>be(N,e,l),pl=(e,l,t)=>Y(ue,e,(()=>[l,0]))[1]=t,Ll=(e,l,t,n,s)=>(R(Y(Y(Y(Se,e,H),l,H),t,(()=>[])),n),s),El=(e,l,t)=>(R(Y(we,e,(()=>[])),l),t),Fl=(e,l,t)=>E(Q(Q(Q(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Gl(e,l,t))])),zl=e=>E(Q(ue,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ie(Ql(e))])),Ol=e=>$(Se)||$(De[e])?0:B(e?se(Se):Se,((l,t)=>B(l,((l,n)=>B(l,((l,s)=>Qe(De[e],[t,n,s],l))))))),kl=e=>$(we)||$(We[e])?0:B(e?te(we):we,((l,t)=>Qe(We[e],[t],l))),Al=(e,l,t)=>{if(!$(l))return Qe(e,t,(()=>_(l))),1},Ml=e=>{const l=$(Ne[e]),t=$(je[e])&&$(Ae[e])&&$(Me[e])&&l&&$(Oe[e]),n=$(xe[e])&&$(Pe[e])&&$(ke[e])&&$(ze[e]);if(!t||!n){const s=e?[te(m),ne(p),ne(O),se(k),se(A)]:[m,p,O,k,A];if(!t){Al(Oe[e],s[0]),B(s[1],((l,t)=>Al(Ae[e],l,[t])));const t=re();B(s[2],((n,s)=>{Al(Me[e],n,[s])&&!l&&(Qe(Ne[e],[s,null]),oe(t,s))})),l||B(s[4],((l,n)=>{if(!W(t,n)){const t=re();B(l,(e=>B(e,(([l,n],s)=>n!==l?oe(t,s):G(e,s))))),B(t,(l=>Qe(Ne[e],[n,l])))}})),B(s[3],((l,t)=>B(l,((l,n)=>Al(je[e],l,[t,n])))))}if(!n){let l;B(s[4],((t,n)=>{let s;B(t,((t,a)=>{let r;B(t,(([t,o],u)=>{o!==t&&(Qe(xe[e],[n,a,u],o,t,Fl),l=s=r=1)})),r&&Qe(Pe[e],[n,a],Fl)})),s&&Qe(ke[e],[n],Fl)})),l&&Qe(ze[e],void 0,Fl)}}},Nl=e=>{const l=$(qe[e]),t=$(Be[e])&&$($e[e]);if(!l||!t){const n=e?[te(N),te(ue)]:[N,ue];if(l||Al(qe[e],n[0]),!t){let l;B(n[1],(([t,n],s)=>{n!==t&&(Qe(Be[e],[s],n,t,zl),l=1)})),l&&Qe($e[e],void 0,zl)}}},Pl=(e,...l)=>(rt((()=>e(...S(l,b)))),ct),jl=()=>[_(A,((e,l)=>-1===Q(m,l)?null:_(e,((e,t)=>-1===Q(Q(O,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(ue,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],xl=()=>({cellsTouched:n,valuesTouched:a,changedCells:le(A,he,ve),invalidCells:le(Se),changedValues:_(ue,he,ve),invalidValues:_(we),changedTableIds:_(m),changedRowIds:ee(O),changedCellIds:le(k),changedValueIds:_(N)}),Dl=()=>le(Ee),Wl=()=>K(Ee),$l=e=>K(Q(Ee,b(e))),ql=(e,l,t,n=0,s)=>{return S(I((r=Q(Ee,b(e)),o=(e,t)=>[L(l)?t:Q(e,b(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),S([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,L(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>K(Q(Q(Ee,b(e)),b(l))),Gl=(e,l,t)=>Q(Q(Q(Ee,b(e)),b(l)),b(t)),Hl=()=>_(Fe),Kl=()=>K(Fe),Ql=e=>Q(Fe,b(e)),Ul=e=>Pl((()=>(e=>Ve(e,Ze,Ll))(e)?ul(e):0)),Xl=e=>Pl((()=>ll(e)?gl(e):0)),Yl=e=>{try{ol(J(e))}catch(e){}return ct},Zl=l=>Pl((()=>{if((e=Ve(l,(e=>Ve(e,Ye))))&&(al(l),!$(Ee))){const e=Dl();et(),Ul(e)}})),_l=e=>Pl((()=>{if(t=(e=>Ve(e,Ye))(e)){const l=Hl();at(),nt(),t=!0,rl(e),Xl(l)}})),et=()=>Pl((()=>ul({}))),lt=e=>Pl((e=>W(Ee,e)?bl(e):0),e),tt=(e,l)=>Pl(((e,l)=>E(Q(Ee,e),(t=>W(t,l)?Cl(e,t,l):0))),e,l),nt=()=>Pl((()=>gl({}))),st=()=>Pl((()=>{al({}),e=!1})),at=()=>Pl((()=>{rl({}),t=!1})),rt=(e,l)=>{if(-1!=u){ot();const t=e();return ut(l),t}},ot=()=>(-1!=u&&u++,1==u&&Qe(Ge,void 0,jl,xl),ct),ut=e=>(u>0&&(u--,0==u&&(n=!$(A),a=!$(ue),u=1,Ol(1),n&&Ml(1),kl(1),a&&Nl(1),(null==e?void 0:e(jl,xl))&&(B(A,((e,l)=>B(e,((e,t)=>B(e,(([e],n)=>fe(ct,l,t,n,e))))))),B(ue,(([e],l)=>Te(ct,l,e))),n=a=!1),Qe(He[0],void 0,jl,xl),u=-1,Ol(0),n&&Ml(0),kl(0),a&&Nl(0),Qe(He[1],void 0,jl,xl),u=0,n=a=!1,C([m,p,O,k,A,Se,N,ue,we],q))),ct),ct={getContent:()=>[Dl(),Hl()],getTables:Dl,getTableIds:Wl,getTable:e=>ee(Q(Ee,b(e))),getTableCellIds:e=>K(Q(Le,b(e))),getRowIds:$l,getSortedRowIds:ql,getRow:(e,l)=>_(Q(Q(Ee,b(e)),b(l))),getCellIds:Bl,getCell:Gl,getValues:Hl,getValueIds:Kl,getValue:Ql,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,b(e)),hasTableCell:(e,l)=>W(Q(Le,b(e)),b(l)),hasRow:(e,l)=>W(Q(Ee,b(e)),b(l)),hasCell:(e,l,t)=>W(Q(Q(Ee,b(e)),b(l)),b(t)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,b(e)),getTablesJson:()=>y(Ee),getValuesJson:()=>y(Fe),getJson:()=>y([Ee,Fe]),getTablesSchemaJson:()=>y(Ie),getValuesSchemaJson:()=>y(ye),getSchemaJson:()=>y([Ie,ye]),setContent:([e,l])=>Pl((()=>{(D(e)?et:Ul)(e),(D(l)?nt:Xl)(l)})),setTables:Ul,setTable:(e,l)=>Pl((e=>Ze(l,e)?cl(e,l):0),e),setRow:(e,l,t)=>Pl(((e,l)=>_e(e,l,t)?il(e,Vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>rt((()=>{let n;return _e(e,n,l)&&(e=b(e),il(e,Vl(e),n=Tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Pl(((e,l)=>{if(_e(e,l,t,1)){const n=Vl(e);x(t,((t,s)=>hl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Pl(((e,l,t)=>E(el(e,l,t,z(n)?n(Gl(e,l,t)):n),(n=>hl(e,Vl(e),l,t,n)))),e,l,t),setValues:Xl,setPartialValues:e=>Pl((()=>ll(e,1)?x(e,((e,l)=>fl(l,e))):0)),setValue:(e,l)=>Pl((e=>E(tl(e,z(l)?l(Ql(e)):l),(l=>fl(e,l)))),e),setTransactionChanges:e=>Pl((()=>{x(e[0],((e,l)=>L(e)?lt(l):x(e,((e,t)=>L(e)?tt(l,t):x(e,((e,n)=>fe(ct,l,t,n,e))))))),x(e[1],((e,l)=>Te(ct,l,e)))})),setTablesJson:Yl,setValuesJson:e=>{try{vl(J(e))}catch(e){}return ct},setJson:e=>{try{const[l,t]=J(e);ol(l),vl(t)}catch(l){Yl(e)}return ct},setTablesSchema:Zl,setValuesSchema:_l,setSchema:(e,l)=>Pl((()=>{Zl(e),_l(l)})),delTables:et,delTable:lt,delRow:tt,delCell:(e,l,t,n)=>Pl(((e,l,t)=>E(Q(Ee,e),(s=>E(Q(s,l),(a=>W(a,t)?Sl(e,s,l,a,t,n):0))))),e,l,t),delValues:nt,delValue:e=>Pl((e=>W(Fe,e)?wl(e):0),e),delTablesSchema:st,delValuesSchema:at,delSchema:()=>Pl((()=>{st(),at()})),transaction:rt,startTransaction:ot,finishTransaction:ut,forEachTable:e=>B(Ee,((l,t)=>e(t,(e=>B(l,((l,t)=>e(t,(e=>U(l,e))))))))),forEachTableCell:(e,l)=>U(Q(Le,b(e)),l),forEachRow:(e,l)=>B(Q(Ee,b(e)),((e,t)=>l(t,(l=>U(e,l))))),forEachCell:(e,l,t)=>U(Q(Q(Ee,b(e)),b(l)),t),forEachValue:e=>U(Fe,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=ql(e,l,t,n,s);return Ke((()=>{const r=ql(e,l,t,n,s);var u,c,i;c=o,w(u=r)===w(c)&&(i=(e,l)=>c[l]===e,u.every(i))||(o=r,a(ct,e,l,t,n,s,o))}),Ne[r?1:0],[e,l],[Wl])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),ct),delListener:e=>(Ue(e),ct),getListenerStats:()=>({}),createStore:Ce};return x({[i]:[0,ze],[d]:[0,Oe],[c]:[1,ke,[Wl]],[c+g]:[1,Ae,[Wl]],[h]:[1,Me,[Wl]],Row:[2,Pe,[Wl,$l]],[g]:[2,je,[Wl,$l]],[v]:[3,xe,[Wl,$l,Bl],e=>ie(Gl(...e))],InvalidCell:[3,De],[T]:[0,$e],[V]:[0,qe],[f]:[1,Be,[Kl],e=>ie(Ql(e[0]))],InvalidValue:[1,We]},(([e,l,t,n],s)=>{ct["add"+s+"Listener"]=(...s)=>Ke(s[e],l[s[e+1]?1:0],e>0?I(s,0,e):void 0,t,n)})),M(ct)};export{Ce as createStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",a="default",i="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",g=v+u,f="Row",L=f+u,S="Sorted"+f+u,w="Cell",R=w+u,p="Value",I=p+"s",y=p+u,T=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(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,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,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,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&J(Z(e)),re=e=>e.size,ae=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ie=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),ge=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},fe=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),Se=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),we=(e,t,n)=>(ae(e,t)||Se(e,t,n()),fe(e,t)),Re=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},pe=(e,t,n)=>Re(e,(e=>Re(e,t,n)),oe),Ie=(e,t,n)=>Re(e,(e=>pe(e,t,n)),oe),ye=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Te=e=>ye(e,ye),Ce=e=>ye(e,Te),be=(e,t,n,l,s=0)=>G((n?we:fe)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&Se(e,t[s]),o;const r=be(o,t,n,l,s+1);return ie(o)&&Se(e,t[s]),r})),Ve=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},me=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Ee=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),ke=e=>new Set(U(e)||q(e)?e:[e]),xe=(e,t)=>null==e?void 0:e.add(t),Me=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),a=he(),i=he(),d=(t,n,...l)=>{const s=we(i,t,ke);return k(l,(t=>xe(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(fe(i,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ie(l)&&Se(i,t)})),u=(e,n)=>{Se(s,e,n),ae(o,e)||(Se(o,e,t()),Se(r,e,he()),Se(a,e,he()))},v=e=>{Se(s,e),Se(o,e),Se(r,e),Se(a,e),c(e)};return[()=>e,()=>ge(s),e=>Le(o,e),e=>ae(o,e),e=>fe(s,e),e=>fe(o,e),(e,t)=>Se(o,e,t),u,(t,s,o,i,v)=>{u(t,s);const h=he(),g=he(),f=fe(r,t),L=fe(a,t),S=t=>{const o=n=>e.getCell(s,t,n),r=fe(f,t),a=l(s,t)?n(i(o,t)):void 0;if(r===a||U(r)&&U(a)&&V(r,a)||Se(h,t,[r,a]),!q(v)){const e=fe(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&Se(g,t,n)}},w=e=>{o((()=>{ue(h,(([,e],t)=>Se(f,t,e))),ue(g,((e,t)=>Se(L,t,e)))}),h,g,f,L,e),ce(h),ce(g)};Le(f,S),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ae(f,e)||S(e)})),w(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>S(n))),e.addTableListener(s,(()=>w())))},v,()=>Le(i,v),d,c]},De=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Je=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Ae=/^\d+$/,Oe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Ae.test(t)&&D(e)<1e3&&F(e,t)}]},Fe=e=>{let n;const[l,s]=Oe(),o=he();return[(s,r,a,i=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return Se(o,c,[s,r,a,i,d]),xe(be(r,null!=a?a:[t],ke),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(fe(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>fe(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(fe(o,e),(([,n,l])=>(be(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ie(t)?1:0))),Se(o,e),s(e),l))),e=>G(fe(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var a,i;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},Pe=Je((e=>{let n,l,s,o=100,r=he(),a=he(),i=1;const d=he(),c=he(),[u,v,h]=Fe((()=>z)),g=he(),f=he(),L=[],S=[],w=(t,n)=>{i=0,e.transaction((()=>{const[l,s]=fe(g,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>me(e,l,s,o,n[t]))))))),ue(s,((n,l)=>Ee(e,l,n[t])))})),i=1},R=e=>{Se(g,e),Se(f,e),v(c,[e])},p=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),R),I=()=>p(L,D(L)-o),y=()=>G(n,(()=>{F(L,n),I(),p(S),n=void 0,s=1})),T=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(i){y();const e=we(r,t,he),a=we(e,n,he),i=we(a,l,(()=>[o,void 0]));i[1]=s,i[0]===s&&ie(Se(a,l))&&ie(Se(e,n))&&ie(Se(r,t))&&T(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(i){y();const e=we(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ie(Se(a,t))&&T(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,Se(g,n,[r,a]),O(n,e),r=he(),a=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(S,m()),w(0,n),n=P(L),s=1)},x=()=>{J(S)||(F(L,n),n=j(S),w(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&fe(f,e)!==t&&(Se(f,e,t),v(c,[e])),z),Q=e=>ae(g,e),z={setSize:e=>(o=e,I(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...S]],forEachCheckpoint:e=>Le(f,e),hasCheckpoint:Q,getCheckpoint:e=>fe(f,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(S,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(p(L),p(S),q(n)||R(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),je=(e,t)=>e<t?-1:1,Qe=Je((e=>{const n=he(),l=he(),[s,o,r,a,i,d,c,,u,v,h]=Me(e,he,(e=>q(e)?t:U(e)?x(e,T):T(e))),[g,f,L]=Fe((()=>w)),S=(t,n,l)=>{const s=i(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},w={setIndexDefinition:(e,t,s,o,r,a=je)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let g=0;const L=ke(),S=ke(),w=d(e);if(ue(s,(([e,t],n)=>{const l=ke(e),s=ke(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{xe(L,e),G(fe(w,e),(t=>{ve(t,n),ie(t)&&(Se(w,e),g=1)}))})),ue(s,(e=>{xe(L,e),ae(w,e)||(Se(w,e,ke()),g=1),xe(fe(w,e),n),q(o)||xe(S,e)}))})),t(),ie(v)||(h?Le(w,(e=>xe(S,e))):Le(r,(e=>G(fe(u,e),(e=>xe(S,e))))),ue(S,(e=>{const t=(t,n)=>a(fe(v,t),fe(v,n),e),n=[...fe(w,e)];m(n,t)||(Se(w,e,ke(E(n,t))),xe(L,e))}))),(g||h)&&!q(i)){const t=[...w];m(t,i)||(c(e,he(E(t,i))),g=1)}g&&f(n,[e]),ue(L,(t=>f(l,[e,t])))}),De(s),G(o,De)),w},delIndexDefinition:e=>(v(e),w),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>S(t,e,n))))),forEachSlice:(e,t)=>S(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>ae(d(e),t),getTableId:i,getSliceIds:e=>ge(d(e)),getSliceRowIds:(e,t)=>de(fe(d(e),t)),addSliceIdsListener:(e,t)=>g(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,l,[e,t]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),ze=he([["avg",[(e,t)=>M(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=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,s,o=!1)=>{if(ie(n))return;const[r,a,i,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==a?void 0:a(e,l,t++):q(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},We=Je((e=>{const n=he(),[l,s,o,r,a,i,d,,c,u,v]=Me(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,g,f]=Fe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,a)=>{var u;const v=K(l)?[l,o,r,a]:null!=(u=fe(ze,l))?u:fe(ze,"sum");return c(e,t,((t,l,s,o,r,a)=>{const c=i(e),u=re(o);a||(a=q(c)),t();let h=Ne(c,u,o,l,v,a);B(h)||(h=void 0),h!=c&&(d(e,h),g(n,[e],h,c))}),De(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(f(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var Be=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},r=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);a((n=n.apply(e,t)).next())}));const $e=(e,t,n,l,s)=>{let o,r,a=0,i=!1;const d=e=>Be(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),c={load:(...n)=>Be(void 0,[...n],(function*(n={},l={}){return yield d((()=>Be(void 0,null,(function*(){let s;try{s=yield t()}catch(e){}e.setContent(null!=s?s:[n,l])})))),c})),startAutoLoad:(...n)=>Be(void 0,[...n],(function*(n={},s={}){return c.stopAutoLoad(),yield c.load(n,s),i=!0,r=l(((n,l)=>Be(void 0,null,(function*(){yield d((()=>Be(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),c})),stopAutoLoad:()=>(i&&(s(r),r=void 0,i=!1),c),save:t=>Be(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getContent,t),a=0),c})),startAutoSave:()=>Be(void 0,null,(function*(){return yield c.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>c.save(t))),c})),stopAutoSave:()=>(G(o,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(c)};var qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const Ke=Je((e=>{const n=e.createStore,[l,s,o,r,a,,,u,,h,g,p,I]=Me(e,(()=>!0),X),y=n(),T=n(),C=he(),V=(e,t,...n)=>k(n,(n=>xe(we(we(C,t,he),e,ke),n))),m=e=>{G(fe(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([T,y],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],a=[],i=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(a,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=fe(ze,t))?o:[(e,t)=>t]]];return F(i,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ie(c))return x;const v=he(r);Le(v,((e,[,t])=>G(fe(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(i);let g=y;if(ie(h)&&J(d))g=T;else{E(n,g,T);const e=he();Le(h,((t,[n,l])=>xe(we(e,n,ke),[t,l])));const t=ke();Le(c,(n=>ae(e,n)?0:xe(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,a,i,c])=>{Le(l,((t,[n])=>{const l=we(r,t,he),a=fe(l,s),i=o?void 0:n;if(a!==i){const n=ke([[a,i]]),o=re(l);Se(l,s,i),ue(fe(e,t),(([e,t])=>{const s=Ne(c[e],o,l,n,t);c[e]=q(Ve(s))?null:s}))}})),ie(a)||!b(d,(e=>e((e=>c[e]))))?T.delRow(n,i):q(i)?t[2]=T.addRow(n,c):T.setRow(n,i,c)}));V(g,n,g.addRowListener(n,null,((o,r,a,i)=>{const d=[],c=[],u=he(),v=g.hasRow(n,a);let h=!v;ue(t,(e=>{const[t,l,s]=i(n,a,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=i(n,a,e);(h||t)&&Se(u,e,[l])})),h&&s(be(l,d,void 0,(([,e])=>(ve(e,a),ie(e)))),u,a,1),v&&s(be(l,c,(()=>{const e={};return ue(t,(t=>e[t]=g.getCell(n,a,t))),[he(),ke(),void 0,e]}),(([,e])=>{xe(e,a)})),u,a)})))}E(n,e,g);const f=(t,s,o,r)=>{const i=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,a,d]=fe(v,l),c=null==r?void 0:r(i,t),[u,h]=null!=(s=fe(d,t))?s:[];c!=u&&(q(h)||I(n,h),Se(d,t,q(c)?null:[c,...p(n,1,e.addRowListener(o,c,(()=>f(t,o,c,a))))]))})),(t=>{const s=(n,s)=>{var o,r,a;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=fe(v,n))?void 0:o[0],null==(a=fe(null==(r=fe(v,n))?void 0:r[4],t))?void 0:a[0],s])};g.transaction((()=>b(a,(e=>e(s)))?Le(c,((e,l)=>me(g,n,t,e,l(s,t)))):g.delRow(n,t)))})(t)},{3:L}=fe(v,null);return g.transaction((()=>p(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?f(o,l,o,L):(g.delRow(n,o),ue(v,(({4:e})=>G(fe(e,o),(([,t])=>{I(n,t),Se(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:a,delListener:e=>(T.delListener(e),x),destroy:g,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ge.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&qe)for(var l of qe(e))t.indexOf(l)<0&&He.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[S]:[0,5],[f]:[1,2],[R]:[0,2],[w]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>T[e+n](...t))),x[c+d+n+i]=(...e)=>T[c+n+i](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Ue=Je((e=>{const n=he(),l=he(),s=he(),o=he(),[r,a,i,d,c,u,,,v,h,g]=Me(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[f,L,S]=Fe((()=>I)),w=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ae(s,t)){const o=ke();if(c(e)!=p(e))xe(o,t);else{let e=t;for(;!q(e)&&!ae(o,e);)xe(o,e),e=fe(l,e)}if(n)return o;Se(s,t,o)}return fe(s,t)})),R=(e,t)=>G(u(e),(([,,e])=>Se(e,t))),p=e=>fe(n,e),I={setRelationshipDefinition:(e,t,r,a)=>(Se(n,e,r),v(e,t,((t,n)=>{const r=ke(),a=ke(),i=ke(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(xe(a,t),G(fe(c,t),(e=>{ve(e,l),ie(e)&&Se(c,t)}))),q(n)||(xe(a,n),ae(c,n)||Se(c,n,ke()),xe(fe(c,n),l)),xe(r,l),Se(d,l,n),Le(fe(o,e),(t=>{ae(w(e,t),l)&&xe(i,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(a,(t=>L(s,[e,t]))),ue(i,(t=>{R(e,t),L(o,[e,t])}))}),De(a)),I),delRelationshipDefinition:e=>(Se(n,e),h(e),I),getStore:r,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return fe(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(fe(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(w(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>f(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(w(e,t),f(n,o,[e,t])),delListener:e=>(R(...S(e)),I),destroy:g,getListenerStats:()=>({})};return ee(I)})),Xe=e=>[e,e],Ye=()=>[he(),he()],Ze=e=>[...e],_e=([e,t])=>e===t,et=(e,t,n,l=Se)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>Se(e,t,fe(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),S=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=ke(),B=he(),$=he(),U=he(),X=Ye(),Y=Ye(),Z=Ye(),_=Ye(),te=Ye(),re=Ye(),de=Ye(),be=Ye(),Me=Ye(),De=Ye(),Je=Ye(),Ae=Ye(),Pe=Ye(),Qe=he(),ze=Ye(),[Ne,We,Be,$e]=Fe((()=>vn)),qe=e=>{if(!tt(e,((e,t)=>C([r,a],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(Ve(e[a])!=t&&le(e,a),0))},Ge=(t,n)=>(!e||ae(A,n)||xt(n))&&tt(t,((e,t)=>He(n,t,e)),(()=>xt(n))),He=(e,t,n,l)=>tt(l?n:ot(n,e,t),((l,s)=>G(Ke(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>xt(e,t))),Ke=(t,n,l,s)=>e?G(fe(fe(A,t),l),(e=>Ve(s)!=e[r]?xt(t,n,l,s,e[a]):s),(()=>xt(t,n,l,s))):q(Ve(s))?xt(t,n,l,s):s,Ue=(e,t)=>tt(t?e:rt(e),((t,n)=>G(st(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Mt())),st=(e,n)=>t?G(fe(j,e),(t=>Ve(n)!=t[r]?Mt(e,n,t[a]):n),(()=>Mt(e,n))):q(Ve(n))?Mt(e,n):n,ot=(e,t,n)=>(G(fe(P,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||xt(t,n,l)}))})),e),rt=e=>(t&&(ue(N,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(W,(t=>{ne(e,t)||Mt(t)}))),e),at=e=>et(A,e,((e,t,n)=>{const l=he(),s=ke();et(we(A,t,he),n,((e,t,n)=>{Se(e,t,n),G(n[a],(e=>Se(l,t,e)),(()=>xe(s,t)))})),Se(P,t,[l,s])}),((e,t)=>{Se(A,t),Se(P,t)})),it=e=>et(j,e,((e,t,n)=>{Se(j,t,n),G(n[a],(e=>Se(N,t,e)),(()=>xe(W,t)))}),((e,t)=>{Se(j,t),Se(N,t),ve(W,t)})),dt=e=>oe(e)?nn():Yt(e),ct=e=>et($,e,((e,t,n)=>ut(t,n)),((e,t)=>pt(t))),ut=(e,t)=>et(we($,e,(()=>(Ct(e,1),he()))),t,((t,n,l)=>vt(e,t,n,l)),((t,n)=>It(e,t,n))),vt=(e,t,n,l,s)=>et(we(t,n,(()=>(bt(e,n,1),he()))),l,((t,l,s)=>ht(e,n,t,l,s)),((l,o)=>yt(e,t,n,l,o,s))),ht=(e,t,n,l,s)=>{ae(n,l)||Vt(e,t,l,1);const o=fe(n,l);s!==o&&(mt(e,t,l,o,s),Se(n,l,s))},gt=(e,t,n,l,s)=>G(fe(t,n),(t=>ht(e,n,t,l,s)),(()=>vt(e,t,n,ot({[l]:s},e,n)))),ft=e=>oe(e)?on():Zt(e),Lt=e=>et(U,e,((e,t,n)=>St(t,n)),((e,t)=>Tt(t))),St=(e,t)=>{ae(U,e)||Et(e,1);const n=fe(U,e);t!==n&&(kt(e,n,t),Se(U,e,t))},wt=(e,t)=>{const[n]=we(B,e,Oe),l=n(t);return ae(fe($,e),l)?wt(e,t):l},Rt=e=>{var t;return null!=(t=fe($,e))?t:ut(e,{})},pt=e=>ut(e,{}),It=(e,t,n)=>{const[,l]=we(B,e,Oe);l(n),vt(e,t,n,{},!0)},yt=(e,t,n,l,s,o)=>{var r;const a=fe(null==(r=fe(P,e))?void 0:r[0],s);if(!q(a)&&!o)return ht(e,n,l,s,a);const i=t=>{mt(e,n,t,fe(l,t)),Vt(e,n,t,-1),Se(l,t)};q(a)?i(s):Le(l,i),ie(l)&&(bt(e,n,-1),ie(Se(t,n))&&(Ct(e,-1),Se($,e),Se(B,e)))},Tt=e=>{const t=fe(N,e);if(!q(t))return St(e,t);kt(e,fe(U,e)),Et(e,-1),Se(U,e)},Ct=(e,t)=>nt(d,e,t),bt=(e,t,n)=>nt(we(u,e,he),t,n),Vt=(e,t,n,l)=>nt(we(we(S,e,he),t,he),n,l),mt=(e,t,n,l,s)=>we(we(we(b,e,he),t,he),n,(()=>[l,0]))[1]=s,Et=(e,t)=>nt(m,e,t),kt=(e,t,n)=>we(M,e,(()=>[t,0]))[1]=n,xt=(e,t,n,l,s)=>(F(we(we(we(D,e,he),t,he),n,(()=>[])),l),s),Mt=(e,t,n)=>(F(we(J,e,(()=>[])),t),n),Dt=(e,t,n)=>G(fe(fe(fe(b,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Ht(e,t,n))])),Jt=e=>G(fe(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Xt(e))])),At=e=>ie(D)||ie(Me[e])?0:ue(e?Ce(D):D,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>We(Me[e],[n,l,s],t))))))),Ot=e=>ie(J)||ie(De[e])?0:ue(e?ye(J):J,((t,n)=>We(De[e],[n],t))),Ft=(e,t,n)=>{if(!ie(t))return We(e,n),1},Pt=e=>{const t=ie(te[e]),n=ie(de[e])&&ie(_[e])&&t&&ie(Y[e]),l=ie(be[e])&&ie(re[e])&&ie(Z[e])&&ie(X[e]);if(!n||!l){const s=e?[ye(d),Te(u),Ce(S),Ce(b)]:[d,u,S,b];if(!n){ue(s[2],((t,n)=>ue(t,((t,l)=>Ft(de[e],t,[n,l])))));const n=ke();ue(s[1],((l,s)=>{Ft(_[e],l,[s])&&!t&&(We(te[e],[s,null]),xe(n,s))})),t||ue(s[3],((t,l)=>{if(!ae(n,l)){const n=ke();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?xe(n,s):ve(e,s))))),ue(n,(t=>We(te[e],[l,t])))}})),Ft(Y[e],s[0])}if(!l){let t;ue(s[3],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,a],i)=>{a!==n&&(We(be[e],[l,o,i],a,n,Dt),t=s=r=1)})),r&&We(re[e],[l,o],Dt)})),s&&We(Z[e],[l],Dt)})),t&&We(X[e],void 0,Dt)}}},jt=e=>{const t=ie(Ae[e]),n=ie(Pe[e])&&ie(Je[e]);if(!t||!n){const l=e?[ye(m),ye(M)]:[m,M];if(t||Ft(Ae[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(We(Pe[e],[s],l,n,Jt),t=1)})),t&&We(Je[e],void 0,Jt)}}},Qt=(e,...t)=>(dn((()=>e(...x(t,T)))),vn),zt=()=>[Re(b,((e,t)=>-1===fe(d,t)?null:Re(e,((e,n)=>-1===fe(fe(u,t),n)?null:Re(e,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))),oe)),oe),Re(M,(([,e])=>null!=e?e:null),((e,t)=>_e(t)))],Nt=()=>({cellsTouched:n,valuesTouched:l,changedCells:Ie(b,Ze,_e),invalidCells:Ie(D),changedValues:Re(M,Ze,_e),invalidValues:Re(J),changedTableIds:Re(d),changedRowIds:pe(u),changedCellIds:Ie(S),changedValueIds:Re(m)}),Wt=()=>Ie($),Bt=()=>ge($),$t=e=>ge(fe($,T(e))),qt=(e,t,n,l=0,s)=>{return x(O(E((o=fe($,T(e)),r=(e,n)=>[q(t)?n:fe(e,T(t)),n],x([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,a},Gt=(e,t)=>ge(fe(fe($,T(e)),T(t))),Ht=(e,t,n)=>fe(fe(fe($,T(e)),T(t)),T(n)),Kt=()=>Re(U),Ut=()=>ge(U),Xt=e=>fe(U,T(e)),Yt=e=>Qt((()=>(e=>tt(e,Ge,xt))(e)?ct(e):0)),Zt=e=>Qt((()=>Ue(e)?Lt(e):0)),_t=e=>{try{dt(z(e))}catch(e){}return vn},en=t=>Qt((()=>{if((e=tt(t,(e=>tt(e,qe))))&&(at(t),!ie($))){const e=Wt();nn(),Yt(e)}})),tn=e=>Qt((()=>{if(t=(e=>tt(e,qe))(e)){const n=Kt();an(),on(),t=!0,it(e),Zt(n)}})),nn=()=>Qt((()=>ct({}))),ln=e=>Qt((e=>ae($,e)?pt(e):0),e),sn=(e,t)=>Qt(((e,t)=>G(fe($,e),(n=>ae(n,t)?It(e,n,t):0))),e,t),on=()=>Qt((()=>Lt({}))),rn=()=>Qt((()=>{at({}),e=!1})),an=()=>Qt((()=>{it({}),t=!1})),dn=(e,t)=>{if(-1!=o){cn();const n=e();return un(t),n}},cn=()=>(-1!=o&&o++,1==o&&We(Qe,void 0,zt,Nt),vn),un=e=>(o>0&&(o--,0==o&&(n=!ie(b),l=!ie(M),o=1,At(1),n&&Pt(1),Ot(1),l&&jt(1),(null==e?void 0:e(zt,Nt))&&(ue(b,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>me(vn,t,n,l,e))))))),ue(M,(([e],t)=>Ee(vn,t,e))),n=l=!1),We(ze[0],void 0,zt,Nt),o=-1,At(0),n&&Pt(0),Ot(0),l&&jt(0),We(ze[1],void 0,zt,Nt),o=0,n=l=!1,k([d,u,S,b,D,m,M,J],ce))),vn),vn={getContent:()=>[Wt(),Kt()],getTables:Wt,getTableIds:Bt,getTable:e=>pe(fe($,T(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>Re(fe(fe($,T(e)),T(t))),getCellIds:Gt,getCell:Ht,getValues:Kt,getValueIds:Ut,getValue:Xt,hasTables:()=>!ie($),hasTable:e=>ae($,T(e)),hasRow:(e,t)=>ae(fe($,T(e)),T(t)),hasCell:(e,t,n)=>ae(fe(fe($,T(e)),T(t)),T(n)),hasValues:()=>!ie(U),hasValue:e=>ae(U,T(e)),getTablesJson:()=>Q($),getValuesJson:()=>Q(U),getJson:()=>Q([$,U]),getTablesSchemaJson:()=>Q(A),getValuesSchemaJson:()=>Q(j),getSchemaJson:()=>Q([A,j]),setContent:([e,t])=>Qt((()=>{Yt(e),Zt(t)})),setTables:Yt,setTable:(e,t)=>Qt((e=>Ge(t,e)?ut(e,t):0),e),setRow:(e,t,n)=>Qt(((e,t)=>He(e,t,n)?vt(e,Rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>dn((()=>{let l;return He(e,l,t)&&(e=T(e),vt(e,Rt(e),l=wt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Qt(((e,t)=>{if(He(e,t,n,1)){const l=Rt(e);se(n,((n,s)=>gt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Qt(((e,t,n)=>G(Ke(e,t,n,K(l)?l(Ht(e,t,n)):l),(l=>gt(e,Rt(e),t,n,l)))),e,t,n),setValues:Zt,setPartialValues:e=>Qt((()=>Ue(e,1)?se(e,((e,t)=>St(t,e))):0)),setValue:(e,t)=>Qt((e=>G(st(e,K(t)?t(Xt(e)):t),(t=>St(e,t)))),e),setTransactionChanges:e=>Qt((()=>{se(e[0],((e,t)=>q(e)?ln(t):se(e,((e,n)=>q(e)?sn(t,n):se(e,((e,l)=>me(vn,t,n,l,e))))))),se(e[1],((e,t)=>Ee(vn,t,e)))})),setTablesJson:_t,setValuesJson:e=>{try{ft(z(e))}catch(e){}return vn},setJson:e=>{try{const[t,n]=z(e);dt(t),ft(n)}catch(t){_t(e)}return vn},setTablesSchema:en,setValuesSchema:tn,setSchema:(e,t)=>Qt((()=>{en(e),tn(t)})),delTables:nn,delTable:ln,delRow:sn,delCell:(e,t,n,l)=>Qt(((e,t,n)=>G(fe($,e),(s=>G(fe(s,t),(o=>ae(o,n)?yt(e,s,t,o,n,l):0))))),e,t,n),delValues:on,delValue:e=>Qt((e=>ae(U,e)?Tt(e):0),e),delTablesSchema:rn,delValuesSchema:an,delSchema:()=>Qt((()=>{rn(),an()})),transaction:dn,startTransaction:cn,finishTransaction:un,forEachTable:e=>ue($,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachRow:(e,t)=>ue(fe($,T(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(fe(fe($,T(e)),T(t)),n),forEachValue:e=>Le(U,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let a=qt(e,t,n,l,s);return Ne((()=>{const r=qt(e,t,n,l,s);V(r,a)||(a=r,o(vn,e,t,n,l,s,a))}),te[r?1:0],[e,t],[Bt])},addStartTransactionListener:e=>Ne(e,Qe),addWillFinishTransactionListener:e=>Ne(e,ze[0]),addDidFinishTransactionListener:e=>Ne(e,ze[1]),callListener:e=>($e(e),vn),delListener:e=>(Be(e),vn),getListenerStats:()=>({}),createStore:lt};return se({[h]:[0,X],[g]:[0,Y],[v]:[1,Z,[Bt]],[L]:[1,_,[Bt]],[f]:[2,re,[Bt,$t]],[R]:[2,de,[Bt,$t]],[w]:[3,be,[Bt,$t,Gt],e=>Xe(Ht(...e))],InvalidCell:[3,Me],[I]:[0,Je],[y]:[0,Ae],[p]:[1,Pe,[Ut],e=>Xe(Xt(e[0]))],InvalidValue:[1,De]},(([e,t,n,l],s)=>{vn[c+s+i]=(...s)=>Ne(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(vn)};export{Pe as createCheckpoints,$e as createCustomPersister,Qe as createIndexes,We as createMetrics,Ke as createQueries,Ue as createRelationships,lt as createStore,je as defaultSorter};
1
+ const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,y="Sorted"+g+u,S="Cell",w=S+u,I="Value",R=I+"s",T=I+u,p=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(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,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,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,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),ye=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),we=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Re=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),oe),Te=(e,t,n)=>Ie(e,(e=>Re(e,t,n)),oe),pe=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>pe(e,pe),be=e=>pe(e,Ce),Ve=(e,t,n,l,s=0)=>G((n?Se:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),me=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},Ee=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Se(a,t,xe);return k(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(a,t)})),u=(e,n)=>{ye(s,e,n),ie(o,e)||(ye(o,e,t()),ye(r,e,he()),ye(i,e,he()))},v=e=>{ye(s,e),ye(o,e),ye(r,e),ye(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>ye(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||ye(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&ye(f,t,n)}},S=e=>{o((()=>{ue(h,(([,e],t)=>ye(g,t,e))),ue(f,((e,t)=>ye(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,y),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ye(o,c,[s,r,i,a,d]),Me(Ve(r,null!=i?i:[t],xe),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(Ve(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},je=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ue(s,((n,l)=>ke(e,l,n[t])))})),a=1},w=e=>{ye(f,e),ye(g,e),v(c,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>I(L,D(L)-o),T=()=>G(n,(()=>{F(L,n),R(),I(y),n=void 0,s=1})),p=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&p(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&p(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,ye(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=P(L),s=1)},x=()=>{J(y)||(F(L,n),n=j(y),S(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&ge(g,e)!==t&&(ye(g,e,t),v(c,[e])),z),Q=e=>ie(f,e),z={setSize:e=>(o=e,R(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:Q,getCheckpoint:e=>ge(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(y,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(I(L),I(y),q(n)||w(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),Qe=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?x(e,p):p(e))),[f,g,L]=Pe((()=>S)),y=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,o,r,i=Qe)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=xe(),y=xe(),S=d(e);if(ue(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(ye(S,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(S,e)||(ye(S,e,xe()),f=1),Me(ge(S,e),n),q(o)||Me(y,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(y,e))):Le(r,(e=>G(ge(u,e),(e=>Me(y,e))))),ue(y,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];m(n,t)||(ye(S,e,xe(E(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];m(t,a)||(c(e,he(E(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),S},delIndexDefinition:e=>(v(e),S),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>M(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=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){yield v((()=>$e(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return yield h.schedule((()=>$e(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=j(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,I,R]=De(e,(()=>!0),X),T=n(),p=n(),C=he(),V=(e,t,...n)=>k(n,(n=>Me(Se(Se(C,t,he),e,xe),n))),m=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([p,T],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=T;if(ae(h)&&J(d))f=p;else{E(n,f,p);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,xe),[t,l])));const t=xe();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=xe([[i,a]]),o=re(l);ye(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(me(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?p.delRow(n,a):q(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));V(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}E(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||R(n,h),ye(d,t,q(c)?null:[c,...I(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>Ee(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{R(n,t),ye(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),x),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>p[e+n](...t))),x[c+d+n+a]=(...e)=>p[c+n+a](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Xe=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,y]=Pe((()=>R)),S=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(c(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),w=(e,t)=>G(u(e),(([,,e])=>ye(e,t))),I=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ye(n,e,r),v(e,t,((t,n)=>{const r=xe(),i=xe(),a=xe(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),q(n)||(Me(i,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(d,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{w(e,t),L(o,[e,t])}))}),Je(i)),R),delRelationshipDefinition:e=>(ye(n,e),h(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:I,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ee(R)})),Ye=e=>[e,e],Ze=()=>[he(),he()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),y=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=he(),B=xe(),$=he(),U=he(),X=he(),Y=he(),Z=Ze(),_=Ze(),te=Ze(),re=Ze(),de=Ze(),Ve=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=he(),$e=Ze(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(me(e[i])!=t&&le(e,i),0))},Xe=(t,n)=>(!e||ie(P,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>me(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(me(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>me(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(me(n))?At(e,n):n,at=(e,t,n)=>(G(ge(j,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>we(P,e,((e,t,n)=>{const l=he(),s=xe();we(Se(P,t,he),n,((e,t,n)=>{ye(e,t,n),G(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),ut=e=>we(N,e,((e,t,n)=>{ye(N,t,n),G(n[i],(e=>ye(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{ye(N,t),ye(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>we(X,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>we(Se(X,e,(()=>(mt(e,1),ye($,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>we(Se(t,n,(()=>(Et(e,n,1),he()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ie(n,l)||kt(e,t,l,1);const o=ge(n,l);s!==o&&(xt(e,t,l,o,s),ye(n,l,s))},yt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),St=e=>oe(e)?dn():tn(e),wt=e=>we(Y,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),ye(Y,e,t))},Rt=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,ge(l,t)),kt(e,n,t,-1),ye(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Et(e,n,-1),ae(ye(t,n))&&(mt(e,-1),ye(X,e),ye($,e),ye(U,e)))},Vt=e=>{const t=ge(W,e);if(!q(t))return It(e,t);Dt(e,ge(Y,e)),Mt(e,-1),ye(Y,e)},mt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Se(y,e,he),t,n),kt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),nt(Se(Se(b,e,he),t,he),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>ae(A)||ae(je[e])?0:ue(e?pe(A):A,((t,n)=>Ge(je[e],[n],t))),Qt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>Ie(t))),1},zt=e=>{const t=ae(Ve[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[pe(d),Ce(u),Ce(y),be(b),be(m)]:[d,u,y,b,m];if(!n){Qt(_[e],s[0]),ue(s[1],((t,n)=>Qt(re[e],t,[n])));const n=xe();ue(s[2],((l,s)=>{Qt(de[e],l,[s])&&!t&&(Ge(Ve[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=xe();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(Ve[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[pe(M),pe(D)]:[M,D];if(t||Qt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...x(t,p)))),gn),Bt=()=>[Ie(m,((e,t)=>-1===ge(d,t)?null:Ie(e,((e,n)=>-1===ge(ge(y,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),oe)),oe),Ie(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Te(m,_e,et),invalidCells:Te(J),changedValues:Ie(D,_e,et),invalidValues:Ie(A),changedTableIds:Ie(d),changedRowIds:Re(y),changedCellIds:Te(b),changedValueIds:Ie(M)}),qt=()=>Te(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,p(e))),Kt=(e,t,n,l=0,s)=>{return x(O(E((o=ge(X,p(e)),r=(e,n)=>[q(t)?n:ge(e,p(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,p(e)),p(t))),Xt=(e,t,n)=>ge(ge(ge(X,p(e)),p(t)),p(n)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>ge(Y,p(e)),en=e=>Wt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>wt({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(m),l=!ae(D),o=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(m,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ee(gn,t,n,l,e))))))),ue(D,(([e],t)=>ke(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,k([d,u,y,b,m,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(X,p(e))),getTableCellIds:e=>fe(ge(U,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(ge(ge(X,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,p(e)),hasTableCell:(e,t)=>ie(ge(U,p(e)),p(t)),hasRow:(e,t)=>ie(ge(X,p(e)),p(t)),hasCell:(e,t,n)=>ie(ge(ge(X,p(e)),p(t)),p(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,p(e)),getTablesJson:()=>Q(X),getValuesJson:()=>Q(Y),getJson:()=>Q([X,Y]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(N),getSchemaJson:()=>Q([P,N]),setContent:([e,t])=>Wt((()=>{(oe(e)?on:en)(e),(oe(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=p(e),gt(e,Tt(e),l=Rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(st(e,t,n,1)){const l=Tt(e);se(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(l)?l(Xt(e,t,n)):l),(l=>yt(e,Tt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?se(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>Ee(gn,t,n,l,e))))))),se(e[1],((e,t)=>ke(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,p(e)),t),forEachRow:(e,t)=>ue(ge(X,p(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,p(e)),p(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),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=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+w]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[w]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[R]:[0,ze],[T]:[0,Ne],[I]:[1,We,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,je]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};export{je as createCheckpoints,qe as createCustomPersister,ze as createIndexes,Be as createMetrics,Ue as createQueries,Xe as createRelationships,lt as createStore,Qe as defaultSorter};
Binary file
package/lib/es6/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",c="Ids",i="Table",$=i+"s",u=i+c,p="Row",b=p+c,C="Sorted"+p+c,h="Cell",g=h+c,m="Value",f=m+"s",w=m+c,y=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),P=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),k=e=>e.pop(),A=(e,...t)=>e.unshift(...t),O=e=>e.shift(),E=JSON.parse,D=isFinite,j=(e,t)=>e instanceof t,N=e=>null==e,L=e=>e==l||e==a,G=t=>e(t)==l,M=e=>Array.isArray(e),J=t=>{const l=e(t);return L(l)||l==n&&D(t)?l:void 0},z=Object,W=z.keys,B=z.freeze,F=e=>j(e,z)&&e.constructor==z,U=(e,t)=>V(z.entries(e),(([e,l])=>t(l,e))),_=e=>F(e)&&R(W(e)),Z=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},H=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=(e,t)=>null==e?void 0:e.forEach(t),q=(e,t)=>null==e?void 0:e.delete(t),K=e=>new Map(e),X=(e,t)=>null==e?void 0:e.get(t),Y=(e,t)=>Q(e,((e,l)=>t(l,e))),ee=(e,t)=>{var l;return V([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},te=(e,t,l)=>N(l)?(q(e,t),e):null==e?void 0:e.set(t,l),le=(e,t,l)=>(Z(e,t)||te(e,t,l()),X(e,t)),ae=e=>e.toUpperCase(),ne=e=>e.toLowerCase(),oe="a ",de="A function for",re=", and registers a listener so that any changes to that result will cause a re-render",se="Callback",Ie="Del",ce="Deps",ie=ce+"?: React.DependencyList",$e="doRollback?: DoRollback",ue="actions: () => Return, "+$e,pe="export",be="Id",Ce="Invalid",he="Json",ge=ne(r),me="?: ",fe=" | undefined",we="NonNullable",ye="Partial",ve="Props",Te="Provider",Ve=`Registers a ${ge} that will be called`,xe="Represents",Re="rowId: "+be,Pe="Schema",Se="Set",ke=", descending?: boolean, offset?: number, limit?: number",Ae="[]",Oe="the Store",Ee="Transaction",De=Ee+"Changes",je=ne(Ee),Ne="Execute a "+je+" to make multiple mutations",Le="Explicitly starts a "+je,Ge="Explicitly finishes a "+je,Me="the end of the "+je,Je="void",ze=" => "+Je,We="WhenSet",Be=" when setting it",Fe=oe+"string serialization of",Ue=" ",_e="Gets a callback that can ",Ze="the ",He=" the schema for",Qe=(e=0,l=0)=>`the ${ut[e]}content of`+(l?Ue+Oe:t),qe=(e=0,l,a=0)=>ct[l]+Ue+Qe(e,1)+(a?" when setting it":t),Ke=(e,t=0)=>xe+` a Row when ${t?"s":"g"}etting ${Qe()} the '${e}' `+i,Xe=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ye=(e,t)=>`Calls a function for each ${e} in `+t,et=e=>"The props passed to a component that renders "+e,tt=e=>"A function that takes "+e,lt=(e,t=0)=>de+" listening to changes to "+$t[e]+" in "+$t[t],at=(e,l,a=0)=>Ve+" whenever "+$t[e]+" in "+$t[l]+" change"+(a?t:"s"),nt=e=>`the '${e}' `+i,ot=e=>"the specified Row in "+nt(e),dt=(e,t=0)=>ct[t]+` ${Qe()} `+nt(e),rt=(e,t=0)=>ct[t]+` ${Qe()} `+ot(e),st=(e,t,l=0)=>ct[l]+` the '${t}' Cell for `+ot(e),It=(e,t=0)=>ct[t]+` the '${e}' Value`,ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",xe,"Gets "+Fe,"Sets "+Fe,Ve+" whenever",_e+"set",_e+"add",_e+"set part of",_e+"delete","Renders","Gets "+Fe+He,"Sets"+He,"Deletes"+He],it=[s,"has","set","del","set","forEach",I,t],$t=[Oe,$,Ze+i+Ue+c,oe+i,Ze+p+Ue+c,oe+p,Ze+h+Ue+c,oe+h,"invalid Cell changes",f,Ze+m+Ue+c,oe+m,"invalid Value changes",Ze+"sorted "+p+Ue+c],ut=[t,"tabular ","keyed value "],pt=e=>new Set(M(e)||N(e)?e:[e]),bt=(e,t)=>null==e?void 0:e.add(t),Ct=/[^A-Za-z]+/,ht=/[^A-Za-z0-9]+/,gt=/^( *)\/\*\* *(.*?) *\*\/$/gm,mt=(e,t,l)=>e.substring(t,l),ft=e=>e.includes(","),wt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return Z(e,n)?wt(e,t,l,a+1):(te(e,n,l),n)},yt=e=>e.replace(gt,((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,Tt=(e,l=t)=>e.join(l),Vt=e=>e.flat(1e3),xt=(e,t=0)=>Tt(V(e.split(ht),((e,l)=>(l>0||t?ae:ne)(mt(e,0,1))+mt(e,1)))),Rt=e=>ae(Tt((e&&!Ct.test(e[0])?e:" "+e).split(ht),"_")),Pt=e=>`/** ${e}. */`,St=(...e)=>Tt(P(e,(e=>e)),", "),kt=(...e)=>"{"+Tt(e,"; ")+"}",At=(...e)=>kt(...V(e,(e=>"readonly "+e))),Ot=()=>{const e=[K(),K(),K(),K()],l=K(),a=K();return[(...e)=>Tt(Vt(e),"\n"),(t,l,...a)=>T(a,(a=>T([0,1],(n=>(null!=t?t:n)==n?bt(le(e[n],l,pt),a):0)))),(e,a,n,o=t,d=1)=>wt(l,e,[a,n,o,d]),(e,t,l)=>wt(a,e,M(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>X(a,e)===t?e:wt(a,e,t),(l=0)=>V([...v(ee(e[l],((e,t)=>`import {${Tt(v(H(e)),", ")}} from '${t}';`)),((e,t)=>ft(e)!=ft(t)?ft(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>ee(l,(([e,l,a,n],o)=>[Pt(l),`${n?pe+" ":t}type ${o}${a} = ${e};`,t])),()=>ee(a,((e,l)=>(e=M(e)?e:[e],S(e,k(e)+";"),[`const ${l} = ${O(e)}`,e,t])))]},Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>U(e,((e,a)=>t(a,xt(a,1),l(Rt(a),`'${a}'`)))),(t,a)=>U(e[t],((e,t)=>a(t,e[o],e[d],l(Rt(t),`'${t}'`),xt(t,1)))),e=>U(t,((t,a)=>e(a,t[o],t[d],l(Rt(a),`'${a}'`),xt(a,1))))],jt=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e($,kt(...l((e=>`'${e}'?: {[rowId: Id]: `+kt(...a(e,((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`)))+"}"))),qe(1,5)),I=e($+We,kt(...l((e=>`'${e}'?: {[rowId: Id]: `+kt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),qe(1,5,1)),c=e(i+be,"keyof "+s,"A "+i+" Id in "+Oe),m=`<TId extends ${c}>`,f=e(i,we+`<${s}[TId]>`,"A "+i+" in "+Oe,m),w=e(i+We,we+`<${I}[TId]>`,"A "+i+" in "+Oe+Be,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+i,m),v=e(p+We,w+"<TId>[Id]","A "+p+" in a "+i+Be,m),T=e(h+be,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,we+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(h+se,`(...[cellId, cell]: ${x}<TId>)`+ze,tt(oe+h+" Id, and "+h),m),P=e(p+se,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+ze+") "+ze,tt(oe+p+" Id, and a "+h+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${P}<TId>)${ze}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),k=e(i+se,`(...[tableId, forEachRow]: ${S})`+ze,tt(oe+i+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),O=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,de+" returning information about any Cell's changes during a "+je),E=e($+r,`(${d}, getCellChange: ${O}${fe})`+ze,lt(1)),D=e(u+r,`(${d})`+ze,lt(2)),j=e(i+r,`(${d}, tableId: ${c}, getCellChange: ${O}${fe})`+ze,lt(3)),L=e(b+r,`(${d}, tableId: ${c})`+ze,lt(4,3)),G=e(C+r,"("+St(d,"tableId: "+c,"cellId: Id"+fe,"descending: boolean","offset: number","limit: number"+fe,"sortedRowIds: Ids")+")"+ze,lt(13,3)),M=e(p+r,"("+St(""+d,"tableId: "+c,Re,`getCellChange: ${O}${fe}`)+")"+ze,lt(5,3)),J=e(g+r,"("+St(""+d,"tableId: "+c,Re)+")"+ze,lt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Re}, cellId: CId, newCell: ${V}<TId, CId> ${fe}, oldCell: ${V}<TId, CId> ${fe}, getCellChange: ${O} ${fe}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,v,T,V,R,P,k,E,D,j,L,G,M,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+ze,lt(7,5)),e(Ce+h+r,`(${d}, tableId: Id, ${Re}, cellId: Id, invalidCells: any[])`+ze,lt(8))]},(l,a)=>{const o=l+": "+a,d=e(f,kt(...n(((e,l,a)=>`'${e}'${N(a)?"?":t}: ${l}`))),qe(2,5)),s=e(f+We,kt(...n(((e,t)=>`'${e}'?: ${t}`))),qe(2,5,1)),I=e(m+be,"keyof "+d,"A "+m+" Id in "+Oe),c=e(m,we+`<${d}[VId]>`,"A "+m+" Id in "+Oe,`<VId extends ${I}>`),i=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,m+" Ids and types in "+Oe,`<VId = ${I}>`,0),$=e(m+se,`(...[valueId, value]: ${i})`+ze,tt(oe+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,de+" returning information about any Value's changes during a "+je),p=e(f+r,`(${o}, getValueChange: ${u}${fe})`+ze,lt(9)),b=e(w+r,`(${o})`+ze,lt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${fe}, oldValue: ${c}<VId> ${fe}, getValueChange: ${u} ${fe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,$,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+ze,lt(11)),e(Ce+m+r,`(${o}, valueId: Id, invalidValues: any[])`+ze,lt(12))]},(t,l)=>e(Ee+r,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+ze,de+" listening to the completion of a "+je)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,Gt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,v,V,x,R,P,k]=Ot(),[O,E,D]=Dt(e,l,x),[j,L,M]=jt(v,O,E,D),J=K(),z=(e=0)=>ee(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,Pt(o)),S(s,t),s})),W=(e,l,a,n,o,d=t)=>wt(J,e,[l,a,n,o,d]),B=(e,l,a,n,o,d=t,r=t,s=t)=>W(it[e]+l+(4==e?ye:t)+a,d,n,(n==Z?Lt:Nt)(it[e]+(4==e?ye:t)+a,r,e?void 0:n),o,s),F=(e,l,a,n=t,o=t,d=1,s=t)=>W(I+e+r,(n?n+", ":t)+ge+": "+l+(d?", mutator?: boolean":t),be,Gt(I+e+r,o,d?"mutator":t),a,s),U=`./${xt(n)}.d`,Z=xt(n,1),Q=xt(Z),q=[],le=K();let ae=[],ne=[];if(y(1,U,Z,`create${Z} as create${Z}Decl`),_(e))y(null,"tinybase",$);else{y(0,"tinybase","CellChange"),y(null,"tinybase",c);const[e,l,n,r,s,I,m,f,w,V,R,P,k,A,D,L,M,J,z,W,_]=j(Q,Z),Y=K();O(((e,t)=>{const l=`<'${e}'>`,a=[v(t+i,r+l,xe+` the '${e}' `+i),v(t+i+We,s+l,xe+` the '${e}' `+i+Be),v(t+p,I+l,Ke(e)),v(t+p+We,m+l,Ke(e,1)),v(t+h+be,f+l,`A Cell Id for the '${e}' `+i),v(t+h+se,V+l,tt(`a Cell Id and value from a Row in the '${e}' `+i)),v(t+p+se,R+l,tt(`a Row Id from the '${e}' Table, and a Cell iterator`))];te(Y,e,a),y(1,U,...a)})),y(1,U,e,l,n,f,P,k,A,D,L,M,J,z,W,_),ae=[e,l,n,f,k,A,D,L,M,J,z,W,Y],T([[e],[a],[Z,"tables: "+l,"tables"],[Z]],(([e,l,a],n)=>B(n,t,$,e,qe(1,n),l,a))),B(0,t,u,n+Ae,Xe(i,Oe)),B(5,t,i,Je,Ye(i,Oe),"tableCallback: "+P,"tableCallback as any"),O(((e,l,n)=>{const[o,d,r,s,I,$,u]=X(Y,e);T([[o],[a],[Z,"table: "+d,", table"],[Z]],(([a,o,d=t],r)=>B(r,l,i,a,dt(e,r),o,n+d))),B(0,l,b,c,Xe(p,nt(e)),t,n),B(0,l,C,c,Xe(p,nt(e),1),"cellId?: "+I+ke,n+", cellId, descending, offset, limit"),B(5,l,p,Je,Ye(p,nt(e)),"rowCallback: "+u,n+", rowCallback as any"),T([[r],[a],[Z,", row: "+s,", row"],[Z],[Z,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>B(r,l,p,a,rt(e,r),Re+o,n+", rowId"+d))),B(6,l,p,be+fe,"Add a new Row to "+nt(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),B(0,l,g,I+Ae,Xe(h,ot(e)),Re,n+", rowId"),B(5,l,h,Je,Ye(h,ot(e)),Re+", cellCallback: "+$,n+", rowId, cellCallback as any"),E(e,((o,d,r,s,I)=>{const c="Map"+xt(d,1);te(le,d,c);const i=d+(N(r)?fe:t);T([[i],[a],[Z,`, cell: ${d} | `+c,", cell as any"],[Z]],(([a,d=t,r=t],c)=>B(c,l+I,h,a,st(e,o,c),Re+d,n+", rowId, "+s+r)))}))})),B(0,t,$+he,he,qe(1,6)),B(2,t,$+he,Z,qe(1,7),"tablesJson: "+he,"tables"+he),F($,k,qe(1,8)+" changes"),F(u,A,at(2,0,1)),F(i,D,at(3,0),`tableId: ${n} | null`,"tableId"),F(b,L,at(4,3,1),`tableId: ${n} | null`,"tableId"),F(C,M,at(13,3,1),St("tableId: TId",`cellId: ${f}<TId>`+fe,"descending: boolean","offset: number","limit: number"+fe),St("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(p,J,at(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,z,at(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),F(h,W,at(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${Tt(O((e=>{var l,a;return null!=(a=null==(l=X(Y,e))?void 0:l[4])?a:t}))," | ")} | null`,"tableId, rowId, cellId"),F(Ce+h,_,Ve+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,U,...H(le)),S(q,".set"+$+Pe+"({",Vt(O(((e,l,a)=>[`[${a}]: {`,...E(e,((e,l,a,n)=>`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${N(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(_(l))y(null,"tinybase",f);else{const[e,l,n,r,s,I,c,i,$]=L(Q,Z);y(1,U,e,l,n,s,I,c,i,$),ne=[e,l,n,I,c,i],T([[e],[a],[Z,"values: "+l,"values"],[Z],[Z,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>B(n,t,f,e,qe(2,n),l,a))),B(0,t,w,n+Ae,Xe(m,Oe)),B(5,t,m,"void",Ye(m,Oe),"valueCallback: "+s,"valueCallback as any"),D(((e,l,n,o,d)=>{const r="Map"+xt(l,1);te(le,l,r),T([[l],[a],[Z,`value: ${l} | `+r,", value as any"],[Z]],(([l,a,n=t],r)=>B(r,d,m,l,It(e,r),a,o+n)))})),B(0,t,f+he,he,qe(2,6)),B(2,t,f+he,Z,qe(2,7),"valuesJson: "+he,"values"+he),F(f,I,qe(2,8)+" changes"),F(w,c,at(10,0,1)),F(m,i,at(11,0),`valueId: ${n} | null`,"valueId"),F(Ce+m,$,Ve+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,U,...H(le)),y(0,"tinybase","ValueChange"),S(q,".set"+f+Pe+"({",D(((e,l,a,n)=>[`[${n}]: {[${x(Rt(o),`'${o}'`)}]: ${x(Rt(l),`'${l}'`)}${N(a)?t:`, [${x(Rt(d),`'${d}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`])),"})")}B(0,t,"Content",`[${$}, ${f}]`,qe(0,0)),B(2,t,"Content",Z,qe(0,2),`[tables, values]: [${$}, ${f}]`,"[tables, values]"),B(2,t,De,Z,`Applies a set of ${De} to the Store`,"transactionChanges: "+De,"transactionChanges"),Y(le,((e,t)=>v(t,`(cell: ${e}${fe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",be,"IdOrNull",he,"Store",De),y(0,"tinybase","Get"+De,"GetTransactionLog"),B(0,t,he,he,qe(0,6)),B(2,t,he,Z,qe(0,7),"tablesAndValuesJson: "+he,"tablesAndValuesJson"),B(7,t,je,"Return",Ne,ue,"actions, doRollback","<Return>"),B(7,t,"start"+Ee,Z,Le),B(7,t,"finish"+Ee,Z,Ge,$e,"doRollback");const oe=M(Q,Z);return F("Start"+Ee,oe,Ve+" just before the start of the "+je,t,t,0),F("WillFinish"+Ee,oe,Ve+" just before "+Me,t,t,0),F("DidFinish"+Ee,oe,Ve+" just after "+Me,t,t,0),B(7,t,"call"+r,Z,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,t,r,Z,"Remove a listener that was previously added to "+Oe,"listenerId: Id","listenerId"),W("getStore",t,"Store","store",ct[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,U,Z,`create${Z} as create${Z}Decl`,oe),x("store",["createStore()",...q]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...z(1),"}"]),[s(...R(0),...P(),pe+" interface "+Z+" {",...z(0),"}",t,Pt(`Creates a ${Z} object`),pe+" function create"+Z+"(): "+Z+";"),s(...R(1),pe+" const create"+Z+": typeof create"+Z+"Decl = () => {",...k(),`return Object.freeze(${Q});`,"};"),ae,ne]},Jt=e=>s+e,zt=e=>St(Jt(e),Jt(e)+ce),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+ie,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+se+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=St(ll+")"+ze,Ft),nl="then, then"+ce,ol=Xt+Qt+be,dl="View",rl=(e,...t)=>St(...t,ge+": "+e,ge+ie,"mutator?: boolean"),sl=(...e)=>St(...e,ge,ge+ce,"mutator"),Il=(e,l,a,n,o)=>{const[d,s,I,y,v,T,V,x]=Ot(),[R,P,k]=Dt(e,l,v),O=`./${xt(a)}.d`,E=`./${xt(a)}-ui-react.d`,D="tinybase/ui-react",j=xt(a,1),L=xt(j),G=j+"Or"+j+be,M=L+"Or"+j+be,J=L+`={${L}}`,z=K(),W=(e,l,a,n,o,d=t)=>(s(1,E,e+" as "+e+"Decl"),wt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,c=t)=>(s(1,D,`use${l} as use${l}Core`),B(e,St(o,q,I),a,te+`(${M}, use${l}Core, [`+(d||t)+(c?"], ["+c:t)+"]);",n,r)),U=(e,t,l,a)=>W(e,t,1,l,a),Z=(e=0)=>ee(z,(([l,a,n,o,d],r)=>{const s=e?[pe+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[pe+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,Pt(o)),S(s,t),s}));s(null,"tinybase",be,"Store",se,Ut+"ized"+se),s(0,D,"ComponentReturnType"),s(null,D,"ExtraProps"),s(0,O,j);const H=I(G,j+" | "+be,`Used when you need to refer to a ${j} in a React hook or component`),Q=I(Te+ve,At(L+me+j,L+`ById?: {[${L}Id: Id]: ${j}}`),`Used with the ${Te} component, so that a `+j+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,E,H,Q);const q=M+me+H;v("{createContext, useContext, useMemo}","React"),v("Context",`createContext<[${j}?, {[${L}Id: Id]: ${j}}?]>([])`),B("Create"+j,`create: () => ${j}, create`+ie,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const Y=B(j,"id?: Id",j+fe,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Te} component context`),te=y("useHook",M+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${Y}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${L} : ${M})?.getStore(), ...postParams)`]),le=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=y("wrap",St("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ne=v("NullComponent","() => null");if(!_(e)){const[e,l,a,o,d,m,f,w,v,T,V,x,S]=n;s(null,O,e,l,a,d,m,f,w,v,T,V,x),s(0,O,o),s(1,O,j),s(null,"tinybase",c,"IdOrNull");const k=y("tableView",`{${L}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",Tt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),D=y("getDefaultCellComponent","tableId: Id, cellId: Id",Tt(R(((e,t,l)=>`tableId == ${l} ? ${Tt(P(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F($,$,e,qe(1,0)+re);const G=F(u,u,a+Ae,Xe(i,Oe)+re);F(Se+$+se,Se+$+se,Kt,qe(1,9)+Ht,St(Jt($)+_t+l,Jt($)+ie),zt($),qt,St(ll,`tables: ${l})`+ze,Ft),nl),F(Ie+$+se,Ie+$+se,se,qe(1,12),t,t,t,al,nl);const M=I(h+ve,At("tableId?: TId","rowId: Id","cellId?: CId",L+me+j,Wt),et(oe+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+ve,At("tableId?: TId","rowId: Id",L+me+j,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${M}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),et(oe+p),`<TId extends ${a}>`),W=I(i+ve,At("tableId?: TId",L+me+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+i),`<TId extends ${a}>`),B=I("Sorted"+i+ve,At("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+me+j,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(oe+"sorted "+i),`<TId extends ${a}>`),_=I($+ve,At(L+me+j,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),et(Qe(1,1)));s(1,E,_,W,B,z,M),U($+dl,"{"+L+", tableComponents, getTableComponentProps"+el+"}: "+_,[ae+`(${G}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],qe(1,13)+re),R(((e,l,a)=>{const[n,o,d,r,I]=X(S,e);s(null,O,n,o,d,r,I),F(l+i,i,n,dt(e)+re,t,a);const $=F(l+b,b,c,Xe(p,nt(e))+re,t,a),u=F(l+C,C,c,Xe(p,nt(e),1)+re,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,rt(e)+re,ol,St(a,Xt));const m=F(l+g,g,I+Ae,Xe(h,ot(e))+re,ol,St(a,Xt));F(Se+l+i+se,Se+i+se,Kt,dt(e,9)+Ht,St(Jt(i)+_t+o,Jt(i)+ie),St(a,zt(i)),qt,St(ll,`table: ${o})`+ze,Ft),nl),F(Ie+l+i+se,Ie+i+se,se,dt(e,12),t,a,t,al,nl),F(Se+l+p+se,Se+p+se,Kt,rt(e,9)+Ht,St(ol,Jt(p)+_t+r,Jt(p)+ie),St(a,Xt,zt(p)),qt,St(ll,`row: ${r})`+ze,Ft),nl),F("Add"+l+p+se,"Add"+p+se,Kt,rt(e,10)+Ht,St(Jt(p)+_t+r,Jt(p)+ie),St(a,zt(p)),qt,"then?: ("+St(ol+fe,"store: Store","row: "+r+")"+ze,"then"+ie)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(Se+l+ye+p+se,Se+ye+p+se,Kt,rt(e,11)+Ht,St(ol,Jt(ye+p)+_t+r,Jt(ye+p)+ie),St(a,Xt,zt(ye+p)),qt,St(ll,`partialRow: ${r})`+ze,Ft),nl),F(Ie+l+p+se,Ie+p+se,se,rt(e,12),ol,St(a,Xt),t,al,nl);const f=U(l+p+dl,"{rowId, "+L+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[ae+`(${m}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+D+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],rt(e,13)+re);U(l+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,k+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,dt(e,13)+", sorted"+re),U(l+i+dl,`props: ${W}<'${e}'>`,k+"(props, "+$+`(props.${L}), ${a}, ${f});`,dt(e,13)+re),P(e,((n,o,d,r,I)=>{const c="Map"+xt(o,1);s(0,O,c),s(1,O,c);const i=F(l+I+h,h,o+(N(d)?fe:t),st(e,n)+re,ol,St(a,Xt,r));F(Se+l+I+h+se,Se+h+se,Kt,st(e,n,9)+Ht,St(ol,Jt(h)+_t+o+" | "+c,Jt(h)+ie),St(a,Xt,r,zt(h)),qt,St(ll,`cell: ${o} | ${c})`+ze,Ft),nl),F(Ie+l+I+h+se,Ie+h+se,se,st(e,n,12),St(ol,"forceDel?: boolean"),St(a,Xt,r,"forceDel"),t,al,nl),U(l+I+h+dl,`{rowId, ${L}, debugIds}: `+M+`<'${e}', '${n}'>`,[ae+`('' + ${i}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],st(e,n,13)+re)}))}));const Z=Tt(R((e=>{var l,a;return null!=(a=null==(l=X(S,e))?void 0:l[4])?a:t}))," | ");F($+r,$+r,Je,qe(1,8)+" changes",rl(d),sl()),F(u+r,u+r,Je,at(2,0,1),rl(m),sl()),F(i+r,i+r,Je,at(3,0),rl(f,`tableId: ${a} | null`),sl("tableId")),F(b+r,b+r,Je,at(4,3,1),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+r,C+r,Je,at(13,3,1),rl(v,`tableId: ${a} | null`,"cellId: "+Z+fe,"descending: boolean","offset: number","limit: number"+fe),sl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,Je,at(5,3),rl(T,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+r,g+r,Je,at(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(h+r,h+r,Je,at(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${Z} | null`),sl("tableId",Xt,"cellId"))}if(!_(l)){const[e,l,a,n,d,c]=o;s(null,O,...o),s(1,O,j);const i=y("getDefaultValueComponent","valueId: Id",Tt(k(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(f,f,e,qe(2,0)+re);const $=F(w,w,a+Ae,Xe(m,Oe)+re);F(Se+f+se,Se+f+se,Kt,qe(2,9)+Ht,St(Jt(f)+_t+l,Jt(f)+ie),zt(f),qt,St(ll,`values: ${l})`+ze,Ft),nl),F(Se+ye+f+se,Se+ye+f+se,Kt,qe(2,11)+Ht,St(Jt(ye+f)+_t+l,Jt(ye+f)+ie),zt(ye+f),qt,St(ll,`partialValues: ${l})`+ze,Ft),nl),F(Ie+f+se,Ie+f+se,se,qe(2,12),t,t,t,al,nl);const u=I(m+ve,At("valueId?: VId",L+me+j,Wt),et("a Value"),`<VId extends ${a}>`),p=I(f+ve,At(L+me+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),et(Qe(2,1)));s(1,E,p,u),U(f+dl,"{"+L+", valueComponents, getValueComponentProps"+el+"}: "+p,[ae+`(${$}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],qe(2,13)+re),k(((e,l,a,n,o)=>{const d="Map"+xt(l,1);s(0,O,d),s(1,O,d);const r=F(o+m,m,l,It(e)+re,t,n);F(Se+o+m+se,Se+m+se,Kt,It(e,9)+Ht,St(Jt(m)+_t+l+" | "+d,Jt(m)+ie),St(n,zt(m)),qt,St(ll,`value: ${l} | ${d})`+ze,Ft),nl),F(Ie+o+m+se,Ie+m+se,se,It(e,12),t,n,t,al,nl),U(o+m+dl,`{${L}, debugIds}: ${u}<'${e}'>`,[ae+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],It(e,13)+re)})),F(f+r,f+r,Je,qe(2,8)+" changes",rl(n),sl()),F(w+r,w+r,Je,at(10,0,1),rl(d),sl()),F(m+r,m+r,Je,at(11,0),rl(c,`valueId: ${a} | null`),sl("valueId"))}return U(Te,`{${L}, ${L}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+Te,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${Te}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...T(0),...V(),...Z(0)),d(...T(1),...x(),...Z(1))]},cl=(e,l,a)=>{if(_(e)&&_(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...Il(e,l,a,d,r)]};var il=Object.defineProperty,$l=Object.defineProperties,ul=Object.getOwnPropertyDescriptors,pl=Object.getOwnPropertySymbols,bl=Object.prototype.hasOwnProperty,Cl=Object.prototype.propertyIsEnumerable,hl=(e,t,l)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,gl=(e,t)=>{for(var l in t||(t={}))bl.call(t,l)&&hl(e,l,t[l]);if(pl)for(var l of pl(t))Cl.call(t,l)&&hl(e,l,t[l]);return e},ml=(e,t)=>$l(e,ul(t)),fl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const wl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},yl=Et((e=>{const t=()=>{const t=E(e.getTablesSchemaJson());return!_(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=K();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=le(n,a,(()=>[J(o),K(),[0],0])),[r,s,[I]]=d,c=le(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),te(s,o,c),d[3]++,r==J(o)})))))return t[l]={},Q(n,(([e,,[,n],r],s)=>{t[l][s]=gl({[o]:e},r==x(a)?{[d]:n}:{})})),1}))?t:{}},l=()=>{const t=E(e.getValuesSchemaJson());return _(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>cl(t(),l(),e),n=e=>fl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>yt(l(e,ml(gl({},wl),{filepath:"_."+t[a]})))))}));return B({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),gl({totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:vt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{yl as createTools};
1
+ const e=e=>typeof e,t="tinybase",l="",a=",",n=e(l),o=e(!0),d=e(0),r="type",s="default",I="Listener",c="get",$="add",i="Ids",u="Table",p=u+"s",b=u+i,C="Row",h=C+i,g="Sorted"+C+i,m="Cell",f=m+i,w="Value",y=w+"s",v=w+i,T=(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),P=e=>e.length,S=(e,t)=>e.filter(t),A=(e,...t)=>e.push(...t),O=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),j=JSON.parse,N=isFinite,L=(e,t)=>e instanceof t,G=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&&N(t)?l:void 0},B=Object,F=B.keys,U=B.freeze,_=e=>L(e,B)&&e.constructor==B,Z=(e,t)=>k(B.entries(e),(([e,l])=>t(l,e))),H=e=>P(F(e)),Q=e=>_(e)&&0==H(e),q=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},K=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},X=(e,t)=>null==e?void 0:e.forEach(t),Y=(e,t)=>null==e?void 0:e.delete(t),ee=e=>new Map(e),te=(e,t)=>null==e?void 0:e.get(t),le=(e,t)=>X(e,((e,l)=>t(l,e))),ae=(e,t)=>{var l;return k([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>t(l,e)))},ne=(e,t,l)=>G(l)?(Y(e,t),e):null==e?void 0:e.set(t,l),oe=(e,t,l)=>(q(e,t)||ne(e,t,l()),te(e,t)),de=e=>e.toUpperCase(),re=e=>e.toLowerCase(),se="a ",Ie="A function for",ce=", and registers a listener so that any changes to that result will cause a re-render",$e="Callback",ie="Del",ue="Deps",pe=ue+"?: React.DependencyList",be="doRollback?: DoRollback",Ce="actions: () => Return, "+be,he="export",ge="Id",me="Invalid",fe="Json",we=re(I),ye="?: ",ve=" | undefined",Te="NonNullable",Ve="Partial",xe="Props",Re="Provider",ke=`Registers a ${we} that will be called`,Pe="Represents",Se="rowId: "+ge,Ae="Schema",Oe="Set",Ee=", descending?: boolean, offset?: number, limit?: number",De="[]",je="the Store",Ne="Transaction",Le=Ne+"Changes",Ge=re(Ne),Me="Execute a "+Ge+" to make multiple mutations",Je="Explicitly starts a "+Ge,ze="Explicitly finishes a "+Ge,We="the end of the "+Ge,Be="void",Fe=" => "+Be,Ue="WhenSet",_e=" when setting it",Ze=se+"string serialization of",He=" ",Qe="Gets a callback that can ",qe="the ",Ke=" the schema for",Xe=(e=0,t=0)=>`the ${Ct[e]}content of`+(t?He+je:l),Ye=(e=0,t,a=0)=>ut[t]+He+Xe(e,1)+(a?" when setting it":l),et=(e,t=0)=>Pe+` a Row when ${t?"s":"g"}etting ${Xe()} the '${e}' `+u,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"),rt=e=>`the '${e}' `+u,st=e=>"the specified Row in "+rt(e),It=(e,t=0)=>ut[t]+` ${Xe()} `+rt(e),ct=(e,t=0)=>ut[t]+` ${Xe()} `+st(e),$t=(e,t,l=0)=>ut[l]+` the '${t}' Cell for `+st(e),it=(e,t=0)=>ut[t]+` the '${e}' Value`,ut=["Gets","Checks existence of","Sets","Deletes","Sets part of",Pe,"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=[je,p,qe+u+He+i,se+u,qe+C+He+i,se+C,qe+m+He+i,se+m,"invalid Cell changes",y,qe+w+He+i,se+w,"invalid Value changes",qe+"sorted "+C+He+i,qe+m+He+i+" anywhere"],Ct=[l,"tabular ","keyed value "],ht=e=>new Set(z(e)||G(e)?e:[e]),gt=(e,t)=>null==e?void 0:e.add(t),mt=/[^A-Za-z]+/,ft=/[^A-Za-z0-9]+/,wt=/^( *)\/\*\* *(.*?) *\*\/$/gm,yt=(e,t,l)=>e.substring(t,l),vt=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):(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:re)(yt(e,0,1))+yt(e,1)))),Pt=e=>de(R((e&&!mt.test(e[0])?e:" "+e).split(ft),"_")),St=e=>`/** ${e}. */`,At=(...e)=>R(S(e,(e=>e)),", "),Ot=(...e)=>"{"+R(e,"; ")+"}",Et=(...e)=>Ot(...k(e,(e=>"readonly "+e))),Dt=()=>{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=>(null!=t?t:n)==n?gt(oe(e[n],l,ht),a):0)))),(e,a,n,o=l,d=1)=>Tt(t,e,[a,n,o,d]),(e,t,l)=>Tt(a,e,z(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>te(a,e)===t?e:Tt(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)=>vt(e)!=vt(t)?vt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>ae(t,(([e,t,a,n],o)=>[St(t),`${n?he+" ":l}type ${o}${a} = ${e};`,l])),()=>ae(a,((e,t)=>(e=z(e)?e:[e],A(e,O(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},jt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>Z(e,((e,a)=>t(a,kt(a,1),l(Pt(a),`'${a}'`)))),(t,a)=>Z(e[t],((e,t)=>a(t,e[r],e[s],l(Pt(t),`'${t}'`),kt(t,1)))),e=>Z(t,((t,a)=>e(a,t[r],t[s],l(Pt(a),`'${a}'`),kt(a,1))))],Lt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(p,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...a(e,((e,t,a)=>`'${e}'${G(a)?"?":l}: ${t}`)))+"}"))),Ye(1,5)),s=e(p+Ue,Ot(...t((e=>`'${e}'?: {[rowId: Id]: `+Ot(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Ye(1,5,1)),c=e(u+ge,"keyof "+r,"A "+u+" Id in "+je),$=`<TId extends ${c}>`,i=e(u,Te+`<${r}[TId]>`,"A "+u+" in "+je,$),w=e(u+Ue,Te+`<${s}[TId]>`,"A "+u+" in "+je+_e,$),y=e(C,i+"<TId>[Id]","A "+C+" in a "+u,$),v=e(C+Ue,w+"<TId>[Id]","A "+C+" in a "+u+_e,$),T=e(m+ge,`Extract<keyof ${y}<TId>, Id>`,"A "+m+" Id in a "+C,$),V=e(m,Te+`<${r}[TId]>[Id][CId]`,"A "+m+" in a "+C,`<TId extends ${c}, CId extends ${T}<TId>>`),x=e("CellIdCellArray",`CId extends ${T}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,m+" Ids and types in a "+C,`<TId extends ${c}, CId = ${T}<TId>>`,0),R=e(m+$e,`(...[cellId, cell]: ${x}<TId>)`+Fe,nt(se+m+" Id, and "+m),$),k=e(C+$e,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Fe+") "+Fe,nt(se+C+" Id, and a "+m+" iterator"),$),P=e(u+m+$e,`(cellId: ${T}<TId>, count: number) `+Fe,nt(se+m+" Id, and count of how many times it appears"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Fe}] : never`,u+" Ids and callback types",`<TId = ${c}>`,0),A=e(u+$e,`(...[tableId, forEachRow]: ${S})`+Fe,nt(se+u+" Id, and a "+C+" iterator"),l),O=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${T}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${O}) => CellChange`,Ie+" returning information about any Cell's changes during a "+Ge),D=e(p+I,`(${d}, getCellChange: ${E}${ve})`+Fe,ot(1)),j=e(b+I,`(${d})`+Fe,ot(2)),N=e(u+I,`(${d}, tableId: ${c}, getCellChange: ${E}${ve})`+Fe,ot(3)),L=e(u+f+I,`(${d}, tableId: ${c})`+Fe,ot(14,3)),M=e(h+I,`(${d}, tableId: ${c})`+Fe,ot(4,3)),J=e(g+I,"("+At(d,"tableId: "+c,"cellId: Id"+ve,"descending: boolean","offset: number","limit: number"+ve,"sortedRowIds: Ids")+")"+Fe,ot(13,3)),z=e(C+I,"("+At(""+d,"tableId: "+c,Se,`getCellChange: ${E}${ve}`)+")"+Fe,ot(5,3)),W=e(f+I,"("+At(""+d,"tableId: "+c,Se)+")"+Fe,ot(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${T}<TId> ? [${d}, tableId: TId, ${Se}, cellId: CId, newCell: ${V}<TId, CId> ${ve}, oldCell: ${V}<TId, CId> ${ve}, getCellChange: ${E} ${ve}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${T}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,s,c,i,w,y,v,T,V,R,k,P,A,D,j,N,L,M,J,z,W,e(m+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Fe,ot(7,5)),e(me+m+I,`(${d}, tableId: Id, ${Se}, cellId: Id, invalidCells: any[])`+Fe,ot(8))]},(t,a)=>{const o=t+": "+a,d=e(y,Ot(...n(((e,t,a)=>`'${e}'${G(a)?"?":l}: ${t}`))),Ye(2,5)),r=e(y+Ue,Ot(...n(((e,t)=>`'${e}'?: ${t}`))),Ye(2,5,1)),s=e(w+ge,"keyof "+d,"A "+w+" Id in "+je),c=e(w,Te+`<${d}[VId]>`,"A "+w+" Id in "+je,`<VId extends ${s}>`),$=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${c}<VId>] : never`,w+" Ids and types in "+je,`<VId = ${s}>`,0),i=e(w+$e,`(...[valueId, value]: ${$})`+Fe,nt(se+w+" Id, and "+w)),u=e("GetValueChange",`(valueId: ${s}) => ValueChange`,Ie+" returning information about any Value's changes during a "+Ge),p=e(y+I,`(${o}, getValueChange: ${u}${ve})`+Fe,ot(9)),b=e(v+I,`(${o})`+Fe,ot(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${c}<VId> ${ve}, oldValue: ${c}<VId> ${ve}, getValueChange: ${u} ${ve}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,c,i,p,b,e(w+I,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Fe,ot(11)),e(me+w+I,`(${o}, valueId: Id, invalidValues: any[])`+Fe,ot(12))]},(t,l)=>e(Ne+I,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Fe,Ie+" listening to the completion of a "+Ge)],Gt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Mt=(e,t=l)=>`fluent(() => ${Gt(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,T,V,k,P,S,O]=Dt(),[D,j,N]=Nt(e,a,k),[L,M,z]=Lt(T,D,j,N),W=ee(),B=(e=0)=>ae(W,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,St(o)),A(s,l),s})),F=(e,t,a,n,o,d=l)=>Tt(W,e,[t,a,n,o,d]),U=(e,t,a,n,o,d=l,r=l,s=l)=>F(pt[e]+t+(4==e?Ve:l)+a,d,n,(n==H?Mt:Gt)(pt[e]+(4==e?Ve:l)+a,r,e?void 0:n),o,s),_=(e,t,a,n=l,o=l,d=1,r=l)=>F($+e+I,(n?n+", ":l)+we+": "+t+(d?", mutator?: boolean":l),ge,Jt($+e+I,o,d?"mutator":l),a,r),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,i);const[e,a,n,d,I,$,w,y,v,V,P,S,O,E,N,M,z,W,B,F,Q,le,ae]=L(q,H),de=ee();D(((e,t)=>{const l=`<'${e}'>`,a=[T(t+u,d+l,Pe+` the '${e}' `+u),T(t+u+Ue,I+l,Pe+` the '${e}' `+u+_e),T(t+C,$+l,et(e)),T(t+C+Ue,w+l,et(e,1)),T(t+m+ge,y+l,`A Cell Id for the '${e}' `+u),T(t+m+$e,V+l,nt(`a Cell Id and value from a Row in the '${e}' `+u)),T(t+C+$e,P+l,nt(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+u+m+$e,S+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,O,E,N,M,z,W,B,F,Q,le,ae),oe=[e,a,n,y,E,N,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+De,tt(u,je)),U(5,l,u,Be,lt(u,je),"tableCallback: "+O,"tableCallback as any"),D(((e,t,a)=>{const[n,d,r,s,I,c,$,p]=te(de,e);x([[n],[o],[H,"table: "+d,", table"],[H]],(([n,o,d=l],r)=>U(r,t,u,n,It(e,r),o,a+d))),U(0,t,u+f,i,tt(m,"the whole of "+rt(e)),l,a),U(5,t,u+m,Be,lt(u+m,"the whole of "+rt(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),U(0,t,h,i,tt(C,rt(e)),l,a),U(0,t,g,i,tt(C,rt(e),1),"cellId?: "+I+Ee,a+", cellId, descending, offset, limit"),U(5,t,C,Be,lt(C,rt(e)),"rowCallback: "+$,a+", rowCallback as any"),x([[r],[o],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>U(r,t,C,n,ct(e,r),Se+o,a+", rowId"+d))),U(6,t,C,ge+ve,"Add a new Row to "+rt(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),U(0,t,f,I+De,tt(m,st(e)),Se,a+", rowId"),U(5,t,m,Be,lt(m,st(e)),Se+", cellCallback: "+c,a+", rowId, cellCallback as any"),j(e,((n,d,r,s,I)=>{const c="Map"+kt(d,1);ne(Y,d,c);const $=d+(G(r)?ve:l);x([[$],[o],[H,`, cell: ${d} | `+c,", cell as any"],[H]],(([o,d=l,r=l],c)=>U(c,t+I,m,o,$t(e,n,c),Se+d,a+", rowId, "+s+r))),U(1,t+I,u+m,o,ut[1]+` the '${n}' Cell anywhere in `+rt(e),l,a+", "+s)}))})),U(0,l,p+fe,fe,Ye(1,6)),U(2,l,p+fe,H,Ye(1,7),"tablesJson: "+fe,"tables"+fe),_(p,E,Ye(1,8)+" changes"),_(b,N,dt(2,0,1)),_(u,M,dt(3,0),`tableId: ${n} | null`,"tableId"),_(u+f,z,dt(14,3,1),`tableId: ${n} | null`,"tableId"),_(h,W,dt(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,B,dt(13,3,1),At("tableId: TId",`cellId: ${y}<TId>`+ve,"descending: boolean","offset: number","limit: number"+ve),At("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"),_(m,le,dt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${R(D((e=>{var t,a;return null!=(a=null==(t=te(de,e))?void 0:t[4])?a:l}))," | ")} | null`,"tableId, rowId, cellId"),_(me+m,ae,ke+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),c(1,Z,...K(Y)),A(X,".set"+p+Ae+"({",Rt(D(((e,t,a)=>[`[${a}]: {`,...j(e,((e,t,a,n)=>`[${n}]: {[${k(Pt(r),`'${r}'`)}]: ${k(Pt(t),`'${t}'`)}${G(a)?l:`, [${k(Pt(s),`'${s}'`)}]: `+(J(a)?k(Pt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Q(a))c(null,t,y);else{const[e,a,n,d,I,$,i,u,p]=M(q,H);c(1,Z,e,a,n,I,$,i,u,p),de=[e,a,n,$,i,u],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,v,n+De,tt(w,je)),U(5,l,w,"void",lt(w,je),"valueCallback: "+I,"valueCallback as any"),N(((e,t,a,n,d)=>{const r="Map"+kt(t,1);ne(Y,t,r),x([[t],[o],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,a,o=l],r)=>U(r,d,w,t,it(e,r),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"),_(v,i,dt(10,0,1)),_(w,u,dt(11,0),`valueId: ${n} | null`,"valueId"),_(me+w,p,ke+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),c(1,Z,...K(Y)),c(0,t,"ValueChange"),A(X,".set"+y+Ae+"({",N(((e,t,a,n)=>[`[${n}]: {[${k(Pt(r),`'${r}'`)}]: ${k(Pt(t),`'${t}'`)}${G(a)?l:`, [${k(Pt(s),`'${s}'`)}]: `+(J(a)?k(Pt(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,Le,H,`Applies a set of ${Le} to the Store`,"transactionChanges: "+Le,"transactionChanges"),le(Y,((e,t)=>T(t,`(cell: ${e}${ve}) => `+e,`Takes a ${e} Cell value and returns another`))),c(null,t,"DoRollback",ge,"IdOrNull",fe,"Store",Le),c(0,t,"Get"+Le,"GetTransactionLog"),U(0,l,fe,fe,Ye(0,6)),U(2,l,fe,H,Ye(0,7),"tablesAndValuesJson: "+fe,"tablesAndValuesJson"),U(7,l,Ge,"Return",Me,Ce,"actions, doRollback","<Return>"),U(7,l,"start"+Ne,H,Je),U(7,l,"finish"+Ne,H,ze,be,"doRollback");const re=z(q,H);return _("Start"+Ne,re,ke+" just before the start of the "+Ge,l,l,0),_("WillFinish"+Ne,re,ke+" just before "+We,l,l,0),_("DidFinish"+Ne,re,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 "+je,"listenerId: Id","listenerId"),F("getStore",l,"Store","store",ut[0]+" the underlying Store object"),c(1,t,"createStore"),c(1,Z,H,`create${H} as create${H}Decl`,re),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(...P(0),...S(),he+" interface "+H+" {",...B(0),"}",l,St(`Creates a ${H} object`),he+" function create"+H+"(): "+H+";"),d(...P(1),he+" const create"+H+": typeof create"+H+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),oe,de]},Wt=e=>c+e,Bt=e=>At(Wt(e),Wt(e)+ue),Ft="debugIds?: boolean",Ut="debugIds={debugIds}",_t="then"+pe,Zt="Parameter",Ht=": (parameter: "+Zt+", store: Store) => ",Qt="const contextValue = useContext(Context);",qt=", based on a parameter",Kt=": ",Xt="<"+Zt+",>",Yt=Zt+"ized"+$e+"<"+Zt+">",el="rowId",tl="rowId={rowId}",ll=", separator, debugIds",al="separator?: ReactElement | string",nl="then?: (store: Store",ol=At(nl+")"+Fe,_t),dl="then, then"+ue,rl=el+Kt+ge,sl="View",Il=(e,...t)=>At(...t,we+": "+e,we+pe,"mutator?: boolean"),cl=(...e)=>At(...e,we,we+ue,"mutator"),$l=(e,a,n,o,d)=>{const[r,s,c,$,T,V,x,k]=Dt(),[P,S,O]=Nt(e,a,T),D=`./${kt(n)}.d`,j=`./${kt(n)}-ui-react.d`,N="tinybase/ui-react",L=kt(n,1),M=kt(L),J=L+"Or"+L+ge,z=M+"Or"+L+ge,W=M+`={${M}}`,B=ee(),F=(e,t,a,n,o,d=l)=>(s(1,j,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,r=l,I=l,c=l)=>(s(1,N,`use${t} as use${t}Core`),U(e,At(o,X,I),a,le+`(${z}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ae(B,(([t,a,n,o,d],r)=>{const s=e?[he+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[he+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,St(o)),A(s,l),s}));s(null,t,ge,"Store",$e,Zt+"ized"+$e),s(0,N,"ComponentReturnType"),s(null,N,"ExtraProps"),s(0,D,L);const q=c(J,L+" | "+ge,`Used when you need to refer to a ${L} in a React hook or component`),K=c(Re+xe,Et(M+ye+L,M+`ById?: {[${M}Id: Id]: ${L}}`),`Used with the ${Re} component, so that a `+L+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,j,q,K);const X=z+ye+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${L}?, {[${M}Id: Id]: ${L}}?]>([])`),U("Create"+L,`create: () => ${L}, create`+pe,L,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${L} within a React application with convenient memoization`);const Y=U(L,"id?: Id",L+ve,["{",Qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${L} 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",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=T("NullComponent","() => null");if(!Q(e)){const[e,a,n,d,r,w,y,v,T,V,x,k,A,O]=o;s(null,D,e,a,n,r,w,y,v,T,V,x,k,A),s(0,D,d),s(1,D,L),s(null,t,i,"IdOrNull");const E=$("tableView",`{${M}, rowComponent, getRowComponentProps`+ll+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",tl,W,Ut,"/>","))",ll,", tableId,",");"]),N=$("getDefaultTableComponent","tableId: Id",R(P(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",R(P(((e,t,l)=>`tableId == ${l} ? ${R(S(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(p,p,e,Ye(1,0)+ce);const z=_(b,b,n+De,tt(u,je)+ce);_(Oe+p+$e,Oe+p+$e,Yt,Ye(1,9)+qt,At(Wt(p)+Ht+a,Wt(p)+pe),Bt(p),Xt,At(nl,`tables: ${a})`+Fe,_t),dl),_(ie+p+$e,ie+p+$e,$e,Ye(1,12),l,l,l,ol,dl);const B=c(m+xe,Et("tableId?: TId","rowId: Id","cellId?: CId",M+ye+L,Ft),at(se+m),`<TId extends ${n}, CId extends ${d}<TId>>`),F=c(C+xe,Et("tableId?: TId","rowId: Id",M+ye+L,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,al,Ft),at(se+C),`<TId extends ${n}>`),U=c(u+xe,Et("tableId?: TId",M+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",al,Ft),at(se+u),`<TId extends ${n}>`),H=c("Sorted"+u+xe,Et("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",M+ye+L,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",al,Ft),at(se+"sorted "+u),`<TId extends ${n}>`),Q=c(p+xe,Et(M+ye+L,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,al,Ft),at(Xe(1,1)));s(1,j,Q,U,H,F,B),Z(p+sl,"{"+M+", tableComponents, getTableComponentProps"+ll+"}: "+Q,[oe+`(${z}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+N+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,Ut,"/>;","}), separator)"],Ye(1,13)+ce),P(((e,t,a)=>{const[n,o,d,r,I]=te(O,e);s(null,D,n,o,d,r,I),_(t+u,u,n,It(e)+ce,l,a),_(t+u+f,u+f,i,tt(m,"the whole of "+rt(e))+ce,l,a);const c=_(t+h,h,i,tt(C,rt(e))+ce,l,a),$=_(t+g,g,i,tt(C,rt(e),1)+ce,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");_(t+C,C,d,ct(e)+ce,rl,At(a,el));const p=_(t+f,f,I+De,tt(m,st(e))+ce,rl,At(a,el));_(Oe+t+u+$e,Oe+u+$e,Yt,It(e,9)+qt,At(Wt(u)+Ht+o,Wt(u)+pe),At(a,Bt(u)),Xt,At(nl,`table: ${o})`+Fe,_t),dl),_(ie+t+u+$e,ie+u+$e,$e,It(e,12),l,a,l,ol,dl),_(Oe+t+C+$e,Oe+C+$e,Yt,ct(e,9)+qt,At(rl,Wt(C)+Ht+r,Wt(C)+pe),At(a,el,Bt(C)),Xt,At(nl,`row: ${r})`+Fe,_t),dl),_("Add"+t+C+$e,"Add"+C+$e,Yt,ct(e,10)+qt,At(Wt(C)+Ht+r,Wt(C)+pe),At(a,Bt(C)),Xt,"then?: ("+At(rl+ve,"store: Store","row: "+r+")"+Fe,"then"+pe)+", reuseRowIds?: boolean",dl+", reuseRowIds"),_(Oe+t+Ve+C+$e,Oe+Ve+C+$e,Yt,ct(e,11)+qt,At(rl,Wt(Ve+C)+Ht+r,Wt(Ve+C)+pe),At(a,el,Bt(Ve+C)),Xt,At(nl,`partialRow: ${r})`+Fe,_t),dl),_(ie+t+C+$e,ie+C+$e,$e,ct(e,12),rl,At(a,el),l,ol,dl);const b=Z(t+C+sl,"{rowId, "+M+", cellComponents, getCellComponentProps"+ll+`}: ${F}<'${e}'>`,[oe+`(${p}(rowId, ${M}).map((cellId) => {`,"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"+u+sl,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,E+"(props, "+$+`(cellId, descending, offset, limit, props.${M}), ${a}, ${b});`,It(e,13)+", sorted"+ce),Z(t+u+sl,`props: ${U}<'${e}'>`,E+"(props, "+c+`(props.${M}), ${a}, ${b});`,It(e,13)+ce),S(e,((n,o,d,r,I)=>{const c="Map"+kt(o,1);s(0,D,c),s(1,D,c);const $=_(t+I+m,m,o+(G(d)?ve:l),$t(e,n)+ce,rl,At(a,el,r));_(Oe+t+I+m+$e,Oe+m+$e,Yt,$t(e,n,9)+qt,At(rl,Wt(m)+Ht+o+" | "+c,Wt(m)+pe),At(a,el,r,Bt(m)),Xt,At(nl,`cell: ${o} | ${c})`+Fe,_t),dl),_(ie+t+I+m+$e,ie+m+$e,$e,$t(e,n,12),At(rl,"forceDel?: boolean"),At(a,el,r,"forceDel"),l,ol,dl),Z(t+I+m+sl,`{rowId, ${M}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],$t(e,n,13)+ce)}))}));const q=R(P((e=>{var t,a;return null!=(a=null==(t=te(O,e))?void 0:t[4])?a:l}))," | ");_(p+I,p+I,Be,Ye(1,8)+" changes",Il(r),cl()),_(b+I,b+I,Be,dt(2,0,1),Il(w),cl()),_(u+I,u+I,Be,dt(3,0),Il(y,`tableId: ${n} | null`),cl("tableId")),_(u+f+I,u+f+I,Be,dt(14,3,1),Il(v,`tableId: ${n} | null`),cl("tableId")),_(h+I,h+I,Be,dt(4,3,1),Il(T,`tableId: ${n} | null`),cl("tableId")),_(g+I,g+I,Be,dt(13,3,1),Il(V,`tableId: ${n} | null`,"cellId: "+q+ve,"descending: boolean","offset: number","limit: number"+ve),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)),_(m+I,m+I,Be,dt(7,5),Il(A,`tableId: ${n} | null`,el+": IdOrNull",`cellId: ${q} | null`),cl("tableId",el,"cellId"))}if(!Q(a)){const[e,t,a,n,o,r]=d;s(null,D,...d),s(1,D,L);const i=$("getDefaultValueComponent","valueId: Id",R(O(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(y,y,e,Ye(2,0)+ce);const u=_(v,v,a+De,tt(w,je)+ce);_(Oe+y+$e,Oe+y+$e,Yt,Ye(2,9)+qt,At(Wt(y)+Ht+t,Wt(y)+pe),Bt(y),Xt,At(nl,`values: ${t})`+Fe,_t),dl),_(Oe+Ve+y+$e,Oe+Ve+y+$e,Yt,Ye(2,11)+qt,At(Wt(Ve+y)+Ht+t,Wt(Ve+y)+pe),Bt(Ve+y),Xt,At(nl,`partialValues: ${t})`+Fe,_t),dl),_(ie+y+$e,ie+y+$e,$e,Ye(2,12),l,l,l,ol,dl);const p=c(w+xe,Et("valueId?: VId",M+ye+L,Ft),at("a Value"),`<VId extends ${a}>`),b=c(y+xe,Et(M+ye+L,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,al,Ft),at(Xe(2,1)));s(1,j,b,p),Z(y+sl,"{"+M+", valueComponents, getValueComponentProps"+ll+"}: "+b,[oe+`(${u}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",W,Ut,"/>;","}), separator)"],Ye(2,13)+ce),O(((e,t,a,n,o)=>{const d="Map"+kt(t,1);s(0,D,d),s(1,D,d);const r=_(o+w,w,t,it(e)+ce,l,n);_(Oe+o+w+$e,Oe+w+$e,Yt,it(e,9)+qt,At(Wt(w)+Ht+t+" | "+d,Wt(w)+pe),At(n,Bt(w)),Xt,At(nl,`value: ${t} | ${d})`+Fe,_t),dl),_(ie+o+w+$e,ie+w+$e,$e,it(e,12),l,n,l,ol,dl),Z(o+w+sl,`{${M}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],it(e,13)+ce)})),_(y+I,y+I,Be,Ye(2,8)+" changes",Il(n),cl()),_(v+I,v+I,Be,dt(10,0,1),Il(o),cl()),_(w+I,w+I,Be,dt(11,0),Il(r,`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"),[r(...V(0),...x(),...H(0)),r(...V(1),...k(),...H(1))]},il=(e,t,a)=>{if(Q(e)&&Q(t))return[l,l,l,l];const[n,o,d,r]=zt(e,t,a);return[n,o,...$l(e,t,a,d,r)]};var ul=Object.defineProperty,pl=Object.defineProperties,bl=Object.getOwnPropertyDescriptors,Cl=Object.getOwnPropertySymbols,hl=Object.prototype.hasOwnProperty,gl=Object.prototype.propertyIsEnumerable,ml=(e,t,l)=>t in e?ul(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,fl=(e,t)=>{for(var l in t||(t={}))hl.call(t,l)&&ml(e,l,t[l]);if(Cl)for(var l of Cl(t))gl.call(t,l)&&ml(e,l,t[l]);return e},wl=(e,t)=>pl(e,bl(t)),yl=(e,t,l)=>new Promise(((a,n)=>{var o=e=>{try{r(l.next(e))}catch(e){n(e)}},d=e=>{try{r(l.throw(e))}catch(e){n(e)}},r=e=>e.done?a(e.value):Promise.resolve(e.value).then(o,d);r((l=l.apply(e,t)).next())}));const vl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tl=jt((e=>{const t=()=>{const t=j(e.getTablesSchemaJson());return!Q(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=ee();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=oe(n,a,(()=>[W(o),ee(),[0],0])),[r,s,[I]]=d,c=oe(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),ne(s,o,c),d[3]++,r==W(o)})))))return t[l]={},X(n,(([e,,[,n],o],d)=>{t[l][d]=fl({[r]:e},o==P(a)?{[s]:n}:{})})),1}))?t:{}},l=()=>{const t=j(e.getValuesSchemaJson());return Q(t)&&e.forEachValue(((e,l)=>{t[e]={[r]:W(l)}})),t},a=e=>il(t(),l(),e),n=e=>yl(void 0,null,(function*(){const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(yield import("prettier")).format}catch(e){l=e=>e}return k(a(e),((e,a)=>Vt(l(e,wl(fl({},vl),{filepath:"_."+t[a]})))))}));return U({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),fl({totalTables:l,totalRows:a,totalCells:n,totalValues:P(e.getValueIds()),jsonLength:xt(e.getJson())},t?{detail:{tables:o}}:{})},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{Tl as createTools};
Binary file
@@ -1 +1 @@
1
- import e,{useContext as o}from"react";const t=e=>typeof e,r="",d=t(r),n="Ids",l="Table",s=l+"s",u=l+n,i="Row",a=i+n,c="Sorted"+i+n,I="Cell",p=I+n,v="Value",b=v+"s",g=v+n,w=(e,o)=>e.map(o),m=e=>null==e,R=(e,o,t)=>m(e)?null==t?void 0:t():o(e),C=e=>t(e)==d,y=()=>{},{createContext:k,useContext:h}=e,f=k([]),P=(e,o)=>{const t=h(f);return m(e)?t[o]:C(e)?((e,o)=>R(e,(e=>e[o])))(t[o+1],e):e},q=(e,o)=>{const t=P(e,o);return m(e)||C(e)?t:e},x=e=>P(e,0),S=e=>P(e,2),O=e=>P(e,4),T=e=>P(e,6),B=e=>P(e,8),L=e=>P(e,10),j=e=>q(e,0),M=e=>q(e,2),E=e=>q(e,4),V=e=>q(e,6),A=e=>q(e,8),D=e=>q(e,10),{useCallback:F,useEffect:z,useMemo:G,useRef:H,useState:J}=e,K=(e,o,t=[])=>{const r=G((()=>o(e)),[e,...t]);return z((()=>()=>r.destroy()),[r]),r},N=(e,o,t,r=[],d)=>{const[,n]=J(),l=F((()=>{var d,n;return null!=(n=null==(d=null==o?void 0:o["get"+e])?void 0:d.call(o,...r))?n:t}),[o,...r]),[s]=J(l),u=H(s);return G((()=>u.current=l()),[l]),Q(e,o,((...e)=>{u.current=m(d)?l():e[d],n([])}),[],r),u.current},Q=(e,o,t,r=[],d=[],...n)=>z((()=>{var r;const l=null==(r=null==o?void 0:o["add"+e+"Listener"])?void 0:r.call(o,...d,t,...n);return()=>null==o?void 0:o.delListener(l)}),[o,...d,...r,...n]),U=(e,o,t,r=[],d=y,n=[],...l)=>{const s=j(e);return F((e=>R(s,(r=>R(t(e,r),(e=>d(r["set"+o](...l,e),e)))))),[s,o,...r,...n,...l])},W=(e,o,t=y,r=[],...d)=>{const n=j(e);return F((()=>t(null==n?void 0:n["del"+o](...d))),[n,o,...r,...d])},X=(e,o,t)=>{const r=D(e);return F((()=>null==r?void 0:r[o](t)),[r,o,t])},Y=(e,o=[])=>G(e,o),Z=e=>N(s,j(e),{}),$=e=>N(u,j(e),[],[]),_=(e,o)=>N(l,j(o),{},[e]),ee=(e,o)=>N(a,j(o),[],[e]),oe=(e,o,t,r=0,d,n)=>N(c,j(n),[],[e,o,t,r,d],6),te=(e,o,t)=>N(i,j(t),{},[e,o]),re=(e,o,t)=>N(p,j(t),[],[e,o]),de=(e,o,t,r)=>N(I,j(r),void 0,[e,o,t],4),ne=e=>N(b,j(e),{}),le=e=>N(g,j(e),[],[]),se=(e,o)=>N(v,j(o),void 0,[e]),ue=(e,o,t,r,d)=>U(t,s,e,o,r,d),ie=(e,o,t,r,d,n)=>U(r,l,o,t,d,n,e),ae=(e,o,t,r,d,n,l)=>U(d,i,t,r,n,l,e,o),ce=(e,o,t=[],r,d=y,n=[],l=!0)=>{const s=j(r);return F((t=>R(s,(r=>R(o(t,r),(o=>d(r.addRow(e,o,l),r,o)))))),[s,e,...t,...n,l])},Ie=(e,o,t,r,d,n,l)=>U(d,"PartialRow",t,r,n,l,e,o),pe=(e,o,t,r,d,n,l,s)=>U(n,I,r,d,l,s,e,o,t),ve=(e,o,t,r,d)=>U(t,b,e,o,r,d),be=(e,o,t,r,d)=>U(t,"PartialValues",e,o,r,d),ge=(e,o,t,r,d,n)=>U(r,v,o,t,d,n,e),we=(e,o,t)=>W(e,s,o,t),me=(e,o,t,r)=>W(o,l,t,r,e),Re=(e,o,t,r,d)=>W(t,i,r,d,e,o),Ce=(e,o,t,r,d,n,l)=>W(d,I,n,l,e,o,t,r),ye=(e,o,t)=>W(e,b,o,t),ke=(e,o,t,r)=>W(o,v,t,r,e),he=(e,o,t,r)=>Q(s,j(r),e,o,[],t),fe=(e,o,t,r)=>Q(u,j(r),e,o,[],t),Pe=(e,o,t,r,d)=>Q(l,j(d),o,t,[e],r),qe=(e,o,t,r,d)=>Q(a,j(d),o,t,[e],r),xe=(e,o,t,r,d,n,l,s,u)=>Q(c,j(u),n,l,[e,o,t,r,d],s),Se=(e,o,t,r,d,n)=>Q(i,j(n),t,r,[e,o],d),Oe=(e,o,t,r,d,n)=>Q(p,j(n),t,r,[e,o],d),Te=(e,o,t,r,d,n,l)=>Q(I,j(l),r,d,[e,o,t],n),Be=(e,o,t,r)=>Q(b,j(r),e,o,[],t),Le=(e,o,t,r)=>Q(g,j(r),e,o,[],t),je=(e,o,t,r,d)=>Q(v,j(d),o,t,[e],r),Me=(e,o,t)=>K(e,o,t),Ee=(e,o)=>N("Metric",M(o),void 0,[e]),Ve=(e,o,t,r)=>Q("Metric",M(r),o,t,[e]),Ae=(e,o,t)=>K(e,o,t),De=(e,o)=>N("SliceIds",E(o),[],[e]),Fe=(e,o,t)=>N("SliceRowIds",E(t),[],[e,o]),ze=(e,o,t,r)=>Q("SliceIds",E(r),o,t,[e]),Ge=(e,o,t,r,d)=>Q("SliceRowIds",E(d),t,r,[e,o]),He=(e,o,t)=>K(e,o,t),Je=(e,o,t)=>N("RemoteRowId",V(t),void 0,[e,o]),Ke=(e,o,t)=>N("LocalRowIds",V(t),[],[e,o]),Ne=(e,o,t)=>N("LinkedRowIds",V(t),[],[e,o]),Qe=(e,o,t,r,d)=>Q("RemoteRowId",V(d),t,r,[e,o]),Ue=(e,o,t,r,d)=>Q("LocalRowIds",V(d),t,r,[e,o]),We=(e,o,t,r,d)=>Q("LinkedRowIds",V(d),t,r,[e,o]),Xe=(e,o,t)=>K(e,o,t),Ye=(e,o)=>N("ResultTable",A(o),{},[e]),Ze=(e,o)=>N("ResultRowIds",A(o),[],[e]),$e=(e,o,t,r=0,d,n)=>N("ResultSortedRowIds",A(n),[],[e,o,t,r,d],6),_e=(e,o,t)=>N("ResultRow",A(t),{},[e,o]),eo=(e,o,t)=>N("ResultCellIds",A(t),[],[e,o]),oo=(e,o,t,r)=>N("ResultCell",A(r),void 0,[e,o,t]),to=(e,o,t,r)=>Q("ResultTable",A(r),o,t,[e]),ro=(e,o,t,r)=>Q("ResultRowIds",A(r),o,t,[e]),no=(e,o,t,r,d,n,l,s)=>Q("ResultSortedRowIds",A(s),n,l,[e,o,t,r,d]),lo=(e,o,t,r,d)=>Q("ResultRow",A(d),t,r,[e,o]),so=(e,o,t,r,d)=>Q("ResultCellIds",A(d),t,r,[e,o]),uo=(e,o,t,r,d,n)=>Q("ResultCell",A(n),r,d,[e,o,t]),io=(e,o,t)=>K(e,o,t),ao=e=>N("CheckpointIds",D(e),[[],void 0,[]]),co=(e,o)=>N("Checkpoint",D(o),void 0,[e]),Io=(e=y,o=[],t,r=y,d=[])=>{const n=D(t);return F((o=>R(n,(t=>{const d=e(o);r(t.addCheckpoint(d),t,d)}))),[n,...o,...d])},po=e=>X(e,"goBackward"),vo=e=>X(e,"goForward"),bo=(e,o=[],t,r=y,d=[])=>{const n=D(t);return F((o=>R(n,(t=>R(e(o),(e=>r(t.goTo(e),e)))))),[n,...o,...d])},go=e=>{var o;const t=D(e),[d,n]=ao(t);return[(l=d,!(0==(e=>e.length)(l))),po(t),n,null!=(o=R(n,(e=>null==t?void 0:t.getCheckpoint(e))))?o:r];var l},wo=e=>{var o;const t=D(e),[,,[d]]=ao(t);return[!m(d),vo(t),d,null!=(o=R(d,(e=>null==t?void 0:t.getCheckpoint(e))))?o:r]},mo=(e,o,t)=>Q("CheckpointIds",D(t),e,o),Ro=(e,o,t,r)=>Q("Checkpoint",D(r),o,t,[e]),Co=(e,o,t=[],r,d=[])=>{const[,n]=J(),l=G((()=>o(e)),[e,...t]);return z((()=>{var e;return e=function*(){yield null==r?void 0:r(l),n(1)},new Promise(((o,t)=>{var r=o=>{try{n(e.next(o))}catch(e){t(e)}},d=o=>{try{n(e.throw(o))}catch(e){t(e)}},n=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,d);n((e=e.apply(void 0,null)).next())})),()=>{l.destroy()}}),[l,...d]),l};var yo=Object.defineProperty,ko=Object.defineProperties,ho=Object.getOwnPropertyDescriptors,fo=Object.getOwnPropertySymbols,Po=Object.prototype.hasOwnProperty,qo=Object.prototype.propertyIsEnumerable,xo=(e,o,t)=>o in e?yo(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,So=(e,o)=>{for(var t in o||(o={}))Po.call(o,t)&&xo(e,t,o[t]);if(fo)for(var t of fo(o))qo.call(o,t)&&xo(e,t,o[t]);return e},Oo=(e,o)=>ko(e,ho(o)),To=(e,o)=>{var t={};for(var r in e)Po.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&fo)for(var r of fo(e))o.indexOf(r)<0&&qo.call(e,r)&&(t[r]=e[r]);return t};const{createElement:Bo,useMemo:Lo}=e,jo=({tableId:e,store:o,rowComponent:t=Ho,getRowComponentProps:r,separator:d,debugIds:n},l)=>zo(w(l,(d=>Bo(t,Oo(So({},Do(r,d)),{key:d,tableId:e,rowId:d,store:o,debugIds:n})))),d,n,e),Mo=({queryId:e,queries:o,resultRowComponent:t=ot,getResultRowComponentProps:r,separator:d,debugIds:n},l)=>zo(w(l,(d=>Bo(t,Oo(So({},Do(r,d)),{key:d,queryId:e,rowId:d,queries:o,debugIds:n})))),d,n,e),Eo=e=>{const o=V(e);return[o,null==o?void 0:o.getStore()]},Vo=({relationshipId:e,relationships:o,rowComponent:t=Ho,getRowComponentProps:r,separator:d,debugIds:n},l,s)=>{const[u,i]=Eo(o),a=null==u?void 0:u.getLocalTableId(e),c=l(e,s,u);return zo(w(c,(e=>Bo(t,Oo(So({},Do(r,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:n})))),d,n,s)},Ao=e=>({checkpoints:o,checkpointComponent:t=dt,getCheckpointComponentProps:r,separator:d,debugIds:n})=>{const l=D(o);return zo(w(e(ao(l)),(e=>Bo(t,Oo(So({},Do(r,e)),{key:e,checkpoints:l,checkpointId:e,debugIds:n})))),d)},Do=(e,o)=>m(e)?{}:e(o),Fo=({store:e,storesById:t,metrics:r,metricsById:d,indexes:n,indexesById:l,relationships:s,relationshipsById:u,queries:i,queriesById:a,checkpoints:c,checkpointsById:I,children:p})=>{const v=o(f);return Bo(f.Provider,{value:Lo((()=>[null!=e?e:v[0],So(So({},v[1]),t),null!=r?r:v[2],So(So({},v[3]),d),null!=n?n:v[4],So(So({},v[5]),l),null!=s?s:v[6],So(So({},v[7]),u),null!=i?i:v[8],So(So({},v[9]),a),null!=c?c:v[10],So(So({},v[11]),I)]),[e,t,r,d,n,l,s,u,i,a,c,I,v])},p)},zo=(e,o,t,r)=>{const d=m(o)||!Array.isArray(e)?e:w(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",d,"}"]:d},Go=({tableId:e,rowId:o,cellId:t,store:d,debugIds:n})=>{var l;return zo(r+(null!=(l=de(e,o,t,d))?l:r),void 0,n,t)},Ho=({tableId:e,rowId:o,store:t,cellComponent:r=Go,getCellComponentProps:d,separator:n,debugIds:l})=>zo(w(re(e,o,t),(n=>Bo(r,Oo(So({},Do(d,n)),{key:n,tableId:e,rowId:o,cellId:n,store:t,debugIds:l})))),n,l,o),Jo=e=>jo(e,ee(e.tableId,e.store)),Ko=e=>{var o=e,{cellId:t,descending:r,offset:d,limit:n}=o,l=To(o,["cellId","descending","offset","limit"]);return jo(l,oe(l.tableId,t,r,d,n,l.store))},No=({store:e,tableComponent:o=Jo,getTableComponentProps:t,separator:r,debugIds:d})=>zo(w($(e),(r=>Bo(o,Oo(So({},Do(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),Qo=({valueId:e,store:o,debugIds:t})=>{var d;return zo(r+(null!=(d=se(e,o))?d:r),void 0,t,e)},Uo=({store:e,valueComponent:o=Qo,getValueComponentProps:t,separator:r,debugIds:d})=>zo(w(le(e),(r=>Bo(o,Oo(So({},Do(t,r)),{key:r,valueId:r,store:e,debugIds:d})))),r),Wo=({metricId:e,metrics:o,debugIds:t})=>{var d;return zo(null!=(d=Ee(e,o))?d:r,void 0,t,e)},Xo=({indexId:e,sliceId:o,indexes:t,rowComponent:r=Ho,getRowComponentProps:d,separator:n,debugIds:l})=>{const s=E(t),u=null==s?void 0:s.getStore(),i=null==s?void 0:s.getTableId(e),a=Fe(e,o,s);return zo(w(a,(e=>Bo(r,Oo(So({},Do(d,e)),{key:e,tableId:i,rowId:e,store:u,debugIds:l})))),n,l,o)},Yo=({indexId:e,indexes:o,sliceComponent:t=Xo,getSliceComponentProps:r,separator:d,debugIds:n})=>zo(w(De(e,o),(d=>Bo(t,Oo(So({},Do(r,d)),{key:d,indexId:e,sliceId:d,indexes:o,debugIds:n})))),d,n,e),Zo=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=Ho,getRowComponentProps:d,debugIds:n})=>{const[l,s]=Eo(t),u=null==l?void 0:l.getRemoteTableId(e),i=Je(e,o,l);return zo(m(u)||m(i)?null:Bo(r,Oo(So({},Do(d,i)),{key:i,tableId:u,rowId:i,store:s,debugIds:n})),void 0,n,o)},$o=e=>Vo(e,Ke,e.remoteRowId),_o=e=>Vo(e,Ne,e.firstRowId),et=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:n})=>{var l;return zo(r+(null!=(l=oo(e,o,t,d))?l:r),void 0,n,t)},ot=({queryId:e,rowId:o,queries:t,resultCellComponent:r=et,getResultCellComponentProps:d,separator:n,debugIds:l})=>zo(w(eo(e,o,t),(n=>Bo(r,Oo(So({},Do(d,n)),{key:n,queryId:e,rowId:o,cellId:n,queries:t,debugIds:l})))),n,l,o),tt=e=>Mo(e,Ze(e.queryId,e.queries)),rt=e=>{var o=e,{cellId:t,descending:r,offset:d,limit:n}=o,l=To(o,["cellId","descending","offset","limit"]);return Mo(l,$e(l.queryId,t,r,d,n,l.queries))},dt=({checkpoints:e,checkpointId:o,debugIds:t})=>{var d;return zo(null!=(d=co(o,e))?d:r,void 0,t,o)},nt=Ao((e=>e[0])),lt=Ao((e=>m(e[1])?[]:[e[1]])),st=Ao((e=>e[2]));export{nt as BackwardCheckpointsView,Go as CellView,dt as CheckpointView,lt as CurrentCheckpointView,st as ForwardCheckpointsView,Yo as IndexView,_o as LinkedRowsView,$o as LocalRowsView,Wo as MetricView,Fo as Provider,Zo as RemoteRowView,et as ResultCellView,ot as ResultRowView,rt as ResultSortedTableView,tt as ResultTableView,Ho as RowView,Xo as SliceView,Ko as SortedTableView,Jo as TableView,No as TablesView,Qo as ValueView,Uo as ValuesView,jo as tableView,ce as useAddRowCallback,de as useCell,re as useCellIds,Oe as useCellIdsListener,Te as useCellListener,co as useCheckpoint,ao as useCheckpointIds,mo as useCheckpointIdsListener,Ro as useCheckpointListener,L as useCheckpoints,io as useCreateCheckpoints,Ae as useCreateIndexes,Me as useCreateMetrics,Co as useCreatePersister,Xe as useCreateQueries,He as useCreateRelationships,Y as useCreateStore,Ce as useDelCellCallback,Re as useDelRowCallback,me as useDelTableCallback,we as useDelTablesCallback,ke as useDelValueCallback,ye as useDelValuesCallback,po as useGoBackwardCallback,vo as useGoForwardCallback,bo as useGoToCallback,O as useIndexes,Ne as useLinkedRowIds,We as useLinkedRowIdsListener,Ke as useLocalRowIds,Ue as useLocalRowIdsListener,Ee as useMetric,Ve as useMetricListener,S as useMetrics,B as useQueries,wo as useRedoInformation,T as useRelationships,Je as useRemoteRowId,Qe as useRemoteRowIdListener,oo as useResultCell,eo as useResultCellIds,so as useResultCellIdsListener,uo as useResultCellListener,_e as useResultRow,Ze as useResultRowIds,ro as useResultRowIdsListener,lo as useResultRowListener,$e as useResultSortedRowIds,no as useResultSortedRowIdsListener,Ye as useResultTable,to as useResultTableListener,te as useRow,ee as useRowIds,qe as useRowIdsListener,Se as useRowListener,pe as useSetCellCallback,Io as useSetCheckpointCallback,Ie as useSetPartialRowCallback,be as useSetPartialValuesCallback,ae as useSetRowCallback,ie as useSetTableCallback,ue as useSetTablesCallback,ge as useSetValueCallback,ve as useSetValuesCallback,De as useSliceIds,ze as useSliceIdsListener,Fe as useSliceRowIds,Ge as useSliceRowIdsListener,oe as useSortedRowIds,xe as useSortedRowIdsListener,x as useStore,_ as useTable,$ as useTableIds,fe as useTableIdsListener,Pe as useTableListener,Z as useTables,he as useTablesListener,go as useUndoInformation,se as useValue,le as useValueIds,Le as useValueIdsListener,je as useValueListener,ne as useValues,Be as useValuesListener};
1
+ import e,{useContext as o}from"react";const t=e=>typeof e,r="",d=t(r),n="Ids",l="Table",s=l+"s",u=l+n,i="Row",a=i+n,c="Sorted"+i+n,I="Cell",p=I+n,v="Value",b=v+"s",g=v+n,w=(e,o)=>e.map(o),m=e=>null==e,R=(e,o,t)=>m(e)?null==t?void 0:t():o(e),C=e=>t(e)==d,y=()=>{},{createContext:k,useContext:h}=e,f=k([]),P=(e,o)=>{const t=h(f);return m(e)?t[o]:C(e)?((e,o)=>R(e,(e=>e[o])))(t[o+1],e):e},q=(e,o)=>{const t=P(e,o);return m(e)||C(e)?t:e},x=e=>P(e,0),S=e=>P(e,2),O=e=>P(e,4),T=e=>P(e,6),B=e=>P(e,8),L=e=>P(e,10),j=e=>q(e,0),M=e=>q(e,2),E=e=>q(e,4),V=e=>q(e,6),A=e=>q(e,8),D=e=>q(e,10),{useCallback:F,useEffect:z,useMemo:G,useRef:H,useState:J}=e,K=(e,o,t=[])=>{const r=G((()=>o(e)),[e,...t]);return z((()=>()=>r.destroy()),[r]),r},N=(e,o,t,r=[],d)=>{const[,n]=J(),l=F((()=>{var d,n;return null!=(n=null==(d=null==o?void 0:o["get"+e])?void 0:d.call(o,...r))?n:t}),[o,...r]),[s]=J(l),u=H(s);return G((()=>u.current=l()),[l]),Q(e,o,((...e)=>{u.current=m(d)?l():e[d],n([])}),[],r),u.current},Q=(e,o,t,r=[],d=[],...n)=>z((()=>{var r;const l=null==(r=null==o?void 0:o["add"+e+"Listener"])?void 0:r.call(o,...d,t,...n);return()=>null==o?void 0:o.delListener(l)}),[o,...d,...r,...n]),U=(e,o,t,r=[],d=y,n=[],...l)=>{const s=j(e);return F((e=>R(s,(r=>R(t(e,r),(e=>d(r["set"+o](...l,e),e)))))),[s,o,...r,...n,...l])},W=(e,o,t=y,r=[],...d)=>{const n=j(e);return F((()=>t(null==n?void 0:n["del"+o](...d))),[n,o,...r,...d])},X=(e,o,t)=>{const r=D(e);return F((()=>null==r?void 0:r[o](t)),[r,o,t])},Y=(e,o=[])=>G(e,o),Z=e=>N(s,j(e),{}),$=e=>N(u,j(e),[],[]),_=(e,o)=>N(l,j(o),{},[e]),ee=(e,o)=>N(l+p,j(o),[],[e]),oe=(e,o)=>N(a,j(o),[],[e]),te=(e,o,t,r=0,d,n)=>N(c,j(n),[],[e,o,t,r,d],6),re=(e,o,t)=>N(i,j(t),{},[e,o]),de=(e,o,t)=>N(p,j(t),[],[e,o]),ne=(e,o,t,r)=>N(I,j(r),void 0,[e,o,t],4),le=e=>N(b,j(e),{}),se=e=>N(g,j(e),[],[]),ue=(e,o)=>N(v,j(o),void 0,[e]),ie=(e,o,t,r,d)=>U(t,s,e,o,r,d),ae=(e,o,t,r,d,n)=>U(r,l,o,t,d,n,e),ce=(e,o,t,r,d,n,l)=>U(d,i,t,r,n,l,e,o),Ie=(e,o,t=[],r,d=y,n=[],l=!0)=>{const s=j(r);return F((t=>R(s,(r=>R(o(t,r),(o=>d(r.addRow(e,o,l),r,o)))))),[s,e,...t,...n,l])},pe=(e,o,t,r,d,n,l)=>U(d,"PartialRow",t,r,n,l,e,o),ve=(e,o,t,r,d,n,l,s)=>U(n,I,r,d,l,s,e,o,t),be=(e,o,t,r,d)=>U(t,b,e,o,r,d),ge=(e,o,t,r,d)=>U(t,"PartialValues",e,o,r,d),we=(e,o,t,r,d,n)=>U(r,v,o,t,d,n,e),me=(e,o,t)=>W(e,s,o,t),Re=(e,o,t,r)=>W(o,l,t,r,e),Ce=(e,o,t,r,d)=>W(t,i,r,d,e,o),ye=(e,o,t,r,d,n,l)=>W(d,I,n,l,e,o,t,r),ke=(e,o,t)=>W(e,b,o,t),he=(e,o,t,r)=>W(o,v,t,r,e),fe=(e,o,t,r)=>Q(s,j(r),e,o,[],t),Pe=(e,o,t,r)=>Q(u,j(r),e,o,[],t),qe=(e,o,t,r,d)=>Q(l,j(d),o,t,[e],r),xe=(e,o,t,r,d)=>Q(l+p,j(d),o,t,[e],r),Se=(e,o,t,r,d)=>Q(a,j(d),o,t,[e],r),Oe=(e,o,t,r,d,n,l,s,u)=>Q(c,j(u),n,l,[e,o,t,r,d],s),Te=(e,o,t,r,d,n)=>Q(i,j(n),t,r,[e,o],d),Be=(e,o,t,r,d,n)=>Q(p,j(n),t,r,[e,o],d),Le=(e,o,t,r,d,n,l)=>Q(I,j(l),r,d,[e,o,t],n),je=(e,o,t,r)=>Q(b,j(r),e,o,[],t),Me=(e,o,t,r)=>Q(g,j(r),e,o,[],t),Ee=(e,o,t,r,d)=>Q(v,j(d),o,t,[e],r),Ve=(e,o,t)=>K(e,o,t),Ae=(e,o)=>N("Metric",M(o),void 0,[e]),De=(e,o,t,r)=>Q("Metric",M(r),o,t,[e]),Fe=(e,o,t)=>K(e,o,t),ze=(e,o)=>N("SliceIds",E(o),[],[e]),Ge=(e,o,t)=>N("SliceRowIds",E(t),[],[e,o]),He=(e,o,t,r)=>Q("SliceIds",E(r),o,t,[e]),Je=(e,o,t,r,d)=>Q("SliceRowIds",E(d),t,r,[e,o]),Ke=(e,o,t)=>K(e,o,t),Ne=(e,o,t)=>N("RemoteRowId",V(t),void 0,[e,o]),Qe=(e,o,t)=>N("LocalRowIds",V(t),[],[e,o]),Ue=(e,o,t)=>N("LinkedRowIds",V(t),[],[e,o]),We=(e,o,t,r,d)=>Q("RemoteRowId",V(d),t,r,[e,o]),Xe=(e,o,t,r,d)=>Q("LocalRowIds",V(d),t,r,[e,o]),Ye=(e,o,t,r,d)=>Q("LinkedRowIds",V(d),t,r,[e,o]),Ze=(e,o,t)=>K(e,o,t),$e=(e,o)=>N("ResultTable",A(o),{},[e]),_e=(e,o)=>N("ResultRowIds",A(o),[],[e]),eo=(e,o,t,r=0,d,n)=>N("ResultSortedRowIds",A(n),[],[e,o,t,r,d],6),oo=(e,o,t)=>N("ResultRow",A(t),{},[e,o]),to=(e,o,t)=>N("ResultCellIds",A(t),[],[e,o]),ro=(e,o,t,r)=>N("ResultCell",A(r),void 0,[e,o,t]),no=(e,o,t,r)=>Q("ResultTable",A(r),o,t,[e]),lo=(e,o,t,r)=>Q("ResultRowIds",A(r),o,t,[e]),so=(e,o,t,r,d,n,l,s)=>Q("ResultSortedRowIds",A(s),n,l,[e,o,t,r,d]),uo=(e,o,t,r,d)=>Q("ResultRow",A(d),t,r,[e,o]),io=(e,o,t,r,d)=>Q("ResultCellIds",A(d),t,r,[e,o]),ao=(e,o,t,r,d,n)=>Q("ResultCell",A(n),r,d,[e,o,t]),co=(e,o,t)=>K(e,o,t),Io=e=>N("CheckpointIds",D(e),[[],void 0,[]]),po=(e,o)=>N("Checkpoint",D(o),void 0,[e]),vo=(e=y,o=[],t,r=y,d=[])=>{const n=D(t);return F((o=>R(n,(t=>{const d=e(o);r(t.addCheckpoint(d),t,d)}))),[n,...o,...d])},bo=e=>X(e,"goBackward"),go=e=>X(e,"goForward"),wo=(e,o=[],t,r=y,d=[])=>{const n=D(t);return F((o=>R(n,(t=>R(e(o),(e=>r(t.goTo(e),e)))))),[n,...o,...d])},mo=e=>{var o;const t=D(e),[d,n]=Io(t);return[(l=d,!(0==(e=>e.length)(l))),bo(t),n,null!=(o=R(n,(e=>null==t?void 0:t.getCheckpoint(e))))?o:r];var l},Ro=e=>{var o;const t=D(e),[,,[d]]=Io(t);return[!m(d),go(t),d,null!=(o=R(d,(e=>null==t?void 0:t.getCheckpoint(e))))?o:r]},Co=(e,o,t)=>Q("CheckpointIds",D(t),e,o),yo=(e,o,t,r)=>Q("Checkpoint",D(r),o,t,[e]),ko=(e,o,t=[],r,d=[])=>{const[,n]=J(),l=G((()=>o(e)),[e,...t]);return z((()=>{var e;return e=function*(){yield null==r?void 0:r(l),n(1)},new Promise(((o,t)=>{var r=o=>{try{n(e.next(o))}catch(e){t(e)}},d=o=>{try{n(e.throw(o))}catch(e){t(e)}},n=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,d);n((e=e.apply(void 0,null)).next())})),()=>{l.destroy()}}),[l,...d]),l};var ho=Object.defineProperty,fo=Object.defineProperties,Po=Object.getOwnPropertyDescriptors,qo=Object.getOwnPropertySymbols,xo=Object.prototype.hasOwnProperty,So=Object.prototype.propertyIsEnumerable,Oo=(e,o,t)=>o in e?ho(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,To=(e,o)=>{for(var t in o||(o={}))xo.call(o,t)&&Oo(e,t,o[t]);if(qo)for(var t of qo(o))So.call(o,t)&&Oo(e,t,o[t]);return e},Bo=(e,o)=>fo(e,Po(o)),Lo=(e,o)=>{var t={};for(var r in e)xo.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&qo)for(var r of qo(e))o.indexOf(r)<0&&So.call(e,r)&&(t[r]=e[r]);return t};const{createElement:jo,useMemo:Mo}=e,Eo=({tableId:e,store:o,rowComponent:t=Ko,getRowComponentProps:r,separator:d,debugIds:n},l)=>Ho(w(l,(d=>jo(t,Bo(To({},zo(r,d)),{key:d,tableId:e,rowId:d,store:o,debugIds:n})))),d,n,e),Vo=({queryId:e,queries:o,resultRowComponent:t=rt,getResultRowComponentProps:r,separator:d,debugIds:n},l)=>Ho(w(l,(d=>jo(t,Bo(To({},zo(r,d)),{key:d,queryId:e,rowId:d,queries:o,debugIds:n})))),d,n,e),Ao=e=>{const o=V(e);return[o,null==o?void 0:o.getStore()]},Do=({relationshipId:e,relationships:o,rowComponent:t=Ko,getRowComponentProps:r,separator:d,debugIds:n},l,s)=>{const[u,i]=Ao(o),a=null==u?void 0:u.getLocalTableId(e),c=l(e,s,u);return Ho(w(c,(e=>jo(t,Bo(To({},zo(r,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:n})))),d,n,s)},Fo=e=>({checkpoints:o,checkpointComponent:t=lt,getCheckpointComponentProps:r,separator:d,debugIds:n})=>{const l=D(o);return Ho(w(e(Io(l)),(e=>jo(t,Bo(To({},zo(r,e)),{key:e,checkpoints:l,checkpointId:e,debugIds:n})))),d)},zo=(e,o)=>m(e)?{}:e(o),Go=({store:e,storesById:t,metrics:r,metricsById:d,indexes:n,indexesById:l,relationships:s,relationshipsById:u,queries:i,queriesById:a,checkpoints:c,checkpointsById:I,children:p})=>{const v=o(f);return jo(f.Provider,{value:Mo((()=>[null!=e?e:v[0],To(To({},v[1]),t),null!=r?r:v[2],To(To({},v[3]),d),null!=n?n:v[4],To(To({},v[5]),l),null!=s?s:v[6],To(To({},v[7]),u),null!=i?i:v[8],To(To({},v[9]),a),null!=c?c:v[10],To(To({},v[11]),I)]),[e,t,r,d,n,l,s,u,i,a,c,I,v])},p)},Ho=(e,o,t,r)=>{const d=m(o)||!Array.isArray(e)?e:w(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",d,"}"]:d},Jo=({tableId:e,rowId:o,cellId:t,store:d,debugIds:n})=>{var l;return Ho(r+(null!=(l=ne(e,o,t,d))?l:r),void 0,n,t)},Ko=({tableId:e,rowId:o,store:t,cellComponent:r=Jo,getCellComponentProps:d,separator:n,debugIds:l})=>Ho(w(de(e,o,t),(n=>jo(r,Bo(To({},zo(d,n)),{key:n,tableId:e,rowId:o,cellId:n,store:t,debugIds:l})))),n,l,o),No=e=>Eo(e,oe(e.tableId,e.store)),Qo=e=>{var o=e,{cellId:t,descending:r,offset:d,limit:n}=o,l=Lo(o,["cellId","descending","offset","limit"]);return Eo(l,te(l.tableId,t,r,d,n,l.store))},Uo=({store:e,tableComponent:o=No,getTableComponentProps:t,separator:r,debugIds:d})=>Ho(w($(e),(r=>jo(o,Bo(To({},zo(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),Wo=({valueId:e,store:o,debugIds:t})=>{var d;return Ho(r+(null!=(d=ue(e,o))?d:r),void 0,t,e)},Xo=({store:e,valueComponent:o=Wo,getValueComponentProps:t,separator:r,debugIds:d})=>Ho(w(se(e),(r=>jo(o,Bo(To({},zo(t,r)),{key:r,valueId:r,store:e,debugIds:d})))),r),Yo=({metricId:e,metrics:o,debugIds:t})=>{var d;return Ho(null!=(d=Ae(e,o))?d:r,void 0,t,e)},Zo=({indexId:e,sliceId:o,indexes:t,rowComponent:r=Ko,getRowComponentProps:d,separator:n,debugIds:l})=>{const s=E(t),u=null==s?void 0:s.getStore(),i=null==s?void 0:s.getTableId(e),a=Ge(e,o,s);return Ho(w(a,(e=>jo(r,Bo(To({},zo(d,e)),{key:e,tableId:i,rowId:e,store:u,debugIds:l})))),n,l,o)},$o=({indexId:e,indexes:o,sliceComponent:t=Zo,getSliceComponentProps:r,separator:d,debugIds:n})=>Ho(w(ze(e,o),(d=>jo(t,Bo(To({},zo(r,d)),{key:d,indexId:e,sliceId:d,indexes:o,debugIds:n})))),d,n,e),_o=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=Ko,getRowComponentProps:d,debugIds:n})=>{const[l,s]=Ao(t),u=null==l?void 0:l.getRemoteTableId(e),i=Ne(e,o,l);return Ho(m(u)||m(i)?null:jo(r,Bo(To({},zo(d,i)),{key:i,tableId:u,rowId:i,store:s,debugIds:n})),void 0,n,o)},et=e=>Do(e,Qe,e.remoteRowId),ot=e=>Do(e,Ue,e.firstRowId),tt=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:n})=>{var l;return Ho(r+(null!=(l=ro(e,o,t,d))?l:r),void 0,n,t)},rt=({queryId:e,rowId:o,queries:t,resultCellComponent:r=tt,getResultCellComponentProps:d,separator:n,debugIds:l})=>Ho(w(to(e,o,t),(n=>jo(r,Bo(To({},zo(d,n)),{key:n,queryId:e,rowId:o,cellId:n,queries:t,debugIds:l})))),n,l,o),dt=e=>Vo(e,_e(e.queryId,e.queries)),nt=e=>{var o=e,{cellId:t,descending:r,offset:d,limit:n}=o,l=Lo(o,["cellId","descending","offset","limit"]);return Vo(l,eo(l.queryId,t,r,d,n,l.queries))},lt=({checkpoints:e,checkpointId:o,debugIds:t})=>{var d;return Ho(null!=(d=po(o,e))?d:r,void 0,t,o)},st=Fo((e=>e[0])),ut=Fo((e=>m(e[1])?[]:[e[1]])),it=Fo((e=>e[2]));export{st as BackwardCheckpointsView,Jo as CellView,lt as CheckpointView,ut as CurrentCheckpointView,it as ForwardCheckpointsView,$o as IndexView,ot as LinkedRowsView,et as LocalRowsView,Yo as MetricView,Go as Provider,_o as RemoteRowView,tt as ResultCellView,rt as ResultRowView,nt as ResultSortedTableView,dt as ResultTableView,Ko as RowView,Zo as SliceView,Qo as SortedTableView,No as TableView,Uo as TablesView,Wo as ValueView,Xo as ValuesView,Eo as tableView,Ie as useAddRowCallback,ne as useCell,de as useCellIds,Be as useCellIdsListener,Le as useCellListener,po as useCheckpoint,Io as useCheckpointIds,Co as useCheckpointIdsListener,yo as useCheckpointListener,L as useCheckpoints,co as useCreateCheckpoints,Fe as useCreateIndexes,Ve as useCreateMetrics,ko as useCreatePersister,Ze as useCreateQueries,Ke as useCreateRelationships,Y as useCreateStore,ye as useDelCellCallback,Ce as useDelRowCallback,Re as useDelTableCallback,me as useDelTablesCallback,he as useDelValueCallback,ke as useDelValuesCallback,bo as useGoBackwardCallback,go as useGoForwardCallback,wo as useGoToCallback,O as useIndexes,Ue as useLinkedRowIds,Ye as useLinkedRowIdsListener,Qe as useLocalRowIds,Xe as useLocalRowIdsListener,Ae as useMetric,De as useMetricListener,S as useMetrics,B as useQueries,Ro as useRedoInformation,T as useRelationships,Ne as useRemoteRowId,We as useRemoteRowIdListener,ro as useResultCell,to as useResultCellIds,io as useResultCellIdsListener,ao as useResultCellListener,oo as useResultRow,_e as useResultRowIds,lo as useResultRowIdsListener,uo as useResultRowListener,eo as useResultSortedRowIds,so as useResultSortedRowIdsListener,$e as useResultTable,no as useResultTableListener,re as useRow,oe as useRowIds,Se as useRowIdsListener,Te as useRowListener,ve as useSetCellCallback,vo as useSetCheckpointCallback,pe as useSetPartialRowCallback,ge as useSetPartialValuesCallback,ce as useSetRowCallback,ae as useSetTableCallback,ie as useSetTablesCallback,we as useSetValueCallback,be as useSetValuesCallback,ze as useSliceIds,He as useSliceIdsListener,Ge as useSliceRowIds,Je as useSliceRowIdsListener,te as useSortedRowIds,Oe as useSortedRowIdsListener,x as useStore,_ as useTable,ee as useTableCellIds,xe as useTableCellIdsListener,$ as useTableIds,Pe as useTableIdsListener,qe as useTableListener,Z as useTables,fe as useTablesListener,mo as useUndoInformation,ue as useValue,se as useValueIds,Me as useValueIdsListener,Ee as useValueListener,le as useValues,je as useValuesListener};
Binary file
@@ -0,0 +1 @@
1
+ const t=t=>null==t,a=(a,e,n)=>t(a)?n?.():e(a),e=Object,n=e.keys,s=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),i=(t,a)=>(delete t[a],t),r=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>n(t).length,y=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),u=(t,a)=>[t[a].t,t[a].v],v=(a,e,n,s)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return r(n,((t,a)=>{s(o,a,t)&&(d=1)})),r(o,((t,a)=>{c(n,a)||(i(o,a),d=1)})),!t(e)&&y(o)&&i(a,e),d},h=(e,n,c="tinybase")=>(n.change((t=>t[c]={})),((e,d,h,l,w)=>{let f,g,p,A=0,L=0,S=0;const C=[],b=async t=>{2!=A&&(A=1,await t(),A=0)},m={load:async(t,a)=>(await b((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),m),startAutoLoad:async(t={},a={})=>(m.stopAutoLoad(),await m.load(t,a),S=1,p=(t=>{const a=({doc:a})=>t((()=>u(a,c)));return n.on("change",a),a})((async(t,a)=>{await b((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}}))})),m),stopAutoLoad:()=>{return S&&(t=p,n.removeListener("change",t),p=void 0,S=0),m;var t},save:async s=>(await m.schedule((async()=>{if(1!=A){A=2;try{await(async(e,s)=>n.change((n=>((e,n,s,c)=>{((t,a)=>{y(t[a])&&(t[a]={t:{},v:{}})})(e,n);const[d,h]=u(e,n),l=()=>{w=1};let w=1;if(a(c?.(),(([e,n])=>{w=0,r(e,((e,n)=>w?0:t(e)?i(d,n):a(d[n],(n=>r(e,((e,s)=>w?0:t(e)?i(n,s):a(o(n,s),(a=>r(e,((e,n)=>t(e)?i(a,n):a[n]=e))),l)))),l))),r(n,((a,e)=>w?0:t(a)?i(h,e):h[e]=a))})),w){const[t,a]=s();v(d,void 0,t,((t,a,e)=>v(d,a,e,((t,a,e)=>v(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),v(h,void 0,a,((t,a,e)=>{o(h,a)!==e&&(h[a]=e)}))}})(n,c,e,s))))(e.getContent,s)}catch{}A=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),f=e.addDidFinishTransactionListener(((t,a)=>{const e=a();m.save((()=>e))})),m),stopAutoSave:()=>(a(f,e.delListener),m),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,g=a.shift()));)try{await g()}catch{}L=0}var a})(),m),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(m)})(e,(async()=>2==d(n.doc[c])?u(n.doc,c):void 0)));export{h as createAutomergePersister};
@@ -0,0 +1 @@
1
+ const t=JSON.parse,a=t=>null==t,e=Object.freeze,s="storage",n=globalThis.window,o=(o,r,c)=>((o,i,u,y,d)=>{let v,l,w,g=0,h=0,p=0;const S=[],A=async t=>{2!=g&&(g=1,await t(),g=0)},f={load:async(t,a)=>(await A((async()=>{try{o.setContent(await i())}catch{o.setContent([t,a])}})),f),startAutoLoad:async(a={},e={})=>(f.stopAutoLoad(),await f.load(a,e),p=1,w=(a=>{const e=e=>{e.storageArea===c&&e.key===r&&a((()=>t(e.newValue)))};return n.addEventListener(s,e),e})((async(t,a)=>{await A((async()=>{if(a)o.setTransactionChanges(a());else try{o.setContent(t?.()??await i())}catch{}}))})),f),stopAutoLoad:()=>{return p&&(t=w,n.removeEventListener(s,t),w=void 0,p=0),f;var t},save:async t=>(await f.schedule((async()=>{if(1!=g){g=2;try{await(async t=>{return c.setItem(r,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s}))));var a})(o.getContent)}catch{}g=0}})),f),startAutoSave:async()=>(await f.stopAutoSave().save(),v=o.addDidFinishTransactionListener(((t,a)=>{const e=a();f.save((()=>e))})),f),stopAutoSave:()=>{var t,e;return t=v,e=o.delListener,a(t)||e(t),f},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!h){for(h=1;!a((t=S,l=t.shift()));)try{await l()}catch{}h=0}var t})(),f),getStore:()=>o,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(f)})(o,(async()=>t(c.getItem(r)))),r=(t,a)=>o(t,a,localStorage),c=(t,a)=>o(t,a,sessionStorage);export{r as createLocalPersister,c as createSessionPersister};
@@ -0,0 +1 @@
1
+ const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),r=a=>a.length,o=a=>0==r(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>w.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>c(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),O=a=>r(L(a)),R=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==O(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",x="FROM pragma_table_",J="WHERE",U=J+" schema='main'AND type='table'AND name!='sqlite_schema'",Y=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,w,u)=>{const d=j();C(u??{},(a=>c(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&w)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...c(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?c(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(c(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...c(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(u,((a,e)=>{var s;y(t,`(?${s=r(E),",?".repeat(s)})`),y(o,e,...c(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(c(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+J+B(i)+"NOT IN("+n(c(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(c(await a("SELECT name "+x+"list "+U),(async({name:t})=>[t,h(c(await a("SELECT name,type "+x+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((r=_,g(n=t,c=e)||M(n,c,r()),D(n,c)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,r}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+J+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(c(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!R(t)))):{},l]},q=(a,t,e,s,n)=>{let c,r,o,i=0,l=0,w=0;const u=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),w=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(w&&(n(o),o=void 0,w=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(c,a.delListener),m),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,r=a.shift()));)try{await r()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},z="store",H=(a,e,s,n,{storeTableName:c=t})=>{const[r,o,i]=Y(e),l=q(a,(async()=>(await r(),u((await o(c,P)??{})[z]))),(async a=>l.schedule(r,(async()=>{var t;await i(c,P,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,c)=>{const r=l(N(f(t,m(a)?{[e]:a}:a)),0,O(t));E(r[0])||s(c,r[0])||M(n,c,r)})),n},X=(a,t,e,s,n)=>{const[c,r,[o,y,w]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,O(G)),n=s[2];return[Q(a,{[V]:null,[K]:P},V,(a=>a==n)),Q(t,{[W]:null,[K]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[u,d,v,m,A]=Y(t),L=q(a,(async()=>{await u();const a=await(async()=>h(i(await p($(c,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!R(a[1])))))(),t=await(async()=>o?await d(w,P):{})();return R(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(u,...(a=>$(r,(([t,e,s,n],c)=>async()=>await A(t,e,s,n,a[c]))))(t),(a=>y?async()=>await v(w,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ca=(a,t,e,s,n)=>{const c=f(ta,m(t)?{storeTableName:t}:t??{});let r,o;return(c.mode==Z?H:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(r??=t)&&s==(o??=s)||(a(),r=t,o=s)}catch{}}),1e3*c[aa]),s(a)]),(([a,t])=>{clearInterval(a),r=o=null,n(t)}),c)},ra=(a,t,e)=>ca(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate((()=>a()))),(a=>a()));export{ra as createCrSqliteWasmPersister};
@@ -0,0 +1 @@
1
+ import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=JSON.parse,o=t=>null==t,r=Object.freeze,c=(c,i)=>((a,n,c,u,y)=>{let d,v,f,p=0,w=0,h=0;const l=[],A=async t=>{2!=p&&(p=1,await t(),p=0)},S={load:async(t,s)=>(await A((async()=>{try{a.setContent(await n())}catch{a.setContent([t,s])}})),S),startAutoLoad:async(s={},e={})=>{return S.stopAutoLoad(),await S.load(s,e),h=1,o=async(t,s)=>{await A((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await n())}catch{}}))},f=t(i,(()=>o())),S;var o},stopAutoLoad:()=>{return h&&(t=f,t?.close(),f=void 0,h=0),S;var t},save:async t=>(await S.schedule((async()=>{if(1!=p){p=2;try{await(async t=>{return await s(i,(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(s=(t,[a,s])=>(t[a]=s,t),e={},[...a].reduce(s,e)):a;var s,e}))),e);var a})(a.getContent)}catch{}p=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),d=a.addDidFinishTransactionListener(((t,a)=>{const s=a();S.save((()=>s))})),S),stopAutoSave:()=>{var t,s;return t=d,s=a.delListener,o(t)||s(t),S},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l,...t),await(async()=>{if(!w){for(w=1;!o((t=l,v=t.shift()));)try{await v()}catch{}w=0}var t})(),S),getStore:()=>a,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(S)})(c,(async()=>n(await a(i,e))));export{c as createFilePersister};
@@ -0,0 +1 @@
1
+ const t=JSON.parse,a=t=>null==t,e=Object.freeze,s=t=>t.headers.get("ETag"),n=(n,o,r,c)=>{let i;return((t,n,y,d,u)=>{let h,v,w,l=0,p=0,f=0;const A=[],S=async t=>{2!=l&&(l=1,await t(),l=0)},g={load:async(a,e)=>(await S((async()=>{try{t.setContent(await n())}catch{t.setContent([a,e])}})),g),startAutoLoad:async(e={},r={})=>{return g.stopAutoLoad(),await g.load(e,r),f=1,y=async(a,e)=>{await S((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await n())}catch{}}))},w=setInterval((async()=>{const t=await fetch(o,{method:"HEAD"}),e=s(t);a(i)||a(e)||e==i||(i=e,y())}),1e3*c),g;var y},stopAutoLoad:()=>(f&&(clearInterval(w),w=void 0,f=0),g),save:async a=>(await g.schedule((async()=>{if(1!=l){l=2;try{await(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(a=t(),JSON.stringify(a,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),s={},[...a].reduce(e,s)):a;var e,s})))});var a})(t.getContent)}catch{}l=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),h=t.addDidFinishTransactionListener(((t,a)=>{const e=a();g.save((()=>e))})),g),stopAutoSave:()=>{var e,s;return e=h,s=t.delListener,a(e)||s(e),g},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(A,...t),await(async()=>{if(!p){for(p=1;!a((t=A,v=t.shift()));)try{await v()}catch{}p=0}var t})(),g),getStore:()=>t,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(g)})(n,(async()=>{const a=await fetch(o);return i=s(a),t(await a.text())}))};export{n as createRemotePersister};
@@ -0,0 +1 @@
1
+ const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),o=(a,t)=>a.map(t),c=a=>a.length,r=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),p=t=>a(t)==s,m=async a=>u.all(a),A=Object,h=A.keys,L=A.freeze,T=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),R=(a,t)=>(delete a[t],a),S=(a,t)=>o(A.entries(a),(([a,e])=>t(e,a))),C=a=>A.values(a),N=a=>c(h(a)),_=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==N(a),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],g=(a,t)=>a?.delete(t),I=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>o([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(g(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),B="SELECT*FROM",q="FROM pragma_table_",x="WHERE",J=x+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=I(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=k();S(w??{},(a=>o(h(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(r(E)&&O(t,s)&&u)return await a("DROP TABLE"+j(s)),void M(t,s);if(r(E)||O(t,s)){const e=D(t,s),n=k((v=e,[...v?.keys()??[]]));await m([...o(E,(async t=>{g(n,t)||(await a(`ALTER TABLE${j(s)}ADD${j(t)}`),M(e,t,""))})),...l?o(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${j(s)}DROP${j(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${j(s)}(${j(i)} PRIMARY KEY ON CONFLICT REPLACE${n(o(E,(a=>e+j(a))))});`),M(t,s,I([[i,""],...o(E,(a=>[a,""]))]));var v;if(r(E))await a("DELETE FROM"+j(s));else{const t=[],r=[],l=[];S(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(r,e,...o(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+j(s)+"("+j(i)+n(o(E,(a=>e+j(a))))+")VALUES"+n(t,e),r),await a("DELETE FROM"+j(s)+x+j(i)+"NOT IN("+n(o(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,T(await m(o(await a("SELECT name "+q+"list "+J),(async({name:t})=>[t,T(o(await a("SELECT name,type "+q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=I,O(n=t,o=e)||M(n,o,c()),D(n,o)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,o,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(B+j(t)+x+j(e)+"=?",["_"]):[];return r(n)?null:R(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?T(i(o(await a(B+j(t)),(a=>[a[e],R(a,e)])),(([a,t])=>!E(a)&&!_(t)))):{},l]},Y=(a,t,e,s,n)=>{let o,c,r,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},p={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),p),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),u=1,r=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),p),stopAutoLoad:()=>(u&&(n(r),r=void 0,u=0),p),save:async t=>(await p.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),p),startAutoSave:async()=>(await p.stopAutoSave().save(),o=a.addDidFinishTransactionListener(((a,t)=>{const e=t();p.save((()=>e))})),p),stopAutoSave:()=>(v(o,a.delListener),p),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)},z="store",H=(a,e,s,n,{storeTableName:o=t})=>{const[c,r,i]=V(e),l=Y(a,(async()=>(await c(),w((await r(o,P)??{})[z]))),(async a=>l.schedule(c,(async()=>{var t;await i(o,P,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",U="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=I();return S(a,((a,o)=>{const c=l(C(f(t,p(a)?{[e]:a}:a)),0,N(t));E(c[0])||s(o,c[0])||M(n,o,c)})),n},X=(a,t,e,s,n)=>{const[o,c,[r,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(C(f(G,e)),0,N(G)),n=s[2];return[Q(a,{[U]:null,[K]:P},U,(a=>a==n)),Q(t,{[W]:null,[K]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,p,A]=V(t),h=Y(a,(async()=>{await w();const a=await(async()=>T(i(await m($(o,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>r?await d(u,P):{})();return _(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();h.schedule(w,...(a=>$(c,(([t,e,s,n],o)=>async()=>await A(t,e,s,n,a[o]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return h},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",oa=(a,t,e,s,n)=>{const o=f(ta,p(t)?{storeTableName:t}:t??{});let c,r;return(o.mode==Z?H:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(r??=s)||(a(),c=t,r=s)}catch{}}),1e3*o[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=r=null,n(t)}),o)},ca=(a,t,e,s)=>oa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,(()=>a()),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)));export{ca as createSqliteWasmPersister};
@@ -0,0 +1 @@
1
+ const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),c=a=>a.length,o=a=>0==c(a),i=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),u=Promise,w=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,p=async a=>u.all(a),A=Object,L=A.keys,T=A.freeze,h=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),S=(a,t)=>(delete a[t],a),C=(a,t)=>r(A.entries(a),(([a,e])=>t(e,a))),N=a=>A.values(a),R=a=>c(L(a)),O=a=>(a=>d(a,A)&&a.constructor==A)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),_=a=>new Map(a),D=(a,t)=>a?.get(t),$=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=M)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),P="_id",B=a=>`"${a.replace(/"/g,'""')}"`,j=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",J="FROM pragma_table_",Y="WHERE",q=Y+" schema='main'AND type='table'AND name!='sqlite_schema'",x=a=>{const t=_(),s=(a,e)=>!E(D(D(t,a),e)),l=async(s,i,l,u,w)=>{const d=j();C(w??{},(a=>r(L(a),(a=>{return t=d,e=a,t?.add(e);var t,e}))));const E=b(d);if(o(E)&&g(t,s)&&u)return await a("DROP TABLE"+B(s)),void M(t,s);if(o(E)||g(t,s)){const e=D(t,s),n=j((v=e,[...v?.keys()??[]]));await p([...r(E,(async t=>{I(n,t)||(await a(`ALTER TABLE${B(s)}ADD${B(t)}`),M(e,t,""))})),...l?r(b(n),(async t=>{t!=i&&(await a(`ALTER TABLE${B(s)}DROP${B(t)}`),M(e,t))})):[]])}else await a(`CREATE TABLE${B(s)}(${B(i)} PRIMARY KEY ON CONFLICT REPLACE${n(r(E,(a=>e+B(a))))});`),M(t,s,_([[i,""],...r(E,(a=>[a,""]))]));var v;if(o(E))await a("DELETE FROM"+B(s));else{const t=[],o=[],l=[];C(w,((a,e)=>{var s;y(t,`(?${s=c(E),",?".repeat(s)})`),y(o,e,...r(E,(t=>a[t]))),y(l,e)})),await a("INSERT INTO"+B(s)+"("+B(i)+n(r(E,(a=>e+B(a))))+")VALUES"+n(t,e),o),await a("DELETE FROM"+B(s)+Y+B(i)+"NOT IN("+n(r(l,(()=>"?")),e)+")",l)}};return[async()=>F(t,h(await p(r(await a("SELECT name "+J+"list "+q),(async({name:t})=>[t,h(r(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return M(t,e,F((c=_,g(n=t,r=e)||M(n,r,c()),D(n,r)),s,((a,t,e)=>{e!=D(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,r,c}),((a,e)=>M(t,e))),async(t,e)=>{const n=s(t,e)?await a(k+B(t)+Y+B(e)+"=?",["_"]):[];return o(n)?null:S(n[0],e)},async(a,t,e,s)=>await l(a,t,!0,!0,{[e]:s}),async(t,e)=>s(t,e)?h(i(r(await a(k+B(t)),(a=>[a[e],S(a,e)])),(([a,t])=>!E(a)&&!O(t)))):{},l]},z=(a,t,e,s,n)=>{let r,c,o,i=0,l=0,u=0;const w=[],d=async a=>{2!=i&&(i=1,await a(),i=0)},m={load:async(e,s)=>(await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),u=1,o=s((async(e,s)=>{await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),m),stopAutoLoad:()=>(u&&(n(o),o=void 0,u=0),m),save:async t=>(await m.schedule((async()=>{if(1!=i){i=2;try{await e(a.getContent,t)}catch{}i=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((a,t)=>{const e=t();m.save((()=>e))})),m),stopAutoSave:()=>(v(r,a.delListener),m),schedule:async(...a)=>(y(w,...a),await(async()=>{if(!l){for(l=1;!E((a=w,c=a.shift()));)try{await c()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return T(m)},H="store",K=(a,e,s,n,{storeTableName:r=t})=>{const[c,o,i]=x(e),l=z(a,(async()=>(await c(),w((await o(r,P)??{})[H]))),(async a=>l.schedule(c,(async()=>{var t;await i(r,P,"_",{[H]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},U="rowIdColumnName",V="tableId",W="tableName",G={load:0,save:0,[W]:t+"_values"},Q=(a,t,e,s)=>{const n=_();return C(a,((a,r)=>{const c=l(N(f(t,m(a)?{[e]:a}:a)),0,R(t));E(c[0])||s(r,c[0])||M(n,r,c)})),n},X=(a,t,e,s,n)=>{const[r,c,[o,y,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=l(N(f(G,e)),0,R(G)),n=s[2];return[Q(a,{[V]:null,[U]:P},V,(a=>a==n)),Q(t,{[W]:null,[U]:P,deleteEmptyColumns:0,deleteEmptyTable:0},W,((a,t)=>t==n)),s]})(n),[w,d,v,m,A]=x(t),L=z(a,(async()=>{await w();const a=await(async()=>h(i(await p($(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!O(a[1])))))(),t=await(async()=>o?await d(u,P):{})();return O(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();L.schedule(w,...(a=>$(c,(([t,e,s,n],r)=>async()=>await A(t,e,s,n,a[r]))))(t),(a=>y?async()=>await v(u,P,"_",a):null)(e))}),e,s);return L},Z="json",aa="autoLoadIntervalSeconds",ta={mode:Z,[aa]:1},ea="pragma ",sa="data_version",na="schema_version",ra=(a,t,e,s,n)=>{const r=f(ta,m(t)?{storeTableName:t}:t??{});let c,o;return(r.mode==Z?K:X)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(ea+sa))[0][sa],s=(await e(ea+na))[0][na];t==(c??=t)&&s==(o??=s)||(a(),c=t,o=s)}catch{}}),1e3*r[aa]),s(a)]),(([a,t])=>{clearInterval(a),c=o=null,n(t)}),r)},ca="change",oa=(a,t,e)=>ra(a,e,((a,e=[])=>new u(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=()=>a();return t.on(ca,e),e}),(a=>t.off(ca,a)));export{oa as createSqlite3Persister};
@@ -0,0 +1 @@
1
+ import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.freeze,r=(t=[])=>o.fromEntries(t),i=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),d=(t,e,a)=>(i(t,e)||(t[e]=a()),t[e]),u=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),g="t",y="delete",v=t=>[t.get(g),t.get("v")],h=(e,a,n,o)=>{const c=s(a)?e:e.get(a)??e.set(a,new t);let r;return l(n,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{i(n,e)||(c.delete(e),r=1)})),s(a)||c.size||e.delete(a),r},p=(o,i,p="tinybase")=>{const f=i.getMap(p);return((o,p,w,S,A)=>{let O,J,L,N=0,C=0,b=0;const m=[],z=async t=>{2!=N&&(N=1,await t(),N=0)},E={load:async(t,e)=>(await z((async()=>{try{o.setContent(await p())}catch{o.setContent([t,e])}})),E),startAutoLoad:async(t={},s={})=>(E.stopAutoLoad(),await E.load(t,s),b=1,L=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[c,i]=v(t),l={},h={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==g?n(a(t),(s=>{const o=d(l,s,r),i=c.get(s);n(a(t),(t=>{const a=d(o,t,r),s=i.get(t);u(e,((t,{action:e})=>a[t]=e==y?null:s.get(t)))}),(()=>u(e,((t,{action:e})=>o[t]=e==y?null:i.get(t)?.toJSON()))))}),(()=>u(e,((t,{action:e})=>l[t]=e==y?null:c.get(t)?.toJSON())))):u(e,((t,{action:e})=>h[t]=e==y?null:i.get(t)))))})(s),[l,h]})(f,s)));return f.observeDeep(s),s})((async(t,e)=>{await z((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await p())}catch{}}))})),E),stopAutoLoad:()=>{return b&&(t=L,f.unobserveDeep(t),L=void 0,b=0),E;var t},save:async e=>(await E.schedule((async()=>{if(1!=N){N=2;try{await(async(e,a)=>i.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(g,new t),e.set("v",new t))})(e);const[c,r]=v(e),i=()=>{d=1};let d=1;if(n(o?.(),(([t,e])=>{d=0,l(t,((t,e)=>d?0:s(t)?c.delete(e):n(c.get(e),(e=>l(t,((t,a)=>d?0:s(t)?e.delete(a):n(e.get(a),(e=>l(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),l(e,((t,e)=>d?0:s(t)?r.delete(e):r.set(e,t)))})),d){const[t,e]=a();h(c,void 0,t,((t,e,a)=>h(c,e,a,((t,e,a)=>h(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),h(r,void 0,e,((t,e,a)=>{r.get(e)!==a&&r.set(e,a)}))}})(f,e,a))))(o.getContent,e)}catch{}N=0}})),E),startAutoSave:async()=>(await E.stopAutoSave().save(),O=o.addDidFinishTransactionListener(((t,e)=>{const a=e();E.save((()=>a))})),E),stopAutoSave:()=>(n(O,o.delListener),E),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(m,...t),await(async()=>{if(!C){for(C=1;!s(J=a(m));)try{await J()}catch{}C=0}})(),E),getStore:()=>o,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c(E)})(o,(async()=>f.size?[f.get(g).toJSON(),f.get("v").toJSON()]:void 0))};export{p as createYjsPersister};
package/lib/persisters.js CHANGED
@@ -1 +1 @@
1
- const t=Object.freeze,a=(a,e,s,o,n)=>{let c,i,r=0,d=!1;const u=async t=>{2!=r&&(r=1,await t(),r=0)},y={load:async(t={},s={})=>(await u((async()=>{let o;try{o=await e()}catch{}a.setContent(o??[t,s])})),y),startAutoLoad:async(t={},s={})=>(y.stopAutoLoad(),await y.load(t,s),d=!0,i=o((async(t,s)=>{await u((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await e())}catch{}}))})),y),stopAutoLoad:()=>(d&&(n(i),i=void 0,d=!1),y),save:async t=>(1!=r&&(r=2,await s(a.getContent,t),r=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((t,a)=>y.save(a))),y),stopAutoSave:()=>{var t,e;return t=c,e=a.delListener,null==t||e(t),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(y)};export{a as createCustomPersister};
1
+ const t=t=>null==t,a=Object.freeze,s=(s,e,o,n,c)=>{let i,r,y,d=0,u=0,w=0;const h=[],v=async t=>{2!=d&&(d=1,await t(),d=0)},l={load:async(t,a)=>(await v((async()=>{try{s.setContent(await e())}catch{s.setContent([t,a])}})),l),startAutoLoad:async(t={},a={})=>(l.stopAutoLoad(),await l.load(t,a),w=1,y=n((async(t,a)=>{await v((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await e())}catch{}}))})),l),stopAutoLoad:()=>(w&&(c(y),y=void 0,w=0),l),save:async t=>(await l.schedule((async()=>{if(1!=d){d=2;try{await o(s.getContent,t)}catch{}d=0}})),l),startAutoSave:async()=>(await l.stopAutoSave().save(),i=s.addDidFinishTransactionListener(((t,a)=>{const s=a();l.save((()=>s))})),l),stopAutoSave:()=>{var a,e;return a=i,e=s.delListener,t(a)||e(a),l},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(h,...a),await(async()=>{if(!u){for(u=1;!t((a=h,r=a.shift()));)try{await r()}catch{}u=0}var a})(),l),getStore:()=>s,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(l)};export{s as createCustomPersister};
Binary file