tinybase 5.0.0-beta.0 → 5.0.0-beta.10

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 (493) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/mergeable-store.cjs +1 -0
  9. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  10. package/lib/cjs/metrics.cjs +1 -1
  11. package/lib/cjs/metrics.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  13. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  15. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  17. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  19. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  21. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  23. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-file.cjs +1 -1
  25. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  27. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  29. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  30. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  31. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  32. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  33. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  34. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  35. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  36. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  37. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  38. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  39. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  40. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  41. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  42. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  43. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  44. package/lib/cjs/persisters.cjs +1 -1
  45. package/lib/cjs/persisters.cjs.gz +0 -0
  46. package/lib/cjs/queries.cjs +1 -1
  47. package/lib/cjs/queries.cjs.gz +0 -0
  48. package/lib/cjs/relationships.cjs +1 -1
  49. package/lib/cjs/relationships.cjs.gz +0 -0
  50. package/lib/cjs/store.cjs +1 -1
  51. package/lib/cjs/store.cjs.gz +0 -0
  52. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
  53. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  54. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
  55. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  56. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
  57. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  58. package/lib/cjs/synchronizers.cjs +1 -0
  59. package/lib/cjs/synchronizers.cjs.gz +0 -0
  60. package/lib/cjs/tinybase.cjs +1 -1
  61. package/lib/cjs/tinybase.cjs.gz +0 -0
  62. package/lib/cjs/tools.cjs +1 -1
  63. package/lib/cjs/tools.cjs.gz +0 -0
  64. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  65. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  66. package/lib/cjs/ui-react-dom.cjs +1 -1
  67. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  68. package/lib/cjs/ui-react.cjs +1 -1
  69. package/lib/cjs/ui-react.cjs.gz +0 -0
  70. package/lib/cjs-es6/checkpoints.cjs +1 -1
  71. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  72. package/lib/cjs-es6/indexes.cjs +1 -1
  73. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  74. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  75. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  76. package/lib/cjs-es6/metrics.cjs +1 -1
  77. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  78. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  79. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  80. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  81. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  82. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  83. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  84. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  85. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  86. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  87. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  88. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  89. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  90. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  91. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  92. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  93. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  94. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  95. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  96. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  97. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  98. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  99. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  100. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  101. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  102. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  103. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  104. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  105. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  106. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  107. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  108. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  109. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  110. package/lib/cjs-es6/persisters.cjs +1 -1
  111. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  112. package/lib/cjs-es6/queries.cjs +1 -1
  113. package/lib/cjs-es6/queries.cjs.gz +0 -0
  114. package/lib/cjs-es6/relationships.cjs +1 -1
  115. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  116. package/lib/cjs-es6/store.cjs +1 -1
  117. package/lib/cjs-es6/store.cjs.gz +0 -0
  118. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
  119. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  120. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
  121. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  122. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
  123. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  124. package/lib/cjs-es6/synchronizers.cjs +1 -0
  125. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  126. package/lib/cjs-es6/tinybase.cjs +1 -1
  127. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  128. package/lib/cjs-es6/tools.cjs +1 -1
  129. package/lib/cjs-es6/tools.cjs.gz +0 -0
  130. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  131. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  132. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  133. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  134. package/lib/cjs-es6/ui-react.cjs +1 -1
  135. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  136. package/lib/debug/checkpoints.js +254 -235
  137. package/lib/debug/indexes.js +10 -6
  138. package/lib/debug/mergeable-store.js +2230 -0
  139. package/lib/debug/metrics.js +10 -6
  140. package/lib/debug/persisters/persister-automerge.js +113 -87
  141. package/lib/debug/persisters/persister-browser.js +95 -57
  142. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +175 -109
  143. package/lib/debug/persisters/persister-electric-sql.js +176 -109
  144. package/lib/debug/persisters/persister-expo-sqlite-next.js +176 -110
  145. package/lib/debug/persisters/persister-expo-sqlite.js +175 -109
  146. package/lib/debug/persisters/persister-file.js +94 -57
  147. package/lib/debug/persisters/persister-indexed-db.js +94 -57
  148. package/lib/debug/persisters/persister-libsql.js +913 -0
  149. package/lib/debug/persisters/persister-partykit-client.js +90 -59
  150. package/lib/debug/persisters/persister-partykit-server.js +19 -26
  151. package/lib/debug/persisters/persister-powersync.js +928 -0
  152. package/lib/debug/persisters/persister-remote.js +86 -53
  153. package/lib/debug/persisters/persister-sqlite-wasm.js +175 -109
  154. package/lib/debug/persisters/persister-sqlite3.js +175 -109
  155. package/lib/debug/persisters/persister-yjs.js +111 -84
  156. package/lib/debug/persisters.js +82 -50
  157. package/lib/debug/queries.js +18 -12
  158. package/lib/debug/relationships.js +10 -6
  159. package/lib/debug/store.js +150 -127
  160. package/lib/debug/synchronizers/synchronizer-local.js +559 -0
  161. package/lib/debug/synchronizers/synchronizer-ws-client.js +586 -0
  162. package/lib/debug/synchronizers/synchronizer-ws-server.js +96 -0
  163. package/lib/debug/synchronizers.js +519 -0
  164. package/lib/debug/tinybase.js +1281 -409
  165. package/lib/debug/tools.js +41 -64
  166. package/lib/debug/ui-react-dom.js +277 -213
  167. package/lib/debug/ui-react.js +213 -198
  168. package/lib/es6/checkpoints.js +1 -1
  169. package/lib/es6/checkpoints.js.gz +0 -0
  170. package/lib/es6/indexes.js +1 -1
  171. package/lib/es6/indexes.js.gz +0 -0
  172. package/lib/es6/mergeable-store.js +1 -0
  173. package/lib/es6/mergeable-store.js.gz +0 -0
  174. package/lib/es6/metrics.js +1 -1
  175. package/lib/es6/metrics.js.gz +0 -0
  176. package/lib/es6/persisters/persister-automerge.js +1 -1
  177. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  178. package/lib/es6/persisters/persister-browser.js +1 -1
  179. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  180. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  181. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  182. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  183. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  184. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  185. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  186. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  187. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  188. package/lib/es6/persisters/persister-file.js +1 -1
  189. package/lib/es6/persisters/persister-file.js.gz +0 -0
  190. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  191. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  192. package/lib/es6/persisters/persister-libsql.js +1 -0
  193. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  194. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  195. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  196. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  197. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  198. package/lib/es6/persisters/persister-powersync.js +1 -0
  199. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  200. package/lib/es6/persisters/persister-remote.js +1 -1
  201. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  202. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  203. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  204. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  205. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  206. package/lib/es6/persisters/persister-yjs.js +1 -1
  207. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  208. package/lib/es6/persisters.js +1 -1
  209. package/lib/es6/persisters.js.gz +0 -0
  210. package/lib/es6/queries.js +1 -1
  211. package/lib/es6/queries.js.gz +0 -0
  212. package/lib/es6/relationships.js +1 -1
  213. package/lib/es6/relationships.js.gz +0 -0
  214. package/lib/es6/store.js +1 -1
  215. package/lib/es6/store.js.gz +0 -0
  216. package/lib/es6/synchronizers/synchronizer-local.js +1 -0
  217. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  218. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
  219. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  220. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
  221. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  222. package/lib/es6/synchronizers.js +1 -0
  223. package/lib/es6/synchronizers.js.gz +0 -0
  224. package/lib/es6/tinybase.js +1 -1
  225. package/lib/es6/tinybase.js.gz +0 -0
  226. package/lib/es6/tools.js +1 -1
  227. package/lib/es6/tools.js.gz +0 -0
  228. package/lib/es6/ui-react-dom-debug.js +1 -1
  229. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  230. package/lib/es6/ui-react-dom.js +1 -1
  231. package/lib/es6/ui-react-dom.js.gz +0 -0
  232. package/lib/es6/ui-react.js +1 -1
  233. package/lib/es6/ui-react.js.gz +0 -0
  234. package/lib/indexes.js +1 -1
  235. package/lib/indexes.js.gz +0 -0
  236. package/lib/mergeable-store.js +1 -0
  237. package/lib/mergeable-store.js.gz +0 -0
  238. package/lib/metrics.js +1 -1
  239. package/lib/metrics.js.gz +0 -0
  240. package/lib/persisters/persister-automerge.js +1 -1
  241. package/lib/persisters/persister-automerge.js.gz +0 -0
  242. package/lib/persisters/persister-browser.js +1 -1
  243. package/lib/persisters/persister-browser.js.gz +0 -0
  244. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  245. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  246. package/lib/persisters/persister-electric-sql.js +1 -1
  247. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  248. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  249. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  250. package/lib/persisters/persister-expo-sqlite.js +1 -1
  251. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  252. package/lib/persisters/persister-file.js +1 -1
  253. package/lib/persisters/persister-file.js.gz +0 -0
  254. package/lib/persisters/persister-indexed-db.js +1 -1
  255. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  256. package/lib/persisters/persister-libsql.js +1 -0
  257. package/lib/persisters/persister-libsql.js.gz +0 -0
  258. package/lib/persisters/persister-partykit-client.js +1 -1
  259. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  260. package/lib/persisters/persister-partykit-server.js +1 -1
  261. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  262. package/lib/persisters/persister-powersync.js +1 -0
  263. package/lib/persisters/persister-powersync.js.gz +0 -0
  264. package/lib/persisters/persister-remote.js +1 -1
  265. package/lib/persisters/persister-remote.js.gz +0 -0
  266. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  267. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  268. package/lib/persisters/persister-sqlite3.js +1 -1
  269. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  270. package/lib/persisters/persister-yjs.js +1 -1
  271. package/lib/persisters/persister-yjs.js.gz +0 -0
  272. package/lib/persisters.js +1 -1
  273. package/lib/persisters.js.gz +0 -0
  274. package/lib/queries.js +1 -1
  275. package/lib/queries.js.gz +0 -0
  276. package/lib/relationships.js +1 -1
  277. package/lib/relationships.js.gz +0 -0
  278. package/lib/store.js +1 -1
  279. package/lib/store.js.gz +0 -0
  280. package/lib/synchronizers/synchronizer-local.js +1 -0
  281. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  282. package/lib/synchronizers/synchronizer-ws-client.js +1 -0
  283. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  284. package/lib/synchronizers/synchronizer-ws-server.js +1 -0
  285. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  286. package/lib/synchronizers.js +1 -0
  287. package/lib/synchronizers.js.gz +0 -0
  288. package/lib/tinybase.js +1 -1
  289. package/lib/tinybase.js.gz +0 -0
  290. package/lib/tools.js +1 -1
  291. package/lib/tools.js.gz +0 -0
  292. package/lib/types/checkpoints.d.ts +2 -2
  293. package/lib/types/indexes.d.ts +2 -2
  294. package/lib/types/mergeable-store.d.ts +214 -0
  295. package/lib/types/metrics.d.ts +2 -2
  296. package/lib/types/persisters/persister-automerge.d.ts +11 -7
  297. package/lib/types/persisters/persister-browser.d.ts +13 -4
  298. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +4 -0
  299. package/lib/types/persisters/persister-electric-sql.d.ts +4 -0
  300. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +7 -3
  301. package/lib/types/persisters/persister-expo-sqlite.d.ts +4 -0
  302. package/lib/types/persisters/persister-file.d.ts +7 -2
  303. package/lib/types/persisters/persister-indexed-db.d.ts +4 -0
  304. package/lib/types/persisters/persister-libsql.d.ts +142 -0
  305. package/lib/types/persisters/persister-partykit-client.d.ts +4 -0
  306. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  307. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  308. package/lib/types/persisters/persister-remote.d.ts +4 -0
  309. package/lib/types/persisters/persister-sqlite-wasm.d.ts +4 -0
  310. package/lib/types/persisters/persister-sqlite3.d.ts +4 -0
  311. package/lib/types/persisters/persister-yjs.d.ts +6 -2
  312. package/lib/types/persisters.d.ts +125 -48
  313. package/lib/types/queries.d.ts +2 -2
  314. package/lib/types/relationships.d.ts +2 -2
  315. package/lib/types/store.d.ts +275 -187
  316. package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
  317. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +35 -0
  318. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +36 -0
  319. package/lib/types/synchronizers.d.ts +132 -0
  320. package/lib/types/tinybase.d.ts +10 -8
  321. package/lib/types/tools.d.ts +4 -4
  322. package/lib/types/ui-react.d.ts +235 -95
  323. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  324. package/lib/types/with-schemas/indexes.d.ts +2 -2
  325. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  326. package/lib/types/with-schemas/internal/store.d.ts +8 -3
  327. package/lib/types/with-schemas/mergeable-store.d.ts +492 -0
  328. package/lib/types/with-schemas/metrics.d.ts +2 -2
  329. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +12 -8
  330. package/lib/types/with-schemas/persisters/persister-browser.d.ts +17 -8
  331. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +5 -1
  332. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +5 -1
  333. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +8 -4
  334. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +5 -1
  335. package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -4
  336. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +5 -1
  337. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
  338. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +5 -1
  339. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  340. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  341. package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -1
  342. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +5 -1
  343. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +5 -1
  344. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +7 -3
  345. package/lib/types/with-schemas/persisters.d.ts +161 -101
  346. package/lib/types/with-schemas/queries.d.ts +3 -3
  347. package/lib/types/with-schemas/relationships.d.ts +2 -2
  348. package/lib/types/with-schemas/store.d.ts +483 -345
  349. package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
  350. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +41 -0
  351. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +36 -0
  352. package/lib/types/with-schemas/synchronizers.d.ts +146 -0
  353. package/lib/types/with-schemas/tinybase.d.ts +9 -8
  354. package/lib/types/with-schemas/tools.d.ts +4 -4
  355. package/lib/types/with-schemas/ui-react.d.ts +259 -102
  356. package/lib/ui-react-dom.js +1 -1
  357. package/lib/ui-react-dom.js.gz +0 -0
  358. package/lib/ui-react.js +1 -1
  359. package/lib/ui-react.js.gz +0 -0
  360. package/lib/umd/checkpoints.js +1 -1
  361. package/lib/umd/checkpoints.js.gz +0 -0
  362. package/lib/umd/indexes.js +1 -1
  363. package/lib/umd/indexes.js.gz +0 -0
  364. package/lib/umd/mergeable-store.js +1 -0
  365. package/lib/umd/mergeable-store.js.gz +0 -0
  366. package/lib/umd/metrics.js +1 -1
  367. package/lib/umd/metrics.js.gz +0 -0
  368. package/lib/umd/persisters/persister-automerge.js +1 -1
  369. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  370. package/lib/umd/persisters/persister-browser.js +1 -1
  371. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  372. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  373. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  374. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  375. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  376. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  377. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  378. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  379. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  380. package/lib/umd/persisters/persister-file.js +1 -1
  381. package/lib/umd/persisters/persister-file.js.gz +0 -0
  382. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  383. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  384. package/lib/umd/persisters/persister-libsql.js +1 -0
  385. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  386. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  387. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  388. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  389. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  390. package/lib/umd/persisters/persister-powersync.js +1 -0
  391. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  392. package/lib/umd/persisters/persister-remote.js +1 -1
  393. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  394. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  395. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  396. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  397. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  398. package/lib/umd/persisters/persister-yjs.js +1 -1
  399. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  400. package/lib/umd/persisters.js +1 -1
  401. package/lib/umd/persisters.js.gz +0 -0
  402. package/lib/umd/queries.js +1 -1
  403. package/lib/umd/queries.js.gz +0 -0
  404. package/lib/umd/relationships.js +1 -1
  405. package/lib/umd/relationships.js.gz +0 -0
  406. package/lib/umd/store.js +1 -1
  407. package/lib/umd/store.js.gz +0 -0
  408. package/lib/umd/synchronizers/synchronizer-local.js +1 -0
  409. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  410. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
  411. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  412. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
  413. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  414. package/lib/umd/synchronizers.js +1 -0
  415. package/lib/umd/synchronizers.js.gz +0 -0
  416. package/lib/umd/tinybase.js +1 -1
  417. package/lib/umd/tinybase.js.gz +0 -0
  418. package/lib/umd/tools.js +1 -1
  419. package/lib/umd/tools.js.gz +0 -0
  420. package/lib/umd/ui-react-dom-debug.js +1 -1
  421. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  422. package/lib/umd/ui-react-dom.js +1 -1
  423. package/lib/umd/ui-react-dom.js.gz +0 -0
  424. package/lib/umd/ui-react.js +1 -1
  425. package/lib/umd/ui-react.js.gz +0 -0
  426. package/lib/umd-es6/checkpoints.js +1 -1
  427. package/lib/umd-es6/checkpoints.js.gz +0 -0
  428. package/lib/umd-es6/indexes.js +1 -1
  429. package/lib/umd-es6/indexes.js.gz +0 -0
  430. package/lib/umd-es6/mergeable-store.js +1 -0
  431. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  432. package/lib/umd-es6/metrics.js +1 -1
  433. package/lib/umd-es6/metrics.js.gz +0 -0
  434. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  435. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  436. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  437. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  438. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  439. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  440. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  441. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  442. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  443. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  444. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  445. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  446. package/lib/umd-es6/persisters/persister-file.js +1 -1
  447. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  448. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  449. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  450. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  451. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  452. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  453. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  454. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  455. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  456. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  457. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  458. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  459. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  460. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  461. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  462. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  463. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  464. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  465. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  466. package/lib/umd-es6/persisters.js +1 -1
  467. package/lib/umd-es6/persisters.js.gz +0 -0
  468. package/lib/umd-es6/queries.js +1 -1
  469. package/lib/umd-es6/queries.js.gz +0 -0
  470. package/lib/umd-es6/relationships.js +1 -1
  471. package/lib/umd-es6/relationships.js.gz +0 -0
  472. package/lib/umd-es6/store.js +1 -1
  473. package/lib/umd-es6/store.js.gz +0 -0
  474. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
  475. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  476. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
  477. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  478. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
  479. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  480. package/lib/umd-es6/synchronizers.js +1 -0
  481. package/lib/umd-es6/synchronizers.js.gz +0 -0
  482. package/lib/umd-es6/tinybase.js +1 -1
  483. package/lib/umd-es6/tinybase.js.gz +0 -0
  484. package/lib/umd-es6/tools.js +1 -1
  485. package/lib/umd-es6/tools.js.gz +0 -0
  486. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  487. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  488. package/lib/umd-es6/ui-react-dom.js +1 -1
  489. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  490. package/lib/umd-es6/ui-react.js +1 -1
  491. package/lib/umd-es6/ui-react.js.gz +0 -0
  492. package/package.json +68 -48
  493. package/readme.md +2 -2
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,V="Cell",C=V+d,S="Value",v=S+"s",y=S+d,p=e=>s+e,m=isFinite,w=e=>null==e,I=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.keys,k=z.isFrozen,A=z.freeze,M=e=>!w(e)&&I(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),N=(e,t)=>!w(((e,t)=>I(e,(e=>e[t])))(e,t)),B=(e,t)=>(delete e[t],e),D=(e,t)=>O(z.entries(e),(([e,s])=>t(s,e))),H=e=>M(e)&&0==(e=>E(j(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>w(e)||0==W(e),G=e=>e.clear(),K=(e,t)=>e?.forEach(t),Q=(e,t)=>e?.delete(t),U=e=>new Map(e),X=e=>[...e?.keys()??[]],Y=(e,t)=>e?.get(t),Z=(e,t)=>K(e,((e,s)=>t(s,e))),_=(e,t,s)=>w(s)?(Q(e,t),e):e?.set(t,s),ee=(e,t,s)=>($(e,t)||_(e,t,s()),Y(e,t)),te=(e,t,s,l=_)=>(D(t,((t,l)=>s(e,l,t))),Z(e,(s=>N(t,s)?0:l(e,s))),e),se=(e,t,s)=>{const l={};return K(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},le=(e,t,s)=>se(e,(e=>se(e,t,s)),H),ne=(e,t,s)=>se(e,(e=>le(e,t,s)),H),ae=(e,t)=>{const s=U();return K(e,((e,l)=>s.set(l,t?.(e)??e))),s},oe=e=>ae(e,ae),re=e=>ae(e,oe),ce=(e,t,s,l,n=0)=>I((s?ee:Y)(e,t[n],n>E(t)-2?s:U),(a=>{if(n>E(t)-2)return l?.(a)&&_(e,t[n]),a;const o=ce(a,t,s,l,n+1);return q(a)&&_(e,t[n]),o})),ie=e=>new Set(Array.isArray(e)||w(e)?e:[e]),de=(e,t)=>e?.add(t),ue=/^\d+$/,he=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{ue.test(t)&&E(e)<1e3&&x(e,t)}]},fe=e=>[e,e],ge=()=>[U(),U()],Te=e=>[...e],be=([e,t])=>e===t,Ve=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Ce=(e,t,s,l,n)=>w(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Se=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ve=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),ye=JSON.parse,pe=(e,t,s)=>w(e)||!M(e)||H(e)||k(e)?(s?.(),!1):(D(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),me=(e,t,s)=>_(e,t,Y(e,t)==-s?void 0:s),we=()=>{let e,t,l=!1,n=!1,o=!1,d=!1,m=0;const z=U(),P=U(),j=U(),k=U(),M=U(),ue=U(),Ie=U(),Re=U(),Je=U(),Le=U(),Ee=U(),Fe=U(),Oe=U(),xe=U(),ze=ie(),Pe=U(),je=U(),ke=U(),Ae=U(),Me=ge(),Ne=ge(),Be=ge(),De=ge(),He=ge(),We=ge(),$e=ge(),qe=ge(),Ge=ge(),Ke=ge(),Qe=ge(),Ue=ge(),Xe=ge(),Ye=ge(),Ze=ge(),_e=ge(),et=ge(),tt=ge(),st=ge(),lt=ge(),nt=ge(),at=ge(),ot=U(),rt=ge(),[ct,it,dt,ut]=(e=>{let t;const[l,n]=he(),a=U();return[(e,n,o,r=[],c=(()=>[]))=>{t??=zs;const i=l(1);return _(a,i,[e,n,o,r,c]),de(ce(n,o??[s],ie),i),i},(e,l,...n)=>F(((e,t=[s])=>{const l=[],n=(e,s)=>s==E(t)?x(l,e):null===t[s]?K(e,(e=>n(e,s+1))):F([t[s],null],(t=>n(Y(e,t),s+1)));return n(e,0),l})(e,l),(e=>K(e,(e=>Y(a,e)[0](t,...l??[],...n))))),e=>I(Y(a,e),(([,t,l])=>(ce(t,l??[s],void 0,(t=>(Q(t,e),q(t)?1:0))),_(a,e),n(e),l))),e=>I(Y(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...n(o)):w(s[r])?F(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),ht=e=>{if(!pe(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(Ve(e[c])!=t&&B(e,c),0))},ft=(t,s)=>(!e||$(Ee,s)||Wt(s))&&pe(t,((e,t)=>gt(s,t,e)),(()=>Wt(s))),gt=(e,t,s,l)=>pe(l?s:Ct(s,e,t),((l,n)=>I(Tt(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Wt(e,t))),Tt=(t,s,l,n)=>e?I(Y(Y(Ee,t),l),(e=>Ve(n)!=e[r]?Wt(t,s,l,n,e[c]):n),(()=>Wt(t,s,l,n))):w(Ve(n))?Wt(t,s,l,n):n,bt=(e,t)=>pe(t?e:St(e),((t,s)=>I(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Vt=(e,s)=>t?I(Y(Oe,e),(t=>Ve(s)!=t[r]?$t(e,s,t[c]):s),(()=>$t(e,s))):w(Ve(s))?$t(e,s):s,Ct=(e,t,s)=>(I(Y(Fe,t),(([l,n])=>{K(l,((t,s)=>{N(e,s)||(e[s]=t)})),K(n,(l=>{N(e,l)||Wt(t,s,l)}))})),e),St=e=>(t&&(K(xe,((t,s)=>{N(e,s)||(e[s]=t)})),K(ze,(t=>{N(e,t)||$t(t)}))),e),vt=e=>te(Ee,e,((e,t,s)=>{const l=U(),n=ie();te(ee(Ee,t,U),s,((e,t,s)=>{_(e,t,s),I(s[c],(e=>_(l,t,e)),(()=>de(n,t)))})),_(Fe,t,[l,n])}),((e,t)=>{_(Ee,t),_(Fe,t)})),yt=e=>te(Oe,e,((e,t,s)=>{_(Oe,t,s),I(s[c],(e=>_(xe,t,e)),(()=>de(ze,t)))}),((e,t)=>{_(Oe,t),_(xe,t),Q(ze,t)})),pt=e=>H(e)?ws():Ss(e),mt=e=>te(ke,e,((e,t,s)=>wt(t,s)),((e,t)=>zt(t))),wt=(e,t)=>te(ee(ke,e,(()=>(At(e,1),_(Pe,e,he()),_(je,e,U()),U()))),t,((t,s,l)=>It(e,t,s,l)),((t,s)=>Pt(e,t,s))),It=(e,t,s,l,n)=>te(ee(t,s,(()=>(Mt(e,s,1),U()))),l,((t,l,n)=>Rt(e,s,t,l,n)),((l,a)=>jt(e,t,s,l,a,n))),Rt=(e,t,s,l,n)=>{$(s,l)||Nt(e,t,l,1);const a=Y(s,l);n!==a&&(Bt(e,t,l,a,n),_(s,l,n))},Jt=(e,t,s,l,n)=>I(Y(t,s),(t=>Rt(e,s,t,l,n)),(()=>It(e,t,s,Ct({[l]:n},e,s)))),Lt=e=>H(e)?Js():vs(e),Et=e=>te(Ae,e,((e,t,s)=>Ft(t,s)),((e,t)=>kt(t))),Ft=(e,t)=>{$(Ae,e)||Dt(e,1);const s=Y(Ae,e);t!==s&&(Ht(e,s,t),_(Ae,e,t))},Ot=(e,t)=>{const[s]=Y(Pe,e),l=s(t);return $(Y(ke,e),l)?Ot(e,t):l},xt=e=>Y(ke,e)??wt(e,{}),zt=e=>wt(e,{}),Pt=(e,t,s)=>{const[,l]=Y(Pe,e);l(s),It(e,t,s,{},!0)},jt=(e,t,s,l,n,a)=>{const o=Y(Y(Fe,e)?.[0],n);if(!w(o)&&!a)return Rt(e,s,l,n,o);const r=t=>{Bt(e,s,t,Y(l,t)),Nt(e,s,t,-1),_(l,t)};w(o)?r(n):Z(l,r),q(l)&&(Mt(e,s,-1),q(_(t,s))&&(At(e,-1),_(ke,e),_(Pe,e),_(je,e)))},kt=e=>{const t=Y(xe,e);if(!w(t))return Ft(e,t);Ht(e,Y(Ae,e)),Dt(e,-1),_(Ae,e)},At=(e,t)=>me(z,e,t),Mt=(e,t,s)=>me(ee(k,e,U),t,s)&&_(j,e,ee(j,e,(()=>0))+s),Nt=(e,t,s,l)=>{const n=Y(je,e),a=Y(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&me(ee(P,e,U),s,l),_(n,s,a!=-l?a+l:null),me(ee(ee(M,e,U),t,U),s,l)},Bt=(e,t,s,l,n)=>ee(ee(ee(ue,e,U),t,U),s,(()=>[l,0]))[1]=n,Dt=(e,t)=>me(Ie,e,t),Ht=(e,t,s)=>ee(Re,e,(()=>[t,0]))[1]=s,Wt=(e,t,s,l,n)=>(x(ee(ee(ee(Je,e,U),t,U),s,(()=>[])),l),n),$t=(e,t,s)=>(x(ee(Le,e,(()=>[])),t),s),qt=(e,t,s)=>I(Y(Y(Y(ue,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...fe(cs(e,t,s))])),Gt=e=>I(Y(Re,e),(([e,t])=>[!0,e,t]),(()=>[!1,...fe(us(e))])),Kt=e=>q(Je)||q(_e[e])?0:K(e?re(Je):Je,((t,s)=>K(t,((t,l)=>K(t,((t,n)=>it(_e[e],[s,l,n],t))))))),Qt=e=>q(Le)||q(et[e])?0:K(e?ae(Le):Le,((t,s)=>it(et[e],[s],t))),Ut=(e,t,s,l)=>{if(!q(e))return it(t,l,(()=>se(e))),Z(e,((e,t)=>it(s,[...l??[],e],1==t))),1},Xt=e=>{const t=hs();t!=o&&it(Me[e],void 0,t);const s=q(Ke[e]),l=q(Xe[e])&&q(Ye[e])&&q(Ge[e])&&q(Qe[e])&&q(We[e])&&q($e[e])&&q(qe[e])&&s&&q(Be[e])&&q(De[e]),n=q(Ze[e])&&q(Ue[e])&&q(He[e])&&q(Ne[e]);if(!l||!n){const t=e?[ae(z),oe(P),ae(j),oe(k),re(M),re(ue)]:[z,P,j,k,M,ue];if(!l){Ut(t[0],Be[e],De[e]),K(t[1],((t,s)=>Ut(t,We[e],$e[e],[s]))),K(t[2],((t,s)=>{0!=t&&it(qe[e],[s],ns(s))}));const l=ie();K(t[3],((t,n)=>{Ut(t,Ge[e],Qe[e],[n])&&!s&&(it(Ke[e],[n,null]),de(l,n))})),s||K(t[5],((t,s)=>{if(!$(l,s)){const l=ie();K(t,(e=>K(e,(([t,s],n)=>s!==t?de(l,n):Q(e,n))))),K(l,(t=>it(Ke[e],[s,t])))}})),K(t[4],((t,s)=>K(t,((t,l)=>Ut(t,Xe[e],Ye[e],[s,l])))))}if(!n){let s;K(t[5],((t,l)=>{let n;K(t,((t,a)=>{let o;K(t,(([t,r],c)=>{r!==t&&(it(Ze[e],[l,a,c],r,t,qt),s=n=o=1)})),o&&it(Ue[e],[l,a],qt)})),n&&it(He[e],[l],qt)})),s&&it(Ne[e],void 0,qt)}}},Yt=e=>{const t=Vs();t!=d&&it(tt[e],void 0,t);const s=q(lt[e])&&q(nt[e]),l=q(at[e])&&q(st[e]);if(!s||!l){const t=e?[ae(Ie),ae(Re)]:[Ie,Re];if(s||Ut(t[0],lt[e],nt[e]),!l){let s;K(t[1],(([t,l],n)=>{l!==t&&(it(at[e],[n],l,t,Gt),s=1)})),s&&it(st[e],void 0,Gt)}}},Zt=(e,...t)=>(Fs((()=>e(...O(t,p)))),zs),_t=()=>[se(ue,((e,t)=>-1===Y(z,t)?null:se(e,((e,s)=>-1===Y(Y(k,t),s)?null:se(e,(([,e])=>e??null),((e,t)=>be(t)))),H)),H),se(Re,(([,e])=>e??null),((e,t)=>be(t)))],es=()=>({cellsTouched:l,valuesTouched:n,changedCells:ne(ue,Te,be),invalidCells:ne(Je),changedValues:se(Re,Te,be),invalidValues:se(Le),changedTableIds:se(z),changedRowIds:le(k),changedCellIds:ne(M),changedValueIds:se(Ie)}),ts=()=>ne(ke),ss=()=>X(ke),ls=e=>X(Y(je,p(e))),ns=e=>W(Y(ke,p(e))),as=e=>X(Y(ke,p(e))),os=(e,t,s,l=0,n)=>{return O(L((o=Y(ke,p(e)),r=(e,s)=>[w(t)?s:Y(e,p(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,w(n)?n:l+n),(([,e])=>e));var a,o,r},rs=(e,t)=>X(Y(Y(ke,p(e)),p(t))),cs=(e,t,s)=>Y(Y(Y(ke,p(e)),p(t)),p(s)),is=()=>se(Ae),ds=()=>X(Ae),us=e=>Y(Ae,p(e)),hs=()=>!q(ke),fs=e=>$(ke,p(e)),gs=(e,t)=>$(Y(je,p(e)),p(t)),Ts=(e,t)=>$(Y(ke,p(e)),p(t)),bs=(e,t,s)=>$(Y(Y(ke,p(e)),p(t)),p(s)),Vs=()=>!q(Ae),Cs=e=>$(Ae,p(e)),Ss=e=>Zt((()=>(e=>pe(e,ft,Wt))(e)?mt(e):0)),vs=e=>Zt((()=>bt(e)?Et(e):0)),ys=e=>{try{pt(ye(e))}catch{}return zs},ps=t=>Zt((()=>{if((e=pe(t,(e=>pe(e,ht))))&&(vt(t),!q(ke))){const e=ts();ws(),Ss(e)}})),ms=e=>Zt((()=>{if(t=(e=>pe(e,ht))(e)){const s=is();Es(),Js(),t=!0,yt(e),vs(s)}})),ws=()=>Zt((()=>mt({}))),Is=e=>Zt((e=>$(ke,e)?zt(e):0),e),Rs=(e,t)=>Zt(((e,t)=>I(Y(ke,e),(s=>$(s,t)?Pt(e,s,t):0))),e,t),Js=()=>Zt((()=>Et({}))),Ls=()=>Zt((()=>{vt({}),e=!1})),Es=()=>Zt((()=>{yt({}),t=!1})),Fs=(e,t)=>{if(-1!=m){Os();const s=e();return xs(t),s}},Os=()=>(-1!=m&&m++,1==m&&it(ot,void 0,_t,es),zs),xs=e=>(m>0&&(m--,0==m&&(l=!q(ue),n=!q(Re),m=1,Kt(1),l&&Xt(1),Qt(1),n&&Yt(1),e?.(_t,es)&&(K(ue,((e,t)=>K(e,((e,s)=>K(e,(([e],l)=>Ce(zs,t,s,l,e))))))),K(Re,(([e],t)=>Se(zs,t,e))),l=n=!1),it(rt[0],void 0,_t,es),m=-1,Kt(0),l&&Xt(0),Qt(0),n&&Yt(0),it(rt[1],void 0,_t,es),m=0,l=n=!1,o=hs(),d=Vs(),F([z,P,j,k,M,ue,Je,Ie,Re,Le],G))),zs),zs={getContent:()=>[ts(),is()],getTables:ts,getTableIds:ss,getTable:e=>le(Y(ke,p(e))),getTableCellIds:ls,getRowCount:ns,getRowIds:as,getSortedRowIds:os,getRow:(e,t)=>se(Y(Y(ke,p(e)),p(t))),getCellIds:rs,getCell:cs,getValues:is,getValueIds:ds,getValue:us,hasTables:hs,hasTable:fs,hasTableCell:gs,hasRow:Ts,hasCell:bs,hasValues:Vs,hasValue:Cs,getTablesJson:()=>ve(ke),getValuesJson:()=>ve(Ae),getJson:()=>ve([ke,Ae]),getTablesSchemaJson:()=>ve(Ee),getValuesSchemaJson:()=>ve(Oe),getSchemaJson:()=>ve([Ee,Oe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Zt((()=>{(H(e)?ws:Ss)(e),(H(t)?Js:vs)(t)})),setTables:Ss,setTable:(e,t)=>Zt((e=>ft(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>gt(e,t,s)?It(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let l;return gt(e,l,t)&&(e=p(e),It(e,xt(e),l=Ot(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(gt(e,t,s,1)){const l=xt(e);D(s,((s,n)=>Jt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Tt(e,t,s,J(l)?l(cs(e,t,s)):l),(l=>Jt(e,xt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>Zt((()=>bt(e,1)?D(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>Zt((e=>I(Vt(e,J(t)?t(us(e)):t),(t=>Ft(e,t)))),e),setTransactionChanges:e=>Zt((()=>{D(e[0],((e,t)=>w(e)?Is(t):D(e,((e,s)=>w(e)?Rs(t,s):D(e,((e,l)=>Ce(zs,t,s,l,e))))))),D(e[1],((e,t)=>Se(zs,t,e)))})),setTablesJson:ys,setValuesJson:e=>{try{Lt(ye(e))}catch{}return zs},setJson:e=>Zt((()=>{try{const[t,s]=ye(e);pt(t),Lt(s)}catch{ys(e)}})),setTablesSchema:ps,setValuesSchema:ms,setSchema:(e,t)=>Zt((()=>{ps(e),ms(t)})),delTables:ws,delTable:Is,delRow:Rs,delCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Y(ke,e),(n=>I(Y(n,t),(a=>$(a,s)?jt(e,n,t,a,s,l):0))))),e,t,s),delValues:Js,delValue:e=>Zt((e=>$(Ae,e)?kt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>Zt((()=>{Ls(),Es()})),transaction:Fs,startTransaction:Os,finishTransaction:xs,forEachTable:e=>K(ke,((t,s)=>e(s,(e=>K(t,((t,s)=>e(s,(e=>Z(t,e))))))))),forEachTableCell:(e,t)=>Z(Y(je,p(e)),t),forEachRow:(e,t)=>K(Y(ke,p(e)),((e,s)=>t(s,(t=>Z(e,t))))),forEachCell:(e,t,s)=>Z(Y(Y(ke,p(e)),p(t)),s),forEachValue:e=>Z(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=os(e,t,s,l,n);return ct((()=>{const o=os(e,t,s,l,n);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(zs,e,t,s,l,n,r))}),Ke[o?1:0],[e,t],[ss])},addStartTransactionListener:e=>ct(e,ot),addWillFinishTransactionListener:e=>ct(e,rt[0]),addDidFinishTransactionListener:e=>ct(e,rt[1]),callListener:e=>(ut(e),zs),delListener:e=>(dt(e),zs),getListenerStats:()=>({}),createStore:we,addListener:ct,callListeners:it};return D({[i+h]:[0,Me,[],()=>[hs()]],[h]:[0,Ne],[f]:[0,Be],[i+u]:[1,De,[ss],e=>[fs(...e)]],[u]:[1,He,[ss]],[u+C]:[1,We,[ss]],[i+u+V]:[2,$e,[ss,ls],e=>[gs(...e)]],[T]:[1,qe,[ss]],[b]:[1,Ge,[ss]],[i+g]:[2,Qe,[ss,as],e=>[Ts(...e)]],[g]:[2,Ue,[ss,as]],[C]:[2,Xe,[ss,as]],[i+V]:[3,Ye,[ss,as,rs],e=>[bs(...e)]],[V]:[3,Ze,[ss,as,rs],e=>fe(cs(...e))],InvalidCell:[3,_e],[i+v]:[0,tt,[],()=>[Vs()]],[v]:[0,st],[y]:[0,lt],[i+S]:[1,nt,[ds],e=>[Cs(...e)]],[S]:[1,at,[ds],e=>fe(us(e[0]))],InvalidValue:[1,et]},(([e,t,s,l],n)=>{zs["add"+n+"Listener"]=(...n)=>ct(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0,s,l)})),A(zs)};e.createStore=we},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",v=p+"s",y=p+d,C=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,I=e=>t(e)==o,J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.isFrozen,A=e=>!w(e)&&L(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),M=z.keys,N=z.freeze,B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>A(e)&&0==(e=>E(M(e)))(e),$=(e,t,s,n=0)=>w(e)||!A(e)||!n&&W(e)||k(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!!n||!W(e)),q=e=>e?.size??0,G=(e,t)=>e?.has(t)??!1,K=e=>w(e)||0==q(e),Q=e=>e.clear(),U=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),Z=e=>[...e?.keys()??[]],_=(e,t)=>e?.get(t),ee=(e,t)=>U(e,((e,s)=>t(s,e))),te=(e,t,s)=>w(s)?(X(e,t),e):e?.set(t,s),se=(e,t,s,n)=>(G(e,t)?n?.(_(e,t)):te(e,t,s()),_(e,t)),ne=(e,t,s,n=te)=>(H(t,((t,n)=>s(e,n,t))),ee(e,(s=>B(t,s)?0:n(e,s))),e),ae=(e,t,s,n)=>{const a={};return U(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},le=(e,t,s)=>ae(e,(e=>ae(e,t,s)),K,W),oe=(e,t,s)=>ae(e,(e=>le(e,t,s)),K,W),re=(e,t)=>{const s=Y();return U(e,((e,n)=>s.set(n,t?.(e)??e))),s},ie=e=>re(e,re),ce=e=>re(e,ie),de=(e,t,s,n,a=0)=>L((s?se:_)(e,t[a],a>E(t)-2?s:Y),(l=>{if(a>E(t)-2)return n?.(l)&&te(e,t[a]),l;const o=de(l,t,s,n,a+1);return K(l)&&te(e,t[a]),o})),ue=e=>new Set(Array.isArray(e)||w(e)?e:[e]),fe=(e,t)=>e?.add(t),he=/^\d+$/,ge=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&x(e,t)}]},Te=e=>[e,e],be=()=>[Y(),Y()],Se=e=>[...e],Ve=([e,t])=>e===t,pe=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},ve=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ye=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),me=JSON.parse,we=(e,t,s)=>te(e,t,_(e,t)==-s?void 0:s),Le=()=>{let e,t,n=!1,a=!1,o=0,d=[];const m=Y(),z=Y(),P=Y(),j=Y(),k=Y(),A=Y(),M=Y(),he=Y(),Re=Y(),Ie=Y(),Je=Y(),Ee=Y(),Fe=Y(),Oe=Y(),xe=ue(),ze=Y(),Pe=Y(),je=Y(),ke=Y(),Ae=be(),Me=be(),Ne=be(),Be=be(),De=be(),He=be(),We=be(),$e=be(),qe=be(),Ge=be(),Ke=be(),Qe=be(),Ue=be(),Xe=be(),Ye=be(),Ze=be(),_e=be(),et=be(),tt=be(),st=be(),nt=be(),at=be(),lt=Y(),ot=be(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=ge(),l=Y();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const c=n(1);return te(l,c,[e,a,o,r,i]),fe(de(a,o??[s],ue),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?x(n,e):null===t[s]?U(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(_(e,t),s+1)));return a(e,0),n})(e,n),(e=>U(e,(e=>_(l,e)[0](t,...n??[],...a))))),e=>L(_(l,e),(([,t,n])=>(de(t,n??[s],void 0,(t=>(X(t,e),K(t)?1:0))),te(l,e),a(e),n))),e=>L(_(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!$(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(pe(e[i])!=t&&D(e,i),0))},ft=(t,s)=>(!e||G(Je,s)||Ht(s))&&$(t,((e,t)=>ht(s,t,e)),(()=>Ht(s))),ht=(e,t,s,n)=>$(n?s:St(s,e,t),((n,a)=>L(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ht(e,t))),gt=(t,s,n,a)=>e?L(_(_(Je,t),n),(e=>pe(a)!=e[r]?Ht(t,s,n,a,e[i]):a),(()=>Ht(t,s,n,a))):w(pe(a))?Ht(t,s,n,a):a,Tt=(e,t)=>$(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Wt())),bt=(e,s)=>t?L(_(Fe,e),(t=>pe(s)!=t[r]?Wt(e,s,t[i]):s),(()=>Wt(e,s))):w(pe(s))?Wt(e,s):s,St=(e,t,s)=>(L(_(Ee,t),(([n,a])=>{U(n,((t,s)=>{B(e,s)||(e[s]=t)})),U(a,(n=>{B(e,n)||Ht(t,s,n)}))})),e),Vt=e=>(t&&(U(Oe,((t,s)=>{B(e,s)||(e[s]=t)})),U(xe,(t=>{B(e,t)||Wt(t)}))),e),pt=e=>ne(Je,e,((e,t,s)=>{const n=Y(),a=ue();ne(se(Je,t,Y),s,((e,t,s)=>{te(e,t,s),L(s[i],(e=>te(n,t,e)),(()=>fe(a,t)))})),te(Ee,t,[n,a])}),((e,t)=>{te(Je,t),te(Ee,t)})),vt=e=>ne(Fe,e,((e,t,s)=>{te(Fe,t,s),L(s[i],(e=>te(Oe,t,e)),(()=>fe(xe,t)))}),((e,t)=>{te(Fe,t),te(Oe,t),X(xe,t)})),yt=e=>W(e)?ys():bs(e),Ct=e=>ne(je,e,((e,t,s)=>mt(t,s)),((e,t)=>xt(t))),mt=(e,t)=>ne(se(je,e,(()=>(kt(e,1),te(ze,e,ge()),te(Pe,e,Y()),Y()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>zt(e,t,s))),wt=(e,t,s,n,a)=>ne(se(t,s,(()=>(At(e,s,1),Y()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{G(s,n)||Mt(e,t,n,1);const l=_(s,n);a!==l&&(Nt(e,t,n,l,a),te(s,n,a))},Rt=(e,t,s,n,a)=>L(_(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,St({[n]:a},e,s)))),It=e=>W(e)?ws():Ss(e),Jt=e=>ne(ke,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>{G(ke,e)||Bt(e,1);const s=_(ke,e);t!==s&&(Dt(e,s,t),te(ke,e,t))},Ft=(e,t)=>{const[s]=_(ze,e),n=s(t);return G(_(je,e),n)?Ft(e,t):n},Ot=e=>_(je,e)??mt(e,{}),xt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=_(ze,e);n(s),wt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=_(_(Ee,e)?.[0],a);if(!w(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Nt(e,s,t,_(n,t)),Mt(e,s,t,-1),te(n,t)};w(o)?r(a):ee(n,r),K(n)&&(At(e,s,-1),K(te(t,s))&&(kt(e,-1),te(je,e),te(ze,e),te(Pe,e)))},jt=e=>{const t=_(Oe,e);if(!w(t))return Et(e,t);Dt(e,_(ke,e)),Bt(e,-1),te(ke,e)},kt=(e,t)=>we(m,e,t),At=(e,t,s)=>we(se(j,e,Y),t,s)&&te(P,e,se(P,e,(()=>0))+s),Mt=(e,t,s,n)=>{const a=_(Pe,e),l=_(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(se(z,e,Y),s,n),te(a,s,l!=-n?l+n:null),we(se(se(k,e,Y),t,Y),s,n)},Nt=(e,t,s,n,a)=>{se(se(se(A,e,Y),t,Y),s,(()=>[n,0]))[1]=a,d[3]?.(e,t,s,a)},Bt=(e,t)=>we(M,e,t),Dt=(e,t,s)=>{se(he,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Ht=(e,t,s,n,a)=>(x(se(se(se(Re,e,Y),t,Y),s,(()=>[])),n),a),Wt=(e,t,s)=>(x(se(Ie,e,(()=>[])),t),s),$t=(e,t,s)=>L(_(_(_(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(ls(e,t,s))])),qt=e=>L(_(he,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(is(e))])),Gt=e=>K(Re)||K(Ze[e])?0:U(e?ce(Re):Re,((t,s)=>U(t,((t,n)=>U(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>K(Ie)||K(_e[e])?0:U(e?re(Ie):Ie,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!K(e))return it(t,n,(()=>ae(e))),ee(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Ae[e],void 0,t);const s=K(Ge[e]),a=K(Ue[e])&&K(Xe[e])&&K(qe[e])&&K(Ke[e])&&K(He[e])&&K(We[e])&&K($e[e])&&s&&K(Ne[e])&&K(Be[e]),l=K(Ye[e])&&K(Qe[e])&&K(De[e])&&K(Me[e]);if(!a||!l){const t=e?[re(m),ie(z),re(P),ie(j),ce(k),ce(A)]:[m,z,P,j,k,A];if(!a){Qt(t[0],Ne[e],Be[e]),U(t[1],((t,s)=>Qt(t,He[e],We[e],[s]))),U(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=ue();U(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),fe(n,a))})),s||U(t[5],((t,s)=>{if(!G(n,s)){const n=ue();U(t,(e=>U(e,(([t,s],a)=>s!==t?fe(n,a):X(e,a))))),U(n,(t=>it(Ge[e],[s,t])))}})),U(t[4],((t,s)=>U(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;U(t[5],((t,n)=>{let a;U(t,((t,l)=>{let o;U(t,(([t,r],i)=>{r!==t&&(it(Ye[e],[n,l,i],r,t,$t),s=a=o=1)})),o&&it(Qe[e],[n,l],$t)})),a&&it(De[e],[n],$t)})),s&&it(Me[e],void 0,$t)}}},Xt=e=>{const t=gs();t!=a&&it(et[e],void 0,t);const s=K(st[e])&&K(nt[e]),n=K(at[e])&&K(tt[e]);if(!s||!n){const t=e?[re(M),re(he)]:[M,he];if(s||Qt(t[0],st[e],nt[e]),!n){let s;U(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Is((()=>e(...O(t,C)))),Fs),Zt=()=>oe(je),_t=()=>Z(je),es=e=>Z(_(Pe,C(e))),ts=e=>q(_(je,C(e))),ss=e=>Z(_(je,C(e))),ns=(e,t,s,n=0,a)=>{return O(J((o=_(je,C(e)),r=(e,s)=>[w(t)?s:_(e,C(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Z(_(_(je,C(e)),C(t))),ls=(e,t,s)=>_(_(_(je,C(e)),C(t)),C(s)),os=()=>ae(ke),rs=()=>Z(ke),is=e=>_(ke,C(e)),cs=()=>!K(je),ds=e=>G(je,C(e)),us=(e,t)=>G(_(Pe,C(e)),C(t)),fs=(e,t)=>G(_(je,C(e)),C(t)),hs=(e,t,s)=>G(_(_(je,C(e)),C(t)),C(s)),gs=()=>!K(ke),Ts=e=>G(ke,C(e)),bs=e=>Yt((()=>(e=>$(e,ft,Ht))(e)?Ct(e):0)),Ss=e=>Yt((()=>Tt(e)?Jt(e):0)),Vs=e=>{try{yt(me(e))}catch{}return Fs},ps=t=>Yt((()=>{if((e=$(t,(e=>$(e,ut))))&&(pt(t),!K(je))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>$(e,ut))(e)){const s=os();Rs(),ws(),t=!0,vt(e),Ss(s)}})),ys=()=>Yt((()=>Ct({}))),Cs=e=>Yt((e=>G(je,e)?xt(e):0),e),ms=(e,t)=>Yt(((e,t)=>L(_(je,e),(s=>G(s,t)?zt(e,s,t):0))),e,t),ws=()=>Yt((()=>Jt({}))),Ls=()=>Yt((()=>{pt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Is=(e,t)=>{if(-1!=o){Js();const s=e();return Es(t),s}},Js=()=>(-1!=o&&o++,1==o&&(d[0]?.(),it(lt,void 0)),Fs),Es=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),K(A)||Ut(1),Kt(1),K(he)||Xt(1),e?.(Fs)&&(U(A,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>ve(Fs,t,s,n,e))))))),Q(A),U(he,(([e],t)=>ye(Fs,t,e))),Q(he)),it(ot[0],void 0),o=-1,Gt(0),K(A)||Ut(0),Kt(0),K(he)||Xt(0),d[1]?.(),it(ot[1],void 0),d[2]?.(),o=0,n=cs(),a=gs(),F([m,z,P,j,k,A,Re,M,he,Ie],Q))),Fs),Fs={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>le(_(je,C(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ae(_(_(je,C(e)),C(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:fs,hasCell:hs,hasValues:gs,hasValue:Ts,getTablesJson:()=>Ce(je),getValuesJson:()=>Ce(ke),getJson:()=>Ce([je,ke]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(Fe),getSchemaJson:()=>Ce([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(W(e)?ys:bs)(e),(W(t)?ws:Ss)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>ft(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?wt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=C(e),wt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(gt(e,t,s,I(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Ss,setPartialValues:e=>Yt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,I(t)?t(is(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Yt((()=>{H(e[0],((e,t)=>w(e)?Cs(t):H(e,((e,s)=>w(e)?ms(t,s):H(e,((e,n)=>ve(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ye(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{It(me(e))}catch{}return Fs},setJson:e=>Yt((()=>{try{const[t,s]=me(e);yt(t),It(s)}catch{Vs(e)}})),setTablesSchema:ps,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{ps(e),vs(t)})),delTables:ys,delTable:Cs,delRow:ms,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(_(je,e),(a=>L(_(a,t),(l=>G(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ws,delValue:e=>Yt((e=>G(ke,e)?jt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ae(A,((e,t)=>-1===_(m,t)?void 0:ae(e,((e,s)=>-1===_(_(j,t),s)?void 0:ae(e,(([,e])=>e),(e=>Ve(e)))),K,W)),K,W),ae(he,(([,e])=>e),(e=>Ve(e))),1],getTransactionLog:()=>[!K(A),!K(he),oe(A,Se,Ve),oe(Re),ae(he,Se,Ve),ae(Ie),ae(m),le(j),oe(k),ae(M)],finishTransaction:Es,forEachTable:e=>U(je,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>ee(t,e))))))))),forEachTableCell:(e,t)=>ee(_(Pe,C(e)),t),forEachRow:(e,t)=>U(_(je,C(e)),((e,s)=>t(s,(t=>ee(e,t))))),forEachCell:(e,t,s)=>ee(_(_(je,C(e)),C(t)),s),forEachValue:e=>ee(ke,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Fs,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Fs),delListener:e=>(ct(e),Fs),getListenerStats:()=>({}),createStore:Le,addListener:rt,callListeners:it,setInternalListeners:(e,t,s,n,a)=>d=[e,t,s,n,a]};return H({[c+f]:[0,Ae,[],()=>[cs()]],[f]:[0,Me],[h]:[0,Ne],[c+u]:[1,Be,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+V]:[1,He,[_t]],[c+u+S]:[2,We,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+g]:[2,Ke,[_t,ss],e=>[fs(...e)]],[g]:[2,Qe,[_t,ss]],[V]:[2,Ue,[_t,ss]],[c+S]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[S]:[3,Ye,[_t,ss,as],e=>Te(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[gs()]],[v]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[rs],e=>[Ts(...e)]],[p]:[1,at,[rs],e=>Te(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,n)})),N(Fs)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),c=r.entries,l=r.keys,g=r.freeze,u=(e,t)=>s(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>l(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),f=e=>new Map(e),p=(e,t)=>e?.get(t),w=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),v=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):w(e,t,a()),p(e,t)},b=new globalThis.TextEncoder,A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",M=(e="")=>A(((e=[])=>r.fromEntries(e))(),e),S=f(),L=f(),T=2**36,m=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,O=f();e.createLocalSynchronizer=(e,r)=>{const i=""+Math.random();return((e,r,i,c,l,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(b.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(c=e,0)*T+j(c,1)*m+j(c,2)*D+j(c,3)*H+j(c,4)*x+j(c,5)*z+j(c,6),j(c,7)*H+j(c,8)*x+j(c,9)*z+j(c,10),j(c,11)*D+j(c,12)*H+j(c,13)*x+j(c,14)*z+j(c,15)];var c;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/T)+E(e/m)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=f();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,(()=>e))})):3==s&&I.isAutoLoading()?R?.(void 0,(()=>i)):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{h($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);w($,s,[e,(e,a)=>{clearTimeout(i),h($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,M);u(t,(([e,t],a)=>{const n=y(o[0],a,M);u(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=C(n[1],t)})),o[1]=C(o[1],a)})),e[1]=C(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let c=M();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(c=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(c,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(c,a)}}}return[c,i==s?M():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,c,l={},u=[])=>{let y,h,f,b=0;v(S,u,(()=>0)),v(L,u,(()=>[]));const[A,C,M,T,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent])(c,e),D=async e=>(2!=b&&(b=1,await x.schedule((async()=>{await e(),b=0}))),x),H=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&m(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),h=s((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(h&&(r(h),h=void 0),x),isAutoLoading:()=>!n(h),save:async e=>(1!=b&&(b=2,await x.schedule((async()=>{try{await a(C,e)}catch(e){i?.(e)}b=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=M();T(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(o(f,e.delListener),f=void 0,x),isAutoSaving:()=>!n(f),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(p(L,u),...e),await(async()=>{if(!p(S,u)){for(w(S,u,1);!n((e=p(L,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}w(S,u,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return g(x)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a()):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,!0,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I})(e,((e,t,a,o)=>{setTimeout((()=>{return n(e)?(s=(e,n)=>e!=i?n(i,t,a,o):0,((e,t)=>e?.forEach(t))(O,((e,t)=>s(t,e)))):p(O,e)?.(i,t,a,o);var s}),0)}),(e=>{w(O,i,e)}),(()=>{h(O,i)}),.05,r)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=(e,t,a)=>e.slice(t,a),r=e=>new t(e),i=(e,t)=>e.forEach(t),c=Object,l=e=>c.getPrototypeOf(e),g=c.entries,d=c.keys,u=c.freeze,y=(e,t)=>i(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!n(e)&&s(l(e),(e=>e==c.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),v=e=>new Map(e),w=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),S=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(w(e,t)):b(e,t,a()),w(e,t)},A=new globalThis.TextEncoder,C=(e,t)=>t?[e,t]:[e],M=(e,t)=>((e??"")>(t??"")?e:t)??"",L=(e="")=>C(((e=[])=>c.fromEntries(e))(),e),T=v(),m=v(),D=2**36,H=2**30,x=2**24,O=2**18,E=4096,z=64,N=e=>String.fromCharCode(48+(63&e)),P=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createWsSynchronizer=async(e,t,c=1,l)=>{let g;const d=(e,a)=>t.addEventListener(e,a),W=((e,t,o,c,l,g,d={})=>{let W;const[j]=(e=>{let t=0,s=-1;const o=(e=>{let t=2166136261;return i(A.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),r=e=>{const o=t,[r,i]=n(e)||""==e?[0,0]:[P(c=e,0)*D+P(c,1)*H+P(c,2)*x+P(c,3)*O+P(c,4)*E+P(c,5)*z+P(c,6),P(c,7)*O+P(c,8)*E+P(c,9)*z+P(c,10),P(c,11)*x+P(c,12)*O+P(c,13)*E+P(c,14)*z+P(c,15)];var c;t=a(o,r,Date.now()),s=t==o?t==r?a(s,i):s:t==r?i:-1};return[()=>{return r(),a=++s,n=o,N((e=t)/D)+N(e/H)+N(e/x)+N(e/O)+N(e/E)+N(e/z)+N(e)+N(a/O)+N(a/E)+N(a/z)+N(a)+N(n/x)+N(n/O)+N(n/E)+N(n/z)+N(n);var e,a,n},r]})(e.getId()),k=v();o(((a,o,r,i)=>{0==r?s(w(k,o),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&$.isAutoLoading()?V(a,i).then((e=>{W?.(void 0,(()=>e))})):3==r&&$.isAutoLoading()?W?.(void 0,(()=>i)):s(1==r&&$.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{t(a,o,0,e)}))}));const J=async(e,a,n="")=>r(((s,o)=>{const r=j(),i=setTimeout((()=>{p(k,r),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);b(k,r,[e,(e,t)=>{clearTimeout(i),p(k,r),s([e,t])}]),t(e,r,a,n)})),R=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=h(e[0],n,L);y(t,(([e,t],a)=>{const n=h(s[0],a,L);y(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=M(n[1],t)})),s[1]=M(s[1],a)})),e[1]=M(e[1],a)},V=async(t=null,a)=>{n(a)&&([a,t]=await J(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=L();if(r!=s){const[a,n]=(await J(t,4,e.getMergeableTableHashes()))[0];if(c=a,!f(n)){const[a,s]=(await J(t,5,e.getMergeableRowHashes(n)))[0];if(R(c,a),!f(s)){const a=(await J(t,6,e.getMergeableCellHashes(s)))[0];R(c,a)}}}return[c,i==o?L():(await J(t,7,e.getMergeableValuesHashes()))[0],1]},$=((e,t,a,o,r,i,c,l={},g=[])=>{let d,y,h,p=0;S(T,g,(()=>0)),S(m,g,(()=>[]));const[v,A,C,M,L]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent])(c,e),D=async e=>(2!=p&&(p=1,await x.schedule((async()=>{await e(),p=0}))),x),H=t=>{var a;(v&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&L(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),y=o((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(y&&(r(y),y=void 0),x),isAutoLoading:()=>!n(y),save:async e=>(1!=p&&(p=2,await x.schedule((async()=>{try{await a(A,e)}catch(e){i?.(e)}p=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),h=e.addDidFinishTransactionListener((()=>{const e=C();M(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(s(h,e.delListener),h=void 0,x),isAutoSaving:()=>!n(h),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(w(m,g),...e),await(async()=>{if(!w(T,g)){for(b(T,g,1);!n((e=w(m,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}b(T,g,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return u(x)})(e,(async()=>{const e=await V();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(a,n)=>{n?t(null,null,3,n()):t(null,null,2,e.getMergeableContentHashes())}),(e=>W=e),(()=>W=void 0),g,!0,{startSync:async e=>await(await $.startAutoLoad(e)).startAutoSave(),stopSync:()=>$.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),$.stopSync()),getSynchronizerStats:()=>({}),...d});return $})(e,((e,...a)=>{t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))}),(e=>{g=e}),(()=>{t.close()}),c,l,{getWebSocket:()=>t});return d("message",(({data:e})=>{if(!n(g)){const a=e.toString("utf8").indexOf("\n");-1!==a&&g(o(e,0,a),...(t=o(e,a+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),r(((e,a)=>{t.readyState!=t.OPEN?(d("error",a),d("open",(()=>e(W)))):e(W)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,s)=>t(e)?s?.():n(e),s=(e,t,n)=>e.slice(t,n),o=e=>e?.size??0,r=(c=o,e=>{return t=(e,t)=>e+c(t),a(e).reduce(t,0);var t});var c;const a=e=>[...e?.values()??[]],i=(e,t)=>e?.delete(t),d=e=>new Map(e),l=e=>[...e?.keys()??[]],f=(e,t)=>e?.get(t),u=(e,n,s)=>t(s)?(i(e,n),e):e?.set(n,s),h=/\/([^?]*)/;e.createWsServer=e=>{const c=d();return e.on("connection",((e,r)=>n(r.url?.match(h),(([a])=>n(r.headers["sec-websocket-key"],(n=>{const r=(g=d,p=l=c,v=h=a,p?.has(v)||u(l,h,g()),f(l,h));var l,h,g,p,v;u(r,n,e),e.on("message",(e=>{const t=e.toString("utf8"),o=t.indexOf("\n");if(-1!==o){const e=s(t,0,o),c=s(t,o+1);""===e?((e,t)=>{((e,t)=>{e?.forEach(((e,t)=>{return s=e,t!=n?s.send(n+"\n"+c):0;var s}))})(e)})(r):f(r,e)?.send(n+"\n"+c)}})),e.on("close",(()=>{i(r,n),(e=>t(e)||0==o(e))(r)&&i(c,a)}))})))))),{getWebSocketServer:()=>e,getPaths:()=>l(c),getClientIds:e=>l(f(c,e)),getStats:()=>({paths:o(c),clients:r(c)}),destroy:()=>{e.close(),c.clear()}}}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
@@ -0,0 +1 @@
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),c=r.entries,l=r.keys,g=r.freeze,u=(e,t)=>s(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>l(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),f=e=>new Map(e),p=(e,t)=>e?.get(t),w=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),v=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):w(e,t,a()),p(e,t)},b=new globalThis.TextEncoder,A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",M=(e="")=>A(((e=[])=>r.fromEntries(e))(),e),S=f(),T=f(),L=2**36,m=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createCustomSynchronizer=(e,r,i,c,l,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(b.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(c=e,0)*L+j(c,1)*m+j(c,2)*D+j(c,3)*H+j(c,4)*x+j(c,5)*z+j(c,6),j(c,7)*H+j(c,8)*x+j(c,9)*z+j(c,10),j(c,11)*D+j(c,12)*H+j(c,13)*x+j(c,14)*z+j(c,15)];var c;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/L)+E(e/m)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=f();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,(()=>e))})):3==s&&I.isAutoLoading()?R?.(void 0,(()=>i)):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{h($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);w($,s,[e,(e,a)=>{clearTimeout(i),h($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,M);u(t,(([e,t],a)=>{const n=y(o[0],a,M);u(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=C(n[1],t)})),o[1]=C(o[1],a)})),e[1]=C(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let c=M();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(c=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(c,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(c,a)}}}return[c,i==s?M():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,c,l={},u=[])=>{let y,h,f,b=0;v(S,u,(()=>0)),v(T,u,(()=>[]));const[A,C,M,L,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent])(c,e),D=async e=>(2!=b&&(b=1,await x.schedule((async()=>{await e(),b=0}))),x),H=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&m(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),h=s((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(h&&(r(h),h=void 0),x),isAutoLoading:()=>!n(h),save:async e=>(1!=b&&(b=2,await x.schedule((async()=>{try{await a(C,e)}catch(e){i?.(e)}b=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=M();L(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(o(f,e.delListener),f=void 0,x),isAutoSaving:()=>!n(f),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(p(T,u),...e),await(async()=>{if(!p(S,u)){for(w(S,u,1);!n((e=p(T,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}w(S,u,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return g(x)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a()):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,!0,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==Q(e),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,se=e=>!M(e)&&x(Z(e),(e=>e==Y.prototype||M(Z(e))),(()=>!0)),ne=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>Q(_(e)))(e),ie=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ce=e=>M(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Ie(e,t,s()),we(e,t)),ye=(e,t,s,n=Ie)=>(oe(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>Te(e,(e=>Te(e,t,s)),re),pe=(e,t,s)=>Te(e,(e=>Re(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,s,n,a=0)=>x((s?Se:we)(e,t[a],a>Q(t)-2?s:fe),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ce(o)&&Ie(e,t[a]),r})),Ee=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},ke=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(A(e)||M(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=fe(),i=fe(),l=fe(),c=fe(),d=fe(),u=fe(),h=(t,s,...n)=>{const a=Se(u,t,xe);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(we(u,t),(n=>{W(q(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),le(i,e)||(Ie(i,e,t()),Ie(c,e,fe()),Ie(d,e,fe()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>Le(r),e=>ve(i,e),e=>le(i,e),e=>we(r,e),e=>we(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=fe(),u=fe(),L=we(c,t),w=we(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=we(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Ie(l,t,[c,d]),!M(i)){const e=we(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},I=e=>{a((()=>{he(l,(([,e],t)=>Ie(L,t,e))),he(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),ue(l),ue(u)};ve(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>ve(u,L),h,g]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Qe.test(t)&&Q(e)<1e3&&K(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),De(Ve(r,i??[s],xe),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?he(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>x(we(o,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Ie(o,e),a(e),n))),e=>x(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Oe=Fe((e=>{let t,n,a,o=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>F)),f=fe(),L=fe(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),l=1},S=e=>{Ie(f,e),Ie(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{K(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=U(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&ce(Ie(i,n))&&ce(Ie(e,s))&&ce(Ie(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Ie(i,t))&&p(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=fe(),i=fe(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=U(w),a=1)},E=()=>{q(v)||(K(w,t),t=X(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&we(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>le(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:A,getCheckpoint:e=>we(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>(q(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(F.clear())})),Pe=(e,t)=>(e??0)<(t??0)?-1:1,je=Fe((e=>{const t=fe(),n=fe(),[a,o,r]=Ne((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Je(e,fe,(e=>M(e)?s:A(e)?H(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=Pe)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=xe(),v=xe(),I=h(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),x(we(I,e),(t=>{ge(t,s),ce(t)&&(Ie(I,e),L=1)}))})),he(a,(e=>{De(w,e),le(I,e)||(Ie(I,e,xe()),L=1),De(we(I,e),s),M(r)||De(v,e)}))})),s(),ce(u)||(f?ve(I,(e=>De(v,e))):ve(i,(e=>x(we(d,e),(e=>De(v,e))))),he(v,(e=>{const t=(t,s)=>l(we(u,t),we(u,s),e),s=[...we(I,e)];j(s,t)||(Ie(I,e,xe(B(s,t))),De(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,fe(B(t,c))),L=1)}L&&o(t,[e]),he(w,(t=>o(n,[e,t])))}),Ae(a),x(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>Le(h(e)),getSliceRowIds:(e,t)=>de(we(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return te(S)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,i,l,c]=a;return o||=M(e),he(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(de(s),ie(s)):e},He=Fe((e=>{const t=fe(),[n,a,o]=Ne((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Je(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:we(Be,n)??we(Be,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=ie(r);l||=M(d),s();let f=We(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return te(v)})),$e=fe(),qe=fe(),Ge=Fe((e=>{const t=e.createStore,n=t(),a=t(),o=fe(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Je(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>De(Se(Se(o,t,fe),e,xe),s))),A=e=>{x(we(o,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],fe()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],fe()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=fe(i);if(ce(h))return P;const g=fe(l);ve(g,((e,[,t])=>x(we(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=fe(d);let L=n;if(ce(f)&&q(u))L=a;else{N(t,L,a);const e=fe();ve(f,((t,[s,n])=>De(Se(e,s,xe),[t,n])));const s=xe();ve(h,(t=>le(e,t)?0:De(s,t)));const n=fe(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{ve(n,((t,[s])=>{const n=Se(i,t,fe),a=we(n,o),l=r?void 0:s;if(a!==l){const s=xe([[a,l]]),r=ie(n);Ie(n,o,l),he(we(e,t),(([e,t])=>{const a=We(d[e],r,n,s,t);d[e]=M(Ee(a))?null:a}))}})),ce(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=L.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=L.getCell(t,i,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=we(g,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[we(g,t)?.[0],we(we(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?ve(h,((e,a)=>ke(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=we(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),he(g,(({4:e})=>x(we(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return oe({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),te(P)})),Ke=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,i,l]=Ne((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!le(a,t)){const o=xe();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!M(e)&&!le(o,e);)De(o,e),e=we(n,e)}if(s)return o;Ie(a,t,o)}return we(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),T=e=>we(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=xe(),l=xe(),c=xe(),[d,u]=f(e);he(s,(([t,s],n)=>{M(t)||(De(l,t),x(we(u,t),(e=>{ge(e,n),ce(e)&&Ie(u,t)}))),M(s)||(De(l,s),le(u,s)||Ie(u,s,xe()),De(we(u,s),n)),De(r,n),Ie(d,n,s),ve(we(o,e),(t=>{le(S(e,t),n)&&De(c,t)}))})),t(),he(r,(t=>i(n,[e,t]))),he(l,(t=>i(a,[e,t]))),he(c,(t=>{y(e,t),i(o,[e,t])}))}),Ae(l)),R),delRelationshipDefinition:e=>(Ie(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>we(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return te(R)})),Ue=e=>[e,e],Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>M(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),st=(e,t,s)=>Ie(e,t,we(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=fe(),y=fe(),V=fe(),E=fe(),k=fe(),A=fe(),Q=fe(),z=fe(),O=fe(),j=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=xe(),Y=fe(),Z=fe(),_=fe(),ee=fe(),se=Xe(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),Oe=Xe(),je=Xe(),Be=Xe(),We=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=fe(),ut=Xe(),[ht,gt,ft,Lt]=Ne((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[l])!=t&&ae(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?x(we(we($,t),n),(e=>Ee(a)!=e[i]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):M(Ee(a))?Gt(t,s,n,a):a,yt=(e,t)=>tt(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?x(we(G,e),(t=>Ee(s)!=t[i]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):M(Ee(s))?Kt(e,s):s,Rt=(e,t,s)=>(x(we(q,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Gt(t,s,n)}))})),e),pt=e=>(t&&(he(U,((t,s)=>{ne(e,s)||(e[s]=t)})),he(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>ye($,e,((e,t,s)=>{const n=fe(),a=xe();ye(Se($,t,fe),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>De(a,t)))})),Ie(q,t,[n,a])}),((e,t)=>{Ie($,t),Ie(q,t)})),bt=e=>ye(G,e,((e,t,s)=>{Ie(G,t,s),x(s[l],(e=>Ie(U,t,e)),(()=>De(X,t)))}),((e,t)=>{Ie(G,t),Ie(U,t),ge(X,t)})),mt=e=>re(e)?Es():ps(e),Vt=e=>ye(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>ye(Se(_,e,(()=>(jt(e,1),Ie(Y,e,ze()),Ie(Z,e,fe()),fe()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>ye(Se(t,s,(()=>(Bt(e,s,1),fe()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Wt(e,t,n,1);const o=we(s,n);a!==o&&(Ht(e,t,n,o,a),Ie(s,n,a))},xt=(e,t,s,n,a)=>x(we(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>re(e)?xs():Cs(e),Jt=e=>ye(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{le(ee,e)||$t(e,1);const s=we(ee,e);t!==s&&(qt(e,s,t),Ie(ee,e,t))},Ft=(e,t)=>{const[s]=we(Y,e),n=s(t);return le(we(_,e),n)?Ft(e,t):n},Qt=e=>we(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=we(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=we(we(q,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{Ht(e,s,t,we(n,t)),Wt(e,s,t,-1),Ie(n,t)};M(r)?i(a):ve(n,i),ce(n)&&(Bt(e,s,-1),ce(Ie(t,s))&&(jt(e,-1),Ie(_,e),Ie(Y,e),Ie(Z,e)))},Pt=e=>{const t=we(U,e);if(!M(t))return At(e,t);qt(e,we(ee,e)),$t(e,-1),Ie(ee,e)},jt=(e,t)=>st(g,e,t),Bt=(e,t,s)=>st(Se(E,e,fe),t,s)&&Ie(V,e,Se(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=we(Z,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Se(y,e,fe),s,n),Ie(a,s,o!=-n?o+n:null),st(Se(Se(k,e,fe),t,fe),s,n)},Ht=(e,t,s,n,a)=>Se(Se(Se(A,e,fe),t,fe),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Se(z,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(K(Se(Se(Se(O,e,fe),t,fe),s,(()=>[])),n),a),Kt=(e,t,s)=>(K(Se(j,e,(()=>[])),t),s),Ut=(e,t,s)=>x(we(we(we(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>x(we(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ce(O)||ce(Ke[e])?0:he(e?me(O):O,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ce(j)||ce(at[e])?0:he(e?Ce(j):j,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ce(e))return gt(t,n,(()=>Te(e))),ve(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(se[e],void 0,t);const s=ce(Be[e]),n=ce($e[e])&&ce(qe[e])&&ce(je[e])&&ce(We[e])&&ce(Fe[e])&&ce(Qe[e])&&ce(Oe[e])&&s&&ce(Ve[e])&&ce(Je[e]),o=ce(Ge[e])&&ce(He[e])&&ce(Ae[e])&&ce(de[e]);if(!n||!o){const t=e?[Ce(g),be(y),Ce(V),be(E),me(k),me(A)]:[g,y,V,E,k,A];if(!n){_t(t[0],Ve[e],Je[e]),he(t[1],((t,s)=>_t(t,Fe[e],Qe[e],[s]))),he(t[2],((t,s)=>{0!=t&&gt(Oe[e],[s],ls(s))}));const n=xe();he(t[3],((t,a)=>{_t(t,je[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),De(n,a))})),s||he(t[5],((t,s)=>{if(!le(n,s)){const n=xe();he(t,(e=>he(e,(([t,s],a)=>s!==t?De(n,a):ge(e,a))))),he(n,(t=>gt(Be[e],[s,t])))}})),he(t[4],((t,s)=>he(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!o){let s;he(t[5],((t,n)=>{let a;he(t,((t,o)=>{let r;he(t,(([t,i],l)=>{i!==t&&(gt(Ge[e],[n,o,l],i,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(Ae[e],[n],Ut)})),s&&gt(de[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=ce(it[e])&&ce(lt[e]),n=ce(ct[e])&&ce(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(z)]:[Q,z];if(s||_t(t[0],it[e],lt[e]),!n){let s;he(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(As((()=>e(...H(t,m)))),zs),ns=()=>[Te(A,((e,t)=>-1===we(g,t)?null:Te(e,((e,s)=>-1===we(we(E,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Ze(t)))),re)),re),Te(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(A,Ye,Ze),invalidCells:pe(O),changedValues:Te(z,Ye,Ze),invalidValues:Te(j),changedTableIds:Te(g),changedRowIds:Re(E),changedCellIds:pe(k),changedValueIds:Te(Q)}),os=()=>pe(_),rs=()=>Le(_),is=e=>Le(we(Z,m(e))),ls=e=>ie(we(_,m(e))),cs=e=>Le(we(_,m(e))),ds=(e,t,s,n=0,a)=>{return H(F(B((o=we(_,m(e)),r=(e,s)=>[M(t)?s:we(e,m(t)),s],H([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>Le(we(we(_,m(e)),m(t))),hs=(e,t,s)=>we(we(we(_,m(e)),m(t)),m(s)),gs=()=>Te(ee),fs=()=>Le(ee),Ls=e=>we(ee,m(e)),ws=()=>!ce(_),vs=e=>le(_,m(e)),Is=(e,t)=>le(we(Z,m(e)),m(t)),Ss=(e,t)=>le(we(_,m(e)),m(t)),ys=(e,t,s)=>le(we(we(_,m(e)),m(t)),m(s)),Ts=()=>!ce(ee),Rs=e=>le(ee,m(e)),ps=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(et(e))}catch{}return zs},ms=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(Ct(t),!ce(_))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(we(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!ce(A),n=!ce(z),d=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(he(A,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(zs,t,s,n,e))))))),he(z,(([e],t)=>Me(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],ue))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Re(we(_,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Te(we(we(_,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>_e(_),getValuesJson:()=>_e(ee),getJson:()=>_e([_,ee]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(G),getSchemaJson:()=>_e([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(re(e)?Es:ps)(e),(re(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);oe(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?oe(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{oe(e[0],((e,t)=>M(e)?ks(t):oe(e,((e,s)=>M(e)?Ms(t,s):oe(e,((e,n)=>ke(zs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(we(_,e),(a=>x(we(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>le(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>he(_,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachTableCell:(e,t)=>ve(we(Z,m(e)),t),forEachRow:(e,t)=>he(we(_,m(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we(_,m(e)),m(t)),s),forEachValue:e=>ve(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return oe({[h+L]:[0,se,[],()=>[ws()]],[L]:[0,de],[w]:[0,Ve],[h+f]:[1,Je,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,Oe,[rs]],[S]:[1,je,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,He,[rs,cs]],[R]:[2,$e,[rs,cs]],[h+T]:[3,qe,[rs,cs,us],e=>[ys(...e)]],[T]:[3,Ge,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),te(zs)};e.createCheckpoints=Oe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;Se($e,l,(()=>0)),Se(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(K(we(qe,l),...e),await(async()=>{if(!we($e,l)){for(Ie($e,l,1);!M(d=X(we(qe,l)));)try{await d()}catch(e){o?.(e)}Ie($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),te(L)},e.createIndexes=je,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=nt,e.defaultSorter=Pe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",C=f+h,w="Row",L=w+"Count",y=w+h,p="Sorted"+w+h,v="Cell",S=v+h,T="Value",I=T+"s",R=T+h,M=e=>s+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),D=Promise,A=Math.max,E=Math.min,H=isFinite,k=e=>null==e,x=(e,t,s)=>k(e)?s?.():t(e),J=e=>e==n||e==a,F=e=>t(e)==n,Q=e=>t(e)==r,z=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),P=e=>e.length,O=()=>{},W=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),$=(e,t)=>P(e)===P(t)&&j(e,((e,s)=>t[s]===e)),B=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==P(e),X=(e,t,s)=>e.reduce(t,s),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,se=e=>te.getPrototypeOf(e),ne=te.entries,ae=te.isFrozen,oe=e=>!k(e)&&x(se(e),(e=>e==te.prototype||k(se(e))),(()=>!0)),re=te.keys,le=te.freeze,ie=(e=[])=>te.fromEntries(e),ce=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ue=(e,t)=>q(ne(e),(([e,s])=>t(s,e))),ge=(e,t)=>G(ne(e),(([e,s])=>t(s,e))),he=e=>oe(e)&&0==(e=>P(re(e)))(e),fe=(e,t,s)=>(ce(e,t)||(e[t]=s()),e[t]),be=(e,t,s,n=0)=>k(e)||!oe(e)||!n&&he(e)||ae(e)?(s?.(),!1):(ge(e,((s,n)=>{t(s,n)||de(e,n)})),!!n||!he(e)),Ce=e=>e?.size??0,we=(e,t)=>e?.has(t)??!1,Le=e=>k(e)||0==Ce(e),ye=e=>[...e?.values()??[]],pe=e=>e.clear(),ve=(e,t)=>e?.forEach(t),Se=(e,t)=>e?.delete(t),Te=e=>new Map(e),Ie=e=>[...e?.keys()??[]],Re=(e,t)=>e?.get(t),Me=(e,t)=>ve(e,((e,s)=>t(s,e))),me=(e,t,s)=>k(s)?(Se(e,t),e):e?.set(t,s),Ve=(e,t,s,n)=>(we(e,t)?n?.(Re(e,t)):me(e,t,s()),Re(e,t)),De=(e,t,s,n=me)=>(ge(t,((t,n)=>s(e,n,t))),Me(e,(s=>ce(t,s)?0:n(e,s))),e),Ae=(e,t,s,n)=>{const a={};return ve(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},Ee=(e,t,s)=>Ae(e,(e=>Ae(e,t,s)),Le,he),He=(e,t,s)=>Ae(e,(e=>Ee(e,t,s)),Le,he),ke=(e,t)=>{const s=Te();return ve(e,((e,n)=>s.set(n,t?.(e)??e))),s},xe=e=>ke(e,ke),Je=e=>ke(e,xe),Fe=(e,t,s,n,a=0)=>x((s?Ve:Re)(e,t[a],a>P(t)-2?s:Te),(o=>{if(a>P(t)-2)return n?.(o)&&me(e,t[a]),o;const r=Fe(o,t,s,n,a+1);return Le(o)&&me(e,t[a]),r})),Qe=e=>{const s=t(e);return J(s)||s==o&&H(e)?s:void 0},ze=e=>k(e)||!k(Qe(e)),Ne=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Pe=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),Oe=e=>new Set(z(e)||k(e)?e:[e]),We=(e,t)=>e?.add(t),je=(e,t,s,n,a)=>{const o=e.hasRow,r=Te(),l=Te(),i=Te(),c=Te(),d=Te(),u=Te(),g=(t,s,...n)=>{const a=Ve(u,t,Oe);return q(n,(t=>We(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>x(Re(u,t),(n=>{q(U(s)?ye(n):s,(t=>{e.delListener(t),Se(n,t)})),Le(n)&&me(u,t)})),f=(e,s)=>{me(r,e,s),we(l,e)||(me(l,e,t()),me(c,e,Te()),me(d,e,Te()),a(i))},b=e=>{me(r,e),me(l,e),me(c,e),me(d,e),h(e),a(i)};return[()=>e,()=>Ie(r),e=>Me(l,e),e=>we(l,e),e=>Re(r,e),e=>Re(l,e),(e,t)=>me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Te(),u=Te(),b=Re(c,t),C=Re(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=Re(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||z(c)&&z(d)&&$(c,d)||me(i,t,[c,d]),!k(l)){const e=Re(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&me(u,t,s)}},L=e=>{a((()=>{ve(i,(([,e],t)=>me(b,t,e))),ve(u,((e,t)=>me(C,t,e)))}),i,u,b,C,e),pe(i),pe(u)};Me(b,w),e.hasTable(n)&&q(e.getRowIds(n),(e=>{we(b,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},b,e=>n(e,i),()=>Me(u,b),g,h]},$e=(e,t)=>F(e)?t=>t(e):e??(()=>t??s),Be=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},_e=/^\d+$/,qe=()=>{const e=[];let t=0;return[n=>(n?ee(e):null)??s+t++,t=>{_e.test(t)&&P(e)<1e3&&Y(e,t)}]},Ge=e=>{let t;const[n,a]=qe(),o=Te();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return me(o,d,[a,r,l,i,c]),We(Fe(r,l??[s],Oe),d),d},(e,n,...a)=>q(((e,t=[s])=>{const n=[],a=(e,s)=>s==P(t)?Y(n,e):null===t[s]?ve(e,(e=>a(e,s+1))):q([t[s],null],(t=>a(Re(e,t),s+1)));return a(e,0),n})(e,n),(e=>ve(e,(e=>Re(o,e)[0](t,...n??[],...a))))),e=>x(Re(o,e),(([,t,n])=>(Fe(t,n??[s],void 0,(t=>(Se(t,e),Le(t)?1:0))),me(o,e),a(e),n))),e=>x(Re(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=P(r);l==P(s)?e(t,...r,...a(r)):k(s[l])?q(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},Ke=Be((e=>{let t,n,a,o=100,r=Te(),l=Te(),i=1;const c=Te(),d=Te(),[u,g,h]=Ge((()=>J)),f=Te(),b=Te(),C=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Re(f,s);ve(n,((s,n)=>ve(s,((s,a)=>ve(s,((s,o)=>Ne(e,n,a,o,s[t]))))))),ve(a,((s,n)=>Pe(e,n,s[t])))})),i=1},y=e=>{me(f,e),me(b,e),g(d,[e])},p=(e,t)=>q(((e,t)=>e.splice(0,t))(e,t??P(e)),y),v=()=>p(C,P(C)-o),S=()=>x(t,(()=>{Y(C,t),v(),p(w),t=void 0,a=1})),T=()=>{t=Z(C),a=1};let I,R;const M=(e=s)=>(k(t)&&(t=s+n++,me(f,t,[r,l]),E(t,e),r=Te(),l=Te(),a=1),t),m=()=>{U(C)||(((e,...t)=>{e.unshift(...t)})(w,M()),L(0,t),t=Z(C),a=1)},V=()=>{U(w)||(Y(C,t),t=ee(w),L(1,t),a=1)},D=()=>{a&&(g(c),a=0)},A=e=>{const t=M(e);return D(),t},E=(e,t)=>(H(e)&&Re(b,e)!==t&&(me(b,e,t),g(d,[e])),J),H=e=>we(f,e),J={setSize:e=>(o=e,v(),J),addCheckpoint:A,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...w]],forEachCheckpoint:e=>Me(b,e),hasCheckpoint:H,getCheckpoint:e=>Re(b,e),goBackward:()=>(m(),D(),J),goForward:()=>(V(),D(),J),goTo:e=>{const s=W(C,e)?m:W(w,e)?V:null;for(;!k(s)&&e!=t;)s();return D(),J},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),J),clear:()=>(p(C),p(w),k(t)||y(t),t=void 0,n=0,A(),J),clearForward:()=>(U(w)||(p(w),g(c)),J),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{I=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){S();const e=Ve(r,t,Te),l=Ve(e,s,Te),i=Ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(me(l,n))&&Le(me(e,s))&&Le(me(r,t))&&T(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=Ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Le(me(l,t))&&T(),D()}}))}};return le(J.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(e??0)<(t??0)?-1:1,Xe=Be((e=>{const t=Te(),n=Te(),[a,o,r]=Ge((()=>y)),[l,i,c,d,u,g,h,,f,b,C,w]=je(e,Te,(e=>k(e)?s:z(e)?G(e,M):M(e)),a,o),L=(t,s,n)=>{const a=u(t);ve(n,((t,n)=>s(n,(s=>ve(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},y={setIndexDefinition:(e,s,a,r,l,i=Ue)=>{const c=k(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const C=Oe(),w=Oe(),L=g(e);if(ve(a,(([e,t],s)=>{const n=Oe(e),a=Oe(t);ve(n,(e=>Se(a,e)?Se(n,e):0)),ve(n,(e=>{We(C,e),x(Re(L,e),(t=>{Se(t,s),Le(t)&&(me(L,e),b=1)}))})),ve(a,(e=>{We(C,e),we(L,e)||(me(L,e,Oe()),b=1),We(Re(L,e),s),k(r)||We(w,e)}))})),s(),Le(u)||(f?Me(L,(e=>We(w,e))):Me(l,(e=>x(Re(d,e),(e=>We(w,e))))),ve(w,(e=>{const t=(t,s)=>i(Re(u,t),Re(u,s),e),s=[...Re(L,e)];B(s,t)||(me(L,e,Oe(_(s,t))),We(C,e))}))),(b||f)&&!k(c)){const t=[...L];B(t,c)||(h(e,Te(_(t,c))),b=1)}b&&o(t,[e]),ve(C,(t=>o(n,[e,t])))}),$e(a),x(r,$e)),y},delIndexDefinition:e=>(b(e),y),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>we(g(e),t),getTableId:u,getSliceIds:e=>Ie(g(e)),getSliceRowIds:(e,t)=>ye(Re(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),y),destroy:w,getListenerStats:()=>({})};return le(y)})),Ye=Te([["avg",[(e,t)=>K(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:A(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ze=(e,t,s,n,a,o=!1)=>{if(Le(s))return;const[r,l,i,c]=a;return o||=k(e),ve(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ye(s),Ce(s)):e},et=Be((e=>{const t=Te(),[n,a,o]=Ge((()=>w)),[r,l,i,c,d,u,g,,h,f,b,C]=je(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),w={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:Re(Ye,n)??Re(Ye,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=Ce(r);i||=k(d),s();let f=Ze(d,h,r,n,c,i);H(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),$e(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),w),destroy:C,getListenerStats:()=>({})};return le(w)})),tt=Te(),st=Te(),nt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(tt,i,(()=>0)),Ve(st,i,(()=>[]));const[h,f,b,C,w]=((e,t)=>!e||k(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!he(e)||!he(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!he(e)||!he(t),t.setDefaultContent])(r,e),L=async e=>(2!=g&&(g=1,await p.schedule((async()=>{await e(),g=0}))),p),y=t=>{(h&&z(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},p={load:async e=>await L((async()=>{try{y(await t())}catch(t){o?.(t),e&&w(e)}})),startAutoLoad:async e=>(await p.stopAutoLoad().load(e),d=n((async(e,s)=>{const n=s?.();await L((async()=>{try{y(n??e?.()??await t())}catch(e){o?.(e)}}))})),p),stopAutoLoad:()=>(d&&(a(d),d=void 0),p),isAutoLoading:()=>!k(d),save:async e=>(1!=g&&(g=2,await p.schedule((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=b();C(e)&&p.save((()=>e))})),p),stopAutoSave:()=>(x(u,e.delListener),u=void 0,p),isAutoSaving:()=>!k(u),schedule:async(...e)=>(Y(Re(st,i),...e),await(async()=>{if(!Re(tt,i)){for(me(tt,i,1);!k(c=ee(Re(st,i)));)try{await c()}catch(e){o?.(e)}me(tt,i,0)}})(),p),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return le(p)},at=new globalThis.TextEncoder,ot=e=>{let t=2166136261;return q(at.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},rt=([e,t,s])=>[e,t,s],lt=([e,t])=>it(e,t),it=(e,t)=>t?[e,t]:[e],ct=e=>e[2],dt=(e,t)=>ot(e+":"+t),ut=(e,t)=>t>e?(e?ot(e):0)^ot(t):0,gt=(e,t)=>((e??"")>(t??"")?e:t)??"",ht=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},ft=(e=s)=>it(ie(),e),bt=(e=s)=>[Te(),e,0],Ct=([e,t,s],n=rt)=>[Ae(e,n),t,s],wt=([e,t],s=lt)=>it(Ae(e,s),t),Lt=(e,s)=>z(e)&&3==P(e)&&F(e[1])&&t(e[2])==o&&H(e[2])&&s(e[0]),yt=2**36,pt=2**30,vt=2**24,St=2**18,Tt=4096,It=64,Rt=e=>String.fromCharCode(48+(63&e)),Mt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,mt=e=>{let t=0,s=-1;const n=ot(e),a=e=>{const n=t,[a,o]=k(e)||""==e?[0,0]:[Mt(r=e,0)*yt+Mt(r,1)*pt+Mt(r,2)*vt+Mt(r,3)*St+Mt(r,4)*Tt+Mt(r,5)*It+Mt(r,6),Mt(r,7)*St+Mt(r,8)*Tt+Mt(r,9)*It+Mt(r,10),Mt(r,11)*vt+Mt(r,12)*St+Mt(r,13)*Tt+Mt(r,14)*It+Mt(r,15)];var r;t=A(n,a,Date.now()),s=t==n?t==a?A(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,Rt((e=t)/yt)+Rt(e/pt)+Rt(e/vt)+Rt(e/St)+Rt(e/Tt)+Rt(e/It)+Rt(e)+Rt(o/St)+Rt(o/Tt)+Rt(o/It)+Rt(o)+Rt(r/vt)+Rt(r/St)+Rt(r/Tt)+Rt(r/It)+Rt(r);var e,o,r},a]},Vt=Be((e=>{const t=e.createStore,n=t(),a=t(),o=Te(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,C,T,,,I,,R,M,m,V,D]=je(e,(()=>!0),O,r,l),A=(e,t,...s)=>q(s,(s=>We(Ve(Ve(o,t,Te),e,Oe),s))),E=e=>{x(Re(o,e),(e=>{Me(e,((e,t)=>ve(t,(t=>e.delListener(t))))),pe(e)})),q([a,n],(t=>t.delTable(e)))},H=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(t,o,r)=>{I(t,o),E(t);const l=[],i=[[null,[o,null,null,[],Te()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=Q(e)?[P(l)+s,e]:[k(t)?e:t,s=>s(e,t)];return Y(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||Q(t)?null:t,a=k(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],Te()]];return Y(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>Y(c,Q(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:Re(Ye,t)??[(e,t)=>t]]];return Y(d,o),{as:e=>o[0]=e}},having:(e,t)=>Y(u,Q(e)?e:s=>s(e)===t)});const g=Te(l);if(Le(g))return J;const h=Te(i);Me(h,((e,[,t])=>x(Re(h,t),(({3:t})=>k(e)?0:Y(t,e)))));const f=Te(d);let b=n;if(Le(f)&&U(u))b=a;else{H(t,b,a);const e=Te();Me(f,((t,[s,n])=>We(Ve(e,s,Oe),[t,n])));const s=Oe();Me(g,(t=>we(e,t)?0:We(s,t)));const n=Te(),o=(s,n,o,r)=>x(s,(([l,i,c,d])=>{Me(n,((t,[s])=>{const n=Ve(l,t,Te),a=Re(n,o),i=r?void 0:s;if(a!==i){const s=Oe([[a,i]]),r=Ce(n);me(n,o,i),ve(Re(e,t),(([e,t])=>{const a=Ze(d[e],r,n,s,t);d[e]=k(Qe(a))?null:a}))}})),Le(i)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):k(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));A(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=Te(),g=b.hasRow(t,l);let h=!g;ve(s,(e=>{const[s,n,a]=i(t,l,e);Y(c,n),Y(d,a),h||=s})),Me(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&me(u,e,[n])})),h&&o(Fe(n,c,void 0,(([,e])=>(Se(e,l),Le(e)))),u,l,1),g&&o(Fe(n,d,(()=>{const e={};return ve(s,(s=>e[s]=b.getCell(t,l,s))),[Te(),Oe(),void 0,e]}),(([,e])=>{We(e,l)})),u,l)})))}H(t,e,b);const C=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);q(r,(n=>{const[a,,o,r,i]=Re(h,n),c=o?.(l,s),[d,u]=Re(i,s)??[];c!=d&&(k(u)||D(t,u),me(i,s,k(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>C(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...k(n)?[o,s,t]:t===o?[o,s,n]:[Re(h,t)?.[0],Re(Re(h,t)?.[4],s)?.[0],n]);b.transaction((()=>j(c,(e=>e(n)))?Me(g,((e,a)=>Ne(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:w}=Re(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?C(a,o,a,w):(b.delRow(t,a),ve(h,(({4:e})=>x(Re(e,a),(([,s])=>{D(t,s),me(e,a)})))))}))))),J},delQueryDefinition:e=>(E(e),R(e),J),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:C,getTableId:T,addQueryIdsListener:e=>M((()=>e(J))),delListener:e=>(i(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ge({[f]:[1,1],[f+S]:[0,1],[L]:[0,1],[y]:[0,1],[p]:[0,5],[w]:[1,2],[S]:[0,2],[v]:[1,3]},(([e,t],s)=>{q(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>a[e+s](...t))),J[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),le(J)})),Dt=Be((e=>{const t=Te(),n=Te(),a=Te(),o=Te(),[r,l,i]=Ge((()=>S)),[c,d,u,g,h,f,,,b,C,w,L]=je(e,(()=>[Te(),Te(),Te(),Te()]),(e=>k(e)?void 0:e+s),r,l),y=(e,t,s)=>x(f(e),(([n,,a])=>{if(!we(a,t)){const o=Oe();if(h(e)!=v(e))We(o,t);else{let e=t;for(;!k(e)&&!we(o,e);)We(o,e),e=Re(n,e)}if(s)return o;me(a,t,o)}return Re(a,t)})),p=(e,t)=>x(f(e),(([,,e])=>me(e,t))),v=e=>Re(t,e),S={setRelationshipDefinition:(e,s,r,i)=>(me(t,e,r),b(e,s,((t,s)=>{const r=Oe(),i=Oe(),c=Oe(),[d,u]=f(e);ve(s,(([t,s],n)=>{k(t)||(We(i,t),x(Re(u,t),(e=>{Se(e,n),Le(e)&&me(u,t)}))),k(s)||(We(i,s),we(u,s)||me(u,s,Oe()),We(Re(u,s),n)),We(r,n),me(d,n,s),Me(Re(o,e),(t=>{we(y(e,t),n)&&We(c,t)}))})),t(),ve(r,(t=>l(n,[e,t]))),ve(i,(t=>l(a,[e,t]))),ve(c,(t=>{p(e,t),l(o,[e,t])}))}),$e(i)),S),delRelationshipDefinition:e=>(me(t,e),C(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:v,getRemoteRowId:(e,t)=>Re(f(e)?.[0],t),getLocalRowIds:(e,t)=>ye(Re(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:ye(y(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(y(e,t),r(s,o,[e,t])),delListener:e=>(p(...i(e)??[]),S),destroy:L,getListenerStats:()=>({})};return le(S)})),At=e=>[e,e],Et=()=>[Te(),Te()],Ht=e=>[...e],kt=([e,t])=>e===t,xt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Jt=JSON.parse,Ft=(e,t,s)=>me(e,t,Re(e,t)==-s?void 0:s),Qt=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=Te(),h=Te(),p=Te(),m=Te(),V=Te(),D=Te(),A=Te(),E=Te(),H=Te(),F=Te(),z=Te(),P=Te(),O=Te(),j=Te(),B=Oe(),K=Te(),U=Te(),X=Te(),Z=Te(),ee=Et(),te=Et(),se=Et(),ne=Et(),ae=Et(),oe=Et(),re=Et(),ie=Et(),ue=Et(),fe=Et(),ye=Et(),Fe=Et(),ze=Et(),je=Et(),$e=Et(),Be=Et(),_e=Et(),Ke=Et(),Xe=Et(),Ye=Et(),Ze=Et(),et=Et(),tt=Te(),st=Et(),[nt,at,ot,rt]=Ge((()=>xs)),lt=e=>{if(!be(e,((e,t)=>W([l,i],t))))return!1;const t=e[l];return!(!J(t)&&t!=o||(Qe(e[i])!=t&&de(e,i),0))},it=(t,s)=>(!e||we(z,s)||_t(s))&&be(t,((e,t)=>ct(s,t,e)),(()=>_t(s))),ct=(e,t,s,n)=>be(n?s:ht(s,e,t),((n,a)=>x(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>_t(e,t))),dt=(t,s,n,a)=>e?x(Re(Re(z,t),n),(e=>Qe(a)!=e[l]?_t(t,s,n,a,e[i]):a),(()=>_t(t,s,n,a))):k(Qe(a))?_t(t,s,n,a):a,ut=(e,t)=>be(t?e:ft(e),((t,s)=>x(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,s)=>t?x(Re(O,e),(t=>Qe(s)!=t[l]?qt(e,s,t[i]):s),(()=>qt(e,s))):k(Qe(s))?qt(e,s):s,ht=(e,t,s)=>(x(Re(P,t),(([n,a])=>{ve(n,((t,s)=>{ce(e,s)||(e[s]=t)})),ve(a,(n=>{ce(e,n)||_t(t,s,n)}))})),e),ft=e=>(t&&(ve(j,((t,s)=>{ce(e,s)||(e[s]=t)})),ve(B,(t=>{ce(e,t)||qt(t)}))),e),bt=e=>De(z,e,((e,t,s)=>{const n=Te(),a=Oe();De(Ve(z,t,Te),s,((e,t,s)=>{me(e,t,s),x(s[i],(e=>me(n,t,e)),(()=>We(a,t)))})),me(P,t,[n,a])}),((e,t)=>{me(z,t),me(P,t)})),Ct=e=>De(O,e,((e,t,s)=>{me(O,t,s),x(s[i],(e=>me(j,t,e)),(()=>We(B,t)))}),((e,t)=>{me(O,t),me(j,t),Se(B,t)})),wt=e=>he(e)?Rs():ps(e),Lt=e=>De(X,e,((e,t,s)=>yt(t,s)),((e,t)=>Vt(t))),yt=(e,t)=>De(Ve(X,e,(()=>(Pt(e,1),me(K,e,qe()),me(U,e,Te()),Te()))),t,((t,s,n)=>pt(e,t,s,n)),((t,s)=>Dt(e,t,s))),pt=(e,t,s,n,a)=>De(Ve(t,s,(()=>(Ot(e,s,1),Te()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{we(s,n)||Wt(e,t,n,1);const o=Re(s,n);a!==o&&(jt(e,t,n,o,a),me(s,n,a))},St=(e,t,s,n,a)=>x(Re(t,s),(t=>vt(e,s,t,n,a)),(()=>pt(e,t,s,ht({[n]:a},e,s)))),Tt=e=>he(e)?Vs():vs(e),It=e=>De(Z,e,((e,t,s)=>Rt(t,s)),((e,t)=>Nt(t))),Rt=(e,t)=>{we(Z,e)||$t(e,1);const s=Re(Z,e);t!==s&&(Bt(e,s,t),me(Z,e,t))},Mt=(e,t)=>{const[s]=Re(K,e),n=s(t);return we(Re(X,e),n)?Mt(e,t):n},mt=e=>Re(X,e)??yt(e,{}),Vt=e=>yt(e,{}),Dt=(e,t,s)=>{const[,n]=Re(K,e);n(s),pt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Re(Re(P,e)?.[0],a);if(!k(r)&&!o)return vt(e,s,n,a,r);const l=t=>{jt(e,s,t,Re(n,t)),Wt(e,s,t,-1),me(n,t)};k(r)?l(a):Me(n,l),Le(n)&&(Ot(e,s,-1),Le(me(t,s))&&(Pt(e,-1),me(X,e),me(K,e),me(U,e)))},Nt=e=>{const t=Re(j,e);if(!k(t))return Rt(e,t);Bt(e,Re(Z,e)),$t(e,-1),me(Z,e)},Pt=(e,t)=>Ft(d,e,t),Ot=(e,t,s)=>Ft(Ve(m,e,Te),t,s)&&me(p,e,Ve(p,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=Re(U,e),o=Re(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ft(Ve(h,e,Te),s,n),me(a,s,o!=-n?o+n:null),Ft(Ve(Ve(V,e,Te),t,Te),s,n)},jt=(e,t,s,n,a)=>{Ve(Ve(Ve(D,e,Te),t,Te),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},$t=(e,t)=>Ft(A,e,t),Bt=(e,t,s)=>{Ve(E,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},_t=(e,t,s,n,a)=>(Y(Ve(Ve(Ve(H,e,Te),t,Te),s,(()=>[])),n),a),qt=(e,t,s)=>(Y(Ve(F,e,(()=>[])),t),s),Gt=(e,t,s)=>x(Re(Re(Re(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...At(cs(e,t,s))])),Kt=e=>x(Re(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...At(gs(e))])),Ut=e=>Le(H)||Le(Be[e])?0:ve(e?Je(H):H,((t,s)=>ve(t,((t,n)=>ve(t,((t,a)=>at(Be[e],[s,n,a],t))))))),Xt=e=>Le(F)||Le(_e[e])?0:ve(e?ke(F):F,((t,s)=>at(_e[e],[s],t))),Yt=(e,t,s,n)=>{if(!Le(e))return at(t,n,(()=>Ae(e))),Me(e,((e,t)=>at(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&at(ee[e],void 0,t);const n=Le(fe[e]),a=Le(ze[e])&&Le(je[e])&&Le(ue[e])&&Le(ye[e])&&Le(oe[e])&&Le(re[e])&&Le(ie[e])&&n&&Le(se[e])&&Le(ne[e]),o=Le($e[e])&&Le(Fe[e])&&Le(ae[e])&&Le(te[e]);if(!a||!o){const t=e?[ke(d),xe(h),ke(p),xe(m),Je(V),Je(D)]:[d,h,p,m,V,D];if(!a){Yt(t[0],se[e],ne[e]),ve(t[1],((t,s)=>Yt(t,oe[e],re[e],[s]))),ve(t[2],((t,s)=>{0!=t&&at(ie[e],[s],os(s))}));const s=Oe();ve(t[3],((t,a)=>{Yt(t,ue[e],ye[e],[a])&&!n&&(at(fe[e],[a,null]),We(s,a))})),n||ve(t[5],((t,n)=>{if(!we(s,n)){const s=Oe();ve(t,(e=>ve(e,(([t,n],a)=>n!==t?We(s,a):Se(e,a))))),ve(s,(t=>at(fe[e],[n,t])))}})),ve(t[4],((t,s)=>ve(t,((t,n)=>Yt(t,ze[e],je[e],[s,n])))))}if(!o){let s;ve(t[5],((t,n)=>{let a;ve(t,((t,o)=>{let r;ve(t,(([t,l],i)=>{l!==t&&(at($e[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&at(Fe[e],[n,o],Gt)})),a&&at(ae[e],[n],Gt)})),s&&at(te[e],void 0,Gt)}}},es=e=>{const t=Ls();t!=n&&at(Ke[e],void 0,t);const s=Le(Ye[e])&&Le(Ze[e]),a=Le(et[e])&&Le(Xe[e]);if(!s||!a){const t=e?[ke(A),ke(E)]:[A,E];if(s||Yt(t[0],Ye[e],Ze[e]),!a){let s;ve(t[1],(([t,n],a)=>{n!==t&&(at(et[e],[a],n,t,Kt),s=1)})),s&&at(Xe[e],void 0,Kt)}}},ts=(e,...t)=>(Es((()=>e(...G(t,M)))),xs),ss=()=>He(X),ns=()=>Ie(X),as=e=>Ie(Re(U,M(e))),os=e=>Ce(Re(X,M(e))),rs=e=>Ie(Re(X,M(e))),ls=(e,t,s,n=0,a)=>{return G(N(_((o=Re(X,M(e)),r=(e,s)=>[k(t)?s:Re(e,M(t)),s],G([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ue(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Ie(Re(Re(X,M(e)),M(t))),cs=(e,t,s)=>Re(Re(Re(X,M(e)),M(t)),M(s)),ds=()=>Ae(Z),us=()=>Ie(Z),gs=e=>Re(Z,M(e)),hs=()=>!Le(X),fs=e=>we(X,M(e)),bs=(e,t)=>we(Re(U,M(e)),M(t)),Cs=(e,t)=>we(Re(X,M(e)),M(t)),ws=(e,t,s)=>we(Re(Re(X,M(e)),M(t)),M(s)),Ls=()=>!Le(Z),ys=e=>we(Z,M(e)),ps=e=>ts((()=>(e=>be(e,it,_t))(e)?Lt(e):0)),vs=e=>ts((()=>ut(e)?It(e):0)),Ss=e=>{try{wt(Jt(e))}catch{}return xs},Ts=t=>ts((()=>{if((e=be(t,(e=>be(e,lt))))&&(bt(t),!Le(X))){const e=ss();Rs(),ps(e)}})),Is=e=>ts((()=>{if(t=(e=>be(e,lt))(e)){const s=ds();As(),Vs(),t=!0,Ct(e),vs(s)}})),Rs=()=>ts((()=>Lt({}))),Ms=e=>ts((e=>we(X,e)?Vt(e):0),e),ms=(e,t)=>ts(((e,t)=>x(Re(X,e),(s=>we(s,t)?Dt(e,s,t):0))),e,t),Vs=()=>ts((()=>It({}))),Ds=()=>ts((()=>{bt({}),e=!1})),As=()=>ts((()=>{Ct({}),t=!1})),Es=(e,t)=>{if(-1!=a){Hs();const s=e();return ks(t),s}},Hs=()=>(-1!=a&&a++,1==a&&(r[0]?.(),at(tt,void 0)),xs),ks=e=>(a>0&&(a--,0==a&&(a=1,Ut(1),Le(D)||Zt(1),Xt(1),Le(E)||es(1),e?.(xs)&&(ve(D,((e,t)=>ve(e,((e,s)=>ve(e,(([e],n)=>Ne(xs,t,s,n,e))))))),pe(D),ve(E,(([e],t)=>Pe(xs,t,e))),pe(E)),at(st[0],void 0),a=-1,Ut(0),Le(D)||Zt(0),Xt(0),Le(E)||es(0),r[1]?.(),at(st[1],void 0),r[2]?.(),a=0,s=hs(),n=Ls(),q([d,h,p,m,V,D,H,A,E,F],pe))),xs),xs={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>Ee(Re(X,M(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>Ae(Re(Re(X,M(e)),M(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:bs,hasRow:Cs,hasCell:ws,hasValues:Ls,hasValue:ys,getTablesJson:()=>xt(X),getValuesJson:()=>xt(Z),getJson:()=>xt([X,Z]),getTablesSchemaJson:()=>xt(z),getValuesSchemaJson:()=>xt(O),getSchemaJson:()=>xt([z,O]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(he(e)?Rs:ps)(e),(he(t)?Vs:vs)(t)})),setTables:ps,setTable:(e,t)=>ts((e=>it(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?pt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Es((()=>{let n;return ct(e,n,t)&&(e=M(e),pt(e,mt(e),n=Mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(ct(e,t,s,1)){const n=mt(e);ge(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>x(dt(e,t,s,Q(n)?n(cs(e,t,s)):n),(n=>St(e,mt(e),t,s,n)))),e,t,s),setValues:vs,setPartialValues:e=>ts((()=>ut(e,1)?ge(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>ts((e=>x(gt(e,Q(t)?t(gs(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>ts((()=>{ge(e[0],((e,t)=>k(e)?Ms(t):ge(e,((e,s)=>k(e)?ms(t,s):ge(e,((e,n)=>Ne(xs,t,s,n,e))))))),ge(e[1],((e,t)=>Pe(xs,t,e)))})),setTablesJson:Ss,setValuesJson:e=>{try{Tt(Jt(e))}catch{}return xs},setJson:e=>ts((()=>{try{const[t,s]=Jt(e);wt(t),Tt(s)}catch{Ss(e)}})),setTablesSchema:Ts,setValuesSchema:Is,setSchema:(e,t)=>ts((()=>{Ts(e),Is(t)})),delTables:Rs,delTable:Ms,delRow:ms,delCell:(e,t,s,n)=>ts(((e,t,s)=>x(Re(X,e),(a=>x(Re(a,t),(o=>we(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:Vs,delValue:e=>ts((e=>we(Z,e)?Nt(e):0),e),delTablesSchema:Ds,delValuesSchema:As,delSchema:()=>ts((()=>{Ds(),As()})),transaction:Es,startTransaction:Hs,getTransactionChanges:()=>[Ae(D,((e,t)=>-1===Re(d,t)?void 0:Ae(e,((e,s)=>-1===Re(Re(m,t),s)?void 0:Ae(e,(([,e])=>e),(e=>kt(e)))),Le,he)),Le,he),Ae(E,(([,e])=>e),(e=>kt(e))),1],getTransactionLog:()=>[!Le(D),!Le(E),He(D,Ht,kt),He(H),Ae(E,Ht,kt),Ae(F),Ae(d),Ee(m),He(V),Ae(A)],finishTransaction:ks,forEachTable:e=>ve(X,((t,s)=>e(s,(e=>ve(t,((t,s)=>e(s,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,M(e)),t),forEachRow:(e,t)=>ve(Re(X,M(e)),((e,s)=>t(s,(t=>Me(e,t))))),forEachCell:(e,t,s)=>Me(Re(Re(X,M(e)),M(t)),s),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return nt((()=>{const r=ls(e,t,s,n,a);$(r,l)||(l=r,o(xs,e,t,s,n,a,l))}),fe[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,tt),addWillFinishTransactionListener:e=>nt(e,st[0]),addDidFinishTransactionListener:e=>nt(e,st[1]),callListener:e=>(rt(e),xs),delListener:e=>(ot(e),xs),getListenerStats:()=>({}),createStore:Qt,addListener:nt,callListeners:at,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return ge({[g+b]:[0,ee,[],()=>[hs()]],[b]:[0,te],[C]:[0,se],[g+f]:[1,ne,[ns],e=>[fs(...e)]],[f]:[1,ae,[ns]],[f+S]:[1,oe,[ns]],[g+f+v]:[2,re,[ns,as],e=>[bs(...e)]],[L]:[1,ie,[ns]],[y]:[1,ue,[ns]],[g+w]:[2,ye,[ns,rs],e=>[Cs(...e)]],[w]:[2,Fe,[ns,rs]],[S]:[2,ze,[ns,rs]],[g+v]:[3,je,[ns,rs,is],e=>[ws(...e)]],[v]:[3,$e,[ns,rs,is],e=>At(cs(...e))],InvalidCell:[3,Be],[g+I]:[0,Ke,[],()=>[Ls()]],[I]:[0,Xe],[R]:[0,Ye],[g+T]:[1,Ze,[us],e=>[ys(...e)]],[T]:[1,et,[us],e=>At(gs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{xs[u+a+c]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),le(xs)},zt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Nt=(e=s)=>[bt(e),bt(e)];e.createCheckpoints=Ke,e.createCustomPersister=nt,e.createCustomSynchronizer=(e,t,n,a,o,r,l={})=>{let i;const[c]=mt(e.getId()),d=Te();n(((s,n,a,o)=>{0==a?x(Re(d,n),(([e,t])=>k(e)||e==s?t(o,s):0)):2==a&&f.isAutoLoading()?h(s,o).then((e=>{i?.(void 0,(()=>e))})):3==a&&f.isAutoLoading()?i?.(void 0,(()=>o)):x(1==a&&f.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(o):5==a?e.getMergeableRowDiff(o):6==a?e.getMergeableCellDiff(o):7==a?e.getMergeableValueDiff(o):void 0,(e=>{t(s,n,0,e)}))}));const u=async(e,n,a=s)=>new D(((s,r)=>{const l=c(),i=setTimeout((()=>{Se(d,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);me(d,l,[e,(e,t)=>{clearTimeout(i),Se(d,l),s([e,t])}]),t(e,l,n,a)})),g=(e,[t,s])=>{ue(t,(([t,s],n)=>{const a=fe(e[0],n,ft);ue(t,(([e,t],s)=>{const n=fe(a[0],s,ft);ue(e,(([e,t],s)=>n[0][s]=it(e,t))),n[1]=gt(n[1],t)})),a[1]=gt(a[1],s)})),e[1]=gt(e[1],s)},h=async(t=null,s)=>{k(s)&&([s,t]=await u(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=ft();if(o!=n){const[s,n]=(await u(t,4,e.getMergeableTableHashes()))[0];if(l=s,!he(n)){const[s,a]=(await u(t,5,e.getMergeableRowHashes(n)))[0];if(g(l,s),!he(a)){const s=(await u(t,6,e.getMergeableCellHashes(a)))[0];g(l,s)}}}return[l,r==a?ft():(await u(t,7,e.getMergeableValuesHashes()))[0],1]},f=nt(e,(async()=>{const e=await h();return he(e[0][0])&&he(e[1][0])?void 0:e}),(async(s,n)=>{n?t(null,null,3,n()):t(null,null,2,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,!0,{startSync:async e=>await(await f.startAutoLoad(e)).startAutoSave(),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),f.stopSync()),getSynchronizerStats:()=>({}),...l});return f},e.createIndexes=Xe,e.createMergeableStore=e=>{let t=1,n=Nt(),a=0;const o=Te(),r=Oe(),[l,i]=mt(e),c=Qt(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,C]=u;let w=t?c:C,L=l;ue(r,(([e,n=s,o=0],r)=>{const l=Ve(f,r,bt),[i,c,d]=l;let u=t?o:d,h=n;ue(e,((e,s)=>{const[n,o,l]=g(e,Ve(i,s,bt),fe(fe(a,r,ie),s,ie),t);u^=t?0:(o?dt(s,o):0)^dt(s,l),h=gt(h,n)})),u^=t?0:ut(c,n),ht(l,u,n),w^=t?0:(d?dt(r,d):0)^dt(r,l[2]),L=gt(L,h)})),w^=t?0:ut(b,l),ht(u,w,l);const[y]=g(d,h,o,t);return i(gt(L,y)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return ue(o,(([e,t,o=0],r)=>{const l=Ve(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(ht(l,a?o:ot(xt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:dt(r,d)^dt(r,l[2]),u=gt(u,t))})),g^=a?0:ut(c,r),ht(t,g,r),[u,d,t[2]]},h=()=>[Ct(n[0],(e=>Ct(e,(e=>Ct(e))))),Ct(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getId:()=>e,getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Ae(n[0][0],ct),getMergeableTableDiff:e=>{const t=ft(n[0][1]),s={};return Me(n[0][0],((n,[a,o,r])=>ce(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=wt([a,o],(e=>wt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n,,a])=>a!=e?Me(n,((e,[,,n])=>fe(t,s,ie)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=ft(n[0][1]),s={};return ue(e,((e,a)=>Me(Re(n[0][0],a)?.[0],((n,[o,r,l])=>ce(e,n)?l!==e[n]?fe(s,a,ie)[n]=l:0:fe(t[0],a,ft)[0][n]=wt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n])=>ue(e,((e,a)=>x(Re(n,a),(([n,,o])=>o!==e?Me(n,((e,[,,n])=>fe(fe(t,s,ie),a,ie)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return ue(e,((e,s)=>ue(e,((e,n)=>x(Re(t,s),(([t,o])=>x(Re(t,n),(([t,r])=>Me(t,((t,[l,i,c])=>c!==e[t]?fe(fe(a,s,(()=>ft(o)))[0],n,(()=>ft(r)))[0][t]=[l,i]:0)))))))))),it(a,s)},getMergeableValuesHashes:()=>Ae(n[1][0],ct),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Ae(t,lt,(([,,t],s)=>t==e?.[s]));return it(a,s)},setMergeableContent:e=>d((()=>(e=>z(e)&&2==P(e)&&Lt(e[0],(e=>be(e,(e=>Lt(e,(e=>be(e,(e=>Lt(e,(e=>be(e,(e=>Lt(e,ze)),void 0,1)))),void 0,1)))),void 0,1)))&&Lt(e[1],(e=>be(e,(e=>Lt(e,ze)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Nt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};ve(o,((t,s)=>x(Re(e,s),(([e,n])=>{const a={};ve(t,((t,s)=>x(Re(e,s),(([e,n])=>{const o={};ve(t,(t=>{x(Re(e,t),(([e,s])=>o[t]=it(e,s)))})),a[s]=it(o,n)})))),l[s]=it(a,n)}))));const i={};return ve(r,(e=>x(Re(s,e),(([t,s])=>i[e]=it(t,s))))),[it(l,t),it(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{pe(o),pe(r)}),((e,n,r,i)=>{We(Ve(Ve(o,e,Te),n,Oe),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{We(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),ge(c,((e,t)=>b[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):m(t,"add")&&V(t,"Listener")?(...s)=>{const n=zt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),le(b)},e.createMetrics=et,e.createQueries=Vt,e.createRelationships=Dt,e.createStore=Qt,e.defaultSorter=Ue},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
package/lib/umd/tools.js CHANGED
@@ -1 +1 @@
1
- var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="tinybase",a="",n=",",d=l(a),o=l(!0),s=l(0),r="type",I="default",$="Listener",c="get",u="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,g="Row",m=g+b,f="Sorted"+g+b,w="Cell",T=w+b,y="Value",v=y+"s",x=y+b,V=Promise,R=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?t?.():l(e),S=e=>e==d||e==o,P=e=>l(e)==d,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,N=async e=>V.all(e),D=e=>{const t=l(e);return S(t)||t==s&&R(e)?t:void 0},G=(e,l)=>e.every(l),j=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=a)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.keys,q=_.freeze,K=e=>!A(e)&&k(Z(e),(e=>e==_.prototype||A(Z(e))),(()=>!0)),X=(e,l)=>J(_.entries(e),(([e,t])=>l(t,e))),Y=e=>L(Q(e)),ee=e=>K(e)&&0==Y(e),le=(e,l)=>e?.has(l)??!1,te=e=>[...e?.values()??[]],ae=(e,l)=>e?.forEach(l),ne=(e,l)=>e?.delete(l),de=e=>new Map(e),oe=(e,l)=>e?.get(l),se=(e,l)=>ae(e,((e,t)=>l(t,e))),re=(e,l)=>J([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>A(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t)=>(le(e,l)||Ie(e,l,t()),oe(e,l)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Count",ge="Del",me="Deps",fe=me+"?: React.DependencyList",we="doRollback?: DoRollback",Te="actions: () => Return, "+we,ye="export",ve="Id",xe="Invalid",Ve="Json",Re=ue($),Ae="?: ",ke=" | undefined",Se="NonNullable",Pe="Partial",Oe="Props",Ee="Provider",Le=`Registers a ${Re} that will be called`,Ne="Represents",De="rowId: "+ve,Ge="Schema",je="Set",He=", descending?: boolean, offset?: number, limit?: number",Me="[]",Je="the Store",ze="Transaction",We=ze+"Changes",Be=ue(ze),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,t=0)=>nl(t)+`the ${yl[e]}content of`+(l?el+Je:a),ol=(e=0,l,t=0,n=0)=>fl[l]+el+nl(n)+dl(e,1)+(t?" when setting it":a),sl=(e,l=0)=>Ne+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+p,rl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,$l=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,ul=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+Tl[e]+" in "+Tl[l],il=(e,l,t=0,n=0)=>Le+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(t?a:"s"),bl=e=>`the '${e}' `+p,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>fl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>fl[l]+` ${dl(0,0,t)} `+pl(e),gl=(e,l,t=0,a=0)=>fl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),ml=(e,l=0,t=0)=>fl[l]+el+nl(t)+`the '${e}' Value`,fl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ne,"Gets "+Ye,"Sets "+Ye,Le+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],wl=[c,"has","set","del","set","forEach",u,a],Tl=[Je,C,tl+p+el+b,ie+p,tl+g+el+b,ie+g,tl+w+el+b,ie+w,"invalid Cell changes",v,tl+y+el+b,ie+y,"invalid Value changes",tl+"sorted "+g+el+b,tl+w+el+b+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[a,"tabular ","keyed value "],vl=e=>new Set(O(e)||A(e)?e:[e]),xl=(e,l)=>e?.add(l),Vl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(n),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?Sl(e,l,t,a+1):(Ie(e,n,t),n)},Pl=e=>e.replace(Al,((e,l,t)=>{const a=77-L(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>M(J(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(E(e,0,1))+E(e,1)))),Ll=e=>ce(M((e&&!Vl.test(e[0])?e:" "+e).split(Rl),"_")),Nl=e=>`/** ${e}. */`,Dl=(...e)=>M(z(e,(e=>e)),", "),Gl=(...e)=>"{"+M(e,"; ")+"}",jl=(...e)=>Gl(...J(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),t=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(Ol(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(l??n)==n?xl($e(e[n],t,vl),a):0)))),(e,t,n,d=a,o=1)=>Sl(l,e,[t,n,d,o]),(e,l,a)=>Sl(t,e,O(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>oe(t,e)===l?e:Sl(t,e,l),(l=0)=>J([...j(re(e[l],((e,l)=>`import {${M(j(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>kl(e)!=kl(l)?kl(e)?-1:1:e>l?1:-1)),a],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,t,n],d)=>[Nl(l),`${n?ye+" ":a}type ${d}${t} = ${e};`,a])),()=>re(t,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,a])))]},Ml=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Ll(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[r],e[I],t(Ll(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[r],l[I],t(Ll(a),`'${a}'`),El(a,1))))],zl=(e,l,t,n)=>[(n,d)=>{const o=n+": "+d,s=e(C,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),ol(1,5)),r=e(C+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),I=e(p+ve,"keyof "+s,"A "+p+" Id in "+Je),c=`<TId extends ${I}>`,u=e(p,Se+`<${s}[TId]>`,"A "+p+" in "+Je,c),b=e(p+Ke,Se+`<${r}[TId]>`,"A "+p+" in "+Je+Xe,c),y=e(g,u+"<TId>[Id]","A "+g+" in a "+p,c),v=e(g+Ke,b+"<TId>[Id]","A "+g+" in a "+p+Xe,c),x=e(w+ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+g,c),V=e(w,Se+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+g,`<TId extends ${I}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,w+" Ids and types in a "+g,`<TId extends ${I}, CId = ${x}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${R}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(g+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+g+" Id, and a "+w+" iterator"),c),P=e(p+w+Ce,`(cellId: ${x}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+p+" Id, and a "+g+" iterator"),a),L=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),D=e(i+C+$,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(C+$,`(${o}, getCellChange: ${N}${ke})`+qe,ul(1)),j=e(h+$,`(${o})`+qe,ul(2)),H=e(i+p+$,`(${o}, tableId: ${I}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(p+$,`(${o}, tableId: ${I}, getCellChange: ${N}${ke})`+qe,ul(3)),J=e(p+T+$,`(${o}, tableId: ${I})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${I} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${I}>`,0),B=e(i+p+w+$,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(g+"Count"+$,`(${o}, tableId: ${I})`+qe,ul(15,3)),U=e(m+$,`(${o}, tableId: ${I})`+qe,ul(4,3)),_=e(f+$,"("+Dl(o,"tableId: "+I,"cellId: Id"+ke,"descending: boolean","offset: number","limit: number"+ke,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(i+g+$,"("+Dl(""+o,"tableId: "+I,De,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(g+$,"("+Dl(""+o,"tableId: "+I,De,`getCellChange: ${N}${ke}`)+")"+qe,ul(5,3)),q=e(T+$,"("+Dl(""+o,"tableId: "+I,De)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${I} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${I}>`,0),Y=e(i+w+$,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${ke}, oldCell: ${V}<TId, CId> ${ke}, getCellChange: ${N} ${ke}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,u,b,y,v,x,V,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+$,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+$,`(${o}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,t)=>{const d=l+": "+t,o=e(v,Gl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),ol(2,5)),s=e(v+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(y+ve,"keyof "+o,"A "+y+" Id in "+Je),I=e(y,Se+`<${o}[VId]>`,"A "+y+" Id in "+Je,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Je,`<VId = ${r}>`,0),u=e(y+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(i+v+$,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(v+$,`(${d}, getValueChange: ${b}${ke})`+qe,ul(9)),h=e(x+$,`(${d})`+qe,ul(10)),g=e(i+y+$,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${I}<VId> ${ke}, oldValue: ${I}<VId> ${ke}, getValueChange: ${b} ${ke}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,I,u,p,C,h,g,e(y+$,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+qe,ul(11)),e(xe+y+$,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(ze+$,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Bl=(e,l=a)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,Ul=(e,l,n)=>{const[d,s,c,V,R,k,S,O]=Hl(),[E,L,N]=Jl(e,l,R),[D,G,j]=zl(c,E,L,N),J=de(),z=(e=0)=>re(J,(([l,t,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${t} => ${n},`]:[s+o+`(${l}): ${t};`];return e||F(r,Nl(d)),W(r,a),r})),B=(e,l,t,n,d,o=a)=>Sl(J,e,[l,t,n,d,o]),U=(e,l,t,n,d,o=a,s=a,r=a)=>B(wl[e]+l+(4==e?Pe:a)+t,o,n,(n==Q?Bl:Wl)(wl[e]+(4==e?Pe:a)+t,s,e?void 0:n),d,r),_=(e,l,t,n=a,d=a,o=1,s=a)=>B(u+e+$,(n?n+", ":a)+Re+": "+l+(o?", mutator?: boolean":a),ve,Fl(u+e+$,d,o?"mutator":a),t,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if(s(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))s(null,t,C);else{s(0,t,"CellChange"),s(null,t,b);const[e,l,n,d,$,u,y,v,x,V,k,S,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=D(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,d+t,Ne+` the '${e}' `+p),c(l+p+Ke,$+t,Ne+` the '${e}' `+p+Xe),c(l+g,u+t,sl(e)),c(l+g+Ke,y+t,sl(e,1)),c(l+w+ve,v+t,`A Cell Id for the '${e}' `+p),c(l+w+Ce,V+t,cl(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+g+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+Ce,S+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),s(1,Z,...a)})),s(1,Z,e,l,n,v,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,l,n,v,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ie],H([[e],[o],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>U(n,a,C,e,ol(1,n),l,t))),U(0,a,h,n+Me,rl(p,Je)),U(5,a,p,Qe,Il(p,Je),"tableCallback: "+O,"tableCallback as any"),E(((e,l,t)=>{const[n,d,s,r,I,$,c,u]=oe(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,d,o=a],s)=>U(s,l,p,n,Cl(e,s),d,t+o))),U(0,l,p+T,b,rl(w,"the whole of "+bl(e)),a,t),U(5,l,p+w,Qe,Il(p+w,"the whole of "+bl(e)),"tableCellCallback: "+u,t+", tableCellCallback as any"),U(0,l,g+he,"number","Gets the number of Rows in the "+bl(e),a,t),U(0,l,m,b,rl(g,bl(e)),a,t),U(0,l,f,b,rl(g,bl(e),1),"cellId?: "+I+He,t+", cellId, descending, offset, limit"),U(5,l,g,Qe,Il(g,bl(e)),"rowCallback: "+c,t+", rowCallback as any"),H([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=a,o=a],s)=>U(s,l,g,n,hl(e,s),De+d,t+", rowId"+o))),U(6,l,g,ve+ke,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",t+", row, reuseIds"),U(0,l,T,I+Me,rl(w,pl(e)),De,t+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),De+", cellCallback: "+$,t+", rowId, cellCallback as any"),L(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);Ie(X,d,$);const c=d+(A(s)?ke:a);H([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([d,o=a,s=a],$)=>U($,l+I,w,d,gl(e,n,$),De+o,t+", rowId, "+r+s))),U(1,l+I,p+w,o,fl[1]+` the '${n}' Cell anywhere in `+bl(e),a,t+", "+r)}))})),U(0,a,C+Ve,Ve,ol(1,6)),U(2,a,C+Ve,Q,ol(1,7),"tablesJson: "+Ve,"tables"+Ve),_(i+C,N,ol(1,8,0,1)+" changes"),_(C,G,ol(1,8)+" changes"),_(h,j,il(2,0,1)),_(i+p,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,il(3,0),`tableId: ${n} | null`,"tableId"),_(p+T,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, cellId"),_(g+he,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(f,ae,il(13,3,1),Dl("tableId: TId",`cellId: ${v}<TId>`+ke,"descending: boolean","offset: number","limit: number"+ke),Dl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+g,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(T,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,Le+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...te(X)),W(K,".set"+C+Ge+"({",Ol(E(((e,l,t)=>[`[${t}]: {`,...L(e,((e,l,t,n)=>`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(ee(l))s(null,t,v);else{const[e,l,n,d,$,c,u,b,p,C,h]=G(q,Q);s(1,Z,e,l,n,$,c,u,b,p,C,h),le=[e,l,n,c,u,b,p,C],H([[e],[o],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>U(n,a,v,e,ol(2,n),l,t))),U(0,a,x,n+Me,rl(y,Je)),U(5,a,y,"void",Il(y,Je),"valueCallback: "+$,"valueCallback as any"),N(((e,l,t,n,d)=>{const s="Map"+El(l,1);Ie(X,l,s),H([[l],[o],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,t,o=a],s)=>U(s,d,y,l,ml(e,s),t,n+o)))})),U(0,a,v+Ve,Ve,ol(2,6)),U(2,a,v+Ve,Q,ol(2,7),"valuesJson: "+Ve,"values"+Ve),_(i+v,c,ol(2,8,0,1)+" changes"),_(v,u,ol(2,8)+" changes"),_(x,b,il(10,0,1)),_(i+y,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+y,h,Le+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...te(X)),s(0,t,"ValueChange"),W(K,".set"+v+Ge+"({",N(((e,l,t,n)=>[`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`])),"})")}U(0,a,"Content",`[${C}, ${v}]`,ol(0,0)),U(2,a,"Content",Q,ol(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),U(2,a,We,Q,`Applies a set of ${We} to the Store`,"transactionChanges: "+We,"transactionChanges"),se(X,((e,l)=>c(l,`(cell: ${e}${ke}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,t,"DoRollback",ve,"IdOrNull",Ve,"Store",We),s(0,t,"Get"+We,"GetTransactionLog"),U(0,a,Ve,Ve,ol(0,6)),U(2,a,Ve,Q,ol(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,a,Be,"Return",Fe,Te,"actions, doRollback","<Return>"),U(7,a,"start"+ze,Q,Ue),U(7,a,"finish"+ze,Q,_e,we,"doRollback");const ae=j(q,Q);return _("Start"+ze,ae,Le+" just before the start of the "+Be,a,a,0),_("WillFinish"+ze,ae,Le+" just before "+Ze,a,a,0),_("DidFinish"+ze,ae,Le+" just after "+Ze,a,a,0),U(7,a,"call"+$,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,$,Q,"Remove a listener that was previously added to "+Je,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",fl[0]+" the underlying Store object"),s(1,t,"createStore"),s(1,Z,Q,`create${Q} as create${Q}Decl`,ae),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...k(0),...S(),ye+" interface "+Q+" {",...z(0),"}",a,Nl(`Creates a ${Q} object`),ye+" function create"+Q+"(): "+Q+";"),d(...k(1),ye+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>c+e,Zl=e=>Dl(_l(e),_l(e)+me),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",dt="rowId",ot="rowId={rowId}",st=", separator, debugIds",rt="separator?: ReactElement | string",It="then?: (store: Store",$t=Dl(It+")"+qe,Kl),ct="then, then"+me,ut=dt+tt+ve,it="View",bt=(e,...l)=>Dl(...l,Re+": "+e,Re+fe,"mutator?: boolean"),pt=(...e)=>Dl(...e,Re,Re+me,"mutator"),Ct=(e,l,n,d,r)=>{const[I,c,u,V,R,k,S,P]=Hl(),[O,E,L]=Jl(e,l,R),N=`./${El(n)}.d`,D=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),H=El(j),J=j+"Or"+j+ve,z=H+"Or"+j+ve,B=H+`={${H}}`,U=de(),_=(e,l,t,n,d,o=a)=>(c(1,D,e+" as "+e+"Decl"),Sl(U,e,[l,t,n,d,o])),Z=(e,l,t,n,d,o=a)=>_("use"+e,l,t,n,d,o),Q=(e,l,t,n,d=a,o=a,s=a,r=a,I=a)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Dl(d,le,r),t,ae+`(${z}, use${l}Core, [`+(o||a)+(I?"], ["+I:a)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,t,n,d,o],s)=>{const r=e?[ye+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==t?"any":t} =>`,n]:[ye+` function ${s}${o}(${l}): ${1==t?"ComponentReturnType":t};`];return e||F(r,Nl(d)),W(r,a),r}));c(null,t,ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=u(J,j+" | "+ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=u(Ee+Oe,jl(H+Ae+j,H+`ById?: {[${H}Id: Id]: ${j}}`),`Used with the ${Ee} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,D,X,Y);const le=z+Ae+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${j}?, {[${H}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+fe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+ke,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ee} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=V("wrap",Dl("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;"]),Ie=V("useCustomOrDefaultCellIds",Dl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=R("NullComponent","() => null");if(!ee(e)){const[e,l,n,r,I,y,v,x,R,k,S,P,L,G,J,z,W,F,U,_]=d;c(null,N,e,l,n,I,y,v,x,R,k,S,P,L,G,J,z,W,U,F),c(0,N,r),c(1,N,j),c(null,t,b,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+st+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${se}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ot,"customCellIds={customCellIds}",B,ql,"/>","))",st,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(i+C,i+C,o,ol(1,0,0,1)+pe),Q(C,C,e,ol(1,0)+pe);const Y=Q(h,h,n+Me,rl(p,Je)+pe);Q(je+C+Ce,je+C+Ce,nt,ol(1,9)+lt,Dl(_l(C)+Yl+l,_l(C)+fe),Zl(C),at,Dl(It,`tables: ${l})`+qe,Kl),ct),Q(ge+C+Ce,ge+C+Ce,Ce,ol(1,12),a,a,a,$t,ct);const ee=u(w+Oe,jl("tableId?: TId","rowId: Id","cellId?: CId",H+Ae+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=u(g+Oe,jl("tableId?: TId","rowId: Id",H+Ae+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+g),`<TId extends ${n}>`),te=u(p+Oe,jl("tableId?: TId",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+p),`<TId extends ${n}>`),ae=u("Sorted"+p+Oe,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+p),`<TId extends ${n}>`),de=u(C+Oe,jl(H+Ae+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,D,de,te,ae,le,ee),q(C+it,"{"+H+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,t)=>{const[n,d,r,I,$]=oe(_,e);c(null,N,n,d,r,I,$),Q(i+l+p,i+p,o,Cl(e,0,1)+pe,a,t),Q(l+p,p,n,Cl(e)+pe,a,t),Q(l+p+T,p+T,b,rl(w,"the whole of "+bl(e))+pe,a,t),Q(l+g+he,g+he,s,"Gets the number of Rows in "+bl(e)+pe,a,t);const u=Q(l+m,m,b,rl(g,bl(e))+pe,a,t),C=Q(l+f,f,b,rl(g,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+g,i+g,o,hl(e,0,1)+pe,ut,Dl(t,dt)),Q(l+g,g,r,hl(e)+pe,ut,Dl(t,dt)),Q(l+T,T,$+Me,rl(w,pl(e))+pe,ut,Dl(t,dt)),Q(je+l+p+Ce,je+p+Ce,nt,Cl(e,9)+lt,Dl(_l(p)+Yl+d,_l(p)+fe),Dl(t,Zl(p)),at,Dl(It,`table: ${d})`+qe,Kl),ct),Q(ge+l+p+Ce,ge+p+Ce,Ce,Cl(e,12),a,t,a,$t,ct),Q(je+l+g+Ce,je+g+Ce,nt,hl(e,9)+lt,Dl(ut,_l(g)+Yl+I,_l(g)+fe),Dl(t,dt,Zl(g)),at,Dl(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+g+Ce,"Add"+g+Ce,nt,hl(e,10)+lt,Dl(_l(g)+Yl+I,_l(g)+fe),Dl(t,Zl(g)),at,"then?: ("+Dl(ut+ke,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(je+l+Pe+g+Ce,je+Pe+g+Ce,nt,hl(e,11)+lt,Dl(ut,_l(Pe+g)+Yl+I,_l(Pe+g)+fe),Dl(t,dt,Zl(Pe+g)),at,Dl(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+g+Ce,ge+g+Ce,Ce,hl(e,12),ut,Dl(t,dt),a,$t,ct);const h=q(l+g+it,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,ot,"cellId={cellId}",B,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+p+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,Cl(e,13)+", sorted"+pe),q(l+p+it,`props: ${te}<'${e}'>`,Z+"(props, "+u+`(props.${H}), ${t}, ${h});`,Cl(e,13)+pe),E(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);c(0,N,$),c(1,N,$),Q(i+l+I+p+w,i+p+w,o,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,a,Dl(t,r)),Q(i+l+I+w,i+w,o,gl(e,n,0,1)+pe,ut,Dl(t,dt,r));const u=Q(l+I+w,w,d+(A(s)?ke:a),gl(e,n)+pe,ut,Dl(t,dt,r));Q(je+l+I+w+Ce,je+w+Ce,nt,gl(e,n,9)+lt,Dl(ut,_l(w)+Yl+d+" | "+$,_l(w)+fe),Dl(t,dt,r,Zl(w)),at,Dl(It,`cell: ${d} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,gl(e,n,12),Dl(ut,"forceDel?: boolean"),Dl(t,dt,r,"forceDel"),a,$t,ct),q(l+I+w+it,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${u}(rowId, `+H+`) ?? '', undefined, debugIds, ${r})`],gl(e,n,13)+pe)}))}));const re=M(O((e=>oe(_,e)?.[4]??a))," | ");Q(i+C+$,i+C+$,Qe,ol(1,8,0,1)+" changes",bt(I),pt()),Q(C+$,C+$,Qe,ol(1,8)+" changes",bt(y),pt()),Q(h+$,h+$,Qe,il(2,0,1),bt(v),pt()),Q(i+p+$,i+p+$,Qe,il(3,0,0,1),bt(x,`tableId: ${n} | null`),pt("tableId")),Q(p+$,p+$,Qe,il(3,0),bt(R,`tableId: ${n} | null`),pt("tableId")),Q(p+T+$,p+T+$,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(i+p+w+$,i+p+w+$,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(g+he+$,g+he+$,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+$,m+$,Qe,il(4,3,1),bt(L,`tableId: ${n} | null`),pt("tableId")),Q(f+$,f+$,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+ke,"descending: boolean","offset: number","limit: number"+ke),pt("tableId","cellId","descending","offset","limit")),Q(i+g+$,i+g+$,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(g+$,g+$,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(T+$,T+$,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(i+w+$,i+w+$,Qe,il(7,5,0,1),bt(F,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+$,w+$,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(l)){const[e,l,t,n,d,s,I,b]=r;c(null,N,...r),c(1,N,j);const p=V("getDefaultValueComponent","valueId: Id",M(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(i+v,i+v,o,ol(2,0,0,1)+pe),Q(v,v,e,ol(2,0)+pe);const C=Q(x,x,t+Me,rl(y,Je)+pe);Q(je+v+Ce,je+v+Ce,nt,ol(2,9)+lt,Dl(_l(v)+Yl+l,_l(v)+fe),Zl(v),at,Dl(It,`values: ${l})`+qe,Kl),ct),Q(je+Pe+v+Ce,je+Pe+v+Ce,nt,ol(2,11)+lt,Dl(_l(Pe+v)+Yl+l,_l(Pe+v)+fe),Zl(Pe+v),at,Dl(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+v+Ce,ge+v+Ce,Ce,ol(2,12),a,a,a,$t,ct);const h=u(y+Oe,jl("valueId?: VId",H+Ae+j,Ql),$l("a Value"),`<VId extends ${t}>`),g=u(v+Oe,jl(H+Ae+j,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,D,g,h),q(v+it,"{"+H+", valueComponents, getValueComponentProps"+st+"}: "+g,[se+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,ql,"/>;","}), separator)"],ol(2,13)+pe),L(((e,l,t,n,d)=>{const s="Map"+El(l,1);c(0,N,s),c(1,N,s),Q(i+d+y,i+y,o,ml(e,0,1)+pe,a,n);const r=Q(d+y,y,l,ml(e)+pe,a,n);Q(je+d+y+Ce,je+y+Ce,nt,ml(e,9)+lt,Dl(_l(y)+Yl+l+" | "+s,_l(y)+fe),Dl(n,Zl(y)),at,Dl(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+d+y+Ce,ge+y+Ce,Ce,ml(e,12),a,n,a,$t,ct),q(d+y+it,`{${H}, debugIds}: ${h}<'${e}'>`,[se+`('' + ${r}(`+H+`) ?? '', undefined, debugIds, ${n})`],ml(e,13)+pe)})),Q(i+v+$,i+v+$,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(v+$,v+$,Qe,ol(2,8)+" changes",bt(d),pt()),Q(x+$,x+$,Qe,il(10,0,1),bt(s),pt()),Q(i+y+$,i+y+$,Qe,il(11,0,0,1),bt(I,`valueId: ${t} | null`),pt("valueId")),Q(y+$,y+$,Qe,il(11,0),bt(b,`valueId: ${t} | null`),pt("valueId"))}return q(Ee,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",et,"return (","<Context."+Ee,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Ee}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...k(0),...S(),...K(0)),I(...k(1),...P(),...K(1))]},ht=(e,l,t)=>{if(ee(e)&&ee(l))return[a,a,a,a];const[n,d,o,s]=Ul(e,l,t);return[n,d,...Ct(e,l,t,o,s)]},gt=JSON.parse,mt="prettier/",ft=mt+"plugins/",wt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=gt(e.getTablesSchemaJson());return!ee(l)||G(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(G(a,(l=>G(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=$e(n,a,(()=>[D(d),de(),[0],0])),[s,r,[I]]=o,$=$e(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),Ie(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ae(n,(([e,,[,n],d],o)=>{l[t][o]={[r]:e,...d==L(a)?{[I]:n}:{}}})),1}))?l:{}},t=()=>{const l=gt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:D(t)}})),l},a=e=>ht(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(mt+"standalone")).format,W(t,await import(ft+"estree"),await import(ft+"typescript"))}catch(e){n=async e=>e}return await N(J(a(e),(async(e,a)=>Pl(await n(e,{...wt,plugins:t,filepath:"_."+l[a]})))))};return q({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:L(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=Tt},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
1
+ var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="tinybase",a="",n=",",d=l(a),o=l(!0),s=l(0),r="type",I="default",$="Listener",c="get",u="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,m="Row",g=m+b,f="Sorted"+m+b,w="Cell",T=w+b,y="Value",v=y+"s",x=y+b,V=Promise,R=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?t?.():l(e),S=e=>e==d||e==o,P=e=>l(e)==d,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),N=e=>e.length,D=async e=>V.all(e),L=e=>{const t=l(e);return S(t)||t==s&&R(e)?t:void 0},j=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=a)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.entries,q=e=>!A(e)&&k(Z(e),(e=>e==_.prototype||A(Z(e))),(()=>!0)),K=_.keys,X=_.freeze,Y=(e,l)=>J(Q(e),(([e,t])=>l(t,e))),ee=e=>N(K(e)),le=e=>q(e)&&0==ee(e),te=(e,l)=>e?.has(l)??!1,ae=e=>[...e?.values()??[]],ne=(e,l)=>e?.forEach(l),de=(e,l)=>e?.delete(l),oe=e=>new Map(e),se=(e,l)=>e?.get(l),re=(e,l)=>ne(e,((e,t)=>l(t,e))),Ie=(e,l)=>J([...e?.entries()??[]],(([e,t])=>l(t,e))),$e=(e,l,t)=>A(t)?(de(e,l),e):e?.set(l,t),ce=(e,l,t,a)=>(te(e,l)?a?.(se(e,l)):$e(e,l,t()),se(e,l)),ue=e=>e.toUpperCase(),ie=e=>e.toLowerCase(),be="a ",pe="A function for",Ce=", and registers a listener so that any changes to that result will cause a re-render",he="Callback",me="Changes",ge="Count",fe="Del",we="Deps",Te=we+"?: React.DependencyList",ye="doRollback?: DoRollback",ve="actions: () => Return, "+ye,xe="export",Ve="Id",Re="Invalid",Ae="Json",ke=ie($),Se="?: ",Pe=" | undefined",Oe="NonNullable",Ee="Partial",Ne="Props",De="Provider",Le=`Registers a ${ke} that will be called`,je="Represents",Ge="rowId: "+Ve,He="Schema",Me="Set",Je=", descending?: boolean, offset?: number, limit?: number",ze="[]",We="the Store",Be="Transaction",Fe=ie(Be),Ue="Execute a "+Fe+" to make multiple mutations",_e="Explicitly starts a "+Fe,Ze="Explicitly finishes a "+Fe,Qe="the end of the "+Fe,qe="void",Ke=" => "+qe,Xe="WhenSet",Ye=" when setting it",el=be+"string serialization of",ll=" ",tl="Gets a callback that can ",al="the ",nl=" the schema for",dl=(e=0)=>e?"the existence of ":"",ol=(e=0,l=0,t=0)=>dl(t)+`the ${vl[e]}content of`+(l?ll+We:a),sl=(e=0,l,t=0,n=0)=>wl[l]+ll+dl(n)+ol(e,1)+(t?" when setting it":a),rl=(e,l=0)=>je+` a Row when ${l?"s":"g"}etting ${ol()} the '${e}' `+p,Il=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,$l=(e,l)=>`Calls a function for each ${e} in `+l,cl=e=>"The props passed to a component that renders "+e,ul=e=>"A function that takes "+e,il=(e,l=0,t=0)=>pe+" listening to changes to "+dl(t)+yl[e]+" in "+yl[l],bl=(e,l,t=0,n=0)=>Le+" whenever "+dl(n)+yl[e]+" in "+yl[l]+" change"+(t?a:"s"),pl=e=>`the '${e}' `+p,Cl=e=>"the specified Row in "+pl(e),hl=(e,l=0,t=0)=>wl[l]+ll+ol(0,0,t)+ll+pl(e),ml=(e,l=0,t=0)=>wl[l]+` ${ol(0,0,t)} `+Cl(e),gl=(e,l,t=0,a=0)=>wl[t]+ll+dl(a)+`the '${l}' Cell for `+Cl(e),fl=(e,l=0,t=0)=>wl[l]+ll+dl(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",je,"Gets "+el,"Sets "+el,Le+" whenever",tl+"set",tl+"add",tl+"set part of",tl+"delete","Renders","Gets "+el+nl,"Sets"+nl,"Deletes"+nl],Tl=[c,"has","set","del","set","forEach",u,a],yl=[We,C,al+p+ll+b,be+p,al+m+ll+b,be+m,al+w+ll+b,be+w,"invalid Cell changes",v,al+y+ll+b,be+y,"invalid Value changes",al+"sorted "+m+ll+b,al+w+ll+b+" anywhere",al+"number of Rows",be+w+" anywhere"],vl=[a,"tabular ","keyed value "],xl=e=>new Set(O(e)||A(e)?e:[e]),Vl=(e,l)=>e?.add(l),Rl=/[^A-Za-z]+/,Al=/[^A-Za-z0-9]+/,kl=/^( *)\/\*\* *(.*?) *\*\/$/gm,Sl=e=>e.includes(n),Pl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return te(e,n)?Pl(e,l,t,a+1):($e(e,n,t),n)},Ol=e=>e.replace(kl,((e,l,t)=>{const a=77-N(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),El=e=>e.flat(1e3),Nl=(e,l=0)=>M(J(e.split(Al),((e,t)=>(t>0||l?ue:ie)(E(e,0,1))+E(e,1)))),Dl=e=>ue(M((e&&!Rl.test(e[0])?e:" "+e).split(Al),"_")),Ll=e=>`/** ${e}. */`,jl=(...e)=>M(z(e,(e=>e)),", "),Gl=(...e)=>"{"+M(e,"; ")+"}",Hl=(...e)=>Gl(...J(e,(e=>"readonly "+e))),Ml=()=>{const e=[oe(),oe(),oe(),oe()],l=oe(),t=oe(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(El(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(l??n)==n?Vl(ce(e[n],t,xl),a):0)))),(e,t,n,d=a,o=1)=>Pl(l,e,[t,n,d,o]),(e,l,a)=>Pl(t,e,O(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>se(t,e)===l?e:Pl(t,e,l),(l=0)=>J([...G(Ie(e[l],((e,l)=>`import {${M(G(ae(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>Sl(e)!=Sl(l)?Sl(e)?-1:1:e>l?1:-1)),a],(e=>e.replace("{React}","React"))),()=>Ie(l,(([e,l,t,n],d)=>[Ll(l),`${n?xe+" ":a}type ${d}${t} = ${e};`,a])),()=>Ie(t,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,a])))]},Jl=(e,l)=>{const t=new WeakMap;return a=>{t.has(a)||t.set(a,e(a));const n=t.get(a);return l?.(n),n}},zl=(e,l,t)=>[l=>Y(e,((e,a)=>l(a,Nl(a,1),t(Dl(a),`'${a}'`)))),(l,a)=>Y(e[l],((e,l)=>a(l,e[r],e[I],t(Dl(l),`'${l}'`),Nl(l,1)))),e=>Y(l,((l,a)=>e(a,l[r],l[I],t(Dl(a),`'${a}'`),Nl(a,1))))],Wl=(e,l,t,n)=>[(n,d)=>{const o=n+": "+d,s=e(C,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),sl(1,5)),r=e(C+Xe,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),sl(1,5,1)),I=e(p+Ve,"keyof "+s,"A "+p+" Id in "+We),c=`<TId extends ${I}>`,u=e(p,Oe+`<${s}[TId]>`,"A "+p+" in "+We,c),b=e(p+Xe,Oe+`<${r}[TId]>`,"A "+p+" in "+We+Ye,c),y=e(m,u+"<TId>[Id]","A "+m+" in a "+p,c),v=e(m+Xe,b+"<TId>[Id]","A "+m+" in a "+p+Ye,c),x=e(w+Ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+m,c),V=e(w,Oe+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+m,`<TId extends ${I}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,w+" Ids and types in a "+m,`<TId extends ${I}, CId = ${x}<TId>>`,0),k=e(w+he,`(...[cellId, cell]: ${R}<TId>)`+Ke,ul(be+w+" Id, and "+w),c),S=e(m+he,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ke+") "+Ke,ul(be+m+" Id, and a "+w+" iterator"),c),P=e(p+w+he,`(cellId: ${x}<TId>, count: number) `+Ke,ul(be+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Ke}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+he,`(...[tableId, forEachRow]: ${O})`+Ke,ul(be+p+" Id, and a "+m+" iterator"),a),N=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${N}) => CellChange`,pe+" returning information about any Cell's changes during a "+Fe),L=e(i+C+$,`(${o}, hasTables: boolean)`+Ke,il(1,0,1)),j=e(C+$,`(${o}, getCellChange: ${D}${Pe})`+Ke,il(1)),G=e(h+$,`(${o})`+Ke,il(2)),H=e(i+p+$,`(${o}, tableId: ${I}, hasTable: boolean)`+Ke,il(3,0,1)),M=e(p+$,`(${o}, tableId: ${I}, getCellChange: ${D}${Pe})`+Ke,il(3)),J=e(p+T+$,`(${o}, tableId: ${I})`+Ke,il(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${I} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${I}>`,0),B=e(i+p+w+$,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+Ke,il(16,3,1)),F=e(m+"Count"+$,`(${o}, tableId: ${I})`+Ke,il(15,3)),U=e(g+$,`(${o}, tableId: ${I})`+Ke,il(4,3)),_=e(f+$,"("+jl(o,"tableId: "+I,"cellId: Id"+Pe,"descending: boolean","offset: number","limit: number"+Pe,"sortedRowIds: Ids")+")"+Ke,il(13,3)),Z=e(i+m+$,"("+jl(""+o,"tableId: "+I,Ge,"hasRow: boolean")+")"+Ke,il(5,3,1)),Q=e(m+$,"("+jl(""+o,"tableId: "+I,Ge,`getCellChange: ${D}${Pe}`)+")"+Ke,il(5,3)),q=e(T+$,"("+jl(""+o,"tableId: "+I,Ge)+")"+Ke,il(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${I} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${I}>`,0),Y=e(i+w+$,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+Ke,il(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, newCell: ${V}<TId, CId> ${Pe}, oldCell: ${V}<TId, CId> ${Pe}, getCellChange: ${D} ${Pe}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,u,b,y,v,x,V,k,S,P,E,L,j,G,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+$,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+Ke,il(7,5)),e(Re+w+$,`(${o}, tableId: Id, ${Ge}, cellId: Id, invalidCells: any[])`+Ke,il(8))]},(l,t)=>{const d=l+": "+t,o=e(v,Gl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),sl(2,5)),s=e(v+Xe,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),sl(2,5,1)),r=e(y+Ve,"keyof "+o,"A "+y+" Id in "+We),I=e(y,Oe+`<${o}[VId]>`,"A "+y+" Id in "+We,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+We,`<VId = ${r}>`,0),u=e(y+he,`(...[valueId, value]: ${c})`+Ke,ul(be+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,pe+" returning information about any Value's changes during a "+Fe),p=e(i+v+$,`(${d}, hasValues: boolean)`+Ke,il(9,0,1)),C=e(v+$,`(${d}, getValueChange: ${b}${Pe})`+Ke,il(9)),h=e(x+$,`(${d})`+Ke,il(10)),m=e(i+y+$,`(${d}, valueId: ValueId, hasValue: boolean)`+Ke,il(11,0,1)),g=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${I}<VId> ${Pe}, oldValue: ${I}<VId> ${Pe}, getValueChange: ${b} ${Pe}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,I,u,p,C,h,m,e(y+$,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+g+")"+Ke,il(11)),e(Re+y+$,`(${d}, valueId: Id, invalidValues: any[])`+Ke,il(12))]},(l,t)=>e(Be+$,`(${l}: ${t})`+Ke,pe+" listening to the completion of a "+Fe)],Bl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Fl=(e,l=a)=>`fluent(() => ${Bl(e,l)})`,Ul=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,_l=(e,l,n)=>{const[d,s,c,V,R,k,S,O]=Ml(),[E,N,D]=zl(e,l,R),[L,j,G]=Wl(c,E,N,D),J=oe(),z=(e=0)=>Ie(J,(([l,t,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${t} => ${n},`]:[s+o+`(${l}): ${t};`];return e||F(r,Ll(d)),W(r,a),r})),B=(e,l,t,n,d,o=a)=>Pl(J,e,[l,t,n,d,o]),U=(e,l,t,n,d,o=a,s=a,r=a)=>B(Tl[e]+l+(4==e?Ee:a)+t,o,n,(n==Q?Fl:Bl)(Tl[e]+(4==e?Ee:a)+t,s,e?void 0:n),d,r),_=(e,l,t,n=a,d=a,o=1,s=a)=>B(u+e+$,(n?n+", ":a)+ke+": "+l+(o?", mutator?: boolean":a),Ve,Ul(u+e+$,d,o?"mutator":a),t,s),Z=`./${Nl(n)}.d`,Q=Nl(n,1),q=Nl(Q),K=[],X=oe();let Y=[],ee=[];if(s(1,Z,Q,`create${Q} as create${Q}Decl`),le(e))s(null,t,C);else{s(0,t,"CellChange"),s(null,t,b);const[e,l,n,d,$,u,y,v,x,V,k,S,O,D,j,G,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ue]=L(q,Q),ie=oe();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,d+t,je+` the '${e}' `+p),c(l+p+Xe,$+t,je+` the '${e}' `+p+Ye),c(l+m,u+t,rl(e)),c(l+m+Xe,y+t,rl(e,1)),c(l+w+Ve,v+t,`A Cell Id for the '${e}' `+p),c(l+w+he,V+t,ul(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+m+he,k+t,ul(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+he,S+t,ul(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];$e(ie,e,a),s(1,Z,...a)})),s(1,Z,e,l,n,v,O,D,j,G,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ue),Y=[e,l,n,v,D,j,G,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ie],H([[e],[o],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>U(n,a,C,e,sl(1,n),l,t))),U(0,a,h,n+ze,Il(p,We)),U(5,a,p,qe,$l(p,We),"tableCallback: "+O,"tableCallback as any"),E(((e,l,t)=>{const[n,d,s,r,I,$,c,u]=se(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,d,o=a],s)=>U(s,l,p,n,hl(e,s),d,t+o))),U(0,l,p+T,b,Il(w,"the whole of "+pl(e)),a,t),U(5,l,p+w,qe,$l(p+w,"the whole of "+pl(e)),"tableCellCallback: "+u,t+", tableCellCallback as any"),U(0,l,m+ge,"number","Gets the number of Rows in the "+pl(e),a,t),U(0,l,g,b,Il(m,pl(e)),a,t),U(0,l,f,b,Il(m,pl(e),1),"cellId?: "+I+Je,t+", cellId, descending, offset, limit"),U(5,l,m,qe,$l(m,pl(e)),"rowCallback: "+c,t+", rowCallback as any"),H([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=a,o=a],s)=>U(s,l,m,n,ml(e,s),Ge+d,t+", rowId"+o))),U(6,l,m,Ve+Pe,"Add a new Row to "+pl(e),"row: "+r+", reuseIds?: boolean",t+", row, reuseIds"),U(0,l,T,I+ze,Il(w,Cl(e)),Ge,t+", rowId"),U(5,l,w,qe,$l(w,Cl(e)),Ge+", cellCallback: "+$,t+", rowId, cellCallback as any"),N(e,((n,d,s,r,I)=>{const $="Map"+Nl(d,1);$e(X,d,$);const c=d+(A(s)?Pe:a);H([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([d,o=a,s=a],$)=>U($,l+I,w,d,gl(e,n,$),Ge+o,t+", rowId, "+r+s))),U(1,l+I,p+w,o,wl[1]+` the '${n}' Cell anywhere in `+pl(e),a,t+", "+r)}))})),U(0,a,C+Ae,Ae,sl(1,6)),U(2,a,C+Ae,Q,sl(1,7),"tablesJson: "+Ae,"tables"+Ae),_(i+C,D,sl(1,8,0,1)+" changes"),_(C,j,sl(1,8)+" changes"),_(h,G,bl(2,0,1)),_(i+p,J,bl(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,bl(3,0),`tableId: ${n} | null`,"tableId"),_(p+T,B,bl(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,F,bl(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, cellId"),_(m+ge,ee,bl(15,3),`tableId: ${n} | null`,"tableId"),_(g,le,bl(4,3,1),`tableId: ${n} | null`,"tableId"),_(f,te,bl(13,3,1),jl("tableId: TId",`cellId: ${v}<TId>`+Pe,"descending: boolean","offset: number","limit: number"+Pe),jl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+m,ne,bl(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(m,de,bl(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(T,re,bl(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,Ie,bl(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,bl(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(Re+w,ue,Le+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...ae(X)),W(K,".set"+C+He+"({",El(E(((e,l,t)=>[`[${t}]: {`,...N(e,((e,l,t,n)=>`[${n}]: {[${R(Dl(r),`'${r}'`)}]: ${R(Dl(l),`'${l}'`)}${A(t)?a:`, [${R(Dl(I),`'${I}'`)}]: `+(P(t)?R(Dl(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(le(l))s(null,t,v);else{const[e,l,n,d,$,c,u,b,p,C,h]=j(q,Q);s(1,Z,e,l,n,$,c,u,b,p,C,h),ee=[e,l,n,c,u,b,p,C],H([[e],[o],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>U(n,a,v,e,sl(2,n),l,t))),U(0,a,x,n+ze,Il(y,We)),U(5,a,y,"void",$l(y,We),"valueCallback: "+$,"valueCallback as any"),D(((e,l,t,n,d)=>{const s="Map"+Nl(l,1);$e(X,l,s),H([[l],[o],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,t,o=a],s)=>U(s,d,y,l,fl(e,s),t,n+o)))})),U(0,a,v+Ae,Ae,sl(2,6)),U(2,a,v+Ae,Q,sl(2,7),"valuesJson: "+Ae,"values"+Ae),_(i+v,c,sl(2,8,0,1)+" changes"),_(v,u,sl(2,8)+" changes"),_(x,b,bl(10,0,1)),_(i+y,p,bl(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,bl(11,0),`valueId: ${n} | null`,"valueId"),_(Re+y,h,Le+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...ae(X)),s(0,t,"ValueChange"),W(K,".set"+v+He+"({",D(((e,l,t,n)=>[`[${n}]: {[${R(Dl(r),`'${r}'`)}]: ${R(Dl(l),`'${l}'`)}${A(t)?a:`, [${R(Dl(I),`'${I}'`)}]: `+(P(t)?R(Dl(t),`'${t}'`):t)}},`])),"})")}U(0,a,"Content",`[${C}, ${v}]`,sl(0,0)),U(2,a,"Content",Q,sl(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),U(7,a,"applyChanges",Q,`Applies a set of ${me} to the Store`,"changes: "+me,"changes"),re(X,((e,l)=>c(l,`(cell: ${e}${Pe}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,t,"DoRollback",Ve,"IdOrNull",Ae,"Store",me),U(0,a,Ae,Ae,sl(0,6)),U(2,a,Ae,Q,sl(0,7),"tablesAndValuesJson: "+Ae,"tablesAndValuesJson"),U(7,a,Fe,"Return",Ue,ve,"actions, doRollback","<Return>"),U(7,a,"start"+Be,Q,_e),U(7,a,"finish"+Be,Q,Ze,ye,"doRollback");const te=G(q,Q);return _("Start"+Be,te,Le+" just before the start of the "+Fe,a,a,0),_("WillFinish"+Be,te,Le+" just before "+Qe,a,a,0),_("DidFinish"+Be,te,Le+" just after "+Qe,a,a,0),U(7,a,"call"+$,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,$,Q,"Remove a listener that was previously added to "+We,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",wl[0]+" the underlying Store object"),s(1,t,"createStore"),s(1,Z,Q,`create${Q} as create${Q}Decl`,te),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...k(0),...S(),xe+" interface "+Q+" {",...z(0),"}",a,Ll(`Creates a ${Q} object`),xe+" function create"+Q+"(): "+Q+";"),d(...k(1),xe+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,ee]},Zl=e=>c+e,Ql=e=>jl(Zl(e),Zl(e)+we),ql="debugIds?: boolean",Kl="debugIds={debugIds}",Xl="then"+Te,Yl="Parameter",et=": (parameter: "+Yl+", store: Store) => ",lt="const contextValue = useContext(Context);",tt=", based on a parameter",at=": ",nt="<"+Yl+",>",dt=Yl+"ized"+he+"<"+Yl+">",ot="rowId",st="rowId={rowId}",rt=", separator, debugIds",It="separator?: ReactElement | string",$t="then?: (store: Store",ct=jl($t+")"+Ke,Xl),ut="then, then"+we,it=ot+at+Ve,bt="View",pt=(e,...l)=>jl(...l,ke+": "+e,ke+Te,"mutator?: boolean"),Ct=(...e)=>jl(...e,ke,ke+we,"mutator"),ht=(e,l,n,d,r)=>{const[I,c,u,V,R,k,S,P]=Ml(),[O,E,N]=zl(e,l,R),D=`./${Nl(n)}.d`,L=`./${Nl(n)}-ui-react.d`,j="tinybase/ui-react",G=Nl(n,1),H=Nl(G),J=G+"Or"+G+Ve,z=H+"Or"+G+Ve,B=H+`={${H}}`,U=oe(),_=(e,l,t,n,d,o=a)=>(c(1,L,e+" as "+e+"Decl"),Pl(U,e,[l,t,n,d,o])),Z=(e,l,t,n,d,o=a)=>_("use"+e,l,t,n,d,o),Q=(e,l,t,n,d=a,o=a,s=a,r=a,I=a)=>(c(1,j,`use${l} as use${l}Core`),Z(e,jl(d,ee,r),t,ae+`(${z}, use${l}Core, [`+(o||a)+(I?"], ["+I:a)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>Ie(U,(([l,t,n,d,o],s)=>{const r=e?[xe+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==t?"any":t} =>`,n]:[xe+` function ${s}${o}(${l}): ${1==t?"ComponentReturnType":t};`];return e||F(r,Ll(d)),W(r,a),r}));c(null,t,Ve,"Store",he,Yl+"ized"+he),c(0,j,"ComponentReturnType"),c(1,j,"useCellIds"),c(null,j,"ExtraProps"),c(0,D,G);const X=u(J,G+" | "+Ve,`Used when you need to refer to a ${G} in a React hook or component`),Y=u(De+Ne,Hl(H+Se+G,H+`ById?: {[${H}Id: Id]: ${G}}`),`Used with the ${De} component, so that a `+G+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,L,X,Y);const ee=z+Se+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${G}?, {[${H}Id: Id]: ${G}}?]>([])`),Z("Create"+G,`create: () => ${G}, create`+Te,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const te=Z(G,"id?: Id",G+Pe,["{",lt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${De} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),de=V("wrap",jl("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;"]),re=V("useCustomOrDefaultCellIds",jl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=R("NullComponent","() => null");if(!le(e)){const[e,l,n,r,I,y,v,x,R,k,S,P,N,j,J,z,W,F,U,_]=d;c(null,D,e,l,n,I,y,v,x,R,k,S,P,N,j,J,z,W,U,F),c(0,D,r),c(1,D,G),c(null,t,b,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+rt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${de}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",st,"customCellIds={customCellIds}",B,Kl,"/>","))",rt,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(i+C,i+C,o,sl(1,0,0,1)+Ce),Q(C,C,e,sl(1,0)+Ce);const Y=Q(h,h,n+ze,Il(p,We)+Ce);Q(Me+C+he,Me+C+he,dt,sl(1,9)+tt,jl(Zl(C)+et+l,Zl(C)+Te),Ql(C),nt,jl($t,`tables: ${l})`+Ke,Xl),ut),Q(fe+C+he,fe+C+he,he,sl(1,12),a,a,a,ct,ut);const ee=u(w+Ne,Hl("tableId?: TId","rowId: Id","cellId?: CId",H+Se+G,ql),cl(be+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=u(m+Ne,Hl("tableId?: TId","rowId: Id",H+Se+G,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,It,ql),cl(be+m),`<TId extends ${n}>`),te=u(p+Ne,Hl("tableId?: TId",H+Se+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+p),`<TId extends ${n}>`),ae=u("Sorted"+p+Ne,Hl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Se+G,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+"sorted "+p),`<TId extends ${n}>`),oe=u(C+Ne,Hl(H+Se+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,It,ql),cl(ol(1,1)));c(1,L,oe,te,ae,le,ee),q(C+bt,"{"+H+", tableComponents, getTableComponentProps"+rt+"}: "+oe,[de+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,Kl,"/>;","}), separator)"],sl(1,13)+Ce),O(((e,l,t)=>{const[n,d,r,I,$]=se(_,e);c(null,D,n,d,r,I,$),Q(i+l+p,i+p,o,hl(e,0,1)+Ce,a,t),Q(l+p,p,n,hl(e)+Ce,a,t),Q(l+p+T,p+T,b,Il(w,"the whole of "+pl(e))+Ce,a,t),Q(l+m+ge,m+ge,s,"Gets the number of Rows in "+pl(e)+Ce,a,t);const u=Q(l+g,g,b,Il(m,pl(e))+Ce,a,t),C=Q(l+f,f,b,Il(m,pl(e),1)+Ce,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+m,i+m,o,ml(e,0,1)+Ce,it,jl(t,ot)),Q(l+m,m,r,ml(e)+Ce,it,jl(t,ot)),Q(l+T,T,$+ze,Il(w,Cl(e))+Ce,it,jl(t,ot)),Q(Me+l+p+he,Me+p+he,dt,hl(e,9)+tt,jl(Zl(p)+et+d,Zl(p)+Te),jl(t,Ql(p)),nt,jl($t,`table: ${d})`+Ke,Xl),ut),Q(fe+l+p+he,fe+p+he,he,hl(e,12),a,t,a,ct,ut),Q(Me+l+m+he,Me+m+he,dt,ml(e,9)+tt,jl(it,Zl(m)+et+I,Zl(m)+Te),jl(t,ot,Ql(m)),nt,jl($t,`row: ${I})`+Ke,Xl),ut),Q("Add"+l+m+he,"Add"+m+he,dt,ml(e,10)+tt,jl(Zl(m)+et+I,Zl(m)+Te),jl(t,Ql(m)),nt,"then?: ("+jl(it+Pe,"store: Store","row: "+I+")"+Ke,"then"+Te)+", reuseRowIds?: boolean",ut+", reuseRowIds"),Q(Me+l+Ee+m+he,Me+Ee+m+he,dt,ml(e,11)+tt,jl(it,Zl(Ee+m)+et+I,Zl(Ee+m)+Te),jl(t,ot,Ql(Ee+m)),nt,jl($t,`partialRow: ${I})`+Ke,Xl),ut),Q(fe+l+m+he,fe+m+he,he,ml(e,12),it,jl(t,ot),a,ct,ut);const h=q(l+m+bt,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+rt+`}: ${le}<'${e}'>`,[de+`(${re}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,st,"cellId={cellId}",B,Kl,"/>;","})"+rt+", rowId)"],ml(e,13)+Ce);q(l+"Sorted"+p+bt,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,hl(e,13)+", sorted"+Ce),q(l+p+bt,`props: ${te}<'${e}'>`,Z+"(props, "+u+`(props.${H}), ${t}, ${h});`,hl(e,13)+Ce),E(e,((n,d,s,r,I)=>{const $="Map"+Nl(d,1);c(0,D,$),c(1,D,$),Q(i+l+I+p+w,i+p+w,o,`Gets ${dl(1)}the '${n}' Cell anywhere in `+pl(e)+Ce,a,jl(t,r)),Q(i+l+I+w,i+w,o,gl(e,n,0,1)+Ce,it,jl(t,ot,r));const u=Q(l+I+w,w,d+(A(s)?Pe:a),gl(e,n)+Ce,it,jl(t,ot,r));Q(Me+l+I+w+he,Me+w+he,dt,gl(e,n,9)+tt,jl(it,Zl(w)+et+d+" | "+$,Zl(w)+Te),jl(t,ot,r,Ql(w)),nt,jl($t,`cell: ${d} | ${$})`+Ke,Xl),ut),Q(fe+l+I+w+he,fe+w+he,he,gl(e,n,12),jl(it,"forceDel?: boolean"),jl(t,ot,r,"forceDel"),a,ct,ut),q(l+I+w+bt,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[de+`('' + ${u}(rowId, `+H+`) ?? '', undefined, debugIds, ${r})`],gl(e,n,13)+Ce)}))}));const Ie=M(O((e=>se(_,e)?.[4]??a))," | ");Q(i+C+$,i+C+$,qe,sl(1,8,0,1)+" changes",pt(I),Ct()),Q(C+$,C+$,qe,sl(1,8)+" changes",pt(y),Ct()),Q(h+$,h+$,qe,bl(2,0,1),pt(v),Ct()),Q(i+p+$,i+p+$,qe,bl(3,0,0,1),pt(x,`tableId: ${n} | null`),Ct("tableId")),Q(p+$,p+$,qe,bl(3,0),pt(R,`tableId: ${n} | null`),Ct("tableId")),Q(p+T+$,p+T+$,qe,bl(14,3,1),pt(k,`tableId: ${n} | null`),Ct("tableId")),Q(i+p+w+$,i+p+w+$,qe,bl(16,3,0,1),pt(S,`tableId: ${n} | null`,`cellId: ${Ie} | null`),Ct("tableId","cellId")),Q(m+ge+$,m+ge+$,qe,bl(15,3),pt(P,`tableId: ${n} | null`),Ct("tableId")),Q(g+$,g+$,qe,bl(4,3,1),pt(N,`tableId: ${n} | null`),Ct("tableId")),Q(f+$,f+$,qe,bl(13,3,1),pt(j,`tableId: ${n} | null`,"cellId: "+Ie+Pe,"descending: boolean","offset: number","limit: number"+Pe),Ct("tableId","cellId","descending","offset","limit")),Q(i+m+$,i+m+$,qe,bl(5,3,0,1),pt(J,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(m+$,m+$,qe,bl(5,3),pt(z,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(T+$,T+$,qe,bl(6,5,1),pt(W,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(i+w+$,i+w+$,qe,bl(7,5,0,1),pt(F,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",ot,"cellId")),Q(w+$,w+$,qe,bl(7,5),pt(U,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",ot,"cellId"))}if(!le(l)){const[e,l,t,n,d,s,I,b]=r;c(null,D,...r),c(1,D,G);const p=V("getDefaultValueComponent","valueId: Id",M(N(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(i+v,i+v,o,sl(2,0,0,1)+Ce),Q(v,v,e,sl(2,0)+Ce);const C=Q(x,x,t+ze,Il(y,We)+Ce);Q(Me+v+he,Me+v+he,dt,sl(2,9)+tt,jl(Zl(v)+et+l,Zl(v)+Te),Ql(v),nt,jl($t,`values: ${l})`+Ke,Xl),ut),Q(Me+Ee+v+he,Me+Ee+v+he,dt,sl(2,11)+tt,jl(Zl(Ee+v)+et+l,Zl(Ee+v)+Te),Ql(Ee+v),nt,jl($t,`partialValues: ${l})`+Ke,Xl),ut),Q(fe+v+he,fe+v+he,he,sl(2,12),a,a,a,ct,ut);const h=u(y+Ne,Hl("valueId?: VId",H+Se+G,ql),cl("a Value"),`<VId extends ${t}>`),m=u(v+Ne,Hl(H+Se+G,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,It,ql),cl(ol(2,1)));c(1,L,m,h),q(v+bt,"{"+H+", valueComponents, getValueComponentProps"+rt+"}: "+m,[de+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,Kl,"/>;","}), separator)"],sl(2,13)+Ce),N(((e,l,t,n,d)=>{const s="Map"+Nl(l,1);c(0,D,s),c(1,D,s),Q(i+d+y,i+y,o,fl(e,0,1)+Ce,a,n);const r=Q(d+y,y,l,fl(e)+Ce,a,n);Q(Me+d+y+he,Me+y+he,dt,fl(e,9)+tt,jl(Zl(y)+et+l+" | "+s,Zl(y)+Te),jl(n,Ql(y)),nt,jl($t,`value: ${l} | ${s})`+Ke,Xl),ut),Q(fe+d+y+he,fe+y+he,he,fl(e,12),a,n,a,ct,ut),q(d+y+bt,`{${H}, debugIds}: ${h}<'${e}'>`,[de+`('' + ${r}(`+H+`) ?? '', undefined, debugIds, ${n})`],fl(e,13)+Ce)})),Q(i+v+$,i+v+$,qe,sl(2,8,0,1)+" changes",pt(n),Ct()),Q(v+$,v+$,qe,sl(2,8)+" changes",pt(d),Ct()),Q(x+$,x+$,qe,bl(10,0,1),pt(s),Ct()),Q(i+y+$,i+y+$,qe,bl(11,0,0,1),pt(I,`valueId: ${t} | null`),Ct("valueId")),Q(y+$,y+$,qe,bl(11,0),pt(b,`valueId: ${t} | null`),Ct("valueId"))}return q(De,`{${H}, ${H}ById, children}: `+Y+" & {readonly children: React.ReactNode}",["{",lt,"return (","<Context."+De,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${De}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...k(0),...S(),...K(0)),I(...k(1),...P(),...K(1))]},mt=(e,l,t)=>{if(le(e)&&le(l))return[a,a,a,a];const[n,d,o,s]=_l(e,l,t);return[n,d,...ht(e,l,t,o,s)]},gt=JSON.parse,ft="prettier/",wt=ft+"plugins/",Tt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},yt=Jl((e=>{const l=()=>{const l=gt(e.getTablesSchemaJson());return!le(l)||j(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=oe();if(j(a,(l=>j(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=ce(n,a,(()=>[L(d),oe(),[0],0])),[s,r,[I]]=o,$=ce(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),$e(r,d,$),o[3]++,s==L(d)})))))return l[t]={},ne(n,(([e,,[,n],d],o)=>{l[t][o]={[r]:e,...d==N(a)?{[I]:n}:{}}})),1}))?l:{}},t=()=>{const l=gt(e.getValuesSchemaJson());return le(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:L(t)}})),l},a=e=>mt(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(ft+"standalone")).format,W(t,await import(wt+"estree"),await import(wt+"typescript"))}catch(e){n=async e=>e}return await D(J(a(e),(async(e,a)=>Ol(await n(e,{...Tt,plugins:t,filepath:"_."+l[a]})))))};return X({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:N(e.getValueIds()),jsonLength:N(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=yt},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
Binary file