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
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,v="Sorted"+w+h,R="Cell",p=R+h,T="Value",y=T+"s",C=T+h,b=e=>t+e,V=Math.max,m=Math.min,x=isFinite,E=e=>null==e,k=(e,t,s)=>E(e)?s?.():t(e),M=e=>e==s||e==n,D=t=>e(t)==o,J=e=>Array.isArray(e),A=(e,t,s)=>e.slice(t,s),F=e=>e.length,Q=()=>{},z=(e,t)=>e.includes(t),N=(e,t)=>e.every(t),O=(e,t)=>F(e)===F(t)&&N(e,((e,s)=>t[s]===e)),P=(e,t)=>N(e,((s,n)=>0==n||t(e[n-1],s)<=0)),j=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==F(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!E(e)&&k(Y(e),(e=>e==X.prototype||E(Y(e))),(()=>!0)),se=(e,t)=>!E(((e,t)=>k(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(X.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>F(Z(e)))(e),re=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ie=e=>E(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>E(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Ie(e,t,s()),Le(e,t)),ve=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},pe=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),Te=(e,t,s)=>Re(e,(e=>pe(e,t,s)),oe),ye=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),be=e=>ye(e,Ce),Ve=(e,t,s,n,a=0)=>k((s?Se:Le)(e,t[a],a>F(t)-2?s:ge),(o=>{if(a>F(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&Ie(e,t[a]),r})),me=t=>{const s=e(t);return M(s)||s==a&&x(t)?s:void 0},xe=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(J(e)||E(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),l=ge(),i=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,ke);return W(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>k(Le(u,t),(n=>{W($(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),le(l,e)||(Ie(l,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(i))},L=e=>{Ie(r,e),Ie(l,e),Ie(c,e),Ie(d,e),g(e),a(i)};return[()=>e,()=>fe(r),e=>we(l,e),e=>le(l,e),e=>Le(r,e),e=>Le(l,e),(e,t)=>Ie(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||J(c)&&J(d)&&O(c,d)||Ie(i,t,[c,d]),!E(l)){const e=Le(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(i,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),i,u,L,w,e),de(i),de(u)};we(L,I),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>we(u,L),h,g]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{Fe.test(t)&&F(e)<1e3&&G(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Ie(o,d,[a,r,l,i,c]),Me(Ve(r,l??[t],ke),d),d},(e,n,...a)=>W(((e,s=[t])=>{const n=[],a=(e,t)=>t==F(s)?G(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):W([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>k(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),Ie(o,e),a(e),n))),e=>k(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=F(r);l==F(t)?e(s,...r,...a(r)):E(t[l])?W(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=Ae((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>Q)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>xe(e,n,a,o,s[t]))))))),ue(a,((s,n)=>Ee(e,n,s[t])))})),i=1},v=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??F(e)),v),p=()=>R(w,F(w)-o),T=()=>k(s,(()=>{G(w,s),p(),R(I),s=void 0,a=1})),y=()=>{s=K(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){T();const e=Se(r,t,ge),l=Se(e,s,ge),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(Ie(l,n))&&ie(Ie(e,s))&&ie(Ie(r,t))&&y(),M()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(Ie(l,t))&&y(),M()}})),V=(e="")=>(E(s)&&(s=t+n++,Ie(f,s,[r,l]),J(s,e),r=ge(),l=ge(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},x=()=>{$(I)||(G(w,s),s=U(I),S(1,s),a=1)},M=()=>{a&&(h(c),a=0)},D=e=>{const t=V(e);return M(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),Q),A=e=>le(f,e),Q={setSize:e=>(o=e,p(),Q),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(m(),M(),Q),goForward:()=>(x(),M(),Q),goTo:e=>{const t=z(w,e)?m:z(I,e)?x:null;for(;!E(t)&&e!=s;)t();return M(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(R(w),R(I),E(s)||v(s),s=void 0,n=0,D(),Q),clearForward:()=>($(I)||(R(I),h(c)),Q),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return ee(Q.clear())})),Oe=(e,t)=>(e??0)<(t??0)?-1:1,Pe=Ae((e=>{const s=ge(),n=ge(),[a,o,r]=ze((()=>v)),[l,i,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>E(e)?t:J(e)?B(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,r,l,i=Oe)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=ke(),I=ke(),S=h(e);if(ue(a,(([e,t],s)=>{const n=ke(e),a=ke(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{Me(w,e),k(Le(S,e),(t=>{he(t,s),ie(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{Me(w,e),le(S,e)||(Ie(S,e,ke()),L=1),Me(Le(S,e),s),E(r)||Me(I,e)}))})),t(),ie(u)||(f?we(S,(e=>Me(I,e))):we(l,(e=>k(Le(d,e),(e=>Me(I,e))))),ue(I,(e=>{const t=(t,s)=>i(Le(u,t),Le(u,s),e),s=[...Le(S,e)];P(s,t)||(Ie(S,e,ke(j(s,t))),Me(w,e))}))),(L||f)&&!E(c)){const t=[...S];P(t,c)||(g(e,ge(j(t,c))),L=1)}L&&o(s,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),k(r,Je)),v},delIndexDefinition:e=>(L(e),v),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),v),destroy:I,getListenerStats:()=>({})};return ee(v)})),je=ge([["avg",[(e,t)=>H(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=E(e),ue(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(ce(s),re(s)):e},Be=Ae((e=>{const s=ge(),[n,a,o]=ze((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=De(e,Q,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=D(n)?[n,r,l,i]:Le(je,n)??Le(je,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=re(r);i||=E(d),t();let f=We(d,g,r,n,c,i);x(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),He=ge(),$e=ge(),qe=Ae((e=>{const s=e.createStore,n=s(),a=s(),o=ge(),{addListener:r,callListeners:l,delListener:u}=a,[h,f,L,T,y,,,C,,b,V,m,x,M]=De(e,(()=>!0),Q,r,l),J=(e,t,...s)=>W(s,(s=>Me(Se(Se(o,t,ge),e,ke),s))),z=e=>{k(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),W([a,n],(t=>t.delTable(e)))},O=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(s,o,r)=>{C(s,o),z(s);const l=[],i=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=D(e)?[F(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return G(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||D(t)?null:t,a=E(n)?t:s,o=[e,[e,n,D(a)?a:e=>e(a),[],ge()]];return G(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(c,D(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,D(t)?[t,s,n,a]:Le(je,t)??[(e,t)=>t]]];return G(d,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,D(e)?e:s=>s(e)===t)});const h=ge(l);if(ie(h))return P;const g=ge(i);we(g,((e,[,t])=>k(Le(g,t),(({3:t})=>E(e)?0:G(t,e)))));const f=ge(d);let L=n;if(ie(f)&&$(u))L=a;else{O(s,L,a);const e=ge();we(f,((t,[s,n])=>Me(Se(e,s,ke),[t,n])));const t=ke();we(h,(s=>le(e,s)?0:Me(t,s)));const n=ge(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{we(n,((t,[s])=>{const n=Se(l,t,ge),a=Le(n,o),i=r?void 0:s;if(a!==i){const s=ke([[a,i]]),r=re(n);Ie(n,o,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],r,n,s,t);d[e]=E(me(a))?null:a}))}})),ie(i)||!N(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));J(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=ge(),h=L.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);G(c,n),G(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&Ie(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&o(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=L.getCell(s,l,t))),[ge(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}O(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,i]=Le(g,n),c=o?.(l,t),[d,u]=Le(i,t)??[];c!=d&&(E(u)||M(s,u),Ie(i,t,E(c)?null:[c,...x(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[Le(g,s)?.[0],Le(Le(g,s)?.[4],t)?.[0],n]);L.transaction((()=>N(c,(e=>e(n)))?we(h,((e,a)=>xe(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=Le(g,null);return L.transaction((()=>x(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),ue(g,(({4:e})=>k(Le(e,a),(([,t])=>{M(s,t),Ie(e,a)})))))}))))),P},delQueryDefinition:e=>(z(e),b(e),P),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:T,getTableId:y,addQueryIdsListener:e=>V((()=>e(P))),delListener:e=>(u(e),P),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+p]:[0,1],[I]:[0,1],[S]:[0,1],[v]:[0,5],[w]:[1,2],[p]:[0,2],[R]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+c+s]=(...t)=>a[e+s](...t))),P[d+c+s+i]=(...e)=>a[d+s+i](...A(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),ee(P)})),Ge=Ae((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i]=ze((()=>T)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>E(e)?void 0:e+t),r,l),v=(e,t,s)=>k(f(e),(([n,,a])=>{if(!le(a,t)){const o=ke();if(g(e)!=p(e))Me(o,t);else{let e=t;for(;!E(e)&&!le(o,e);)Me(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>k(f(e),(([,,e])=>Ie(e,t))),p=e=>Le(s,e),T={setRelationshipDefinition:(e,t,r,i)=>(Ie(s,e,r),L(e,t,((t,s)=>{const r=ke(),i=ke(),c=ke(),[d,u]=f(e);ue(s,(([t,s],n)=>{E(t)||(Me(i,t),k(Le(u,t),(e=>{he(e,n),ie(e)&&Ie(u,t)}))),E(s)||(Me(i,s),le(u,s)||Ie(u,s,ke()),Me(Le(u,s),n)),Me(r,n),Ie(d,n,s),we(Le(o,e),(t=>{le(v(e,t),n)&&Me(c,t)}))})),t(),ue(r,(t=>l(n,[e,t]))),ue(i,(t=>l(a,[e,t]))),ue(c,(t=>{R(e,t),l(o,[e,t])}))}),Je(i)),T),delRelationshipDefinition:e=>(Ie(s,e),w(e),T),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:p,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:ce(v(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),r(s,o,[e,t])),delListener:e=>(R(...i(e)??[]),T),destroy:S,getListenerStats:()=>({})};return ee(T)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>E(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,o=!1,c=!1,h=0;const v=ge(),V=ge(),m=ge(),x=ge(),J=ge(),F=ge(),Q=ge(),N=ge(),P=ge(),H=ge(),$=ge(),q=ge(),K=ge(),U=ge(),X=ke(),Y=ge(),Z=ge(),_=ge(),te=ge(),ce=Ue(),Ve=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Pe=Ue(),je=Ue(),We=Ue(),Be=Ue(),He=Ue(),$e=Ue(),qe=Ue(),Ge=Ue(),nt=Ue(),at=Ue(),ot=Ue(),rt=Ue(),lt=Ue(),it=Ue(),ct=Ue(),dt=ge(),ut=Ue(),[ht,gt,ft,Lt]=ze((()=>zs)),wt=e=>{if(!et(e,((e,t)=>z([r,l],t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},It=(t,s)=>(!e||le($,s)||Gt(s))&&et(t,((e,t)=>St(s,t,e)),(()=>Gt(s))),St=(e,t,s,n)=>et(n?s:Tt(s,e,t),((n,a)=>k(vt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),vt=(t,s,n,a)=>e?k(Le(Le($,t),n),(e=>me(a)!=e[r]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):E(me(a))?Gt(t,s,n,a):a,Rt=(e,t)=>et(t?e:yt(e),((t,s)=>k(pt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),pt=(e,s)=>t?k(Le(K,e),(t=>me(s)!=t[r]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):E(me(s))?Kt(e,s):s,Tt=(e,t,s)=>(k(Le(q,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||Gt(t,s,n)}))})),e),yt=e=>(t&&(ue(U,((t,s)=>{se(e,s)||(e[s]=t)})),ue(X,(t=>{se(e,t)||Kt(t)}))),e),Ct=e=>ve($,e,((e,t,s)=>{const n=ge(),a=ke();ve(Se($,t,ge),s,((e,t,s)=>{Ie(e,t,s),k(s[l],(e=>Ie(n,t,e)),(()=>Me(a,t)))})),Ie(q,t,[n,a])}),((e,t)=>{Ie($,t),Ie(q,t)})),bt=e=>ve(K,e,((e,t,s)=>{Ie(K,t,s),k(s[l],(e=>Ie(U,t,e)),(()=>Me(X,t)))}),((e,t)=>{Ie(K,t),Ie(U,t),he(X,t)})),Vt=e=>oe(e)?xs():ys(e),mt=e=>ve(_,e,((e,t,s)=>xt(t,s)),((e,t)=>zt(t))),xt=(e,t)=>ve(Se(_,e,(()=>(jt(e,1),Ie(Y,e,Qe()),Ie(Z,e,ge()),ge()))),t,((t,s,n)=>Et(e,t,s,n)),((t,s)=>Nt(e,t,s))),Et=(e,t,s,n,a)=>ve(Se(t,s,(()=>(Wt(e,s,1),ge()))),n,((t,n,a)=>kt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),kt=(e,t,s,n,a)=>{le(s,n)||Bt(e,t,n,1);const o=Le(s,n);a!==o&&(Ht(e,t,n,o,a),Ie(s,n,a))},Mt=(e,t,s,n,a)=>k(Le(t,s),(t=>kt(e,s,t,n,a)),(()=>Et(e,t,s,Tt({[n]:a},e,s)))),Dt=e=>oe(e)?Ms():Cs(e),Jt=e=>ve(te,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{le(te,e)||$t(e,1);const s=Le(te,e);t!==s&&(qt(e,s,t),Ie(te,e,t))},Ft=(e,t)=>{const[s]=Le(Y,e),n=s(t);return le(Le(_,e),n)?Ft(e,t):n},Qt=e=>Le(_,e)??xt(e,{}),zt=e=>xt(e,{}),Nt=(e,t,s)=>{const[,n]=Le(Y,e);n(s),Et(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=Le(Le(q,e)?.[0],a);if(!E(r)&&!o)return kt(e,s,n,a,r);const l=t=>{Ht(e,s,t,Le(n,t)),Bt(e,s,t,-1),Ie(n,t)};E(r)?l(a):we(n,l),ie(n)&&(Wt(e,s,-1),ie(Ie(t,s))&&(jt(e,-1),Ie(_,e),Ie(Y,e),Ie(Z,e)))},Pt=e=>{const t=Le(U,e);if(!E(t))return At(e,t);qt(e,Le(te,e)),$t(e,-1),Ie(te,e)},jt=(e,t)=>tt(v,e,t),Wt=(e,t,s)=>tt(Se(x,e,ge),t,s)&&Ie(m,e,Se(m,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Le(Z,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(V,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(J,e,ge),t,ge),s,n)},Ht=(e,t,s,n,a)=>Se(Se(Se(F,e,ge),t,ge),s,(()=>[n,0]))[1]=a,$t=(e,t)=>tt(Q,e,t),qt=(e,t,s)=>Se(N,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(G(Se(Se(Se(P,e,ge),t,ge),s,(()=>[])),n),a),Kt=(e,t,s)=>(G(Se(H,e,(()=>[])),t),s),Ut=(e,t,s)=>k(Le(Le(Le(F,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(hs(e,t,s))])),Xt=e=>k(Le(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(Ls(e))])),Yt=e=>ie(P)||ie(nt[e])?0:ue(e?be(P):P,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>gt(nt[e],[s,n,a],t))))))),Zt=e=>ie(H)||ie(at[e])?0:ue(e?ye(H):H,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ie(e))return gt(t,n,(()=>Re(e))),we(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=o&&gt(ce[e],void 0,t);const s=ie(We[e]),n=ie($e[e])&&ie(qe[e])&&ie(je[e])&&ie(Be[e])&&ie(Fe[e])&&ie(Ne[e])&&ie(Pe[e])&&s&&ie(De[e])&&ie(Je[e]),a=ie(Ge[e])&&ie(He[e])&&ie(Ae[e])&&ie(Ve[e]);if(!n||!a){const t=e?[ye(v),Ce(V),ye(m),Ce(x),be(J),be(F)]:[v,V,m,x,J,F];if(!n){_t(t[0],De[e],Je[e]),ue(t[1],((t,s)=>_t(t,Fe[e],Ne[e],[s]))),ue(t[2],((t,s)=>{0!=t&&gt(Pe[e],[s],is(s))}));const n=ke();ue(t[3],((t,a)=>{_t(t,je[e],Be[e],[a])&&!s&&(gt(We[e],[a,null]),Me(n,a))})),s||ue(t[5],((t,s)=>{if(!le(n,s)){const n=ke();ue(t,(e=>ue(e,(([t,s],a)=>s!==t?Me(n,a):he(e,a))))),ue(n,(t=>gt(We[e],[s,t])))}})),ue(t[4],((t,s)=>ue(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!a){let s;ue(t[5],((t,n)=>{let a;ue(t,((t,o)=>{let r;ue(t,(([t,l],i)=>{l!==t&&(gt(Ge[e],[n,o,i],l,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(Ae[e],[n],Ut)})),s&&gt(Ve[e],void 0,Ut)}}},ts=e=>{const t=ps();t!=c&&gt(ot[e],void 0,t);const s=ie(lt[e])&&ie(it[e]),n=ie(ct[e])&&ie(rt[e]);if(!s||!n){const t=e?[ye(Q),ye(N)]:[Q,N];if(s||_t(t[0],lt[e],it[e]),!n){let s;ue(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(...B(t,b)))),zs),ns=()=>[Re(F,((e,t)=>-1===Le(v,t)?null:Re(e,((e,s)=>-1===Le(Le(x,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(N,(([,e])=>e??null),((e,t)=>Ye(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(F,Xe,Ye),invalidCells:Te(P),changedValues:Re(N,Xe,Ye),invalidValues:Re(H),changedTableIds:Re(v),changedRowIds:pe(x),changedCellIds:Te(J),changedValueIds:Re(Q)}),os=()=>Te(_),rs=()=>fe(_),ls=e=>fe(Le(Z,b(e))),is=e=>re(Le(_,b(e))),cs=e=>fe(Le(_,b(e))),ds=(e,t,s,n=0,a)=>{return B(A(j((o=Le(_,b(e)),r=(e,s)=>[E(t)?s:Le(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>fe(Le(Le(_,b(e)),b(t))),hs=(e,t,s)=>Le(Le(Le(_,b(e)),b(t)),b(s)),gs=()=>Re(te),fs=()=>fe(te),Ls=e=>Le(te,b(e)),ws=()=>!ie(_),Is=e=>le(_,b(e)),Ss=(e,t)=>le(Le(Z,b(e)),b(t)),vs=(e,t)=>le(Le(_,b(e)),b(t)),Rs=(e,t,s)=>le(Le(Le(_,b(e)),b(t)),b(s)),ps=()=>!ie(te),Ts=e=>le(te,b(e)),ys=e=>ss((()=>(e=>et(e,It,Gt))(e)?mt(e):0)),Cs=e=>ss((()=>Rt(e)?Jt(e):0)),bs=e=>{try{Vt(_e(e))}catch{}return zs},Vs=t=>ss((()=>{if((e=et(t,(e=>et(e,wt))))&&(Ct(t),!ie(_))){const e=os();xs(),ys(e)}})),ms=e=>ss((()=>{if(t=(e=>et(e,wt))(e)){const s=gs();Js(),Ms(),t=!0,bt(e),Cs(s)}})),xs=()=>ss((()=>mt({}))),Es=e=>ss((e=>le(_,e)?zt(e):0),e),ks=(e,t)=>ss(((e,t)=>k(Le(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),Ms=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=h){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=h&&h++,1==h&&gt(dt,void 0,ns,as),zs),Qs=e=>(h>0&&(h--,0==h&&(s=!ie(F),n=!ie(N),h=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(ue(F,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>xe(zs,t,s,n,e))))))),ue(N,(([e],t)=>Ee(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),h=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),h=0,s=n=!1,o=ws(),c=ps(),W([v,V,m,x,J,F,P,Q,N,H],de))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>pe(Le(_,b(e))),getTableCellIds:ls,getRowCount:is,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Re(Le(Le(_,b(e)),b(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:Is,hasTableCell:Ss,hasRow:vs,hasCell:Rs,hasValues:ps,hasValue:Ts,getTablesJson:()=>Ze(_),getValuesJson:()=>Ze(te),getJson:()=>Ze([_,te]),getTablesSchemaJson:()=>Ze($),getValuesSchemaJson:()=>Ze(K),getSchemaJson:()=>Ze([$,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(oe(e)?xs:ys)(e),(oe(t)?Ms:Cs)(t)})),setTables:ys,setTable:(e,t)=>ss((e=>It(t,e)?xt(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>St(e,t,s)?Et(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return St(e,n,t)&&(e=b(e),Et(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(St(e,t,s,1)){const n=Qt(e);ae(s,((s,a)=>Mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>k(vt(e,t,s,D(n)?n(hs(e,t,s)):n),(n=>Mt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>Rt(e,1)?ae(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>k(pt(e,D(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{ae(e[0],((e,t)=>E(e)?Es(t):ae(e,((e,s)=>E(e)?ks(t,s):ae(e,((e,n)=>xe(zs,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(_e(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=_e(e);Vt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:Vs,setValuesSchema:ms,setSchema:(e,t)=>ss((()=>{Vs(e),ms(t)})),delTables:xs,delTable:Es,delRow:ks,delCell:(e,t,s,n)=>ss(((e,t,s)=>k(Le(_,e),(a=>k(Le(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:Ms,delValue:e=>ss((e=>le(te,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ue(_,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(Z,b(e)),t),forEachRow:(e,t)=>ue(Le(_,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(_,b(e)),b(t)),s),forEachValue:e=>we(te,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);O(r,l)||(l=r,o(zs,e,t,s,n,a,l))}),We[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:st,addListener:ht,callListeners:gt};return ae({[u+f]:[0,ce,[],()=>[ws()]],[f]:[0,Ve],[L]:[0,De],[u+g]:[1,Je,[rs],e=>[Is(...e)]],[g]:[1,Ae,[rs]],[g+p]:[1,Fe,[rs]],[u+g+R]:[2,Ne,[rs,ls],e=>[Ss(...e)]],[I]:[1,Pe,[rs]],[S]:[1,je,[rs]],[u+w]:[2,Be,[rs,cs],e=>[vs(...e)]],[w]:[2,He,[rs,cs]],[p]:[2,$e,[rs,cs]],[u+R]:[3,qe,[rs,cs,us],e=>[Rs(...e)]],[R]:[3,Ge,[rs,cs,us],e=>Ke(hs(...e))],InvalidCell:[3,nt],[u+y]:[0,ot,[],()=>[ps()]],[y]:[0,rt],[C]:[0,lt],[u+T]:[1,it,[fs],e=>[Ts(...e)]],[T]:[1,ct,[fs],e=>Ke(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[d+a+i]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?A(a,0,e):void 0,s,n)})),ee(zs)};exports.createCheckpoints=Ne,exports.createCustomPersister=(e,t,s,n,a,o,[r,l]=[],i=[])=>{let c,d,u,h=0,g=0;Se(He,i,(()=>0)),Se($e,i,(()=>[]));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();oe(s)&&oe(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(k(c,e.delListener),c=void 0,L),schedule:async(...e)=>(G(Le($e,i),...e),await(async()=>{if(!Le(He,i)){for(Ie(He,i,1);!E(d=U(Le($e,i)));)try{await d()}catch(e){o?.(e)}Ie(He,i,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>l),ee(L)},exports.createIndexes=Pe,exports.createMetrics=Be,exports.createQueries=qe,exports.createRelationships=Ge,exports.createStore=st,exports.defaultSorter=Oe;
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",C=h+g,b="Row",w=b+"Count",L=b+g,p="Sorted"+b+g,v="Cell",y=v+g,S="Value",T=S+"s",I=S+g,R=e=>t+e,M=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),V=Promise,D=Math.max,x=Math.min,A=isFinite,E=e=>null==e,H=(e,t,s)=>E(e)?s?.():t(e),k=e=>e==s||e==n,J=t=>e(t)==s,F=t=>e(t)==o,Q=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),N=e=>e.length,P=()=>{},O=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),$=(e,t)=>N(e)===N(t)&&W(e,((e,s)=>t[s]===e)),j=(e,t)=>W(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>U(e,((e,t)=>e+t),0),K=e=>0==N(e),U=(e,t,s)=>e.reduce(t,s),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),se=ee.entries,ne=ee.isFrozen,ae=e=>!E(e)&&H(te(e),(e=>e==ee.prototype||E(te(e))),(()=>!0)),oe=ee.keys,re=ee.freeze,le=(e=[])=>ee.fromEntries(e),ie=(e,t)=>t in e,ce=(e,t)=>(delete e[t],e),de=(e,t)=>B(se(e),(([e,s])=>t(s,e))),ue=(e,t)=>q(se(e),(([e,s])=>t(s,e))),ge=e=>ae(e)&&0==(e=>N(oe(e)))(e),he=(e,t,s)=>(ie(e,t)||(e[t]=s()),e[t]),fe=(e,t,s,n=0)=>E(e)||!ae(e)||!n&&ge(e)||ne(e)?(s?.(),!1):(ue(e,((s,n)=>{t(s,n)||ce(e,n)})),!!n||!ge(e)),Ce=e=>e?.size??0,be=(e,t)=>e?.has(t)??!1,we=e=>E(e)||0==Ce(e),Le=e=>[...e?.values()??[]],pe=e=>e.clear(),ve=(e,t)=>e?.forEach(t),ye=(e,t)=>e?.delete(t),Se=e=>new Map(e),Te=e=>[...e?.keys()??[]],Ie=(e,t)=>e?.get(t),Re=(e,t)=>ve(e,((e,s)=>t(s,e))),Me=(e,t,s)=>E(s)?(ye(e,t),e):e?.set(t,s),me=(e,t,s,n)=>(be(e,t)?n?.(Ie(e,t)):Me(e,t,s()),Ie(e,t)),Ve=(e,t,s,n=Me)=>(ue(t,((t,n)=>s(e,n,t))),Re(e,(s=>ie(t,s)?0:n(e,s))),e),De=(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},xe=(e,t,s)=>De(e,(e=>De(e,t,s)),we,ge),Ae=(e,t,s)=>De(e,(e=>xe(e,t,s)),we,ge),Ee=(e,t)=>{const s=Se();return ve(e,((e,n)=>s.set(n,t?.(e)??e))),s},He=e=>Ee(e,Ee),ke=e=>Ee(e,He),Je=(e,t,s,n,a=0)=>H((s?me:Ie)(e,t[a],a>N(t)-2?s:Se),(o=>{if(a>N(t)-2)return n?.(o)&&Me(e,t[a]),o;const r=Je(o,t,s,n,a+1);return we(o)&&Me(e,t[a]),r})),Fe=t=>{const s=e(t);return k(s)||s==a&&A(t)?s:void 0},Qe=e=>E(e)||!E(Fe(e)),ze=(e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ne=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),Pe=e=>new Set(Q(e)||E(e)?e:[e]),Oe=(e,t)=>e?.add(t),We=(e,t,s,n,a)=>{const o=e.hasRow,r=Se(),l=Se(),i=Se(),c=Se(),d=Se(),u=Se(),g=(t,s,...n)=>{const a=me(u,t,Pe);return B(n,(t=>Oe(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>H(Ie(u,t),(n=>{B(K(s)?Le(n):s,(t=>{e.delListener(t),ye(n,t)})),we(n)&&Me(u,t)})),f=(e,s)=>{Me(r,e,s),be(l,e)||(Me(l,e,t()),Me(c,e,Se()),Me(d,e,Se()),a(i))},C=e=>{Me(r,e),Me(l,e),Me(c,e),Me(d,e),h(e),a(i)};return[()=>e,()=>Te(r),e=>Re(l,e),e=>be(l,e),e=>Ie(r,e),e=>Ie(l,e),(e,t)=>Me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Se(),u=Se(),C=Ie(c,t),b=Ie(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=Ie(C,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||Q(c)&&Q(d)&&$(c,d)||Me(i,t,[c,d]),!E(l)){const e=Ie(b,t),s=o(n,t)?l(a,t):void 0;e!=s&&Me(u,t,s)}},L=e=>{a((()=>{ve(i,(([,e],t)=>Me(C,t,e))),ve(u,((e,t)=>Me(b,t,e)))}),i,u,C,b,e),pe(i),pe(u)};Re(C,w),e.hasTable(n)&&B(e.getRowIds(n),(e=>{be(C,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},C,e=>n(e,i),()=>Re(u,C),g,h]},$e=(e,s)=>J(e)?t=>t(e):e??(()=>s??t),je=(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+$/,Be=()=>{const e=[];let s=0;return[n=>(n?Z(e):null)??t+s++,t=>{_e.test(t)&&N(e)<1e3&&X(e,t)}]},qe=e=>{let s;const[n,a]=Be(),o=Se();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Me(o,d,[a,r,l,i,c]),Oe(Je(r,l??[t],Pe),d),d},(e,n,...a)=>B(((e,s=[t])=>{const n=[],a=(e,t)=>t==N(s)?X(n,e):null===s[t]?ve(e,(e=>a(e,t+1))):B([s[t],null],(s=>a(Ie(e,s),t+1)));return a(e,0),n})(e,n),(e=>ve(e,(e=>Ie(o,e)[0](s,...n??[],...a))))),e=>H(Ie(o,e),(([,s,n])=>(Je(s,n??[t],void 0,(t=>(ye(t,e),we(t)?1:0))),Me(o,e),a(e),n))),e=>H(Ie(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=N(r);l==N(t)?e(s,...r,...a(r)):E(t[l])?B(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ge=je((e=>{let s,n,a,o=100,r=Se(),l=Se(),i=1;const c=Se(),d=Se(),[u,g,h]=qe((()=>J)),f=Se(),C=Se(),b=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Ie(f,s);ve(n,((s,n)=>ve(s,((s,a)=>ve(s,((s,o)=>ze(e,n,a,o,s[t]))))))),ve(a,((s,n)=>Ne(e,n,s[t])))})),i=1},p=e=>{Me(f,e),Me(C,e),g(d,[e])},v=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??N(e)),p),y=()=>v(b,N(b)-o),S=()=>H(s,(()=>{X(b,s),y(),v(w),s=void 0,a=1})),T=()=>{s=Y(b),a=1};let I,R;const M=(e=t)=>(E(s)&&(s=t+n++,Me(f,s,[r,l]),A(s,e),r=Se(),l=Se(),a=1),s),m=()=>{K(b)||(((e,...t)=>{e.unshift(...t)})(w,M()),L(0,s),s=Y(b),a=1)},V=()=>{K(w)||(X(b,s),s=Z(w),L(1,s),a=1)},D=()=>{a&&(g(c),a=0)},x=e=>{const t=M(e);return D(),t},A=(e,t)=>(k(e)&&Ie(C,e)!==t&&(Me(C,e,t),g(d,[e])),J),k=e=>be(f,e),J={setSize:e=>(o=e,y(),J),addCheckpoint:x,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Re(C,e),hasCheckpoint:k,getCheckpoint:e=>Ie(C,e),goBackward:()=>(m(),D(),J),goForward:()=>(V(),D(),J),goTo:e=>{const t=O(b,e)?m:O(w,e)?V:null;for(;!E(t)&&e!=s;)t();return D(),J},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),J),clear:()=>(v(b),v(w),E(s)||p(s),s=void 0,n=0,x(),J),clearForward:()=>(K(w)||(v(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=me(r,t,Se),l=me(e,s,Se),i=me(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&we(Me(l,n))&&we(Me(e,s))&&we(Me(r,t))&&T(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=me(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&we(Me(l,t))&&T(),D()}}))}};return re(J.clear())}),(e=>e._registerListeners())),Ke=(e,t)=>(e??0)<(t??0)?-1:1,Ue=je((e=>{const s=Se(),n=Se(),[a,o,r]=qe((()=>p)),[l,i,c,d,u,g,h,,f,C,b,w]=We(e,Se,(e=>E(e)?t:Q(e)?q(e,R):R(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)))))))))},p={setIndexDefinition:(e,t,a,r,l,i=Ke)=>{const c=E(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let C=0;const b=Pe(),w=Pe(),L=g(e);if(ve(a,(([e,t],s)=>{const n=Pe(e),a=Pe(t);ve(n,(e=>ye(a,e)?ye(n,e):0)),ve(n,(e=>{Oe(b,e),H(Ie(L,e),(t=>{ye(t,s),we(t)&&(Me(L,e),C=1)}))})),ve(a,(e=>{Oe(b,e),be(L,e)||(Me(L,e,Pe()),C=1),Oe(Ie(L,e),s),E(r)||Oe(w,e)}))})),t(),we(u)||(f?Re(L,(e=>Oe(w,e))):Re(l,(e=>H(Ie(d,e),(e=>Oe(w,e))))),ve(w,(e=>{const t=(t,s)=>i(Ie(u,t),Ie(u,s),e),s=[...Ie(L,e)];j(s,t)||(Me(L,e,Pe(_(s,t))),Oe(b,e))}))),(C||f)&&!E(c)){const t=[...L];j(t,c)||(h(e,Se(_(t,c))),C=1)}C&&o(s,[e]),ve(b,(t=>o(n,[e,t])))}),$e(a),H(r,$e)),p},delIndexDefinition:e=>(C(e),p),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)=>be(g(e),t),getTableId:u,getSliceIds:e=>Te(g(e)),getSliceRowIds:(e,t)=>Le(Ie(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),p),destroy:w,getListenerStats:()=>({})};return re(p)})),Xe=Se([["avg",[(e,t)=>G(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=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ye=(e,t,s,n,a,o=!1)=>{if(we(s))return;const[r,l,i,c]=a;return o||=E(e),ve(n,(([s,n])=>{o||(e=E(s)?l?.(e,n,t++):E(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=E(e))})),o?r(Le(s),Ce(s)):e},Ze=je((e=>{const s=Se(),[n,a,o]=qe((()=>w)),[r,l,i,c,d,u,g,,h,f,C,b]=We(e,P,(e=>isNaN(e)||E(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),w={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=F(n)?[n,r,l,i]:Ie(Xe,n)??Ie(Xe,"sum");return h(e,t,((t,n,o,r,l,i)=>{const d=u(e),h=Ce(r);i||=E(d),t();let f=Ye(d,h,r,n,c,i);A(f)||(f=void 0),f!=d&&(g(e,f),a(s,[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:C,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({})};return re(w)})),et=Se(),tt=Se(),st=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;me(et,i,(()=>0)),me(tt,i,(()=>[]));const[h,f,C,b,w]=((e,t)=>!e||E(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ge(e)||!ge(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ge(e)||!ge(t),t.setDefaultContent])(r,e),L=async e=>(2!=g&&(g=1,await v.schedule((async()=>{await e(),g=0}))),v),p=t=>{(h&&Q(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v={load:async e=>await L((async()=>{try{p(await t())}catch(t){o?.(t),e&&w(e)}})),startAutoLoad:async e=>(await v.stopAutoLoad().load(e),d=n((async(e,s)=>{const n=s?.();await L((async()=>{try{p(n??e?.()??await t())}catch(e){o?.(e)}}))})),v),stopAutoLoad:()=>(d&&(a(d),d=void 0),v),isAutoLoading:()=>!E(d),save:async e=>(1!=g&&(g=2,await v.schedule((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=C();b(e)&&v.save((()=>e))})),v),stopAutoSave:()=>(H(u,e.delListener),u=void 0,v),isAutoSaving:()=>!E(u),schedule:async(...e)=>(X(Ie(tt,i),...e),await(async()=>{if(!Ie(et,i)){for(Me(et,i,1);!E(c=Z(Ie(tt,i)));)try{await c()}catch(e){o?.(e)}Me(et,i,0)}})(),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return re(v)},nt=new globalThis.TextEncoder,at=e=>{let t=2166136261;return B(nt.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ot=([e,t,s])=>[e,t,s],rt=([e,t])=>lt(e,t),lt=(e,t)=>t?[e,t]:[e],it=e=>e[2],ct=(e,t)=>at(e+":"+t),dt=(e,t)=>t>e?(e?at(e):0)^at(t):0,ut=(e,t)=>((e??"")>(t??"")?e:t)??"",gt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},ht=(e=t)=>lt(le(),e),ft=(e=t)=>[Se(),e,0],Ct=([e,t,s],n=ot)=>[De(e,n),t,s],bt=([e,t],s=rt)=>lt(De(e,s),t),wt=(t,s)=>Q(t)&&3==N(t)&&J(t[1])&&e(t[2])==a&&A(t[2])&&s(t[0]),Lt=2**36,pt=2**30,vt=2**24,yt=2**18,St=4096,Tt=64,It=e=>String.fromCharCode(48+(63&e)),Rt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Mt=e=>{let t=0,s=-1;const n=at(e),a=e=>{const n=t,[a,o]=E(e)||""==e?[0,0]:[Rt(r=e,0)*Lt+Rt(r,1)*pt+Rt(r,2)*vt+Rt(r,3)*yt+Rt(r,4)*St+Rt(r,5)*Tt+Rt(r,6),Rt(r,7)*yt+Rt(r,8)*St+Rt(r,9)*Tt+Rt(r,10),Rt(r,11)*vt+Rt(r,12)*yt+Rt(r,13)*St+Rt(r,14)*Tt+Rt(r,15)];var r;t=D(n,a,Date.now()),s=t==n?t==a?D(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,It((e=t)/Lt)+It(e/pt)+It(e/vt)+It(e/yt)+It(e/St)+It(e/Tt)+It(e)+It(o/yt)+It(o/St)+It(o/Tt)+It(o)+It(r/vt)+It(r/yt)+It(r/St)+It(r/Tt)+It(r);var e,o,r},a]},mt=je((e=>{const s=e.createStore,n=s(),a=s(),o=Se(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,C,S,T,,,I,,R,M,m,V,D]=We(e,(()=>!0),P,r,l),x=(e,t,...s)=>B(s,(s=>Oe(me(me(o,t,Se),e,Pe),s))),A=e=>{H(Ie(o,e),(e=>{Re(e,((e,t)=>ve(t,(t=>e.delListener(t))))),pe(e)})),B([a,n],(t=>t.delTable(e)))},k=(e,t,s)=>x(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(s,o,r)=>{I(s,o),A(s);const l=[],i=[[null,[o,null,null,[],Se()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=F(e)?[N(l)+t,e]:[E(s)?e:s,t=>t(e,s)];return X(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=E(s)||F(t)?null:t,a=E(n)?t:s,o=[e,[e,n,F(a)?a:e=>e(a),[],Se()]];return X(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>X(c,F(e)?e:E(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,F(t)?[t,s,n,a]:Ie(Xe,t)??[(e,t)=>t]]];return X(d,o),{as:e=>o[0]=e}},having:(e,t)=>X(u,F(e)?e:s=>s(e)===t)});const g=Se(l);if(we(g))return J;const h=Se(i);Re(h,((e,[,t])=>H(Ie(h,t),(({3:t})=>E(e)?0:X(t,e)))));const f=Se(d);let C=n;if(we(f)&&K(u))C=a;else{k(s,C,a);const e=Se();Re(f,((t,[s,n])=>Oe(me(e,s,Pe),[t,n])));const t=Pe();Re(g,(s=>be(e,s)?0:Oe(t,s)));const n=Se(),o=(t,n,o,r)=>H(t,(([l,i,c,d])=>{Re(n,((t,[s])=>{const n=me(l,t,Se),a=Ie(n,o),i=r?void 0:s;if(a!==i){const s=Pe([[a,i]]),r=Ce(n);Me(n,o,i),ve(Ie(e,t),(([e,t])=>{const a=Ye(d[e],r,n,s,t);d[e]=E(Fe(a))?null:a}))}})),we(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(s,c):E(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));x(C,s,C.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=Se(),g=C.hasRow(s,l);let h=!g;ve(t,(e=>{const[t,n,a]=i(s,l,e);X(c,n),X(d,a),h||=t})),Re(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&Me(u,e,[n])})),h&&o(Je(n,c,void 0,(([,e])=>(ye(e,l),we(e)))),u,l,1),g&&o(Je(n,d,(()=>{const e={};return ve(t,(t=>e[t]=C.getCell(s,l,t))),[Se(),Pe(),void 0,e]}),(([,e])=>{Oe(e,l)})),u,l)})))}k(s,e,C);const b=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);B(r,(n=>{const[a,,o,r,i]=Ie(h,n),c=o?.(l,t),[d,u]=Ie(i,t)??[];c!=d&&(E(u)||D(s,u),Me(i,t,E(c)?null:[c,...V(s,1,e.addRowListener(a,c,(()=>b(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...E(n)?[o,t,s]:s===o?[o,t,n]:[Ie(h,s)?.[0],Ie(Ie(h,s)?.[4],t)?.[0],n]);C.transaction((()=>W(c,(e=>e(n)))?Re(g,((e,a)=>ze(C,s,t,e,a(n,t)))):C.delRow(s,t)))})(t)},{3:w}=Ie(h,null);return C.transaction((()=>V(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?b(a,o,a,w):(C.delRow(s,a),ve(h,(({4:e})=>H(Ie(e,a),(([,t])=>{D(s,t),Me(e,a)})))))}))))),J},delQueryDefinition:e=>(A(e),R(e),J),getStore:g,getQueryIds:f,forEachQuery:C,hasQuery:S,getTableId:T,addQueryIdsListener:e=>M((()=>e(J))),delListener:e=>(u(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ue({[h]:[1,1],[h+y]:[0,1],[w]:[0,1],[L]:[0,1],[p]:[0,5],[b]:[1,2],[y]:[0,2],[v]:[1,3]},(([e,t],s)=>{B(e?["get","has","forEach"]:["get"],(e=>J[e+c+s]=(...t)=>a[e+s](...t))),J[d+c+s+i]=(...e)=>a[d+s+i](...z(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),re(J)})),Vt=je((e=>{const s=Se(),n=Se(),a=Se(),o=Se(),[r,l,i]=qe((()=>S)),[c,d,u,g,h,f,,,C,b,w,L]=We(e,(()=>[Se(),Se(),Se(),Se()]),(e=>E(e)?void 0:e+t),r,l),p=(e,t,s)=>H(f(e),(([n,,a])=>{if(!be(a,t)){const o=Pe();if(h(e)!=y(e))Oe(o,t);else{let e=t;for(;!E(e)&&!be(o,e);)Oe(o,e),e=Ie(n,e)}if(s)return o;Me(a,t,o)}return Ie(a,t)})),v=(e,t)=>H(f(e),(([,,e])=>Me(e,t))),y=e=>Ie(s,e),S={setRelationshipDefinition:(e,t,r,i)=>(Me(s,e,r),C(e,t,((t,s)=>{const r=Pe(),i=Pe(),c=Pe(),[d,u]=f(e);ve(s,(([t,s],n)=>{E(t)||(Oe(i,t),H(Ie(u,t),(e=>{ye(e,n),we(e)&&Me(u,t)}))),E(s)||(Oe(i,s),be(u,s)||Me(u,s,Pe()),Oe(Ie(u,s),n)),Oe(r,n),Me(d,n,s),Re(Ie(o,e),(t=>{be(p(e,t),n)&&Oe(c,t)}))})),t(),ve(r,(t=>l(n,[e,t]))),ve(i,(t=>l(a,[e,t]))),ve(c,(t=>{v(e,t),l(o,[e,t])}))}),$e(i)),S),delRelationshipDefinition:e=>(Me(s,e),b(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:y,getRemoteRowId:(e,t)=>Ie(f(e)?.[0],t),getLocalRowIds:(e,t)=>Le(Ie(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>E(f(e))?[t]:Le(p(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)=>(p(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),S),destroy:L,getListenerStats:()=>({})};return re(S)})),Dt=e=>[e,e],xt=()=>[Se(),Se()],At=e=>[...e],Et=([e,t])=>e===t,Ht=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),kt=JSON.parse,Jt=(e,t,s)=>Me(e,t,Ie(e,t)==-s?void 0:s),Ft=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=Se(),p=Se(),M=Se(),m=Se(),V=Se(),D=Se(),x=Se(),A=Se(),J=Se(),Q=Se(),N=Se(),P=Se(),W=Se(),j=Se(),G=Pe(),K=Se(),U=Se(),Y=Se(),Z=Se(),ee=xt(),te=xt(),se=xt(),ne=xt(),ae=xt(),oe=xt(),le=xt(),de=xt(),he=xt(),Le=xt(),Je=xt(),Qe=xt(),We=xt(),$e=xt(),je=xt(),_e=xt(),Ge=xt(),Ue=xt(),Xe=xt(),Ye=xt(),Ze=xt(),et=xt(),tt=Se(),st=xt(),[nt,at,ot,rt]=qe((()=>ks)),lt=e=>{if(!fe(e,((e,t)=>O([r,l],t))))return!1;const t=e[r];return!(!k(t)&&t!=a||(Fe(e[l])!=t&&ce(e,l),0))},it=(t,s)=>(!e||be(N,s)||Bt(s))&&fe(t,((e,t)=>ct(s,t,e)),(()=>Bt(s))),ct=(e,t,s,n)=>fe(n?s:ht(s,e,t),((n,a)=>H(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Bt(e,t))),dt=(t,s,n,a)=>e?H(Ie(Ie(N,t),n),(e=>Fe(a)!=e[r]?Bt(t,s,n,a,e[l]):a),(()=>Bt(t,s,n,a))):E(Fe(a))?Bt(t,s,n,a):a,ut=(e,t)=>fe(t?e:ft(e),((t,s)=>H(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,s)=>t?H(Ie(W,e),(t=>Fe(s)!=t[r]?qt(e,s,t[l]):s),(()=>qt(e,s))):E(Fe(s))?qt(e,s):s,ht=(e,t,s)=>(H(Ie(P,t),(([n,a])=>{ve(n,((t,s)=>{ie(e,s)||(e[s]=t)})),ve(a,(n=>{ie(e,n)||Bt(t,s,n)}))})),e),ft=e=>(t&&(ve(j,((t,s)=>{ie(e,s)||(e[s]=t)})),ve(G,(t=>{ie(e,t)||qt(t)}))),e),Ct=e=>Ve(N,e,((e,t,s)=>{const n=Se(),a=Pe();Ve(me(N,t,Se),s,((e,t,s)=>{Me(e,t,s),H(s[l],(e=>Me(n,t,e)),(()=>Oe(a,t)))})),Me(P,t,[n,a])}),((e,t)=>{Me(N,t),Me(P,t)})),bt=e=>Ve(W,e,((e,t,s)=>{Me(W,t,s),H(s[l],(e=>Me(j,t,e)),(()=>Oe(G,t)))}),((e,t)=>{Me(W,t),Me(j,t),ye(G,t)})),wt=e=>ge(e)?Rs():vs(e),Lt=e=>Ve(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Vt(t))),pt=(e,t)=>Ve(me(Y,e,(()=>(Pt(e,1),Me(K,e,Be()),Me(U,e,Se()),Se()))),t,((t,s,n)=>vt(e,t,s,n)),((t,s)=>Qt(e,t,s))),vt=(e,t,s,n,a)=>Ve(me(t,s,(()=>(Ot(e,s,1),Se()))),n,((t,n,a)=>yt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),yt=(e,t,s,n,a)=>{be(s,n)||Wt(e,t,n,1);const o=Ie(s,n);a!==o&&($t(e,t,n,o,a),Me(s,n,a))},St=(e,t,s,n,a)=>H(Ie(t,s),(t=>yt(e,s,t,n,a)),(()=>vt(e,t,s,ht({[n]:a},e,s)))),Tt=e=>ge(e)?Vs():ys(e),It=e=>Ve(Z,e,((e,t,s)=>Rt(t,s)),((e,t)=>Nt(t))),Rt=(e,t)=>{be(Z,e)||jt(e,1);const s=Ie(Z,e);t!==s&&(_t(e,s,t),Me(Z,e,t))},Mt=(e,t)=>{const[s]=Ie(K,e),n=s(t);return be(Ie(Y,e),n)?Mt(e,t):n},mt=e=>Ie(Y,e)??pt(e,{}),Vt=e=>pt(e,{}),Qt=(e,t,s)=>{const[,n]=Ie(K,e);n(s),vt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Ie(Ie(P,e)?.[0],a);if(!E(r)&&!o)return yt(e,s,n,a,r);const l=t=>{$t(e,s,t,Ie(n,t)),Wt(e,s,t,-1),Me(n,t)};E(r)?l(a):Re(n,l),we(n)&&(Ot(e,s,-1),we(Me(t,s))&&(Pt(e,-1),Me(Y,e),Me(K,e),Me(U,e)))},Nt=e=>{const t=Ie(j,e);if(!E(t))return Rt(e,t);_t(e,Ie(Z,e)),jt(e,-1),Me(Z,e)},Pt=(e,t)=>Jt(g,e,t),Ot=(e,t,s)=>Jt(me(m,e,Se),t,s)&&Me(M,e,me(M,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=Ie(U,e),o=Ie(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Jt(me(p,e,Se),s,n),Me(a,s,o!=-n?o+n:null),Jt(me(me(V,e,Se),t,Se),s,n)},$t=(e,t,s,n,a)=>{me(me(me(D,e,Se),t,Se),s,(()=>[n,0]))[1]=a,c[3]?.(e,t,s,a)},jt=(e,t)=>Jt(x,e,t),_t=(e,t,s)=>{me(A,e,(()=>[t,0]))[1]=s,c[4]?.(e,s)},Bt=(e,t,s,n,a)=>(X(me(me(me(J,e,Se),t,Se),s,(()=>[])),n),a),qt=(e,t,s)=>(X(me(Q,e,(()=>[])),t),s),Gt=(e,t,s)=>H(Ie(Ie(Ie(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Dt(cs(e,t,s))])),Kt=e=>H(Ie(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Dt(gs(e))])),Ut=e=>we(J)||we(_e[e])?0:ve(e?ke(J):J,((t,s)=>ve(t,((t,n)=>ve(t,((t,a)=>at(_e[e],[s,n,a],t))))))),Xt=e=>we(Q)||we(Ge[e])?0:ve(e?Ee(Q):Q,((t,s)=>at(Ge[e],[s],t))),Yt=(e,t,s,n)=>{if(!we(e))return at(t,n,(()=>De(e))),Re(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=we(Le[e]),a=we(We[e])&&we($e[e])&&we(he[e])&&we(Je[e])&&we(oe[e])&&we(le[e])&&we(de[e])&&n&&we(se[e])&&we(ne[e]),o=we(je[e])&&we(Qe[e])&&we(ae[e])&&we(te[e]);if(!a||!o){const t=e?[Ee(g),He(p),Ee(M),He(m),ke(V),ke(D)]:[g,p,M,m,V,D];if(!a){Yt(t[0],se[e],ne[e]),ve(t[1],((t,s)=>Yt(t,oe[e],le[e],[s]))),ve(t[2],((t,s)=>{0!=t&&at(de[e],[s],os(s))}));const s=Pe();ve(t[3],((t,a)=>{Yt(t,he[e],Je[e],[a])&&!n&&(at(Le[e],[a,null]),Oe(s,a))})),n||ve(t[5],((t,n)=>{if(!be(s,n)){const s=Pe();ve(t,(e=>ve(e,(([t,n],a)=>n!==t?Oe(s,a):ye(e,a))))),ve(s,(t=>at(Le[e],[n,t])))}})),ve(t[4],((t,s)=>ve(t,((t,n)=>Yt(t,We[e],$e[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(je[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&at(Qe[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(Ue[e],void 0,t);const s=we(Ye[e])&&we(Ze[e]),a=we(et[e])&&we(Xe[e]);if(!s||!a){const t=e?[Ee(x),Ee(A)]:[x,A];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)=>(As((()=>e(...q(t,R)))),ks),ss=()=>Ae(Y),ns=()=>Te(Y),as=e=>Te(Ie(U,R(e))),os=e=>Ce(Ie(Y,R(e))),rs=e=>Te(Ie(Y,R(e))),ls=(e,t,s,n=0,a)=>{return q(z(_((o=Ie(Y,R(e)),r=(e,s)=>[E(t)?s:Ie(e,R(t)),s],q([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ke(e,t)*(s?-1:1))),n,E(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Te(Ie(Ie(Y,R(e)),R(t))),cs=(e,t,s)=>Ie(Ie(Ie(Y,R(e)),R(t)),R(s)),ds=()=>De(Z),us=()=>Te(Z),gs=e=>Ie(Z,R(e)),hs=()=>!we(Y),fs=e=>be(Y,R(e)),Cs=(e,t)=>be(Ie(U,R(e)),R(t)),bs=(e,t)=>be(Ie(Y,R(e)),R(t)),ws=(e,t,s)=>be(Ie(Ie(Y,R(e)),R(t)),R(s)),Ls=()=>!we(Z),ps=e=>be(Z,R(e)),vs=e=>ts((()=>(e=>fe(e,it,Bt))(e)?Lt(e):0)),ys=e=>ts((()=>ut(e)?It(e):0)),Ss=e=>{try{wt(kt(e))}catch{}return ks},Ts=t=>ts((()=>{if((e=fe(t,(e=>fe(e,lt))))&&(Ct(t),!we(Y))){const e=ss();Rs(),vs(e)}})),Is=e=>ts((()=>{if(t=(e=>fe(e,lt))(e)){const s=ds();xs(),Vs(),t=!0,bt(e),ys(s)}})),Rs=()=>ts((()=>Lt({}))),Ms=e=>ts((e=>be(Y,e)?Vt(e):0),e),ms=(e,t)=>ts(((e,t)=>H(Ie(Y,e),(s=>be(s,t)?Qt(e,s,t):0))),e,t),Vs=()=>ts((()=>It({}))),Ds=()=>ts((()=>{Ct({}),e=!1})),xs=()=>ts((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=o){Es();const s=e();return Hs(t),s}},Es=()=>(-1!=o&&o++,1==o&&(c[0]?.(),at(tt,void 0)),ks),Hs=e=>(o>0&&(o--,0==o&&(o=1,Ut(1),we(D)||Zt(1),Xt(1),we(A)||es(1),e?.(ks)&&(ve(D,((e,t)=>ve(e,((e,s)=>ve(e,(([e],n)=>ze(ks,t,s,n,e))))))),pe(D),ve(A,(([e],t)=>Ne(ks,t,e))),pe(A)),at(st[0],void 0),o=-1,Ut(0),we(D)||Zt(0),Xt(0),we(A)||es(0),c[1]?.(),at(st[1],void 0),c[2]?.(),o=0,s=hs(),n=Ls(),B([g,p,M,m,V,D,J,x,A,Q],pe))),ks),ks={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>xe(Ie(Y,R(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>De(Ie(Ie(Y,R(e)),R(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:Cs,hasRow:bs,hasCell:ws,hasValues:Ls,hasValue:ps,getTablesJson:()=>Ht(Y),getValuesJson:()=>Ht(Z),getJson:()=>Ht([Y,Z]),getTablesSchemaJson:()=>Ht(N),getValuesSchemaJson:()=>Ht(W),getSchemaJson:()=>Ht([N,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(ge(e)?Rs:vs)(e),(ge(t)?Vs:ys)(t)})),setTables:vs,setTable:(e,t)=>ts((e=>it(t,e)?pt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?vt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return ct(e,n,t)&&(e=R(e),vt(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);ue(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>H(dt(e,t,s,F(n)?n(cs(e,t,s)):n),(n=>St(e,mt(e),t,s,n)))),e,t,s),setValues:ys,setPartialValues:e=>ts((()=>ut(e,1)?ue(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>ts((e=>H(gt(e,F(t)?t(gs(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>ts((()=>{ue(e[0],((e,t)=>E(e)?Ms(t):ue(e,((e,s)=>E(e)?ms(t,s):ue(e,((e,n)=>ze(ks,t,s,n,e))))))),ue(e[1],((e,t)=>Ne(ks,t,e)))})),setTablesJson:Ss,setValuesJson:e=>{try{Tt(kt(e))}catch{}return ks},setJson:e=>ts((()=>{try{const[t,s]=kt(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)=>H(Ie(Y,e),(a=>H(Ie(a,t),(o=>be(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:Vs,delValue:e=>ts((e=>be(Z,e)?Nt(e):0),e),delTablesSchema:Ds,delValuesSchema:xs,delSchema:()=>ts((()=>{Ds(),xs()})),transaction:As,startTransaction:Es,getTransactionChanges:()=>[De(D,((e,t)=>-1===Ie(g,t)?void 0:De(e,((e,s)=>-1===Ie(Ie(m,t),s)?void 0:De(e,(([,e])=>e),(e=>Et(e)))),we,ge)),we,ge),De(A,(([,e])=>e),(e=>Et(e))),1],getTransactionLog:()=>[!we(D),!we(A),Ae(D,At,Et),Ae(J),De(A,At,Et),De(Q),De(g),xe(m),Ae(V),De(x)],finishTransaction:Hs,forEachTable:e=>ve(Y,((t,s)=>e(s,(e=>ve(t,((t,s)=>e(s,(e=>Re(t,e))))))))),forEachTableCell:(e,t)=>Re(Ie(U,R(e)),t),forEachRow:(e,t)=>ve(Ie(Y,R(e)),((e,s)=>t(s,(t=>Re(e,t))))),forEachCell:(e,t,s)=>Re(Ie(Ie(Y,R(e)),R(t)),s),forEachValue:e=>Re(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(ks,e,t,s,n,a,l))}),Le[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),ks),delListener:e=>(ot(e),ks),getListenerStats:()=>({}),createStore:Ft,addListener:nt,callListeners:at,setInternalListeners:(e,t,s,n,a)=>c=[e,t,s,n,a]};return ue({[u+f]:[0,ee,[],()=>[hs()]],[f]:[0,te],[C]:[0,se],[u+h]:[1,ne,[ns],e=>[fs(...e)]],[h]:[1,ae,[ns]],[h+y]:[1,oe,[ns]],[u+h+v]:[2,le,[ns,as],e=>[Cs(...e)]],[w]:[1,de,[ns]],[L]:[1,he,[ns]],[u+b]:[2,Je,[ns,rs],e=>[bs(...e)]],[b]:[2,Qe,[ns,rs]],[y]:[2,We,[ns,rs]],[u+v]:[3,$e,[ns,rs,is],e=>[ws(...e)]],[v]:[3,je,[ns,rs,is],e=>Dt(cs(...e))],InvalidCell:[3,_e],[u+T]:[0,Ue,[],()=>[Ls()]],[T]:[0,Xe],[I]:[0,Ye],[u+S]:[1,Ze,[us],e=>[ps(...e)]],[S]:[1,et,[us],e=>Dt(gs(e[0]))],InvalidValue:[1,Ge]},(([e,t,s,n],a)=>{ks[d+a+i]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,n)})),re(ks)},Qt={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},zt=(e=t)=>[ft(e),ft(e)];exports.createCheckpoints=Ge,exports.createCustomPersister=st,exports.createCustomSynchronizer=(e,s,n,a,o,r,l={})=>{let i;const[c]=Mt(e.getId()),d=Se();n(((t,n,a,o)=>{0==a?H(Ie(d,n),(([e,s])=>E(e)||e==t?s(o,t):0)):2==a&&f.isAutoLoading()?h(t,o).then((e=>{i?.(void 0,(()=>e))})):3==a&&f.isAutoLoading()?i?.(void 0,(()=>o)):H(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=>{s(t,n,0,e)}))}));const u=async(e,n,a=t)=>new V(((t,r)=>{const l=c(),i=setTimeout((()=>{ye(d,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);Me(d,l,[e,(e,s)=>{clearTimeout(i),ye(d,l),t([e,s])}]),s(e,l,n,a)})),g=(e,[t,s])=>{de(t,(([t,s],n)=>{const a=he(e[0],n,ht);de(t,(([e,t],s)=>{const n=he(a[0],s,ht);de(e,(([e,t],s)=>n[0][s]=lt(e,t))),n[1]=ut(n[1],t)})),a[1]=ut(a[1],s)})),e[1]=ut(e[1],s)},h=async(t=null,s)=>{E(s)&&([s,t]=await u(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=ht();if(o!=n){const[s,n]=(await u(t,4,e.getMergeableTableHashes()))[0];if(l=s,!ge(n)){const[s,a]=(await u(t,5,e.getMergeableRowHashes(n)))[0];if(g(l,s),!ge(a)){const s=(await u(t,6,e.getMergeableCellHashes(a)))[0];g(l,s)}}}return[l,r==a?ht():(await u(t,7,e.getMergeableValuesHashes()))[0],1]},f=st(e,(async()=>{const e=await h();return ge(e[0][0])&&ge(e[1][0])?void 0:e}),(async(t,n)=>{n?s(null,null,3,n()):s(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},exports.createIndexes=Ue,exports.createMergeableStore=e=>{let s=1,n=zt(),a=0;const o=Se(),r=Pe(),[l,i]=Mt(e),c=Ft(),d=e=>{const t=s;return s=0,e(),s=t,C},u=(e,s=0)=>{const a={},o={},[[r,l=t,c=0],d]=e,[u,h]=n,[f,C,b]=u;let w=s?c:b,L=l;de(r,(([e,n=t,o=0],r)=>{const l=me(f,r,ft),[i,c,d]=l;let u=s?o:d,h=n;de(e,((e,t)=>{const[n,o,l]=g(e,me(i,t,ft),he(he(a,r,le),t,le),s);u^=s?0:(o?ct(t,o):0)^ct(t,l),h=ut(h,n)})),u^=s?0:dt(c,n),gt(l,u,n),w^=s?0:(d?ct(r,d):0)^ct(r,l[2]),L=ut(L,h)})),w^=s?0:dt(C,l),gt(u,w,l);const[p]=g(d,h,o,s);return i(ut(L,p)),[a,o,1]},g=(e,s,n,a)=>{const[o,r=t,l=0]=e,[i,c,d]=s;let u=r,g=a?l:d;return de(o,(([e,s,o=0],r)=>{const l=me(i,r,(()=>[void 0,t,0])),[,c,d]=l;(!c||s>c)&&(gt(l,a?o:at(Ht(e??null)+":"+s),s),l[0]=e,n[r]=e,g^=a?0:ct(r,d)^ct(r,l[2]),u=ut(u,s))})),g^=a?0:dt(c,r),gt(s,g,r),[u,d,s[2]]},h=()=>[Ct(n[0],(e=>Ct(e,(e=>Ct(e))))),Ct(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),C={getId:()=>e,getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>De(n[0][0],it),getMergeableTableDiff:e=>{const t=ht(n[0][1]),s={};return Re(n[0][0],((n,[a,o,r])=>ie(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=bt([a,o],(e=>bt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return de(e,((e,s)=>H(Ie(n[0][0],s),(([n,,a])=>a!=e?Re(n,((e,[,,n])=>he(t,s,le)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=ht(n[0][1]),s={};return de(e,((e,a)=>Re(Ie(n[0][0],a)?.[0],((n,[o,r,l])=>ie(e,n)?l!==e[n]?he(s,a,le)[n]=l:0:he(t[0],a,ht)[0][n]=bt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return de(e,((e,s)=>H(Ie(n[0][0],s),(([n])=>de(e,((e,a)=>H(Ie(n,a),(([n,,o])=>o!==e?Re(n,((e,[,,n])=>he(he(t,s,le),a,le)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return de(e,((e,s)=>de(e,((e,n)=>H(Ie(t,s),(([t,o])=>H(Ie(t,n),(([t,r])=>Re(t,((t,[l,i,c])=>c!==e[t]?he(he(a,s,(()=>ht(o)))[0],n,(()=>ht(r)))[0][t]=[l,i]:0)))))))))),lt(a,s)},getMergeableValuesHashes:()=>De(n[1][0],it),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=De(t,rt,(([,,t],s)=>t==e?.[s]));return lt(a,s)},setMergeableContent:e=>d((()=>(e=>Q(e)&&2==N(e)&&wt(e[0],(e=>fe(e,(e=>wt(e,(e=>fe(e,(e=>wt(e,(e=>fe(e,(e=>wt(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&wt(e[1],(e=>fe(e,(e=>wt(e,Qe)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=zt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),C),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};ve(o,((t,s)=>H(Ie(e,s),(([e,n])=>{const a={};ve(t,((t,s)=>H(Ie(e,s),(([e,n])=>{const o={};ve(t,(t=>{H(Ie(e,t),(([e,s])=>o[t]=lt(e,s)))})),a[s]=lt(o,n)})))),l[s]=lt(a,n)}))));const i={};return ve(r,(e=>H(Ie(s,e),(([t,s])=>i[e]=lt(t,s))))),[lt(l,t),lt(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)=>{Oe(me(me(o,e,Se),n,Pe),r),s&&u([[{[e]:[{[n]:[{[r]:[i,a?t:l()]}]}]}],[{}],1])}),((e,n)=>{Oe(r,e),s&&u([[{}],[{[e]:[n,a?t:l()]}],1])})),ue(c,((e,t)=>C[t]=M(t,"set")||M(t,"del")||M(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),C):M(t,"add")&&m(t,"Listener")?(...s)=>{const n=Qt[z(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(C,...t),e(...s)}:e)),re(C)},exports.createMetrics=Ze,exports.createQueries=mt,exports.createRelationships=Vt,exports.createStore=Ft,exports.defaultSorter=Ke;
Binary file
package/lib/cjs/tools.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),d=e(!0),o=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",g=h+i,m="Sorted"+h+i,w="Cell",f=w+i,T="Value",y=T+"s",v=T+i,V=Promise,x=isFinite,R=e=>null==e,A=(e,l,t)=>R(e)?t?.():l(e),k=e=>e==n||e==d,S=l=>e(l)==n,P=e=>Array.isArray(e),O=(e,l,t)=>e.slice(l,t),E=e=>e.length,L=async e=>V.all(e),N=l=>{const t=e(l);return k(t)||t==o&&x(l)?t:void 0},D=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),j=(e,l)=>e.forEach(l),H=(e,l=t)=>e.join(l),M=(e,l)=>e.map(l),J=(e,l)=>e.filter(l),z=(e,...l)=>e.push(...l),W=e=>e.pop(),B=(e,...l)=>e.unshift(...l),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.keys,Q=U.freeze,q=e=>!R(e)&&A(_(e),(e=>e==U.prototype||R(_(e))),(()=>!0)),K=(e,l)=>M(U.entries(e),(([e,t])=>l(t,e))),X=e=>E(Z(e)),Y=e=>q(e)&&0==X(e),ee=(e,l)=>e?.has(l)??!1,le=e=>[...e?.values()??[]],te=(e,l)=>e?.forEach(l),ae=(e,l)=>e?.delete(l),ne=e=>new Map(e),de=(e,l)=>e?.get(l),oe=(e,l)=>te(e,((e,t)=>l(t,e))),se=(e,l)=>M([...e?.entries()??[]],(([e,t])=>l(t,e))),re=(e,l,t)=>R(t)?(ae(e,l),e):e?.set(l,t),Ie=(e,l,t)=>(ee(e,l)||re(e,l,t()),de(e,l)),$e=e=>e.toUpperCase(),ce=e=>e.toLowerCase(),ue="a ",ie="A function for",be=", and registers a listener so that any changes to that result will cause a re-render",pe="Callback",Ce="Count",he="Del",ge="Deps",me=ge+"?: React.DependencyList",we="doRollback?: DoRollback",fe="actions: () => Return, "+we,Te="export",ye="Id",ve="Invalid",Ve="Json",xe=ce(I),Re="?: ",Ae=" | undefined",ke="NonNullable",Se="Partial",Pe="Props",Oe="Provider",Ee=`Registers a ${xe} that will be called`,Le="Represents",Ne="rowId: "+ye,De="Schema",Ge="Set",je=", descending?: boolean, offset?: number, limit?: number",He="[]",Me="the Store",Je="Transaction",ze=Je+"Changes",We=ce(Je),Be="Execute a "+We+" to make multiple mutations",Fe="Explicitly starts a "+We,Ue="Explicitly finishes a "+We,_e="the end of the "+We,Ze="void",Qe=" => "+Ze,qe="WhenSet",Ke=" when setting it",Xe=ue+"string serialization of",Ye=" ",el="Gets a callback that can ",ll="the ",tl=" the schema for",al=(e=0)=>e?"the existence of ":"",nl=(e=0,l=0,a=0)=>al(a)+`the ${Tl[e]}content of`+(l?Ye+Me:t),dl=(e=0,l,a=0,n=0)=>ml[l]+Ye+al(n)+nl(e,1)+(a?" when setting it":t),ol=(e,l=0)=>Le+` a Row when ${l?"s":"g"}etting ${nl()} the '${e}' `+b,sl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,rl=(e,l)=>`Calls a function for each ${e} in `+l,Il=e=>"The props passed to a component that renders "+e,$l=e=>"A function that takes "+e,cl=(e,l=0,t=0)=>ie+" listening to changes to "+al(t)+fl[e]+" in "+fl[l],ul=(e,l,a=0,n=0)=>Ee+" whenever "+al(n)+fl[e]+" in "+fl[l]+" change"+(a?t:"s"),il=e=>`the '${e}' `+b,bl=e=>"the specified Row in "+il(e),pl=(e,l=0,t=0)=>ml[l]+Ye+nl(0,0,t)+Ye+il(e),Cl=(e,l=0,t=0)=>ml[l]+` ${nl(0,0,t)} `+bl(e),hl=(e,l,t=0,a=0)=>ml[t]+Ye+al(a)+`the '${l}' Cell for `+bl(e),gl=(e,l=0,t=0)=>ml[l]+Ye+al(t)+`the '${e}' Value`,ml=["Gets","Checks existence of","Sets","Deletes","Sets part of",Le,"Gets "+Xe,"Sets "+Xe,Ee+" whenever",el+"set",el+"add",el+"set part of",el+"delete","Renders","Gets "+Xe+tl,"Sets"+tl,"Deletes"+tl],wl=[$,"has","set","del","set","forEach",c,t],fl=[Me,p,ll+b+Ye+i,ue+b,ll+h+Ye+i,ue+h,ll+w+Ye+i,ue+w,"invalid Cell changes",y,ll+T+Ye+i,ue+T,"invalid Value changes",ll+"sorted "+h+Ye+i,ll+w+Ye+i+" anywhere",ll+"number of Rows",ue+w+" anywhere"],Tl=[t,"tabular ","keyed value "],yl=e=>new Set(P(e)||R(e)?e:[e]),vl=(e,l)=>e?.add(l),Vl=/[^A-Za-z]+/,xl=/[^A-Za-z0-9]+/,Rl=/^( *)\/\*\* *(.*?) *\*\/$/gm,Al=e=>e.includes(a),kl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return ee(e,n)?kl(e,l,t,a+1):(re(e,n,t),n)},Sl=e=>e.replace(Rl,((e,l,t)=>{const a=77-E(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Pl=e=>e.flat(1e3),Ol=(e,l=0)=>H(M(e.split(xl),((e,t)=>(t>0||l?$e:ce)(O(e,0,1))+O(e,1)))),El=e=>$e(H((e&&!Vl.test(e[0])?e:" "+e).split(xl),"_")),Ll=e=>`/** ${e}. */`,Nl=(...e)=>H(J(e,(e=>e)),", "),Dl=(...e)=>"{"+H(e,"; ")+"}",Gl=(...e)=>Dl(...M(e,(e=>"readonly "+e))),jl=()=>{const e=[ne(),ne(),ne(),ne()],l=ne(),a=ne(),n=e=>{const l=e.indexOf(" as ");return-1!=l?O(e,l+4):e};return[(...e)=>H(Pl(e),"\n"),(l,t,...a)=>j(a,(a=>j([0,1],(n=>(l??n)==n?vl(Ie(e[n],t,yl),a):0)))),(e,a,n,d=t,o=1)=>kl(l,e,[a,n,d,o]),(e,l,t)=>kl(a,e,P(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>de(a,e)===l?e:kl(a,e,l),(l=0)=>M([...G(se(e[l],((e,l)=>`import {${H(G(le(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>Al(e)!=Al(l)?Al(e)?-1:1:e>l?1:-1)),t],(e=>e.replace("{React}","React"))),()=>se(l,(([e,l,a,n],d)=>[Ll(l),`${n?Te+" ":t}type ${d}${a} = ${e};`,t])),()=>se(a,((e,l)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${l} = ${F(e)}`,e,t])))]},Hl=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Ml=(e,l,t)=>[l=>K(e,((e,a)=>l(a,Ol(a,1),t(El(a),`'${a}'`)))),(l,a)=>K(e[l],((e,l)=>a(l,e[s],e[r],t(El(l),`'${l}'`),Ol(l,1)))),e=>K(l,((l,a)=>e(a,l[s],l[r],t(El(a),`'${a}'`),Ol(a,1))))],Jl=(e,l,a,n)=>[(n,d)=>{const o=n+": "+d,s=e(p,Dl(...l((e=>`'${e}'?: {[rowId: Id]: `+Dl(...a(e,((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`)))+"}"))),dl(1,5)),r=e(p+qe,Dl(...l((e=>`'${e}'?: {[rowId: Id]: `+Dl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),dl(1,5,1)),$=e(b+ye,"keyof "+s,"A "+b+" Id in "+Me),c=`<TId extends ${$}>`,i=e(b,ke+`<${s}[TId]>`,"A "+b+" in "+Me,c),T=e(b+qe,ke+`<${r}[TId]>`,"A "+b+" in "+Me+Ke,c),y=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),v=e(h+qe,T+"<TId>[Id]","A "+h+" in a "+b+Ke,c),V=e(w+ye,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+h,c),x=e(w,ke+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+h,`<TId extends ${$}, CId extends ${V}<TId>>`),A=e("CellIdCellArray",`CId extends ${V}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,w+" Ids and types in a "+h,`<TId extends ${$}, CId = ${V}<TId>>`,0),k=e(w+pe,`(...[cellId, cell]: ${A}<TId>)`+Qe,$l(ue+w+" Id, and "+w),c),S=e(h+pe,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Qe+") "+Qe,$l(ue+h+" Id, and a "+w+" iterator"),c),P=e(b+w+pe,`(cellId: ${V}<TId>, count: number) `+Qe,$l(ue+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Qe}] : never`,b+" Ids and callback types",`<TId = ${$}>`,0),E=e(b+pe,`(...[tableId, forEachRow]: ${O})`+Qe,$l(ue+b+" Id, and a "+h+" iterator"),t),L=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${V}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,ie+" returning information about any Cell's changes during a "+We),D=e(u+p+I,`(${o}, hasTables: boolean)`+Qe,cl(1,0,1)),G=e(p+I,`(${o}, getCellChange: ${N}${Ae})`+Qe,cl(1)),j=e(C+I,`(${o})`+Qe,cl(2)),H=e(u+b+I,`(${o}, tableId: ${$}, hasTable: boolean)`+Qe,cl(3,0,1)),M=e(b+I,`(${o}, tableId: ${$}, getCellChange: ${N}${Ae})`+Qe,cl(3)),J=e(b+f+I,`(${o}, tableId: ${$})`+Qe,cl(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${$}>`,0),B=e(u+b+w+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+Qe,cl(16,3,1)),F=e(h+"Count"+I,`(${o}, tableId: ${$})`+Qe,cl(15,3)),U=e(g+I,`(${o}, tableId: ${$})`+Qe,cl(4,3)),_=e(m+I,"("+Nl(o,"tableId: "+$,"cellId: Id"+Ae,"descending: boolean","offset: number","limit: number"+Ae,"sortedRowIds: Ids")+")"+Qe,cl(13,3)),Z=e(u+h+I,"("+Nl(""+o,"tableId: "+$,Ne,"hasRow: boolean")+")"+Qe,cl(5,3,1)),Q=e(h+I,"("+Nl(""+o,"tableId: "+$,Ne,`getCellChange: ${N}${Ae}`)+")"+Qe,cl(5,3)),q=e(f+I,"("+Nl(""+o,"tableId: "+$,Ne)+")"+Qe,cl(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ne}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${$} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${$}>`,0),Y=e(u+w+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+Qe,cl(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ne}, cellId: CId, newCell: ${x}<TId, CId> ${Ae}, oldCell: ${x}<TId, CId> ${Ae}, getCellChange: ${N} ${Ae}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,i,T,y,v,V,x,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+Qe,cl(7,5)),e(ve+w+I,`(${o}, tableId: Id, ${Ne}, cellId: Id, invalidCells: any[])`+Qe,cl(8))]},(l,a)=>{const d=l+": "+a,o=e(y,Dl(...n(((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`))),dl(2,5)),s=e(y+qe,Dl(...n(((e,l)=>`'${e}'?: ${l}`))),dl(2,5,1)),r=e(T+ye,"keyof "+o,"A "+T+" Id in "+Me),$=e(T,ke+`<${o}[VId]>`,"A "+T+" Id in "+Me,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,T+" Ids and types in "+Me,`<VId = ${r}>`,0),i=e(T+pe,`(...[valueId, value]: ${c})`+Qe,$l(ue+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,ie+" returning information about any Value's changes during a "+We),p=e(u+y+I,`(${d}, hasValues: boolean)`+Qe,cl(9,0,1)),C=e(y+I,`(${d}, getValueChange: ${b}${Ae})`+Qe,cl(9)),h=e(v+I,`(${d})`+Qe,cl(10)),g=e(u+T+I,`(${d}, valueId: ValueId, hasValue: boolean)`+Qe,cl(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${$}<VId> ${Ae}, oldValue: ${$}<VId> ${Ae}, getValueChange: ${b} ${Ae}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,$,i,p,C,h,g,e(T+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+Qe,cl(11)),e(ve+T+I,`(${d}, valueId: Id, invalidValues: any[])`+Qe,cl(12))]},(l,t)=>e(Je+I,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Qe,ie+" listening to the completion of a "+We)],zl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Wl=(e,l=t)=>`fluent(() => ${zl(e,l)})`,Bl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Fl=(e,a,n)=>{const[o,$,V,x,A,k,P,O]=jl(),[E,L,N]=Ml(e,a,A),[D,G,M]=Jl(V,E,L,N),J=ne(),W=(e=0)=>se(J,(([l,a,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${a} => ${n},`]:[s+o+`(${l}): ${a};`];return e||B(r,Ll(d)),z(r,t),r})),F=(e,l,a,n,d,o=t)=>kl(J,e,[l,a,n,d,o]),U=(e,l,a,n,d,o=t,s=t,r=t)=>F(wl[e]+l+(4==e?Se:t)+a,o,n,(n==Q?Wl:zl)(wl[e]+(4==e?Se:t)+a,s,e?void 0:n),d,r),_=(e,l,a,n=t,d=t,o=1,s=t)=>F(c+e+I,(n?n+", ":t)+xe+": "+l+(o?", mutator?: boolean":t),ye,Bl(c+e+I,d,o?"mutator":t),a,s),Z=`./${Ol(n)}.d`,Q=Ol(n,1),q=Ol(Q),K=[],X=ne();let ee=[],te=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),Y(e))$(null,l,p);else{$(0,l,"CellChange"),$(null,l,i);const[e,a,n,o,I,c,T,y,v,x,k,P,O,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ue]=D(q,Q),ie=ne();E(((e,l)=>{const t=`<'${e}'>`,a=[V(l+b,o+t,Le+` the '${e}' `+b),V(l+b+qe,I+t,Le+` the '${e}' `+b+Ke),V(l+h,c+t,ol(e)),V(l+h+qe,T+t,ol(e,1)),V(l+w+ye,y+t,`A Cell Id for the '${e}' `+b),V(l+w+pe,x+t,$l(`a Cell Id and value from a Row in the '${e}' `+b)),V(l+h+pe,k+t,$l(`a Row Id from the '${e}' Table, and a Cell iterator`)),V(l+b+w+pe,P+t,$l(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];re(ie,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,O,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ue),ee=[e,a,n,y,N,G,M,J,W,B,F,Y,te,ae,oe,se,Ie,$e,ce,ie],j([[e],[d],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,dl(1,n),l,a))),U(0,t,C,n+He,sl(b,Me)),U(5,t,b,Ze,rl(b,Me),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,o,s,r,I,$,c,u]=de(ie,e);j([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,d,o=t],s)=>U(s,l,b,n,pl(e,s),d,a+o))),U(0,l,b+f,i,sl(w,"the whole of "+il(e)),t,a),U(5,l,b+w,Ze,rl(b+w,"the whole of "+il(e)),"tableCellCallback: "+u,a+", tableCellCallback as any"),U(0,l,h+Ce,"number","Gets the number of Rows in the "+il(e),t,a),U(0,l,g,i,sl(h,il(e)),t,a),U(0,l,m,i,sl(h,il(e),1),"cellId?: "+I+je,a+", cellId, descending, offset, limit"),U(5,l,h,Ze,rl(h,il(e)),"rowCallback: "+c,a+", rowCallback as any"),j([[s],[d],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=t,o=t],s)=>U(s,l,h,n,Cl(e,s),Ne+d,a+", rowId"+o))),U(6,l,h,ye+Ae,"Add a new Row to "+il(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,f,I+He,sl(w,bl(e)),Ne,a+", rowId"),U(5,l,w,Ze,rl(w,bl(e)),Ne+", cellCallback: "+$,a+", rowId, cellCallback as any"),L(e,((n,o,s,r,I)=>{const $="Map"+Ol(o,1);re(X,o,$);const c=o+(R(s)?Ae:t);j([[c],[d],[Q,`, cell: ${o} | `+$,", cell as any"],[Q]],(([d,o=t,s=t],$)=>U($,l+I,w,d,hl(e,n,$),Ne+o,a+", rowId, "+r+s))),U(1,l+I,b+w,d,ml[1]+` the '${n}' Cell anywhere in `+il(e),t,a+", "+r)}))})),U(0,t,p+Ve,Ve,dl(1,6)),U(2,t,p+Ve,Q,dl(1,7),"tablesJson: "+Ve,"tables"+Ve),_(u+p,N,dl(1,8,0,1)+" changes"),_(p,G,dl(1,8)+" changes"),_(C,M,ul(2,0,1)),_(u+b,J,ul(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,W,ul(3,0),`tableId: ${n} | null`,"tableId"),_(b+f,B,ul(14,3,1),`tableId: ${n} | null`,"tableId"),_(u+b+w,F,ul(16,3,0,1),`tableId: ${n} | null, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, cellId"),_(h+Ce,Y,ul(15,3),`tableId: ${n} | null`,"tableId"),_(g,te,ul(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,ae,ul(13,3,1),Nl("tableId: TId",`cellId: ${y}<TId>`+Ae,"descending: boolean","offset: number","limit: number"+Ae),Nl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(u+h,oe,ul(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,se,ul(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,Ie,ul(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(u+w,$e,ul(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,ul(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>de(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(ve+w,ue,Ee+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...le(X)),z(K,".set"+p+De+"({",Pl(E(((e,l,a)=>[`[${a}]: {`,...L(e,((e,l,a,n)=>`[${n}]: {[${A(El(s),`'${s}'`)}]: ${A(El(l),`'${l}'`)}${R(a)?t:`, [${A(El(r),`'${r}'`)}]: `+(S(a)?A(El(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Y(a))$(null,l,y);else{const[e,a,n,o,I,c,i,b,p,C,h]=G(q,Q);$(1,Z,e,a,n,I,c,i,b,p,C,h),te=[e,a,n,c,i,b,p,C],j([[e],[d],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,y,e,dl(2,n),l,a))),U(0,t,v,n+He,sl(T,Me)),U(5,t,T,"void",rl(T,Me),"valueCallback: "+I,"valueCallback as any"),N(((e,l,a,n,o)=>{const s="Map"+Ol(l,1);re(X,l,s),j([[l],[d],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,a,d=t],s)=>U(s,o,T,l,gl(e,s),a,n+d)))})),U(0,t,y+Ve,Ve,dl(2,6)),U(2,t,y+Ve,Q,dl(2,7),"valuesJson: "+Ve,"values"+Ve),_(u+y,c,dl(2,8,0,1)+" changes"),_(y,i,dl(2,8)+" changes"),_(v,b,ul(10,0,1)),_(u+T,p,ul(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,ul(11,0),`valueId: ${n} | null`,"valueId"),_(ve+T,h,Ee+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...le(X)),$(0,l,"ValueChange"),z(K,".set"+y+De+"({",N(((e,l,a,n)=>[`[${n}]: {[${A(El(s),`'${s}'`)}]: ${A(El(l),`'${l}'`)}${R(a)?t:`, [${A(El(r),`'${r}'`)}]: `+(S(a)?A(El(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${y}]`,dl(0,0)),U(2,t,"Content",Q,dl(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(2,t,ze,Q,`Applies a set of ${ze} to the Store`,"transactionChanges: "+ze,"transactionChanges"),oe(X,((e,l)=>V(l,`(cell: ${e}${Ae}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,l,"DoRollback",ye,"IdOrNull",Ve,"Store",ze),$(0,l,"Get"+ze,"GetTransactionLog"),U(0,t,Ve,Ve,dl(0,6)),U(2,t,Ve,Q,dl(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,t,We,"Return",Be,fe,"actions, doRollback","<Return>"),U(7,t,"start"+Je,Q,Fe),U(7,t,"finish"+Je,Q,Ue,we,"doRollback");const ae=M(q,Q);return _("Start"+Je,ae,Ee+" just before the start of the "+We,t,t,0),_("WillFinish"+Je,ae,Ee+" just before "+_e,t,t,0),_("DidFinish"+Je,ae,Ee+" just after "+_e,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+Me,"listenerId: Id","listenerId"),F("getStore",t,"Store","store",ml[0]+" the underlying Store object"),$(1,l,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,ae),A("store",["createStore()",...K]),x("fluent","actions: () => Store",["actions();",`return ${q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),A(q,["{",...W(1),"}"]),[o(...k(0),...P(),Te+" interface "+Q+" {",...W(0),"}",t,Ll(`Creates a ${Q} object`),Te+" function create"+Q+"(): "+Q+";"),o(...k(1),Te+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),ee,te]},Ul=e=>$+e,_l=e=>Nl(Ul(e),Ul(e)+ge),Zl="debugIds?: boolean",Ql="debugIds={debugIds}",ql="then"+me,Kl="Parameter",Xl=": (parameter: "+Kl+", store: Store) => ",Yl="const contextValue = useContext(Context);",et=", based on a parameter",lt=": ",tt="<"+Kl+",>",at=Kl+"ized"+pe+"<"+Kl+">",nt="rowId",dt="rowId={rowId}",ot=", separator, debugIds",st="separator?: ReactElement | string",rt="then?: (store: Store",It=Nl(rt+")"+Qe,ql),$t="then, then"+ge,ct=nt+lt+ye,ut="View",it=(e,...l)=>Nl(...l,xe+": "+e,xe+me,"mutator?: boolean"),bt=(...e)=>Nl(...e,xe,xe+ge,"mutator"),pt=(e,a,n,s,r)=>{const[$,c,V,x,A,k,S,P]=jl(),[O,E,L]=Ml(e,a,A),N=`./${Ol(n)}.d`,D=`./${Ol(n)}-ui-react.d`,G="tinybase/ui-react",j=Ol(n,1),M=Ol(j),J=j+"Or"+j+ye,W=M+"Or"+j+ye,F=M+`={${M}}`,U=ne(),_=(e,l,a,n,d,o=t)=>(c(1,D,e+" as "+e+"Decl"),kl(U,e,[l,a,n,d,o])),Z=(e,l,a,n,d,o=t)=>_("use"+e,l,a,n,d,o),Q=(e,l,a,n,d=t,o=t,s=t,r=t,I=t)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Nl(d,le,r),a,ae+`(${W}, use${l}Core, [`+(o||t)+(I?"], ["+I:t)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>se(U,(([l,a,n,d,o],s)=>{const r=e?[Te+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==a?"any":a} =>`,n]:[Te+` function ${s}${o}(${l}): ${1==a?"ComponentReturnType":a};`];return e||B(r,Ll(d)),z(r,t),r}));c(null,l,ye,"Store",pe,Kl+"ized"+pe),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=V(J,j+" | "+ye,`Used when you need to refer to a ${j} in a React hook or component`),ee=V(Oe+Pe,Gl(M+Re+j,M+`ById?: {[${M}Id: Id]: ${j}}`),`Used with the ${Oe} 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,ee);const le=W+Re+X;A("{createContext, useContext, useMemo}","React"),A("Context",`createContext<[${j}?, {[${M}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+me,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+Ae,["{",Yl,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Oe} component context`),ae=x("useHook",W+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${te}(${W} as Id);`,`return hook(...preParams, ((${W} == null || typeof ${W} == 'string')`,`? ${M} : ${W})?.getStore(), ...postParams)`]),oe=x("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=x("wrap",Nl("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=x("useCustomOrDefaultCellIds",Nl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${W}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${W}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=A("NullComponent","() => null");if(!Y(e)){const[e,a,n,r,$,T,y,v,A,k,S,P,L,G,J,z,W,B,U,_]=s;c(null,N,e,a,n,$,T,y,v,A,k,S,P,L,G,J,z,W,U,B),c(0,N,r),c(1,N,j),c(null,l,i,"IdOrNull");const Z=x("tableView",`{${M}, rowComponent, getRowComponentProps, customCellIds`+ot+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+oe+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",dt,"customCellIds={customCellIds}",F,Ql,"/>","))",ot,", tableId,",");"]),K=x("getDefaultTableComponent","tableId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=x("getDefaultCellComponent","tableId: Id, cellId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${H(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(u+p,u+p,d,dl(1,0,0,1)+be),Q(p,p,e,dl(1,0)+be);const Y=Q(C,C,n+He,sl(b,Me)+be);Q(Ge+p+pe,Ge+p+pe,at,dl(1,9)+et,Nl(Ul(p)+Xl+a,Ul(p)+me),_l(p),tt,Nl(rt,`tables: ${a})`+Qe,ql),$t),Q(he+p+pe,he+p+pe,pe,dl(1,12),t,t,t,It,$t);const ee=V(w+Pe,Gl("tableId?: TId","rowId: Id","cellId?: CId",M+Re+j,Zl),Il(ue+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=V(h+Pe,Gl("tableId?: TId","rowId: Id",M+Re+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,st,Zl),Il(ue+h),`<TId extends ${n}>`),te=V(b+Pe,Gl("tableId?: TId",M+Re+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Zl),Il(ue+b),`<TId extends ${n}>`),ae=V("Sorted"+b+Pe,Gl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",M+Re+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",st,Zl),Il(ue+"sorted "+b),`<TId extends ${n}>`),ne=V(p+Pe,Gl(M+Re+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,st,Zl),Il(nl(1,1)));c(1,D,ne,te,ae,le,ee),q(p+ut,"{"+M+", tableComponents, getTableComponentProps"+ot+"}: "+ne,[re+`(${Y}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${oe}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",F,Ql,"/>;","}), separator)"],dl(1,13)+be),O(((e,l,a)=>{const[n,s,r,I,$]=de(_,e);c(null,N,n,s,r,I,$),Q(u+l+b,u+b,d,pl(e,0,1)+be,t,a),Q(l+b,b,n,pl(e)+be,t,a),Q(l+b+f,b+f,i,sl(w,"the whole of "+il(e))+be,t,a),Q(l+h+Ce,h+Ce,o,"Gets the number of Rows in "+il(e)+be,t,a);const p=Q(l+g,g,i,sl(h,il(e))+be,t,a),C=Q(l+m,m,i,sl(h,il(e),1)+be,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q(u+l+h,u+h,d,Cl(e,0,1)+be,ct,Nl(a,nt)),Q(l+h,h,r,Cl(e)+be,ct,Nl(a,nt)),Q(l+f,f,$+He,sl(w,bl(e))+be,ct,Nl(a,nt)),Q(Ge+l+b+pe,Ge+b+pe,at,pl(e,9)+et,Nl(Ul(b)+Xl+s,Ul(b)+me),Nl(a,_l(b)),tt,Nl(rt,`table: ${s})`+Qe,ql),$t),Q(he+l+b+pe,he+b+pe,pe,pl(e,12),t,a,t,It,$t),Q(Ge+l+h+pe,Ge+h+pe,at,Cl(e,9)+et,Nl(ct,Ul(h)+Xl+I,Ul(h)+me),Nl(a,nt,_l(h)),tt,Nl(rt,`row: ${I})`+Qe,ql),$t),Q("Add"+l+h+pe,"Add"+h+pe,at,Cl(e,10)+et,Nl(Ul(h)+Xl+I,Ul(h)+me),Nl(a,_l(h)),tt,"then?: ("+Nl(ct+Ae,"store: Store","row: "+I+")"+Qe,"then"+me)+", reuseRowIds?: boolean",$t+", reuseRowIds"),Q(Ge+l+Se+h+pe,Ge+Se+h+pe,at,Cl(e,11)+et,Nl(ct,Ul(Se+h)+Xl+I,Ul(Se+h)+me),Nl(a,nt,_l(Se+h)),tt,Nl(rt,`partialRow: ${I})`+Qe,ql),$t),Q(he+l+h+pe,he+h+pe,pe,Cl(e,12),ct,Nl(a,nt),t,It,$t);const T=q(l+h+ut,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+ot+`}: ${le}<'${e}'>`,[re+`(${Ie}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${oe}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,dt,"cellId={cellId}",F,Ql,"/>;","})"+ot+", rowId)"],Cl(e,13)+be);q(l+"Sorted"+b+ut,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${M}), ${a}, ${T});`,pl(e,13)+", sorted"+be),q(l+b+ut,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${M}), ${a}, ${T});`,pl(e,13)+be),E(e,((n,o,s,r,I)=>{const $="Map"+Ol(o,1);c(0,N,$),c(1,N,$),Q(u+l+I+b+w,u+b+w,d,`Gets ${al(1)}the '${n}' Cell anywhere in `+il(e)+be,t,Nl(a,r)),Q(u+l+I+w,u+w,d,hl(e,n,0,1)+be,ct,Nl(a,nt,r));const i=Q(l+I+w,w,o+(R(s)?Ae:t),hl(e,n)+be,ct,Nl(a,nt,r));Q(Ge+l+I+w+pe,Ge+w+pe,at,hl(e,n,9)+et,Nl(ct,Ul(w)+Xl+o+" | "+$,Ul(w)+me),Nl(a,nt,r,_l(w)),tt,Nl(rt,`cell: ${o} | ${$})`+Qe,ql),$t),Q(he+l+I+w+pe,he+w+pe,pe,hl(e,n,12),Nl(ct,"forceDel?: boolean"),Nl(a,nt,r,"forceDel"),t,It,$t),q(l+I+w+ut,`{rowId, ${M}, debugIds}: `+ee+`<'${e}', '${n}'>`,[re+`('' + ${i}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],hl(e,n,13)+be)}))}));const se=H(O((e=>de(_,e)?.[4]??t))," | ");Q(u+p+I,u+p+I,Ze,dl(1,8,0,1)+" changes",it($),bt()),Q(p+I,p+I,Ze,dl(1,8)+" changes",it(T),bt()),Q(C+I,C+I,Ze,ul(2,0,1),it(y),bt()),Q(u+b+I,u+b+I,Ze,ul(3,0,0,1),it(v,`tableId: ${n} | null`),bt("tableId")),Q(b+I,b+I,Ze,ul(3,0),it(A,`tableId: ${n} | null`),bt("tableId")),Q(b+f+I,b+f+I,Ze,ul(14,3,1),it(k,`tableId: ${n} | null`),bt("tableId")),Q(u+b+w+I,u+b+w+I,Ze,ul(16,3,0,1),it(S,`tableId: ${n} | null`,`cellId: ${se} | null`),bt("tableId","cellId")),Q(h+Ce+I,h+Ce+I,Ze,ul(15,3),it(P,`tableId: ${n} | null`),bt("tableId")),Q(g+I,g+I,Ze,ul(4,3,1),it(L,`tableId: ${n} | null`),bt("tableId")),Q(m+I,m+I,Ze,ul(13,3,1),it(G,`tableId: ${n} | null`,"cellId: "+se+Ae,"descending: boolean","offset: number","limit: number"+Ae),bt("tableId","cellId","descending","offset","limit")),Q(u+h+I,u+h+I,Ze,ul(5,3,0,1),it(J,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(h+I,h+I,Ze,ul(5,3),it(z,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(f+I,f+I,Ze,ul(6,5,1),it(W,`tableId: ${n} | null`,nt+": IdOrNull"),bt("tableId",nt)),Q(u+w+I,u+w+I,Ze,ul(7,5,0,1),it(B,`tableId: ${n} | null`,nt+": IdOrNull",`cellId: ${se} | null`),bt("tableId",nt,"cellId")),Q(w+I,w+I,Ze,ul(7,5),it(U,`tableId: ${n} | null`,nt+": IdOrNull",`cellId: ${se} | null`),bt("tableId",nt,"cellId"))}if(!Y(a)){const[e,l,a,n,o,s,$,i]=r;c(null,N,...r),c(1,N,j);const b=x("getDefaultValueComponent","valueId: Id",H(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(u+y,u+y,d,dl(2,0,0,1)+be),Q(y,y,e,dl(2,0)+be);const p=Q(v,v,a+He,sl(T,Me)+be);Q(Ge+y+pe,Ge+y+pe,at,dl(2,9)+et,Nl(Ul(y)+Xl+l,Ul(y)+me),_l(y),tt,Nl(rt,`values: ${l})`+Qe,ql),$t),Q(Ge+Se+y+pe,Ge+Se+y+pe,at,dl(2,11)+et,Nl(Ul(Se+y)+Xl+l,Ul(Se+y)+me),_l(Se+y),tt,Nl(rt,`partialValues: ${l})`+Qe,ql),$t),Q(he+y+pe,he+y+pe,pe,dl(2,12),t,t,t,It,$t);const C=V(T+Pe,Gl("valueId?: VId",M+Re+j,Zl),Il("a Value"),`<VId extends ${a}>`),h=V(y+Pe,Gl(M+Re+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,st,Zl),Il(nl(2,1)));c(1,D,h,C),q(y+ut,"{"+M+", valueComponents, getValueComponentProps"+ot+"}: "+h,[re+`(${p}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${oe}(getValueComponentProps, valueId)}`,"key={valueId}",F,Ql,"/>;","}), separator)"],dl(2,13)+be),L(((e,l,a,n,o)=>{const s="Map"+Ol(l,1);c(0,N,s),c(1,N,s),Q(u+o+T,u+T,d,gl(e,0,1)+be,t,n);const r=Q(o+T,T,l,gl(e)+be,t,n);Q(Ge+o+T+pe,Ge+T+pe,at,gl(e,9)+et,Nl(Ul(T)+Xl+l+" | "+s,Ul(T)+me),Nl(n,_l(T)),tt,Nl(rt,`value: ${l} | ${s})`+Qe,ql),$t),Q(he+o+T+pe,he+T+pe,pe,gl(e,12),t,n,t,It,$t),q(o+T+ut,`{${M}, debugIds}: ${C}<'${e}'>`,[re+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+be)})),Q(u+y+I,u+y+I,Ze,dl(2,8,0,1)+" changes",it(n),bt()),Q(y+I,y+I,Ze,dl(2,8)+" changes",it(o),bt()),Q(v+I,v+I,Ze,ul(10,0,1),it(s),bt()),Q(u+T+I,u+T+I,Ze,ul(11,0,0,1),it($,`valueId: ${a} | null`),bt("valueId")),Q(T+I,T+I,Ze,ul(11,0),it(i,`valueId: ${a} | null`),bt("valueId"))}return q(Oe,`{${M}, ${M}ById, children}: `+ee+" & {children: React.ReactNode}",["{",Yl,"return (","<Context."+Oe,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Oe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[$(...k(0),...S(),...K(0)),$(...k(1),...P(),...K(1))]},Ct=(e,l,a)=>{if(Y(e)&&Y(l))return[t,t,t,t];const[n,d,o,s]=Fl(e,l,a);return[n,d,...pt(e,l,a,o,s)]},ht=JSON.parse,gt="prettier/",mt=gt+"plugins/",wt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},ft=Hl((e=>{const l=()=>{const l=ht(e.getTablesSchemaJson());return!Y(l)||D(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=ne();if(D(a,(l=>D(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=Ie(n,a,(()=>[N(d),ne(),[0],0])),[s,r,[I]]=o,$=Ie(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),re(r,d,$),o[3]++,s==N(d)})))))return l[t]={},te(n,(([e,,[,n],d],o)=>{l[t][o]={[s]:e,...d==E(a)?{[r]:n}:{}}})),1}))?l:{}},t=()=>{const l=ht(e.getValuesSchemaJson());return Y(l)&&e.forEachValue(((e,t)=>{l[e]={[s]:N(t)}})),l},a=e=>Ct(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(gt+"standalone")).format,z(t,await import(mt+"estree"),await import(mt+"typescript"))}catch(e){n=async e=>e}return await L(M(a(e),(async(e,a)=>Sl(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:E(e.getValueIds()),jsonLength:E(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=ft;
1
+ "use strict";const e=e=>typeof e,l="tinybase",t="",a=",",n=e(t),d=e(!0),o=e(0),s="type",r="default",I="Listener",$="get",c="add",u="Has",i="Ids",b="Table",p=b+"s",C=b+i,h="Row",m=h+i,g="Sorted"+h+i,w="Cell",f=w+i,T="Value",y=T+"s",v=T+i,V=Promise,x=isFinite,R=e=>null==e,A=(e,l,t)=>R(e)?t?.():l(e),k=e=>e==n||e==d,S=l=>e(l)==n,P=e=>Array.isArray(e),O=(e,l,t)=>e.slice(l,t),E=e=>e.length,N=async e=>V.all(e),D=l=>{const t=e(l);return k(t)||t==o&&x(l)?t:void 0},L=(e,l)=>e.every(l),G=(e,l)=>e.sort(l),j=(e,l)=>e.forEach(l),H=(e,l=t)=>e.join(l),M=(e,l)=>e.map(l),J=(e,l)=>e.filter(l),z=(e,...l)=>e.push(...l),W=e=>e.pop(),B=(e,...l)=>e.unshift(...l),F=e=>e.shift(),U=Object,_=e=>U.getPrototypeOf(e),Z=U.entries,Q=e=>!R(e)&&A(_(e),(e=>e==U.prototype||R(_(e))),(()=>!0)),q=U.keys,K=U.freeze,X=(e,l)=>M(Z(e),(([e,t])=>l(t,e))),Y=e=>E(q(e)),ee=e=>Q(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)=>M([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>R(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t,a)=>(le(e,l)?a?.(oe(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="Changes",me="Count",ge="Del",we="Deps",fe=we+"?: React.DependencyList",Te="doRollback?: DoRollback",ye="actions: () => Return, "+Te,ve="export",Ve="Id",xe="Invalid",Re="Json",Ae=ue(I),ke="?: ",Se=" | undefined",Pe="NonNullable",Oe="Partial",Ee="Props",Ne="Provider",De=`Registers a ${Ae} that will be called`,Le="Represents",Ge="rowId: "+Ve,je="Schema",He="Set",Me=", descending?: boolean, offset?: number, limit?: number",Je="[]",ze="the Store",We="Transaction",Be=ue(We),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,a=0)=>nl(a)+`the ${yl[e]}content of`+(l?el+ze:t),ol=(e=0,l,a=0,n=0)=>wl[l]+el+nl(n)+dl(e,1)+(a?" when setting it":t),sl=(e,l=0)=>Le+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+b,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,a=0,n=0)=>De+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(a?t:"s"),bl=e=>`the '${e}' `+b,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>wl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>wl[l]+` ${dl(0,0,t)} `+pl(e),ml=(e,l,t=0,a=0)=>wl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),gl=(e,l=0,t=0)=>wl[l]+el+nl(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Le,"Gets "+Ye,"Sets "+Ye,De+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],fl=[$,"has","set","del","set","forEach",c,t],Tl=[ze,p,tl+b+el+i,ie+b,tl+h+el+i,ie+h,tl+w+el+i,ie+w,"invalid Cell changes",y,tl+T+el+i,ie+T,"invalid Value changes",tl+"sorted "+h+el+i,tl+w+el+i+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[t,"tabular ","keyed value "],vl=e=>new Set(P(e)||R(e)?e:[e]),Vl=(e,l)=>e?.add(l),xl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(a),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-E(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)=>H(M(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(O(e,0,1))+O(e,1)))),Nl=e=>ce(H((e&&!xl.test(e[0])?e:" "+e).split(Rl),"_")),Dl=e=>`/** ${e}. */`,Ll=(...e)=>H(J(e,(e=>e)),", "),Gl=(...e)=>"{"+H(e,"; ")+"}",jl=(...e)=>Gl(...M(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),a=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?O(e,l+4):e};return[(...e)=>H(Ol(e),"\n"),(l,t,...a)=>j(a,(a=>j([0,1],(n=>(l??n)==n?Vl($e(e[n],t,vl),a):0)))),(e,a,n,d=t,o=1)=>Sl(l,e,[a,n,d,o]),(e,l,t)=>Sl(a,e,P(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>oe(a,e)===l?e:Sl(a,e,l),(l=0)=>M([...G(re(e[l],((e,l)=>`import {${H(G(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)),t],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,a,n],d)=>[Dl(l),`${n?ve+" ":t}type ${d}${a} = ${e};`,t])),()=>re(a,((e,l)=>(e=P(e)?e:[e],z(e,W(e)+";"),[`const ${l} = ${F(e)}`,e,t])))]},Ml=(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}},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Nl(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[s],e[r],t(Nl(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[s],l[r],t(Nl(a),`'${a}'`),El(a,1))))],zl=(e,l,a,n)=>[(n,d)=>{const o=n+": "+d,s=e(p,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`)))+"}"))),ol(1,5)),r=e(p+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...a(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),$=e(b+Ve,"keyof "+s,"A "+b+" Id in "+ze),c=`<TId extends ${$}>`,i=e(b,Pe+`<${s}[TId]>`,"A "+b+" in "+ze,c),T=e(b+Ke,Pe+`<${r}[TId]>`,"A "+b+" in "+ze+Xe,c),y=e(h,i+"<TId>[Id]","A "+h+" in a "+b,c),v=e(h+Ke,T+"<TId>[Id]","A "+h+" in a "+b+Xe,c),V=e(w+Ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+h,c),x=e(w,Pe+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+h,`<TId extends ${$}, CId extends ${V}<TId>>`),A=e("CellIdCellArray",`CId extends ${V}<TId> ? [cellId: CId, cell: ${x}<TId, CId>] : never`,w+" Ids and types in a "+h,`<TId extends ${$}, CId = ${V}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${A}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(h+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+h+" Id, and a "+w+" iterator"),c),P=e(b+w+Ce,`(cellId: ${V}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,b+" Ids and callback types",`<TId = ${$}>`,0),E=e(b+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+b+" Id, and a "+h+" iterator"),t),N=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${V}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${N}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),L=e(u+p+I,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(p+I,`(${o}, getCellChange: ${D}${Se})`+qe,ul(1)),j=e(C+I,`(${o})`+qe,ul(2)),H=e(u+b+I,`(${o}, tableId: ${$}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(b+I,`(${o}, tableId: ${$}, getCellChange: ${D}${Se})`+qe,ul(3)),J=e(b+f+I,`(${o}, tableId: ${$})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${$}>`,0),B=e(u+b+w+I,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(h+"Count"+I,`(${o}, tableId: ${$})`+qe,ul(15,3)),U=e(m+I,`(${o}, tableId: ${$})`+qe,ul(4,3)),_=e(g+I,"("+Ll(o,"tableId: "+$,"cellId: Id"+Se,"descending: boolean","offset: number","limit: number"+Se,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(u+h+I,"("+Ll(""+o,"tableId: "+$,Ge,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(h+I,"("+Ll(""+o,"tableId: "+$,Ge,`getCellChange: ${D}${Se}`)+")"+qe,ul(5,3)),q=e(f+I,"("+Ll(""+o,"tableId: "+$,Ge)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${$} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${$}>`,0),Y=e(u+w+I,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${V}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, newCell: ${x}<TId, CId> ${Se}, oldCell: ${x}<TId, CId> ${Se}, getCellChange: ${D} ${Se}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${V}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,r,$,i,T,y,v,V,x,k,S,P,E,L,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+I,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+I,`(${o}, tableId: Id, ${Ge}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,a)=>{const d=l+": "+a,o=e(y,Gl(...n(((e,l,a)=>`'${e}'${R(a)?"?":t}: ${l}`))),ol(2,5)),s=e(y+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(T+Ve,"keyof "+o,"A "+T+" Id in "+ze),$=e(T,Pe+`<${o}[VId]>`,"A "+T+" Id in "+ze,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${$}<VId>] : never`,T+" Ids and types in "+ze,`<VId = ${r}>`,0),i=e(T+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+T+" Id, and "+T)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(u+y+I,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(y+I,`(${d}, getValueChange: ${b}${Se})`+qe,ul(9)),h=e(v+I,`(${d})`+qe,ul(10)),m=e(u+T+I,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),g=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${$}<VId> ${Se}, oldValue: ${$}<VId> ${Se}, getValueChange: ${b} ${Se}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,$,i,p,C,h,m,e(T+I,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+g+")"+qe,ul(11)),e(xe+T+I,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(We+I,`(${l}: ${t})`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Bl=(e,l=t)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Ul=(e,a,n)=>{const[o,$,V,x,A,k,P,O]=Hl(),[E,N,D]=Jl(e,a,A),[L,G,M]=zl(V,E,N,D),J=de(),W=(e=0)=>re(J,(([l,a,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${a} => ${n},`]:[s+o+`(${l}): ${a};`];return e||B(r,Dl(d)),z(r,t),r})),F=(e,l,a,n,d,o=t)=>Sl(J,e,[l,a,n,d,o]),U=(e,l,a,n,d,o=t,s=t,r=t)=>F(fl[e]+l+(4==e?Oe:t)+a,o,n,(n==Q?Bl:Wl)(fl[e]+(4==e?Oe:t)+a,s,e?void 0:n),d,r),_=(e,l,a,n=t,d=t,o=1,s=t)=>F(c+e+I,(n?n+", ":t)+Ae+": "+l+(o?", mutator?: boolean":t),Ve,Fl(c+e+I,d,o?"mutator":t),a,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if($(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))$(null,l,p);else{$(0,l,"CellChange"),$(null,l,i);const[e,a,n,o,I,c,T,y,v,x,k,P,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=L(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[V(l+b,o+t,Le+` the '${e}' `+b),V(l+b+Ke,I+t,Le+` the '${e}' `+b+Xe),V(l+h,c+t,sl(e)),V(l+h+Ke,T+t,sl(e,1)),V(l+w+Ve,y+t,`A Cell Id for the '${e}' `+b),V(l+w+Ce,x+t,cl(`a Cell Id and value from a Row in the '${e}' `+b)),V(l+h+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),V(l+b+w+Ce,P+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),$(1,Z,...a)})),$(1,Z,e,a,n,y,O,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,a,n,y,D,G,M,J,W,B,F,ee,le,ae,ne,se,re,$e,ce,ie],j([[e],[d],[Q,"tables: "+a,"tables"],[Q]],(([e,l,a],n)=>U(n,t,p,e,ol(1,n),l,a))),U(0,t,C,n+Je,rl(b,ze)),U(5,t,b,Qe,Il(b,ze),"tableCallback: "+O,"tableCallback as any"),E(((e,l,a)=>{const[n,o,s,r,I,$,c,u]=oe(ie,e);j([[n],[d],[Q,"table: "+o,", table"],[Q]],(([n,d,o=t],s)=>U(s,l,b,n,Cl(e,s),d,a+o))),U(0,l,b+f,i,rl(w,"the whole of "+bl(e)),t,a),U(5,l,b+w,Qe,Il(b+w,"the whole of "+bl(e)),"tableCellCallback: "+u,a+", tableCellCallback as any"),U(0,l,h+me,"number","Gets the number of Rows in the "+bl(e),t,a),U(0,l,m,i,rl(h,bl(e)),t,a),U(0,l,g,i,rl(h,bl(e),1),"cellId?: "+I+Me,a+", cellId, descending, offset, limit"),U(5,l,h,Qe,Il(h,bl(e)),"rowCallback: "+c,a+", rowCallback as any"),j([[s],[d],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=t,o=t],s)=>U(s,l,h,n,hl(e,s),Ge+d,a+", rowId"+o))),U(6,l,h,Ve+Se,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),U(0,l,f,I+Je,rl(w,pl(e)),Ge,a+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),Ge+", cellCallback: "+$,a+", rowId, cellCallback as any"),N(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);Ie(X,o,$);const c=o+(R(s)?Se:t);j([[c],[d],[Q,`, cell: ${o} | `+$,", cell as any"],[Q]],(([d,o=t,s=t],$)=>U($,l+I,w,d,ml(e,n,$),Ge+o,a+", rowId, "+r+s))),U(1,l+I,b+w,d,wl[1]+` the '${n}' Cell anywhere in `+bl(e),t,a+", "+r)}))})),U(0,t,p+Re,Re,ol(1,6)),U(2,t,p+Re,Q,ol(1,7),"tablesJson: "+Re,"tables"+Re),_(u+p,D,ol(1,8,0,1)+" changes"),_(p,G,ol(1,8)+" changes"),_(C,M,il(2,0,1)),_(u+b,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(b,W,il(3,0),`tableId: ${n} | null`,"tableId"),_(b+f,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(u+b+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, cellId"),_(h+me,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(g,ae,il(13,3,1),Ll("tableId: TId",`cellId: ${y}<TId>`+Se,"descending: boolean","offset: number","limit: number"+Se),Ll("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(u+h,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(h,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(u+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${H(E((e=>oe(ie,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,De+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),$(1,Z,...te(X)),z(K,".set"+p+je+"({",Ol(E(((e,l,a)=>[`[${a}]: {`,...N(e,((e,l,a,n)=>`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(ee(a))$(null,l,y);else{const[e,a,n,o,I,c,i,b,p,C,h]=G(q,Q);$(1,Z,e,a,n,I,c,i,b,p,C,h),le=[e,a,n,c,i,b,p,C],j([[e],[d],[Q,"values: "+a,"values"],[Q],[Q,"partialValues: "+a,"partialValues"]],(([e,l,a],n)=>U(n,t,y,e,ol(2,n),l,a))),U(0,t,v,n+Je,rl(T,ze)),U(5,t,T,"void",Il(T,ze),"valueCallback: "+I,"valueCallback as any"),D(((e,l,a,n,o)=>{const s="Map"+El(l,1);Ie(X,l,s),j([[l],[d],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,a,d=t],s)=>U(s,o,T,l,gl(e,s),a,n+d)))})),U(0,t,y+Re,Re,ol(2,6)),U(2,t,y+Re,Q,ol(2,7),"valuesJson: "+Re,"values"+Re),_(u+y,c,ol(2,8,0,1)+" changes"),_(y,i,ol(2,8)+" changes"),_(v,b,il(10,0,1)),_(u+T,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(T,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+T,h,De+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),$(1,Z,...te(X)),$(0,l,"ValueChange"),z(K,".set"+y+je+"({",D(((e,l,a,n)=>[`[${n}]: {[${A(Nl(s),`'${s}'`)}]: ${A(Nl(l),`'${l}'`)}${R(a)?t:`, [${A(Nl(r),`'${r}'`)}]: `+(S(a)?A(Nl(a),`'${a}'`):a)}},`])),"})")}U(0,t,"Content",`[${p}, ${y}]`,ol(0,0)),U(2,t,"Content",Q,ol(0,2),`[tables, values]: [${p}, ${y}]`,"[tables, values]"),U(7,t,"applyChanges",Q,`Applies a set of ${he} to the Store`,"changes: "+he,"changes"),se(X,((e,l)=>V(l,`(cell: ${e}${Se}) => `+e,`Takes a ${e} Cell value and returns another`))),$(null,l,"DoRollback",Ve,"IdOrNull",Re,"Store",he),U(0,t,Re,Re,ol(0,6)),U(2,t,Re,Q,ol(0,7),"tablesAndValuesJson: "+Re,"tablesAndValuesJson"),U(7,t,Be,"Return",Fe,ye,"actions, doRollback","<Return>"),U(7,t,"start"+We,Q,Ue),U(7,t,"finish"+We,Q,_e,Te,"doRollback");const ae=M(q,Q);return _("Start"+We,ae,De+" just before the start of the "+Be,t,t,0),_("WillFinish"+We,ae,De+" just before "+Ze,t,t,0),_("DidFinish"+We,ae,De+" just after "+Ze,t,t,0),U(7,t,"call"+I,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,t,I,Q,"Remove a listener that was previously added to "+ze,"listenerId: Id","listenerId"),F("getStore",t,"Store","store",wl[0]+" the underlying Store object"),$(1,l,"createStore"),$(1,Z,Q,`create${Q} as create${Q}Decl`,ae),A("store",["createStore()",...K]),x("fluent","actions: () => Store",["actions();",`return ${q};`]),x("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),A(q,["{",...W(1),"}"]),[o(...k(0),...P(),ve+" interface "+Q+" {",...W(0),"}",t,Dl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),o(...k(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>$+e,Zl=e=>Ll(_l(e),_l(e)+we),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=Ll(It+")"+qe,Kl),ct="then, then"+we,ut=dt+tt+Ve,it="View",bt=(e,...l)=>Ll(...l,Ae+": "+e,Ae+fe,"mutator?: boolean"),pt=(...e)=>Ll(...e,Ae,Ae+we,"mutator"),Ct=(e,a,n,s,r)=>{const[$,c,V,x,A,k,S,P]=Hl(),[O,E,N]=Jl(e,a,A),D=`./${El(n)}.d`,L=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),M=El(j),J=j+"Or"+j+Ve,W=M+"Or"+j+Ve,F=M+`={${M}}`,U=de(),_=(e,l,a,n,d,o=t)=>(c(1,L,e+" as "+e+"Decl"),Sl(U,e,[l,a,n,d,o])),Z=(e,l,a,n,d,o=t)=>_("use"+e,l,a,n,d,o),Q=(e,l,a,n,d=t,o=t,s=t,r=t,I=t)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Ll(d,le,r),a,ae+`(${W}, use${l}Core, [`+(o||t)+(I?"], ["+I:t)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,a,n,d,o],s)=>{const r=e?[ve+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==a?"any":a} =>`,n]:[ve+` function ${s}${o}(${l}): ${1==a?"ComponentReturnType":a};`];return e||B(r,Dl(d)),z(r,t),r}));c(null,l,Ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,D,j);const X=V(J,j+" | "+Ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=V(Ne+Ee,jl(M+ke+j,M+`ById?: {[${M}Id: Id]: ${j}}`),`Used with the ${Ne} 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,L,X,Y);const le=W+ke+X;A("{createContext, useContext, useMemo}","React"),A("Context",`createContext<[${j}?, {[${M}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+Se,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ne} component context`),ae=x("useHook",W+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${M} = ${te}(${W} as Id);`,`return hook(...preParams, ((${W} == null || typeof ${W} == 'string')`,`? ${M} : ${W})?.getStore(), ...postParams)`]),ne=x("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=x("wrap",Ll("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=x("useCustomOrDefaultCellIds",Ll("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${W}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${W}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=A("NullComponent","() => null");if(!ee(e)){const[e,a,n,r,$,T,y,v,A,k,S,P,N,G,J,z,W,B,U,_]=s;c(null,D,e,a,n,$,T,y,v,A,k,S,P,N,G,J,z,W,U,B),c(0,D,r),c(1,D,j),c(null,l,i,"IdOrNull");const Z=x("tableView",`{${M}, 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}",F,ql,"/>","))",st,", tableId,",");"]),K=x("getDefaultTableComponent","tableId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=x("getDefaultCellComponent","tableId: Id, cellId: Id",H(O(((e,l,t)=>`tableId == ${t} ? ${H(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(u+p,u+p,d,ol(1,0,0,1)+pe),Q(p,p,e,ol(1,0)+pe);const Y=Q(C,C,n+Je,rl(b,ze)+pe);Q(He+p+Ce,He+p+Ce,nt,ol(1,9)+lt,Ll(_l(p)+Yl+a,_l(p)+fe),Zl(p),at,Ll(It,`tables: ${a})`+qe,Kl),ct),Q(ge+p+Ce,ge+p+Ce,Ce,ol(1,12),t,t,t,$t,ct);const ee=V(w+Ee,jl("tableId?: TId","rowId: Id","cellId?: CId",M+ke+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=V(h+Ee,jl("tableId?: TId","rowId: Id",M+ke+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+h),`<TId extends ${n}>`),te=V(b+Ee,jl("tableId?: TId",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+b),`<TId extends ${n}>`),ae=V("Sorted"+b+Ee,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",M+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+b),`<TId extends ${n}>`),de=V(p+Ee,jl(M+ke+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,L,de,te,ae,le,ee),q(p+it,"{"+M+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${M}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",F,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,a)=>{const[n,s,r,I,$]=oe(_,e);c(null,D,n,s,r,I,$),Q(u+l+b,u+b,d,Cl(e,0,1)+pe,t,a),Q(l+b,b,n,Cl(e)+pe,t,a),Q(l+b+f,b+f,i,rl(w,"the whole of "+bl(e))+pe,t,a),Q(l+h+me,h+me,o,"Gets the number of Rows in "+bl(e)+pe,t,a);const p=Q(l+m,m,i,rl(h,bl(e))+pe,t,a),C=Q(l+g,g,i,rl(h,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");Q(u+l+h,u+h,d,hl(e,0,1)+pe,ut,Ll(a,dt)),Q(l+h,h,r,hl(e)+pe,ut,Ll(a,dt)),Q(l+f,f,$+Je,rl(w,pl(e))+pe,ut,Ll(a,dt)),Q(He+l+b+Ce,He+b+Ce,nt,Cl(e,9)+lt,Ll(_l(b)+Yl+s,_l(b)+fe),Ll(a,Zl(b)),at,Ll(It,`table: ${s})`+qe,Kl),ct),Q(ge+l+b+Ce,ge+b+Ce,Ce,Cl(e,12),t,a,t,$t,ct),Q(He+l+h+Ce,He+h+Ce,nt,hl(e,9)+lt,Ll(ut,_l(h)+Yl+I,_l(h)+fe),Ll(a,dt,Zl(h)),at,Ll(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+h+Ce,"Add"+h+Ce,nt,hl(e,10)+lt,Ll(_l(h)+Yl+I,_l(h)+fe),Ll(a,Zl(h)),at,"then?: ("+Ll(ut+Se,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(He+l+Oe+h+Ce,He+Oe+h+Ce,nt,hl(e,11)+lt,Ll(ut,_l(Oe+h)+Yl+I,_l(Oe+h)+fe),Ll(a,dt,Zl(Oe+h)),at,Ll(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+h+Ce,ge+h+Ce,Ce,hl(e,12),ut,Ll(a,dt),t,$t,ct);const T=q(l+h+it,"{rowId, "+M+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+a+`, rowId, ${M}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,ot,"cellId={cellId}",F,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+b+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${M}), ${a}, ${T});`,Cl(e,13)+", sorted"+pe),q(l+b+it,`props: ${te}<'${e}'>`,Z+"(props, "+p+`(props.${M}), ${a}, ${T});`,Cl(e,13)+pe),E(e,((n,o,s,r,I)=>{const $="Map"+El(o,1);c(0,D,$),c(1,D,$),Q(u+l+I+b+w,u+b+w,d,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,t,Ll(a,r)),Q(u+l+I+w,u+w,d,ml(e,n,0,1)+pe,ut,Ll(a,dt,r));const i=Q(l+I+w,w,o+(R(s)?Se:t),ml(e,n)+pe,ut,Ll(a,dt,r));Q(He+l+I+w+Ce,He+w+Ce,nt,ml(e,n,9)+lt,Ll(ut,_l(w)+Yl+o+" | "+$,_l(w)+fe),Ll(a,dt,r,Zl(w)),at,Ll(It,`cell: ${o} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,ml(e,n,12),Ll(ut,"forceDel?: boolean"),Ll(a,dt,r,"forceDel"),t,$t,ct),q(l+I+w+it,`{rowId, ${M}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${i}(rowId, `+M+`) ?? '', undefined, debugIds, ${r})`],ml(e,n,13)+pe)}))}));const re=H(O((e=>oe(_,e)?.[4]??t))," | ");Q(u+p+I,u+p+I,Qe,ol(1,8,0,1)+" changes",bt($),pt()),Q(p+I,p+I,Qe,ol(1,8)+" changes",bt(T),pt()),Q(C+I,C+I,Qe,il(2,0,1),bt(y),pt()),Q(u+b+I,u+b+I,Qe,il(3,0,0,1),bt(v,`tableId: ${n} | null`),pt("tableId")),Q(b+I,b+I,Qe,il(3,0),bt(A,`tableId: ${n} | null`),pt("tableId")),Q(b+f+I,b+f+I,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(u+b+w+I,u+b+w+I,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(h+me+I,h+me+I,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+I,m+I,Qe,il(4,3,1),bt(N,`tableId: ${n} | null`),pt("tableId")),Q(g+I,g+I,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+Se,"descending: boolean","offset: number","limit: number"+Se),pt("tableId","cellId","descending","offset","limit")),Q(u+h+I,u+h+I,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(h+I,h+I,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(f+I,f+I,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(u+w+I,u+w+I,Qe,il(7,5,0,1),bt(B,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+I,w+I,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(a)){const[e,l,a,n,o,s,$,i]=r;c(null,D,...r),c(1,D,j);const b=x("getDefaultValueComponent","valueId: Id",H(N(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(u+y,u+y,d,ol(2,0,0,1)+pe),Q(y,y,e,ol(2,0)+pe);const p=Q(v,v,a+Je,rl(T,ze)+pe);Q(He+y+Ce,He+y+Ce,nt,ol(2,9)+lt,Ll(_l(y)+Yl+l,_l(y)+fe),Zl(y),at,Ll(It,`values: ${l})`+qe,Kl),ct),Q(He+Oe+y+Ce,He+Oe+y+Ce,nt,ol(2,11)+lt,Ll(_l(Oe+y)+Yl+l,_l(Oe+y)+fe),Zl(Oe+y),at,Ll(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+y+Ce,ge+y+Ce,Ce,ol(2,12),t,t,t,$t,ct);const C=V(T+Ee,jl("valueId?: VId",M+ke+j,Ql),$l("a Value"),`<VId extends ${a}>`),h=V(y+Ee,jl(M+ke+j,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${C}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,L,h,C),q(y+it,"{"+M+", valueComponents, getValueComponentProps"+st+"}: "+h,[se+`(${p}(${M}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+b+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",F,ql,"/>;","}), separator)"],ol(2,13)+pe),N(((e,l,a,n,o)=>{const s="Map"+El(l,1);c(0,D,s),c(1,D,s),Q(u+o+T,u+T,d,gl(e,0,1)+pe,t,n);const r=Q(o+T,T,l,gl(e)+pe,t,n);Q(He+o+T+Ce,He+T+Ce,nt,gl(e,9)+lt,Ll(_l(T)+Yl+l+" | "+s,_l(T)+fe),Ll(n,Zl(T)),at,Ll(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+o+T+Ce,ge+T+Ce,Ce,gl(e,12),t,n,t,$t,ct),q(o+T+it,`{${M}, debugIds}: ${C}<'${e}'>`,[se+`('' + ${r}(`+M+`) ?? '', undefined, debugIds, ${n})`],gl(e,13)+pe)})),Q(u+y+I,u+y+I,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(y+I,y+I,Qe,ol(2,8)+" changes",bt(o),pt()),Q(v+I,v+I,Qe,il(10,0,1),bt(s),pt()),Q(u+T+I,u+T+I,Qe,il(11,0,0,1),bt($,`valueId: ${a} | null`),pt("valueId")),Q(T+I,T+I,Qe,il(11,0),bt(i,`valueId: ${a} | null`),pt("valueId"))}return q(Ne,`{${M}, ${M}ById, children}: `+Y+" & {readonly children: React.ReactNode}",["{",et,"return (","<Context."+Ne,"value={useMemo(",`() => [${M} ?? contextValue[0], {...contextValue[1], ...${M}ById}],`,`[${M}, ${M}ById, contextValue],`,")}>","{children}",`</Context.${Ne}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[$(...k(0),...S(),...K(0)),$(...k(1),...P(),...K(1))]},ht=(e,l,a)=>{if(ee(e)&&ee(l))return[t,t,t,t];const[n,d,o,s]=Ul(e,l,a);return[n,d,...Ct(e,l,a,o,s)]},mt=JSON.parse,gt="prettier/",wt=gt+"plugins/",ft={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=mt(e.getTablesSchemaJson());return!ee(l)||L(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(L(a,(l=>L(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]={[s]:e,...d==E(a)?{[r]:n}:{}}})),1}))?l:{}},t=()=>{const l=mt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[s]: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(gt+"standalone")).format,z(t,await import(wt+"estree"),await import(wt+"typescript"))}catch(e){n=async e=>e}return await N(M(a(e),(async(e,a)=>Pl(await n(e,{...ft,plugins:t,filepath:"_."+l[a]})))))};return K({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:E(e.getValueIds()),jsonLength:E(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));exports.createTools=Tt;
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./ui-react");const s=e=>typeof e,l="",a=s(l),n=s(!0),o=s(0),r=s(s),i="type",d="default",u="Has",c="Ids",h="Table",m=h+"s",b=h+c,g="Row",p=g+"Count",I=g+c,w="Cell",f=w+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",x=e=>l+e,S=Math.floor,V=isFinite,R=e=>null==e,q=(e,t,s)=>R(e)?s?.():t(e),N=e=>e==a||e==n,L=e=>s(e)==r,M=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),z=e=>e.length,{PureComponent:$,Fragment:O,createElement:A,useCallback:F,useLayoutEffect:J,useRef:P,useState:H}=e,B=(e,...t)=>R(e)?{}:e(...t),D=(e,t)=>e.sort(t),Q=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>0==z(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),U=Object,X=e=>U.getPrototypeOf(e),Y=U.keys,Z=U.isFrozen,_=U.freeze,ee=e=>!R(e)&&q(X(e),(e=>e==U.prototype||R(X(e))),(()=>!0)),te=(e=[])=>U.fromEntries(e),se=(e,t)=>!R(((e,t)=>q(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),ae=(e,t)=>j(U.entries(e),(([e,s])=>t(s,e))),ne=e=>ee(e)&&0==(e=>z(Y(e)))(e),oe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?U.fromEntries([...t]):t)),re=JSON.parse,ie="tinybaseStoreInspector",de="TinyBase Store Inspector",ue=["left","top","bottom","right","full"],ce="state",he="sort",me="open",be="position",ge=me,pe="editable",Ie=(...e)=>oe(e),we=(e,t)=>j(D(e),t),fe=(e,s)=>[!!t.useCell(ce,e,pe,s),F((t=>{s.setCell(ce,e,pe,(e=>!e)),t.preventDefault()}),[s,e])],ye="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Ce='content:url("',ve=Ce+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ke='</svg>")',Te=Ce+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",xe=j([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>ve+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ke)),Se=ve+"<path d='M20 20l60 60M20 80l60-60' />"+ke,Ve=ve+`<path d='${ye}' />`+ke,Re=ve+`<path d='${ye}M20 20l60 60' />`+ke,qe="*::-webkit-scrollbar",Ne=((e,t="")=>e.join(t))(ae({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[qe]:"width:0.5rem;height:0.5rem;",[qe+"-track"]:"background:#111",[qe+"-thumb"]:"background:#999;border:1px solid #111",[qe+"-thumb:hover"]:"background:#fff",[qe+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Te,...te(j(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...te(j(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Te,"header>img:nth-of-type(6)":Se,...te(j(xe,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Ve,"details[open]>summary img.done":Re,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ie} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${ie} ${t}{${e}}`:""))),Le=({s:e})=>{const s=t.useValue(be,e)??1,l=t.useSetValueCallback(ge,(()=>!0),[],e);return t.useValue(ge,e)?null:A("img",{onClick:l,title:de,"data-position":s})},Me=({uniqueId:e,summary:s,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!t.useCell(ce,e,me,o),i=t.useSetCellCallback(ce,e,me,(e=>e[k].open),[],o);return A("details",{open:r,onToggle:i},A("summary",null,s,a?A("img",{onClick:a,className:l?"done":"edit"}):null),n)},Ee=e=>{const t=s(e);return N(t)||t==o&&V(e)?t:void 0},ze=(e,t,s,l,a)=>R(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),$e=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Oe=(e,t,s,l)=>e==a?t:e==o?s:l,{useCallback:Ae,useMemo:Fe,useState:Je}=e,Pe="editable",He=(e,s)=>j(t.useTableCellIds(e,s),(t=>e+"."+t)),Be=(e,t,s)=>{const l=Ae(e,t);return s?l:void 0},De=(...e)=>Fe((()=>e),e),Qe=(e,t)=>Fe((()=>({store:e,tableId:t})),[e,t]),je=(e,t)=>Fe((()=>({queries:e,queryId:t})),[e,t]),We=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=Je([e,t,l]),h=Ae((e=>{c(e),r?.(e)}),[r]),m=Be((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Ae((e=>h([i,d,e])),[h,i,d]),g=!0===o?nt:o;return[[i,d,u],m,Fe((()=>!1===o?null:A(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},Ge=(e,t,l)=>Fe((()=>{const n=t??e;return te(ae(M(n)?te(j(n,(e=>[e,e]))):n,((e,t)=>{return[t,{label:t,component:l,...(n=e,s(n)==a?{label:e}:e)}];var n})))}),[t,l,e]),Ke=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>A("table",{className:e},i?A("caption",null,i):null,!1===t?null:A("thead",null,A("tr",null,!1===s?null:A(Ue,{sort:o??[],label:"Id",onClick:r}),ae(l,(({label:e},t)=>A(Ue,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),A("tbody",null,j(n,(e=>A("tr",{key:e},!1===s?null:A("th",null,e),ae(l,(({component:t,getComponentProps:s},l)=>A("td",{key:l},A(t,{...B(s,e,l),...a,rowId:e,cellId:l}))))))))),Ue=({cellId:e,sort:[t,s],label:a=e??l,onClick:n})=>A("th",{onClick:Be((()=>n?.(e)),[n,e],n),className:R(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},R(s)||t!=e?null:(s?"↓":"↑")+" ",a),Xe=({localRowId:s,params:[l,a,n,o,r,i,d]})=>{const u=t.useRemoteRowId(r,s,i);return A("tr",null,!1===l?null:A(e.Fragment,null,A("th",null,s),A("th",null,u)),ae(a,(({component:e,getComponentProps:t},l)=>{const[a,r]=l.split(".",2),i=a===n?s:a===o?u:null;return R(i)?null:A("td",{key:l},A(e,{...B(t,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},Ye=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:r=!0})=>{const[i,d]=Je(),[u,c]=Je(),[h,m]=Je(),[b,g]=Je(),[p,I]=Je();u!==e&&(d(Ee(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const w=Ae(((e,s)=>{s(e),c(e),t(e)}),[t]),f=Ae((()=>{if(!l?.()){const e=Oe(i,o,n,a),s=Oe(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return A("div",{className:s},r?A("button",{className:i,onClick:f},i):null,Oe(i,A("input",{key:i,value:h,onChange:Ae((e=>w(e[k][T]+"",m)),[w])}),A("input",{key:i,type:"number",value:b,onChange:Ae((e=>w(Number(e[k][T]||0),g)),[w])}),A("input",{key:i,type:"checkbox",checked:p,onChange:Ae((e=>w(!!e[k].checked,I)),[w])})))},Ze=({tableId:e,cellId:s,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=We(s,l,i,a,n,t.useRowCount(e,o),d,u);return A(Ke,{...h,params:De(Ge(t.useTableCellIds(e,o),c,r?lt:t.CellView),Qe(o,e),t.useSortedRowIds(e,...m,n,o),m,b,g)})},_e=({store:e,editable:s=!1,valueComponent:l=(s?at:t.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>A("table",{className:n},!1===o?null:A("thead",null,A("tr",null,!1===r?null:A("th",null,"Id"),A("th",null,y))),A("tbody",null,j(t.useValueIds(e),(t=>A("tr",{key:t},!1===r?null:A("th",null,t),A("td",null,A(l,{...B(a,t),valueId:t,store:e}))))))),et=({indexId:e,sliceId:s,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(l),e);return A(Ke,{...o,params:De(Ge(t.useTableCellIds(d,i),n,a?lt:t.CellView),Qe(i,d),t.useSliceRowIds(e,s,r))})},tt=({relationshipId:s,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(l),s),m=Ge([...He(c,u),...He(h,u)],n,a?lt:t.CellView),b=De(i,m,c,h,s,d,u);return A("table",{className:o},!1===r?null:A("thead",null,A("tr",null,!1===i?null:A(e.Fragment,null,A("th",null,c,".Id"),A("th",null,h,".Id")),ae(m,(({label:e},t)=>A("th",{key:t},e))))),A("tbody",null,j(t.useRowIds(c,u),(e=>A(Xe,{key:e,localRowId:e,params:b})))))},st=({queryId:e,cellId:s,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=We(s,l,r,a,n,t.useResultRowCount(e,o),i,u);return A(Ke,{...c,params:De(Ge(t.useResultTableCellIds(e,o),d,t.ResultCellView),je(o,e),t.useResultSortedRowIds(e,...h,n,o),h,m,b)})},lt=({tableId:e,rowId:s,cellId:l,store:a,className:n,showType:o})=>A(Ye,{thing:t.useCell(e,s,l,a),onThingChange:t.useSetCellCallback(e,s,l,(e=>e),[],a),className:n??Pe+w,showType:o,hasSchema:t.useStoreOrStoreById(a)?.hasTablesSchema}),at=({valueId:e,store:s,className:l,showType:a})=>A(Ye,{thing:t.useValue(e,s),onThingChange:t.useSetValueCallback(e,(e=>e),[],s),className:l??Pe+y,showType:a,hasSchema:t.useStoreOrStoreById(s)?.hasValuesSchema}),nt=({onChange:t,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,t(0));const r=Be((()=>t(l-a)),[t,l,a],l>0),i=Be((()=>t(l+a)),[t,l,a],l+a<s);return A(e.Fragment,null,s>a&&A(e.Fragment,null,A("button",{className:"previous",disabled:0==l,onClick:r},"←"),A("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},ot=({indexes:e,indexesId:s,indexId:l,s:a})=>A(Me,{uniqueId:Ie("i",s,l),summary:"Index: "+l,s:a},j(t.useSliceIds(l,e),(t=>A(rt,{indexes:e,indexesId:s,indexId:l,sliceId:t,s:a,key:t})))),rt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=Ie("i",t,s,l),[o,r]=fe(n,a);return A(Me,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},A(et,{sliceId:l,indexId:s,indexes:e,editable:o}))},it=({indexesId:e,s:s})=>{const l=t.useIndexes(e),a=t.useIndexIds(l);return R(l)?null:A(Me,{uniqueId:Ie("i",e),summary:"Indexes: "+(e??d),s:s},W(a)?"No indexes defined":we(a,(t=>A(ot,{indexes:l,indexesId:e,indexId:t,s:s,key:t}))))},dt=({metrics:e,metricId:s})=>A("tr",null,A("th",null,s),A("td",null,e?.getTableId(s)),A("td",null,t.useMetric(s,e))),ut=({metricsId:e,s:s})=>{const l=t.useMetrics(e),a=t.useMetricIds(l);return R(l)?null:A(Me,{uniqueId:Ie("m",e),summary:"Metrics: "+(e??d),s:s},W(a)?"No metrics defined":A("table",null,A("thead",null,A("th",null,"Metric Id"),A("th",null,"Table Id"),A("th",null,"Metric")),A("tbody",null,j(a,(e=>A(dt,{metrics:l,metricId:e,key:e}))))))},ct=({queries:e,queriesId:s,queryId:l,s:a})=>{const n=Ie("q",s,l),[o,r,i]=re(t.useCell(ce,n,he,a)??"[]"),d=t.useSetCellCallback(ce,n,he,oe,[],a);return A(Me,{uniqueId:n,summary:"Query: "+l,s:a},A(st,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ht=({queriesId:e,s:s})=>{const l=t.useQueries(e),a=t.useQueryIds(l);return R(l)?null:A(Me,{uniqueId:Ie("q",e),summary:"Queries: "+(e??d),s:s},W(a)?"No queries defined":we(a,(t=>A(ct,{queries:l,queriesId:e,queryId:t,s:s,key:t}))))},mt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=Ie("r",t,s),[n,o]=fe(a,l);return A(Me,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},A(tt,{relationshipId:s,relationships:e,editable:n}))},bt=({relationshipsId:e,s:s})=>{const l=t.useRelationships(e),a=t.useRelationshipIds(l);return R(l)?null:A(Me,{uniqueId:Ie("r",e),summary:"Relationships: "+(e??d),s:s},W(a)?"No relationships defined":we(a,(t=>A(mt,{relationships:l,relationshipsId:e,relationshipId:t,s:s,key:t}))))},gt=({tableId:e,store:s,storeId:l,s:a})=>{const n=Ie("t",l,e),[o,r,i]=re(t.useCell(ce,n,he,a)??"[]"),d=t.useSetCellCallback(ce,n,he,oe,[],a),[u,c]=fe(n,a);return A(Me,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},A(Ze,{tableId:e,store:s,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},pt=({store:e,storeId:s,s:l})=>{const a=Ie("v",s),[n,o]=fe(a,l);return W(t.useValueIds(e))?null:A(Me,{uniqueId:a,summary:C,editable:n,handleEditable:o,s:l},A(_e,{store:e,editable:n}))},It=({storeId:e,s:s})=>{const l=t.useStore(e),a=t.useTableIds(l);return R(l)?null:A(Me,{uniqueId:Ie("s",e),summary:"Store: "+(e??d),s:s},A(pt,{storeId:e,store:l,s:s}),we(a,(t=>A(gt,{store:l,storeId:e,tableId:t,s:s,key:t}))))},wt=({s:e})=>{const s=P(null),l=P(0),[a,n]=H(!1),{scrollLeft:o,scrollTop:r}=t.useValues(e);J((()=>{const e=s.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=F((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=t.useStore(),u=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),g=t.useRelationships(),p=t.useRelationshipsIds(),I=t.useQueries(),w=t.useQueriesIds();return R(d)&&W(u)&&R(c)&&W(h)&&R(m)&&W(b)&&R(g)&&W(p)&&R(I)&&W(w)?A("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):A("article",{ref:s,onScroll:i},A(It,{s:e}),j(u,(t=>A(It,{storeId:t,s:e,key:t}))),A(ut,{s:e}),j(h,(t=>A(ut,{metricsId:t,s:e,key:t}))),A(it,{s:e}),j(b,(t=>A(it,{indexesId:t,s:e,key:t}))),A(bt,{s:e}),j(p,(t=>A(bt,{relationshipsId:t,s:e,key:t}))),A(ht,{s:e}),j(w,(t=>A(ht,{queriesId:t,s:e,key:t}))))};class ft extends ${constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?A("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const yt=({s:e})=>{const s=t.useValue(be,e)??1,l=t.useSetValueCallback(ge,(()=>!1),[],e),a=t.useSetValueCallback(be,(e=>Number(e[k].dataset.id)),[],e);return A("header",null,A("img",{title:de}),A("span",null,de),j(ue,((e,t)=>t==s?null:A("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),A("img",{onClick:l,title:"Close"}))},Ct=({s:e})=>{const s=t.useValue(be,e)??1;return t.useValue(ge,e)?A("main",{"data-position":s},A(yt,{s:e}),A(ft,null,A(wt,{s:e}))):null},vt=e=>t=>{return s=(t,s)=>t+e(s),qt(t).reduce(s,0);var s},kt=e=>e?.size??0,Tt=vt(kt),xt=vt(Tt),St=vt(xt),Vt=(e,t)=>e?.has(t)??!1,Rt=e=>R(e)||0==kt(e),qt=e=>[...e?.values()??[]],Nt=e=>e.clear(),Lt=(e,t)=>e?.forEach(t),Mt=(e,t)=>e?.delete(t),Et=e=>new Map(e),zt=e=>[...e?.keys()??[]],$t=(e,t)=>e?.get(t),Ot=(e,t)=>Lt(e,((e,s)=>t(s,e))),At=(e,t,s)=>R(s)?(Mt(e,t),e):e?.set(t,s),Ft=(e,t,s)=>(Vt(e,t)||At(e,t,s()),$t(e,t)),Jt=(e,t,s,l=At)=>(ae(t,((t,l)=>s(e,l,t))),Ot(e,(s=>se(t,s)?0:l(e,s))),e),Pt=(e,t,s)=>{const l={};return Lt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Ht=(e,t,s)=>Pt(e,(e=>Pt(e,t,s)),ne),Bt=(e,t,s)=>Pt(e,(e=>Ht(e,t,s)),ne),Dt=(e,t)=>{const s=Et();return Lt(e,((e,l)=>s.set(l,t?.(e)??e))),s},Qt=e=>Dt(e,Dt),jt=e=>Dt(e,Qt),Wt=(e,t,s,l,a=0)=>q((s?Ft:$t)(e,t[a],a>z(t)-2?s:Et),(n=>{if(a>z(t)-2)return l?.(n)&&At(e,t[a]),n;const o=Wt(n,t,s,l,a+1);return Rt(n)&&At(e,t[a]),o})),Gt=Et(),Kt=Et(),Ut="storage",Xt=globalThis.window,Yt=e=>new Set(M(e)||R(e)?e:[e]),Zt=(e,t)=>e?.add(t),_t=/^\d+$/,es=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??l+t++,t=>{_t.test(t)&&z(e)<1e3&&G(e,t)}]},ts=e=>[e,e],ss=(e,t=Tt)=>t(e[0])+t(e[1]),ls=()=>[Et(),Et()],as=e=>[...e],ns=([e,t])=>e===t,os=(e,t,s)=>R(e)||!ee(e)||ne(e)||Z(e)?(s?.(),!1):(ae(e,((s,l)=>{t(s,l)||le(e,l)})),!ne(e)),rs=(e,t,s)=>At(e,t,$t(e,t)==-s?void 0:s),is=()=>{let e,t,s=!1,a=!1,n=!1,r=!1,c=0;const k=Et(),T=Et(),S=Et(),V=Et(),M=Et(),$=Et(),O=Et(),A=Et(),F=Et(),J=Et(),P=Et(),H=Et(),B=Et(),W=Et(),K=Yt(),U=Et(),X=Et(),Y=Et(),Z=Et(),ee=ls(),te=ls(),ie=ls(),de=ls(),ue=ls(),ce=ls(),he=ls(),me=ls(),be=ls(),ge=ls(),pe=ls(),Ie=ls(),we=ls(),fe=ls(),ye=ls(),Ce=ls(),ve=ls(),ke=ls(),Te=ls(),xe=ls(),Se=ls(),Ve=ls(),Re=Et(),qe=ls(),[Ne,Le,Me,Oe]=(e=>{let t;const[s,a]=es(),n=Et();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const d=s(1);return At(n,d,[e,a,o,r,i]),Zt(Wt(a,o??[l],Yt),d),d},(e,s,...a)=>Q(((e,t=[l])=>{const s=[],a=(e,l)=>l==z(t)?G(s,e):null===t[l]?Lt(e,(e=>a(e,l+1))):Q([t[l],null],(t=>a($t(e,t),l+1)));return a(e,0),s})(e,s),(e=>Lt(e,(e=>$t(n,e)[0](t,...s??[],...a))))),e=>q($t(n,e),(([,t,s])=>(Wt(t,s??[l],void 0,(t=>(Mt(t,e),Rt(t)?1:0))),At(n,e),a(e),s))),e=>q($t(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=z(o);r==z(s)?e(t,...o,...a(o)):R(s[r])?Q(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),Ae=e=>{if(!os(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!N(t)&&t!=o||(Ee(e[d])!=t&&le(e,d),0))},Fe=(t,s)=>(!e||Vt(P,s)||bt(s))&&os(t,((e,t)=>Je(s,t,e)),(()=>bt(s))),Je=(e,t,s,l)=>os(l?s:De(s,e,t),((l,a)=>q(Pe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>bt(e,t))),Pe=(t,s,l,a)=>e?q($t($t(P,t),l),(e=>Ee(a)!=e[i]?bt(t,s,l,a,e[d]):a),(()=>bt(t,s,l,a))):R(Ee(a))?bt(t,s,l,a):a,He=(e,t)=>os(t?e:Qe(e),((t,s)=>q(Be(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>gt())),Be=(e,s)=>t?q($t(B,e),(t=>Ee(s)!=t[i]?gt(e,s,t[d]):s),(()=>gt(e,s))):R(Ee(s))?gt(e,s):s,De=(e,t,s)=>(q($t(H,t),(([l,a])=>{Lt(l,((t,s)=>{se(e,s)||(e[s]=t)})),Lt(a,(l=>{se(e,l)||bt(t,s,l)}))})),e),Qe=e=>(t&&(Lt(W,((t,s)=>{se(e,s)||(e[s]=t)})),Lt(K,(t=>{se(e,t)||gt(t)}))),e),je=e=>Jt(P,e,((e,t,s)=>{const l=Et(),a=Yt();Jt(Ft(P,t,Et),s,((e,t,s)=>{At(e,t,s),q(s[d],(e=>At(l,t,e)),(()=>Zt(a,t)))})),At(H,t,[l,a])}),((e,t)=>{At(P,t),At(H,t)})),We=e=>Jt(B,e,((e,t,s)=>{At(B,t,s),q(s[d],(e=>At(W,t,e)),(()=>Zt(K,t)))}),((e,t)=>{At(B,t),At(W,t),Mt(K,t)})),Ge=e=>ne(e)?qs():Ts(e),Ke=e=>Jt(Y,e,((e,t,s)=>Ue(t,s)),((e,t)=>at(t))),Ue=(e,t)=>Jt(Ft(Y,e,(()=>(it(e,1),At(U,e,es()),At(X,e,Et()),Et()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>nt(e,t,s))),Xe=(e,t,s,l,a)=>Jt(Ft(t,s,(()=>(dt(e,s,1),Et()))),l,((t,l,a)=>Ye(e,s,t,l,a)),((l,n)=>ot(e,t,s,l,n,a))),Ye=(e,t,s,l,a)=>{Vt(s,l)||ut(e,t,l,1);const n=$t(s,l);a!==n&&(ct(e,t,l,n,a),At(s,l,a))},Ze=(e,t,s,l,a)=>q($t(t,s),(t=>Ye(e,s,t,l,a)),(()=>Xe(e,t,s,De({[l]:a},e,s)))),_e=e=>ne(e)?Ms():xs(e),et=e=>Jt(Z,e,((e,t,s)=>tt(t,s)),((e,t)=>rt(t))),tt=(e,t)=>{Vt(Z,e)||ht(e,1);const s=$t(Z,e);t!==s&&(mt(e,s,t),At(Z,e,t))},st=(e,t)=>{const[s]=$t(U,e),l=s(t);return Vt($t(Y,e),l)?st(e,t):l},lt=e=>$t(Y,e)??Ue(e,{}),at=e=>Ue(e,{}),nt=(e,t,s)=>{const[,l]=$t(U,e);l(s),Xe(e,t,s,{},!0)},ot=(e,t,s,l,a,n)=>{const o=$t($t(H,e)?.[0],a);if(!R(o)&&!n)return Ye(e,s,l,a,o);const r=t=>{ct(e,s,t,$t(l,t)),ut(e,s,t,-1),At(l,t)};R(o)?r(a):Ot(l,r),Rt(l)&&(dt(e,s,-1),Rt(At(t,s))&&(it(e,-1),At(Y,e),At(U,e),At(X,e)))},rt=e=>{const t=$t(W,e);if(!R(t))return tt(e,t);mt(e,$t(Z,e)),ht(e,-1),At(Z,e)},it=(e,t)=>rs(k,e,t),dt=(e,t,s)=>rs(Ft(V,e,Et),t,s)&&At(S,e,Ft(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const a=$t(X,e),n=$t(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&rs(Ft(T,e,Et),s,l),At(a,s,n!=-l?n+l:null),rs(Ft(Ft(M,e,Et),t,Et),s,l)},ct=(e,t,s,l,a)=>Ft(Ft(Ft($,e,Et),t,Et),s,(()=>[l,0]))[1]=a,ht=(e,t)=>rs(O,e,t),mt=(e,t,s)=>Ft(A,e,(()=>[t,0]))[1]=s,bt=(e,t,s,l,a)=>(G(Ft(Ft(Ft(F,e,Et),t,Et),s,(()=>[])),l),a),gt=(e,t,s)=>(G(Ft(J,e,(()=>[])),t),s),pt=(e,t,s)=>q($t($t($t($,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ts(ms(e,t,s))])),It=e=>q($t(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ts(ps(e))])),wt=e=>Rt(F)||Rt(Ce[e])?0:Lt(e?jt(F):F,((t,s)=>Lt(t,((t,l)=>Lt(t,((t,a)=>Le(Ce[e],[s,l,a],t))))))),ft=e=>Rt(J)||Rt(ve[e])?0:Lt(e?Dt(J):J,((t,s)=>Le(ve[e],[s],t))),yt=(e,t,s,l)=>{if(!Rt(e))return Le(t,l,(()=>Pt(e))),Ot(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},Ct=e=>{const t=Is();t!=n&&Le(ee[e],void 0,t);const s=Rt(ge[e]),l=Rt(we[e])&&Rt(fe[e])&&Rt(be[e])&&Rt(pe[e])&&Rt(ce[e])&&Rt(he[e])&&Rt(me[e])&&s&&Rt(ie[e])&&Rt(de[e]),a=Rt(ye[e])&&Rt(Ie[e])&&Rt(ue[e])&&Rt(te[e]);if(!l||!a){const t=e?[Dt(k),Qt(T),Dt(S),Qt(V),jt(M),jt($)]:[k,T,S,V,M,$];if(!l){yt(t[0],ie[e],de[e]),Lt(t[1],((t,s)=>yt(t,ce[e],he[e],[s]))),Lt(t[2],((t,s)=>{0!=t&&Le(me[e],[s],ds(s))}));const l=Yt();Lt(t[3],((t,a)=>{yt(t,be[e],pe[e],[a])&&!s&&(Le(ge[e],[a,null]),Zt(l,a))})),s||Lt(t[5],((t,s)=>{if(!Vt(l,s)){const l=Yt();Lt(t,(e=>Lt(e,(([t,s],a)=>s!==t?Zt(l,a):Mt(e,a))))),Lt(l,(t=>Le(ge[e],[s,t])))}})),Lt(t[4],((t,s)=>Lt(t,((t,l)=>yt(t,we[e],fe[e],[s,l])))))}if(!a){let s;Lt(t[5],((t,l)=>{let a;Lt(t,((t,n)=>{let o;Lt(t,(([t,r],i)=>{r!==t&&(Le(ye[e],[l,n,i],r,t,pt),s=a=o=1)})),o&&Le(Ie[e],[l,n],pt)})),a&&Le(ue[e],[l],pt)})),s&&Le(te[e],void 0,pt)}}},vt=e=>{const t=vs();t!=r&&Le(ke[e],void 0,t);const s=Rt(xe[e])&&Rt(Se[e]),l=Rt(Ve[e])&&Rt(Te[e]);if(!s||!l){const t=e?[Dt(O),Dt(A)]:[O,A];if(s||yt(t[0],xe[e],Se[e]),!l){let s;Lt(t[1],(([t,l],a)=>{l!==t&&(Le(Ve[e],[a],l,t,It),s=1)})),s&&Le(Te[e],void 0,It)}}},qt=(e,...t)=>($s((()=>e(...j(t,x)))),Fs),Gt=()=>[Pt($,((e,t)=>-1===$t(k,t)?null:Pt(e,((e,s)=>-1===$t($t(V,t),s)?null:Pt(e,(([,e])=>e??null),((e,t)=>ns(t)))),ne)),ne),Pt(A,(([,e])=>e??null),((e,t)=>ns(t)))],Kt=()=>({cellsTouched:s,valuesTouched:a,changedCells:Bt($,as,ns),invalidCells:Bt(F),changedValues:Pt(A,as,ns),invalidValues:Pt(J),changedTableIds:Pt(k),changedRowIds:Ht(V),changedCellIds:Bt(M),changedValueIds:Pt(O)}),Ut=()=>Bt(Y),Xt=()=>zt(Y),_t=e=>zt($t(X,x(e))),ds=e=>kt($t(Y,x(e))),us=e=>zt($t(Y,x(e))),cs=(e,t,s,l=0,a)=>{return j(E(D((n=$t(Y,x(e)),o=(e,s)=>[R(t)?s:$t(e,x(t)),s],j([...n?.entries()??[]],(([e,t])=>o(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,R(a)?a:l+a),(([,e])=>e));var n,o},hs=(e,t)=>zt($t($t(Y,x(e)),x(t))),ms=(e,t,s)=>$t($t($t(Y,x(e)),x(t)),x(s)),bs=()=>Pt(Z),gs=()=>zt(Z),ps=e=>$t(Z,x(e)),Is=()=>!Rt(Y),ws=e=>Vt(Y,x(e)),fs=(e,t)=>Vt($t(X,x(e)),x(t)),ys=(e,t)=>Vt($t(Y,x(e)),x(t)),Cs=(e,t,s)=>Vt($t($t(Y,x(e)),x(t)),x(s)),vs=()=>!Rt(Z),ks=e=>Vt(Z,x(e)),Ts=e=>qt((()=>(e=>os(e,Fe,bt))(e)?Ke(e):0)),xs=e=>qt((()=>He(e)?et(e):0)),Ss=e=>{try{Ge(re(e))}catch{}return Fs},Vs=t=>qt((()=>{if((e=os(t,(e=>os(e,Ae))))&&(je(t),!Rt(Y))){const e=Ut();qs(),Ts(e)}})),Rs=e=>qt((()=>{if(t=(e=>os(e,Ae))(e)){const s=bs();zs(),Ms(),t=!0,We(e),xs(s)}})),qs=()=>qt((()=>Ke({}))),Ns=e=>qt((e=>Vt(Y,e)?at(e):0),e),Ls=(e,t)=>qt(((e,t)=>q($t(Y,e),(s=>Vt(s,t)?nt(e,s,t):0))),e,t),Ms=()=>qt((()=>et({}))),Es=()=>qt((()=>{je({}),e=!1})),zs=()=>qt((()=>{We({}),t=!1})),$s=(e,t)=>{if(-1!=c){Os();const s=e();return As(t),s}},Os=()=>(-1!=c&&c++,1==c&&Le(Re,void 0,Gt,Kt),Fs),As=e=>(c>0&&(c--,0==c&&(s=!Rt($),a=!Rt(A),c=1,wt(1),s&&Ct(1),ft(1),a&&vt(1),e?.(Gt,Kt)&&(Lt($,((e,t)=>Lt(e,((e,s)=>Lt(e,(([e],l)=>ze(Fs,t,s,l,e))))))),Lt(A,(([e],t)=>$e(Fs,t,e))),s=a=!1),Le(qe[0],void 0,Gt,Kt),c=-1,wt(0),s&&Ct(0),ft(0),a&&vt(0),Le(qe[1],void 0,Gt,Kt),c=0,s=a=!1,n=Is(),r=vs(),Q([k,T,S,V,M,$,F,O,A,J],Nt))),Fs),Fs={getContent:()=>[Ut(),bs()],getTables:Ut,getTableIds:Xt,getTable:e=>Ht($t(Y,x(e))),getTableCellIds:_t,getRowCount:ds,getRowIds:us,getSortedRowIds:cs,getRow:(e,t)=>Pt($t($t(Y,x(e)),x(t))),getCellIds:hs,getCell:ms,getValues:bs,getValueIds:gs,getValue:ps,hasTables:Is,hasTable:ws,hasTableCell:fs,hasRow:ys,hasCell:Cs,hasValues:vs,hasValue:ks,getTablesJson:()=>oe(Y),getValuesJson:()=>oe(Z),getJson:()=>oe([Y,Z]),getTablesSchemaJson:()=>oe(P),getValuesSchemaJson:()=>oe(B),getSchemaJson:()=>oe([P,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>qt((()=>{(ne(e)?qs:Ts)(e),(ne(t)?Ms:xs)(t)})),setTables:Ts,setTable:(e,t)=>qt((e=>Fe(t,e)?Ue(e,t):0),e),setRow:(e,t,s)=>qt(((e,t)=>Je(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>$s((()=>{let l;return Je(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>qt(((e,t)=>{if(Je(e,t,s,1)){const l=lt(e);ae(s,((s,a)=>Ze(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>qt(((e,t,s)=>q(Pe(e,t,s,L(l)?l(ms(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:xs,setPartialValues:e=>qt((()=>He(e,1)?ae(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>qt((e=>q(Be(e,L(t)?t(ps(e)):t),(t=>tt(e,t)))),e),setTransactionChanges:e=>qt((()=>{ae(e[0],((e,t)=>R(e)?Ns(t):ae(e,((e,s)=>R(e)?Ls(t,s):ae(e,((e,l)=>ze(Fs,t,s,l,e))))))),ae(e[1],((e,t)=>$e(Fs,t,e)))})),setTablesJson:Ss,setValuesJson:e=>{try{_e(re(e))}catch{}return Fs},setJson:e=>qt((()=>{try{const[t,s]=re(e);Ge(t),_e(s)}catch{Ss(e)}})),setTablesSchema:Vs,setValuesSchema:Rs,setSchema:(e,t)=>qt((()=>{Vs(e),Rs(t)})),delTables:qs,delTable:Ns,delRow:Ls,delCell:(e,t,s,l)=>qt(((e,t,s)=>q($t(Y,e),(a=>q($t(a,t),(n=>Vt(n,s)?ot(e,a,t,n,s,l):0))))),e,t,s),delValues:Ms,delValue:e=>qt((e=>Vt(Z,e)?rt(e):0),e),delTablesSchema:Es,delValuesSchema:zs,delSchema:()=>qt((()=>{Es(),zs()})),transaction:$s,startTransaction:Os,finishTransaction:As,forEachTable:e=>Lt(Y,((t,s)=>e(s,(e=>Lt(t,((t,s)=>e(s,(e=>Ot(t,e))))))))),forEachTableCell:(e,t)=>Ot($t(X,x(e)),t),forEachRow:(e,t)=>Lt($t(Y,x(e)),((e,s)=>t(s,(t=>Ot(e,t))))),forEachCell:(e,t,s)=>Ot($t($t(Y,x(e)),x(t)),s),forEachValue:e=>Ot(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=cs(e,t,s,l,a);return Ne((()=>{const o=cs(e,t,s,l,a);var i,d,u;d=r,z(i=o)===z(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Fs,e,t,s,l,a,r))}),ge[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>Ne(e,Re),addWillFinishTransactionListener:e=>Ne(e,qe[0]),addDidFinishTransactionListener:e=>Ne(e,qe[1]),callListener:e=>(Oe(e),Fs),delListener:e=>(Me(e),Fs),getListenerStats:()=>({hasTables:ss(ee),tables:ss(te),tableIds:ss(ie),hasTable:ss(de),table:ss(ue),tableCellIds:ss(ce),hasTableCell:ss(he,xt),rowCount:ss(me),rowIds:ss(be),sortedRowIds:ss(ge),hasRow:ss(pe,xt),row:ss(Ie,xt),cellIds:ss(we,xt),hasCell:ss(fe,St),cell:ss(ye,St),invalidCell:ss(Ce,St),hasValues:ss(ke),values:ss(Te),valueIds:ss(xe),hasValue:ss(Se),value:ss(Ve),invalidValue:ss(ve),transaction:Tt(Re)+ss(qe)}),createStore:is,addListener:Ne,callListeners:Le};return ae({[u+m]:[0,ee,[],()=>[Is()]],[m]:[0,te],[b]:[0,ie],[u+h]:[1,de,[Xt],e=>[ws(...e)]],[h]:[1,ue,[Xt]],[h+f]:[1,ce,[Xt]],[u+h+w]:[2,he,[Xt,_t],e=>[fs(...e)]],[p]:[1,me,[Xt]],[I]:[1,be,[Xt]],[u+g]:[2,pe,[Xt,us],e=>[ys(...e)]],[g]:[2,Ie,[Xt,us]],[f]:[2,we,[Xt,us]],[u+w]:[3,fe,[Xt,us,hs],e=>[Cs(...e)]],[w]:[3,ye,[Xt,us,hs],e=>ts(ms(...e))],InvalidCell:[3,Ce],[u+C]:[0,ke,[],()=>[vs()]],[C]:[0,Te],[v]:[0,xe],[u+y]:[1,Se,[gs],e=>[ks(...e)]],[y]:[1,Ve,[gs],e=>ts(ps(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],a)=>{Fs["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,l)})),_(Fs)},ds=({position:e="right",open:s=!1})=>{const l=t.useCreateStore(is),a=ue.indexOf(e);return t.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;Ft(Gt,i,(()=>0)),Ft(Kt,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();ne(s)&&ne(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(q(d,e.delListener),d=void 0,I),schedule:async(...e)=>(G($t(Kt,i),...e),await(async()=>{if(!$t(Gt,i)){for(At(Gt,i,1);!R(u=K($t(Kt,i)));)try{await u()}catch(e){n?.(e)}At(Gt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),_(I)})(e,(async()=>re(s.getItem(t))),(async e=>s.setItem(t,oe(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>re(l.newValue)))};return Xt.addEventListener(Ut,l),l}),(e=>Xt.removeEventListener(Ut,e)),l,["getStorageName",t]))(e,ie,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!s}),await e.startAutoSave()})),A(O,null,A("aside",{id:ie},A(Le,{s:l}),A(Ct,{s:l})),A("style",null,Ne))};exports.EditableCellView=lt,exports.EditableValueView=at,exports.RelationshipInHtmlTable=tt,exports.ResultSortedTableInHtmlTable=st,exports.ResultTableInHtmlTable=({queryId:e,queries:s,customCells:l,...a})=>A(Ke,{...a,params:De(Ge(t.useResultTableCellIds(e,s),l,t.ResultCellView),je(s,e),t.useResultRowIds(e,s))}),exports.SliceInHtmlTable=et,exports.SortedTableInHtmlTable=Ze,exports.SortedTablePaginator=nt,exports.StoreInspector=e=>A(ds,{...e}),exports.TableInHtmlTable=({tableId:e,store:s,editable:l,customCells:a,...n})=>A(Ke,{...n,params:De(Ge(t.useTableCellIds(e,s),a,l?lt:t.CellView),Qe(s,e),t.useRowIds(e,s))}),exports.ValuesInHtmlTable=_e;
1
+ "use strict";var e=require("react"),t=require("./ui-react");const s=e=>typeof e,l="",a=s(l),n=s(!0),r=s(0),o=s(s),i="type",d="default",u="Has",c="Ids",h="Table",m=h+"s",g=h+c,b="Row",p=b+"Count",I=b+c,f="Cell",w=f+c,y="Value",C=y+"s",v=y+c,k="currentTarget",T="value",S=e=>l+e,x=Math.floor,V=isFinite,R=e=>null==e,q=(e,t,s)=>R(e)?s?.():t(e),N=e=>e==a||e==n,M=e=>s(e)==o,L=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),z=e=>e.length,{PureComponent:O,Fragment:$,createElement:A,useCallback:J,useLayoutEffect:F,useRef:P,useState:H}=e,B=(e,...t)=>R(e)?{}:e(...t),D=(e,t)=>e.sort(t),Q=(e,t)=>e.forEach(t),j=(e,t)=>e.map(t),W=e=>0==z(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),U=Object,X=e=>U.getPrototypeOf(e),Y=U.entries,Z=U.isFrozen,_=e=>!R(e)&&q(X(e),(e=>e==U.prototype||R(X(e))),(()=>!0)),ee=U.keys,te=U.freeze,se=(e=[])=>U.fromEntries(e),le=(e,t)=>t in e,ae=(e,t)=>(delete e[t],e),ne=(e,t)=>j(Y(e),(([e,s])=>t(s,e))),re=e=>_(e)&&0==(e=>z(ee(e)))(e),oe=(e,t,s,l=0)=>R(e)||!_(e)||!l&&re(e)||Z(e)?(s?.(),!1):(ne(e,((s,l)=>{t(s,l)||ae(e,l)})),!!l||!re(e)),ie=e=>JSON.stringify(e,((e,t)=>t instanceof Map?U.fromEntries([...t]):t)),de=JSON.parse,ue="tinybaseStoreInspector",ce="TinyBase Store Inspector",he=["left","top","bottom","right","full"],me="state",ge="sort",be="open",pe="position",Ie=be,fe="editable",we=(...e)=>ie(e),ye=(e,t)=>j(D(e),t),Ce=(e,s)=>[!!t.useCell(me,e,fe,s),J((t=>{s.setCell(me,e,fe,(e=>!e)),t.preventDefault()}),[s,e])],ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ke='content:url("',Te=ke+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Se='</svg>")',xe=ke+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",Ve=j([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Te+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Se)),Re=Te+"<path d='M20 20l60 60M20 80l60-60' />"+Se,qe=Te+`<path d='${ve}' />`+Se,Ne=Te+`<path d='${ve}M20 20l60 60' />`+Se,Me="*::-webkit-scrollbar",Le=((e,t="")=>e.join(t))(ne({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Me]:"width:0.5rem;height:0.5rem;",[Me+"-track"]:"background:#111",[Me+"-thumb"]:"background:#999;border:1px solid #111",[Me+"-thumb:hover"]:"background:#fff",[Me+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+xe,...se(j(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...se(j(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":xe,"header>img:nth-of-type(6)":Re,...se(j(Ve,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":qe,"details[open]>summary img.done":Ne,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ue} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${ue} ${t}{${e}}`:""))),Ee=({s:e})=>{const s=t.useValue(pe,e)??1,l=t.useSetValueCallback(Ie,(()=>!0),[],e);return t.useValue(Ie,e)?null:A("img",{onClick:l,title:ce,"data-position":s})},ze=({uniqueId:e,summary:s,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!t.useCell(me,e,be,r),i=t.useSetCellCallback(me,e,be,(e=>e[k].open),[],r);return A("details",{open:o,onToggle:i},A("summary",null,s,a?A("img",{onClick:a,className:l?"done":"edit"}):null),n)},Oe=e=>{const t=s(e);return N(t)||t==r&&V(e)?t:void 0},$e=(e,t,s,l,a)=>R(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Ae=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Je=(e,t,s,l)=>e==a?t:e==r?s:l,{useCallback:Fe,useMemo:Pe,useState:He}=e,Be="editable",De=(e,s)=>j(t.useTableCellIds(e,s),(t=>e+"."+t)),Qe=(e,t,s)=>{const l=Fe(e,t);return s?l:void 0},je=(...e)=>Pe((()=>e),e),We=(e,t)=>Pe((()=>({store:e,tableId:t})),[e,t]),Ge=(e,t)=>Pe((()=>({queries:e,queryId:t})),[e,t]),Ke=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=He([e,t,l]),h=Fe((e=>{c(e),o?.(e)}),[o]),m=Qe((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),g=Fe((e=>h([i,d,e])),[h,i,d]),b=!0===r?ot:r;return[[i,d,u],m,Pe((()=>!1===r?null:A(b,{offset:u,limit:a,total:n,onChange:g})),[r,b,u,a,n,g])]},Ue=(e,t,l)=>Pe((()=>{const n=t??e;return r=L(n)?se(j(n,(e=>[e,e]))):n,o=(e,t)=>{return{label:t,component:l,...(n=e,s(n)==a?{label:e}:e)};var n},se(ne(r,((e,t)=>[t,o(e,t)])));var r,o}),[t,l,e]),Xe=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>A("table",{className:e},i?A("caption",null,i):null,!1===t?null:A("thead",null,A("tr",null,!1===s?null:A(Ye,{sort:r??[],label:"Id",onClick:o}),ne(l,(({label:e},t)=>A(Ye,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),A("tbody",null,j(n,(e=>A("tr",{key:e},!1===s?null:A("th",null,e),ne(l,(({component:t,getComponentProps:s},l)=>A("td",{key:l},A(t,{...B(s,e,l),...a,rowId:e,cellId:l}))))))))),Ye=({cellId:e,sort:[t,s],label:a=e??l,onClick:n})=>A("th",{onClick:Qe((()=>n?.(e)),[n,e],n),className:R(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},R(s)||t!=e?null:(s?"↓":"↑")+" ",a),Ze=({localRowId:s,params:[l,a,n,r,o,i,d]})=>{const u=t.useRemoteRowId(o,s,i);return A("tr",null,!1===l?null:A(e.Fragment,null,A("th",null,s),A("th",null,u)),ne(a,(({component:e,getComponentProps:t},l)=>{const[a,o]=l.split(".",2),i=a===n?s:a===r?u:null;return R(i)?null:A("td",{key:l},A(e,{...B(t,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},_e=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:o=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[g,b]=He(),[p,I]=He();u!==e&&(d(Oe(e)),c(e),m(e+""),b(Number(e)||0),I(!!e));const f=Fe(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Fe((()=>{if(!l?.()){const e=Je(i,r,n,a),s=Je(e,h,g,p);d(e),c(s),t(s)}}),[l,t,h,g,p,i]);return A("div",{className:s},o?A("button",{className:i,onClick:w},i):null,Je(i,A("input",{key:i,value:h,onChange:Fe((e=>f(e[k][T]+"",m)),[f])}),A("input",{key:i,type:"number",value:g,onChange:Fe((e=>f(Number(e[k][T]||0),b)),[f])}),A("input",{key:i,type:"checkbox",checked:p,onChange:Fe((e=>f(!!e[k].checked,I)),[f])})))},et=({tableId:e,cellId:s,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,g,b]=Ke(s,l,i,a,n,t.useRowCount(e,r),d,u);return A(Xe,{...h,params:je(Ue(t.useTableCellIds(e,r),c,o?nt:t.CellView),We(r,e),t.useSortedRowIds(e,...m,n,r),m,g,b)})},tt=({store:e,editable:s=!1,valueComponent:l=(s?rt:t.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>A("table",{className:n},!1===r?null:A("thead",null,A("tr",null,!1===o?null:A("th",null,"Id"),A("th",null,y))),A("tbody",null,j(t.useValueIds(e),(t=>A("tr",{key:t},!1===o?null:A("th",null,t),A("td",null,A(l,{...B(a,t),valueId:t,store:e}))))))),st=({indexId:e,sliceId:s,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(l),e);return A(Xe,{...r,params:je(Ue(t.useTableCellIds(d,i),n,a?nt:t.CellView),We(i,d),t.useSliceRowIds(e,s,o))})},lt=({relationshipId:s,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(l),s),m=Ue([...De(c,u),...De(h,u)],n,a?nt:t.CellView),g=je(i,m,c,h,s,d,u);return A("table",{className:r},!1===o?null:A("thead",null,A("tr",null,!1===i?null:A(e.Fragment,null,A("th",null,c,".Id"),A("th",null,h,".Id")),ne(m,(({label:e},t)=>A("th",{key:t},e))))),A("tbody",null,j(t.useRowIds(c,u),(e=>A(Ze,{key:e,localRowId:e,params:g})))))},at=({queryId:e,cellId:s,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,g]=Ke(s,l,o,a,n,t.useResultRowCount(e,r),i,u);return A(Xe,{...c,params:je(Ue(t.useResultTableCellIds(e,r),d,t.ResultCellView),Ge(r,e),t.useResultSortedRowIds(e,...h,n,r),h,m,g)})},nt=({tableId:e,rowId:s,cellId:l,store:a,className:n,showType:r})=>A(_e,{thing:t.useCell(e,s,l,a),onThingChange:t.useSetCellCallback(e,s,l,(e=>e),[],a),className:n??Be+f,showType:r,hasSchema:t.useStoreOrStoreById(a)?.hasTablesSchema}),rt=({valueId:e,store:s,className:l,showType:a})=>A(_e,{thing:t.useValue(e,s),onThingChange:t.useSetValueCallback(e,(e=>e),[],s),className:l??Be+y,showType:a,hasSchema:t.useStoreOrStoreById(s)?.hasValuesSchema}),ot=({onChange:t,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,t(0));const o=Qe((()=>t(l-a)),[t,l,a],l>0),i=Qe((()=>t(l+a)),[t,l,a],l+a<s);return A(e.Fragment,null,s>a&&A(e.Fragment,null,A("button",{className:"previous",disabled:0==l,onClick:o},"←"),A("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?r:n)},it=({indexes:e,indexesId:s,indexId:l,s:a})=>A(ze,{uniqueId:we("i",s,l),summary:"Index: "+l,s:a},j(t.useSliceIds(l,e),(t=>A(dt,{indexes:e,indexesId:s,indexId:l,sliceId:t,s:a,key:t})))),dt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=we("i",t,s,l),[r,o]=Ce(n,a);return A(ze,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},A(st,{sliceId:l,indexId:s,indexes:e,editable:r}))},ut=({indexesId:e,s:s})=>{const l=t.useIndexes(e),a=t.useIndexIds(l);return R(l)?null:A(ze,{uniqueId:we("i",e),summary:"Indexes: "+(e??d),s:s},W(a)?"No indexes defined":ye(a,(t=>A(it,{indexes:l,indexesId:e,indexId:t,s:s,key:t}))))},ct=({metrics:e,metricId:s})=>A("tr",null,A("th",null,s),A("td",null,e?.getTableId(s)),A("td",null,t.useMetric(s,e))),ht=({metricsId:e,s:s})=>{const l=t.useMetrics(e),a=t.useMetricIds(l);return R(l)?null:A(ze,{uniqueId:we("m",e),summary:"Metrics: "+(e??d),s:s},W(a)?"No metrics defined":A("table",null,A("thead",null,A("th",null,"Metric Id"),A("th",null,"Table Id"),A("th",null,"Metric")),A("tbody",null,j(a,(e=>A(ct,{metrics:l,metricId:e,key:e}))))))},mt=({queries:e,queriesId:s,queryId:l,s:a})=>{const n=we("q",s,l),[r,o,i]=de(t.useCell(me,n,ge,a)??"[]"),d=t.useSetCellCallback(me,n,ge,ie,[],a);return A(ze,{uniqueId:n,summary:"Query: "+l,s:a},A(at,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},gt=({queriesId:e,s:s})=>{const l=t.useQueries(e),a=t.useQueryIds(l);return R(l)?null:A(ze,{uniqueId:we("q",e),summary:"Queries: "+(e??d),s:s},W(a)?"No queries defined":ye(a,(t=>A(mt,{queries:l,queriesId:e,queryId:t,s:s,key:t}))))},bt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=we("r",t,s),[n,r]=Ce(a,l);return A(ze,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},A(lt,{relationshipId:s,relationships:e,editable:n}))},pt=({relationshipsId:e,s:s})=>{const l=t.useRelationships(e),a=t.useRelationshipIds(l);return R(l)?null:A(ze,{uniqueId:we("r",e),summary:"Relationships: "+(e??d),s:s},W(a)?"No relationships defined":ye(a,(t=>A(bt,{relationships:l,relationshipsId:e,relationshipId:t,s:s,key:t}))))},It=({tableId:e,store:s,storeId:l,s:a})=>{const n=we("t",l,e),[r,o,i]=de(t.useCell(me,n,ge,a)??"[]"),d=t.useSetCellCallback(me,n,ge,ie,[],a),[u,c]=Ce(n,a);return A(ze,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},A(et,{tableId:e,store:s,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},ft=({store:e,storeId:s,s:l})=>{const a=we("v",s),[n,r]=Ce(a,l);return W(t.useValueIds(e))?null:A(ze,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},A(tt,{store:e,editable:n}))},wt=({storeId:e,s:s})=>{const l=t.useStore(e),a=t.useTableIds(l);return R(l)?null:A(ze,{uniqueId:we("s",e),summary:"Store: "+(e??d),s:s},A(ft,{storeId:e,store:l,s:s}),ye(a,(t=>A(It,{store:l,storeId:e,tableId:t,s:s,key:t}))))},yt=({s:e})=>{const s=P(null),l=P(0),[a,n]=H(!1),{scrollLeft:r,scrollTop:o}=t.useValues(e);F((()=>{const e=s.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=x(r)+e.clientWidth&&e.scrollHeight>=x(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=t.useStore(),u=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),g=t.useIndexesIds(),b=t.useRelationships(),p=t.useRelationshipsIds(),I=t.useQueries(),f=t.useQueriesIds();return R(d)&&W(u)&&R(c)&&W(h)&&R(m)&&W(g)&&R(b)&&W(p)&&R(I)&&W(f)?A("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):A("article",{ref:s,onScroll:i},A(wt,{s:e}),j(u,(t=>A(wt,{storeId:t,s:e,key:t}))),A(ht,{s:e}),j(h,(t=>A(ht,{metricsId:t,s:e,key:t}))),A(ut,{s:e}),j(g,(t=>A(ut,{indexesId:t,s:e,key:t}))),A(pt,{s:e}),j(p,(t=>A(pt,{relationshipsId:t,s:e,key:t}))),A(gt,{s:e}),j(f,(t=>A(gt,{queriesId:t,s:e,key:t}))))};class Ct extends O{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?A("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const vt=({s:e})=>{const s=t.useValue(pe,e)??1,l=t.useSetValueCallback(Ie,(()=>!1),[],e),a=t.useSetValueCallback(pe,(e=>Number(e[k].dataset.id)),[],e);return A("header",null,A("img",{title:ce}),A("span",null,ce),j(he,((e,t)=>t==s?null:A("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),A("img",{onClick:l,title:"Close"}))},kt=({s:e})=>{const s=t.useValue(pe,e)??1;return t.useValue(Ie,e)?A("main",{"data-position":s},A(vt,{s:e}),A(Ct,null,A(yt,{s:e}))):null},Tt=e=>t=>{return s=(t,s)=>t+e(s),Mt(t).reduce(s,0);var s},St=e=>e?.size??0,xt=Tt(St),Vt=Tt(xt),Rt=Tt(Vt),qt=(e,t)=>e?.has(t)??!1,Nt=e=>R(e)||0==St(e),Mt=e=>[...e?.values()??[]],Lt=e=>e.clear(),Et=(e,t)=>e?.forEach(t),zt=(e,t)=>e?.delete(t),Ot=e=>new Map(e),$t=e=>[...e?.keys()??[]],At=(e,t)=>e?.get(t),Jt=(e,t)=>Et(e,((e,s)=>t(s,e))),Ft=(e,t,s)=>R(s)?(zt(e,t),e):e?.set(t,s),Pt=(e,t,s,l)=>(qt(e,t)?l?.(At(e,t)):Ft(e,t,s()),At(e,t)),Ht=(e,t,s,l=Ft)=>(ne(t,((t,l)=>s(e,l,t))),Jt(e,(s=>le(t,s)?0:l(e,s))),e),Bt=(e,t,s,l)=>{const a={};return Et(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;!l?.(s)&&(a[n]=s)}})),a},Dt=(e,t,s)=>Bt(e,(e=>Bt(e,t,s)),Nt,re),Qt=(e,t,s)=>Bt(e,(e=>Dt(e,t,s)),Nt,re),jt=(e,t)=>{const s=Ot();return Et(e,((e,l)=>s.set(l,t?.(e)??e))),s},Wt=e=>jt(e,jt),Gt=e=>jt(e,Wt),Kt=(e,t,s,l,a=0)=>q((s?Pt:At)(e,t[a],a>z(t)-2?s:Ot),(n=>{if(a>z(t)-2)return l?.(n)&&Ft(e,t[a]),n;const r=Kt(n,t,s,l,a+1);return Nt(n)&&Ft(e,t[a]),r})),Ut=Ot(),Xt=Ot(),Yt="storage",Zt=globalThis.window,_t=e=>new Set(L(e)||R(e)?e:[e]),es=(e,t)=>e?.add(t),ts=/^\d+$/,ss=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??l+t++,t=>{ts.test(t)&&z(e)<1e3&&G(e,t)}]},ls=e=>[e,e],as=(e,t=xt)=>t(e[0])+t(e[1]),ns=()=>[Ot(),Ot()],rs=e=>[...e],os=([e,t])=>e===t,is=(e,t,s)=>Ft(e,t,At(e,t)==-s?void 0:s),ds=()=>{let e,t,s=!1,a=!1,n=0,o=[];const c=Ot(),k=Ot(),T=Ot(),x=Ot(),V=Ot(),L=Ot(),O=Ot(),$=Ot(),A=Ot(),J=Ot(),F=Ot(),P=Ot(),H=Ot(),B=Ot(),W=_t(),K=Ot(),U=Ot(),X=Ot(),Y=Ot(),Z=ns(),_=ns(),ee=ns(),se=ns(),ue=ns(),ce=ns(),he=ns(),me=ns(),ge=ns(),be=ns(),pe=ns(),Ie=ns(),fe=ns(),we=ns(),ye=ns(),Ce=ns(),ve=ns(),ke=ns(),Te=ns(),Se=ns(),xe=ns(),Ve=ns(),Re=Ot(),qe=ns(),[Ne,Me,Le,Ee]=(e=>{let t;const[s,a]=ss(),n=Ot();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Os;const d=s(1);return Ft(n,d,[e,a,r,o,i]),es(Kt(a,r??[l],_t),d),d},(e,s,...a)=>Q(((e,t=[l])=>{const s=[],a=(e,l)=>l==z(t)?G(s,e):null===t[l]?Et(e,(e=>a(e,l+1))):Q([t[l],null],(t=>a(At(e,t),l+1)));return a(e,0),s})(e,s),(e=>Et(e,(e=>At(n,e)[0](t,...s??[],...a))))),e=>q(At(n,e),(([,t,s])=>(Kt(t,s??[l],void 0,(t=>(zt(t,e),Nt(t)?1:0))),Ft(n,e),a(e),s))),e=>q(At(n,e),(([e,,s=[],l,a])=>{const n=(...r)=>{const o=z(r);o==z(s)?e(t,...r,...a(r)):R(s[o])?Q(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),ze=e=>{if(!oe(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!N(t)&&t!=r||(Oe(e[d])!=t&&ae(e,d),0))},Je=(t,s)=>(!e||qt(F,s)||gt(s))&&oe(t,((e,t)=>Fe(s,t,e)),(()=>gt(s))),Fe=(e,t,s,l)=>oe(l?s:De(s,e,t),((l,a)=>q(Pe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>gt(e,t))),Pe=(t,s,l,a)=>e?q(At(At(F,t),l),(e=>Oe(a)!=e[i]?gt(t,s,l,a,e[d]):a),(()=>gt(t,s,l,a))):R(Oe(a))?gt(t,s,l,a):a,He=(e,t)=>oe(t?e:Qe(e),((t,s)=>q(Be(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>bt())),Be=(e,s)=>t?q(At(H,e),(t=>Oe(s)!=t[i]?bt(e,s,t[d]):s),(()=>bt(e,s))):R(Oe(s))?bt(e,s):s,De=(e,t,s)=>(q(At(P,t),(([l,a])=>{Et(l,((t,s)=>{le(e,s)||(e[s]=t)})),Et(a,(l=>{le(e,l)||gt(t,s,l)}))})),e),Qe=e=>(t&&(Et(B,((t,s)=>{le(e,s)||(e[s]=t)})),Et(W,(t=>{le(e,t)||bt(t)}))),e),je=e=>Ht(F,e,((e,t,s)=>{const l=Ot(),a=_t();Ht(Pt(F,t,Ot),s,((e,t,s)=>{Ft(e,t,s),q(s[d],(e=>Ft(l,t,e)),(()=>es(a,t)))})),Ft(P,t,[l,a])}),((e,t)=>{Ft(F,t),Ft(P,t)})),We=e=>Ht(H,e,((e,t,s)=>{Ft(H,t,s),q(s[d],(e=>Ft(B,t,e)),(()=>es(W,t)))}),((e,t)=>{Ft(H,t),Ft(B,t),zt(W,t)})),Ge=e=>re(e)?xs():Cs(e),Ke=e=>Ht(X,e,((e,t,s)=>Ue(t,s)),((e,t)=>at(t))),Ue=(e,t)=>Ht(Pt(X,e,(()=>(it(e,1),Ft(K,e,ss()),Ft(U,e,Ot()),Ot()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>nt(e,t,s))),Xe=(e,t,s,l,a)=>Ht(Pt(t,s,(()=>(dt(e,s,1),Ot()))),l,((t,l,a)=>Ye(e,s,t,l,a)),((l,n)=>rt(e,t,s,l,n,a))),Ye=(e,t,s,l,a)=>{qt(s,l)||ut(e,t,l,1);const n=At(s,l);a!==n&&(ct(e,t,l,n,a),Ft(s,l,a))},Ze=(e,t,s,l,a)=>q(At(t,s),(t=>Ye(e,s,t,l,a)),(()=>Xe(e,t,s,De({[l]:a},e,s)))),_e=e=>re(e)?qs():vs(e),et=e=>Ht(Y,e,((e,t,s)=>tt(t,s)),((e,t)=>ot(t))),tt=(e,t)=>{qt(Y,e)||ht(e,1);const s=At(Y,e);t!==s&&(mt(e,s,t),Ft(Y,e,t))},st=(e,t)=>{const[s]=At(K,e),l=s(t);return qt(At(X,e),l)?st(e,t):l},lt=e=>At(X,e)??Ue(e,{}),at=e=>Ue(e,{}),nt=(e,t,s)=>{const[,l]=At(K,e);l(s),Xe(e,t,s,{},!0)},rt=(e,t,s,l,a,n)=>{const r=At(At(P,e)?.[0],a);if(!R(r)&&!n)return Ye(e,s,l,a,r);const o=t=>{ct(e,s,t,At(l,t)),ut(e,s,t,-1),Ft(l,t)};R(r)?o(a):Jt(l,o),Nt(l)&&(dt(e,s,-1),Nt(Ft(t,s))&&(it(e,-1),Ft(X,e),Ft(K,e),Ft(U,e)))},ot=e=>{const t=At(B,e);if(!R(t))return tt(e,t);mt(e,At(Y,e)),ht(e,-1),Ft(Y,e)},it=(e,t)=>is(c,e,t),dt=(e,t,s)=>is(Pt(x,e,Ot),t,s)&&Ft(T,e,Pt(T,e,(()=>0))+s),ut=(e,t,s,l)=>{const a=At(U,e),n=At(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&is(Pt(k,e,Ot),s,l),Ft(a,s,n!=-l?n+l:null),is(Pt(Pt(V,e,Ot),t,Ot),s,l)},ct=(e,t,s,l,a)=>{Pt(Pt(Pt(L,e,Ot),t,Ot),s,(()=>[l,0]))[1]=a,o[3]?.(e,t,s,a)},ht=(e,t)=>is(O,e,t),mt=(e,t,s)=>{Pt($,e,(()=>[t,0]))[1]=s,o[4]?.(e,s)},gt=(e,t,s,l,a)=>(G(Pt(Pt(Pt(A,e,Ot),t,Ot),s,(()=>[])),l),a),bt=(e,t,s)=>(G(Pt(J,e,(()=>[])),t),s),pt=(e,t,s)=>q(At(At(At(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(us(e,t,s))])),It=e=>q(At($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(ms(e))])),ft=e=>Nt(A)||Nt(Ce[e])?0:Et(e?Gt(A):A,((t,s)=>Et(t,((t,l)=>Et(t,((t,a)=>Me(Ce[e],[s,l,a],t))))))),wt=e=>Nt(J)||Nt(ve[e])?0:Et(e?jt(J):J,((t,s)=>Me(ve[e],[s],t))),yt=(e,t,s,l)=>{if(!Nt(e))return Me(t,l,(()=>Bt(e))),Jt(e,((e,t)=>Me(s,[...l??[],e],1==t))),1},Ct=e=>{const t=gs();t!=s&&Me(Z[e],void 0,t);const l=Nt(be[e]),a=Nt(fe[e])&&Nt(we[e])&&Nt(ge[e])&&Nt(pe[e])&&Nt(ce[e])&&Nt(he[e])&&Nt(me[e])&&l&&Nt(ee[e])&&Nt(se[e]),n=Nt(ye[e])&&Nt(Ie[e])&&Nt(ue[e])&&Nt(_[e]);if(!a||!n){const t=e?[jt(c),Wt(k),jt(T),Wt(x),Gt(V),Gt(L)]:[c,k,T,x,V,L];if(!a){yt(t[0],ee[e],se[e]),Et(t[1],((t,s)=>yt(t,ce[e],he[e],[s]))),Et(t[2],((t,s)=>{0!=t&&Me(me[e],[s],Xt(s))}));const s=_t();Et(t[3],((t,a)=>{yt(t,ge[e],pe[e],[a])&&!l&&(Me(be[e],[a,null]),es(s,a))})),l||Et(t[5],((t,l)=>{if(!qt(s,l)){const s=_t();Et(t,(e=>Et(e,(([t,l],a)=>l!==t?es(s,a):zt(e,a))))),Et(s,(t=>Me(be[e],[l,t])))}})),Et(t[4],((t,s)=>Et(t,((t,l)=>yt(t,fe[e],we[e],[s,l])))))}if(!n){let s;Et(t[5],((t,l)=>{let a;Et(t,((t,n)=>{let r;Et(t,(([t,o],i)=>{o!==t&&(Me(ye[e],[l,n,i],o,t,pt),s=a=r=1)})),r&&Me(Ie[e],[l,n],pt)})),a&&Me(ue[e],[l],pt)})),s&&Me(_[e],void 0,pt)}}},vt=e=>{const t=ws();t!=a&&Me(ke[e],void 0,t);const s=Nt(Se[e])&&Nt(xe[e]),l=Nt(Ve[e])&&Nt(Te[e]);if(!s||!l){const t=e?[jt(O),jt($)]:[O,$];if(s||yt(t[0],Se[e],xe[e]),!l){let s;Et(t[1],(([t,l],a)=>{l!==t&&(Me(Ve[e],[a],l,t,It),s=1)})),s&&Me(Te[e],void 0,It)}}},kt=(e,...t)=>(Ls((()=>e(...j(t,S)))),Os),Tt=()=>Qt(X),Mt=()=>$t(X),Ut=e=>$t(At(U,S(e))),Xt=e=>St(At(X,S(e))),Yt=e=>$t(At(X,S(e))),Zt=(e,t,s,l=0,a)=>{return j(E(D((n=At(X,S(e)),r=(e,s)=>[R(t)?s:At(e,S(t)),s],j([...n?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,R(a)?a:l+a),(([,e])=>e));var n,r},ts=(e,t)=>$t(At(At(X,S(e)),S(t))),us=(e,t,s)=>At(At(At(X,S(e)),S(t)),S(s)),cs=()=>Bt(Y),hs=()=>$t(Y),ms=e=>At(Y,S(e)),gs=()=>!Nt(X),bs=e=>qt(X,S(e)),ps=(e,t)=>qt(At(U,S(e)),S(t)),Is=(e,t)=>qt(At(X,S(e)),S(t)),fs=(e,t,s)=>qt(At(At(X,S(e)),S(t)),S(s)),ws=()=>!Nt(Y),ys=e=>qt(Y,S(e)),Cs=e=>kt((()=>(e=>oe(e,Je,gt))(e)?Ke(e):0)),vs=e=>kt((()=>He(e)?et(e):0)),ks=e=>{try{Ge(de(e))}catch{}return Os},Ts=t=>kt((()=>{if((e=oe(t,(e=>oe(e,ze))))&&(je(t),!Nt(X))){const e=Tt();xs(),Cs(e)}})),Ss=e=>kt((()=>{if(t=(e=>oe(e,ze))(e)){const s=cs();Ms(),qs(),t=!0,We(e),vs(s)}})),xs=()=>kt((()=>Ke({}))),Vs=e=>kt((e=>qt(X,e)?at(e):0),e),Rs=(e,t)=>kt(((e,t)=>q(At(X,e),(s=>qt(s,t)?nt(e,s,t):0))),e,t),qs=()=>kt((()=>et({}))),Ns=()=>kt((()=>{je({}),e=!1})),Ms=()=>kt((()=>{We({}),t=!1})),Ls=(e,t)=>{if(-1!=n){Es();const s=e();return zs(t),s}},Es=()=>(-1!=n&&n++,1==n&&(o[0]?.(),Me(Re,void 0)),Os),zs=e=>(n>0&&(n--,0==n&&(n=1,ft(1),Nt(L)||Ct(1),wt(1),Nt($)||vt(1),e?.(Os)&&(Et(L,((e,t)=>Et(e,((e,s)=>Et(e,(([e],l)=>$e(Os,t,s,l,e))))))),Lt(L),Et($,(([e],t)=>Ae(Os,t,e))),Lt($)),Me(qe[0],void 0),n=-1,ft(0),Nt(L)||Ct(0),wt(0),Nt($)||vt(0),o[1]?.(),Me(qe[1],void 0),o[2]?.(),n=0,s=gs(),a=ws(),Q([c,k,T,x,V,L,A,O,$,J],Lt))),Os),Os={getContent:()=>[Tt(),cs()],getTables:Tt,getTableIds:Mt,getTable:e=>Dt(At(X,S(e))),getTableCellIds:Ut,getRowCount:Xt,getRowIds:Yt,getSortedRowIds:Zt,getRow:(e,t)=>Bt(At(At(X,S(e)),S(t))),getCellIds:ts,getCell:us,getValues:cs,getValueIds:hs,getValue:ms,hasTables:gs,hasTable:bs,hasTableCell:ps,hasRow:Is,hasCell:fs,hasValues:ws,hasValue:ys,getTablesJson:()=>ie(X),getValuesJson:()=>ie(Y),getJson:()=>ie([X,Y]),getTablesSchemaJson:()=>ie(F),getValuesSchemaJson:()=>ie(H),getSchemaJson:()=>ie([F,H]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>kt((()=>{(re(e)?xs:Cs)(e),(re(t)?qs:vs)(t)})),setTables:Cs,setTable:(e,t)=>kt((e=>Je(t,e)?Ue(e,t):0),e),setRow:(e,t,s)=>kt(((e,t)=>Fe(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let l;return Fe(e,l,t)&&(e=S(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>kt(((e,t)=>{if(Fe(e,t,s,1)){const l=lt(e);ne(s,((s,a)=>Ze(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>kt(((e,t,s)=>q(Pe(e,t,s,M(l)?l(us(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>kt((()=>He(e,1)?ne(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>kt((e=>q(Be(e,M(t)?t(ms(e)):t),(t=>tt(e,t)))),e),applyChanges:e=>kt((()=>{ne(e[0],((e,t)=>R(e)?Vs(t):ne(e,((e,s)=>R(e)?Rs(t,s):ne(e,((e,l)=>$e(Os,t,s,l,e))))))),ne(e[1],((e,t)=>Ae(Os,t,e)))})),setTablesJson:ks,setValuesJson:e=>{try{_e(de(e))}catch{}return Os},setJson:e=>kt((()=>{try{const[t,s]=de(e);Ge(t),_e(s)}catch{ks(e)}})),setTablesSchema:Ts,setValuesSchema:Ss,setSchema:(e,t)=>kt((()=>{Ts(e),Ss(t)})),delTables:xs,delTable:Vs,delRow:Rs,delCell:(e,t,s,l)=>kt(((e,t,s)=>q(At(X,e),(a=>q(At(a,t),(n=>qt(n,s)?rt(e,a,t,n,s,l):0))))),e,t,s),delValues:qs,delValue:e=>kt((e=>qt(Y,e)?ot(e):0),e),delTablesSchema:Ns,delValuesSchema:Ms,delSchema:()=>kt((()=>{Ns(),Ms()})),transaction:Ls,startTransaction:Es,getTransactionChanges:()=>[Bt(L,((e,t)=>-1===At(c,t)?void 0:Bt(e,((e,s)=>-1===At(At(x,t),s)?void 0:Bt(e,(([,e])=>e),(e=>os(e)))),Nt,re)),Nt,re),Bt($,(([,e])=>e),(e=>os(e))),1],getTransactionLog:()=>[!Nt(L),!Nt($),Qt(L,rs,os),Qt(A),Bt($,rs,os),Bt(J),Bt(c),Dt(x),Qt(V),Bt(O)],finishTransaction:zs,forEachTable:e=>Et(X,((t,s)=>e(s,(e=>Et(t,((t,s)=>e(s,(e=>Jt(t,e))))))))),forEachTableCell:(e,t)=>Jt(At(U,S(e)),t),forEachRow:(e,t)=>Et(At(X,S(e)),((e,s)=>t(s,(t=>Jt(e,t))))),forEachCell:(e,t,s)=>Jt(At(At(X,S(e)),S(t)),s),forEachValue:e=>Jt(Y,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=Zt(e,t,s,l,a);return Ne((()=>{const r=Zt(e,t,s,l,a);var i,d,u;d=o,z(i=r)===z(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(Os,e,t,s,l,a,o))}),be[r?1:0],[e,t],[Mt])},addStartTransactionListener:e=>Ne(e,Re),addWillFinishTransactionListener:e=>Ne(e,qe[0]),addDidFinishTransactionListener:e=>Ne(e,qe[1]),callListener:e=>(Ee(e),Os),delListener:e=>(Le(e),Os),getListenerStats:()=>({hasTables:as(Z),tables:as(_),tableIds:as(ee),hasTable:as(se),table:as(ue),tableCellIds:as(ce),hasTableCell:as(he,Vt),rowCount:as(me),rowIds:as(ge),sortedRowIds:as(be),hasRow:as(pe,Vt),row:as(Ie,Vt),cellIds:as(fe,Vt),hasCell:as(we,Rt),cell:as(ye,Rt),invalidCell:as(Ce,Rt),hasValues:as(ke),values:as(Te),valueIds:as(Se),hasValue:as(xe),value:as(Ve),invalidValue:as(ve),transaction:xt(Re)+as(qe)}),createStore:ds,addListener:Ne,callListeners:Me,setInternalListeners:(e,t,s,l,a)=>o=[e,t,s,l,a]};return ne({[u+m]:[0,Z,[],()=>[gs()]],[m]:[0,_],[g]:[0,ee],[u+h]:[1,se,[Mt],e=>[bs(...e)]],[h]:[1,ue,[Mt]],[h+w]:[1,ce,[Mt]],[u+h+f]:[2,he,[Mt,Ut],e=>[ps(...e)]],[p]:[1,me,[Mt]],[I]:[1,ge,[Mt]],[u+b]:[2,pe,[Mt,Yt],e=>[Is(...e)]],[b]:[2,Ie,[Mt,Yt]],[w]:[2,fe,[Mt,Yt]],[u+f]:[3,we,[Mt,Yt,ts],e=>[fs(...e)]],[f]:[3,ye,[Mt,Yt,ts],e=>ls(us(...e))],InvalidCell:[3,Ce],[u+C]:[0,ke,[],()=>[ws()]],[C]:[0,Te],[v]:[0,Se],[u+y]:[1,xe,[hs],e=>[ys(...e)]],[y]:[1,Ve,[hs],e=>ls(ms(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],a)=>{Os["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,l)})),te(Os)},us=({position:e="right",open:s=!1})=>{const l=t.useCreateStore(ds),a=he.indexOf(e);return t.useCreatePersister(l,(e=>{return t=ue,s=sessionStorage,((e,t,s,l,a,n,r,o={},i=[])=>{let d,u,c,h=0,m=0,g=0;Pt(Ut,i,(()=>0)),Pt(Xt,i,(()=>[]));const[b,p,I,f,w]=((e,t)=>!e||R(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!re(e)||!re(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!re(e)||!re(t),t.setDefaultContent])(r,e),y=async e=>(2!=h&&(h=1,m++,await v.schedule((async()=>{await e(),h=0}))),v),C=t=>{(b&&L(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v={load:async e=>await y((async()=>{try{C(await t())}catch(t){n?.(t),e&&w(e)}})),startAutoLoad:async e=>(await v.stopAutoLoad().load(e),u=l((async(e,s)=>{const l=s?.();await y((async()=>{try{C(l??e?.()??await t())}catch(e){n?.(e)}}))})),v),stopAutoLoad:()=>(u&&(a(u),u=void 0),v),isAutoLoading:()=>!R(u),save:async e=>(1!=h&&(h=2,g++,await v.schedule((async()=>{try{await s(p,e)}catch(e){n?.(e)}h=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),c=e.addDidFinishTransactionListener((()=>{const e=I();f(e)&&v.save((()=>e))})),v),stopAutoSave:()=>(q(c,e.delListener),c=void 0,v),isAutoSaving:()=>!R(c),schedule:async(...e)=>(G(At(Xt,i),...e),await(async()=>{if(!At(Ut,i)){for(Ft(Ut,i,1);!R(d=K(At(Xt,i)));)try{await d()}catch(e){n?.(e)}Ft(Ut,i,0)}})(),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:g}),...o};return te(v)})(e,(async()=>{return e=s.getItem(t),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return s.setItem(t,(l=e(),JSON.stringify(l,((e,t)=>void 0===t?"":t))));var l}),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>de(l.newValue)))};return Zt.addEventListener(Yt,l),l}),(e=>Zt.removeEventListener(Yt,e)),void 0,!0,{getStorageName:()=>t});var t,s}),void 0,(async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()})),A($,null,A("aside",{id:ue},A(Ee,{s:l}),A(kt,{s:l})),A("style",null,Le))};exports.EditableCellView=nt,exports.EditableValueView=rt,exports.RelationshipInHtmlTable=lt,exports.ResultSortedTableInHtmlTable=at,exports.ResultTableInHtmlTable=({queryId:e,queries:s,customCells:l,...a})=>A(Xe,{...a,params:je(Ue(t.useResultTableCellIds(e,s),l,t.ResultCellView),Ge(s,e),t.useResultRowIds(e,s))}),exports.SliceInHtmlTable=st,exports.SortedTableInHtmlTable=et,exports.SortedTablePaginator=ot,exports.StoreInspector=e=>A(us,{...e}),exports.TableInHtmlTable=({tableId:e,store:s,editable:l,customCells:a,...n})=>A(Xe,{...n,params:je(Ue(t.useTableCellIds(e,s),a,l?nt:t.CellView),We(s,e),t.useRowIds(e,s))}),exports.ValuesInHtmlTable=tt;
Binary file
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,a=l(""),o=l(!0),n=l(0),r="Value",s="currentTarget",i="value",d=isFinite,u=e=>null==e,{PureComponent:m,Fragment:h,createElement:c,useCallback:b,useLayoutEffect:g,useRef:p,useState:w}=e,f=(e,...t)=>u(e)?{}:e(...t),I=(e,t)=>e.map(t),C=Object,y=(e=[])=>C.fromEntries(e),x=(e,t)=>I(C.entries(e),(([e,l])=>t(l,e))),k="tinybaseStoreInspector",v="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",T='content:url("',R=T+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",S='</svg>")',N=T+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",V=I([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>R+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+S)),z=R+"<path d='M20 20l60 60M20 80l60-60' />"+S,$=R+`<path d='${v}' />`+S,M=R+`<path d='${v}M20 20l60 60' />`+S,q="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(x({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[q]:"width:0.5rem;height:0.5rem;",[q+"-track"]:"background:#111",[q+"-thumb"]:"background:#999;border:1px solid #111",[q+"-thumb:hover"]:"background:#fff",[q+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+N,...y(I(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...y(I(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":N,"header>img:nth-of-type(6)":z,...y(I(V,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":$,"details[open]>summary img.done":M,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${k} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${k} ${t}{${e}}`:"")));const H=(e,t,l,o)=>e==a?t:e==n?l:o,{useCallback:O,useMemo:B,useState:F}=e,E="editable",P=(e,l)=>I(t.useTableCellIds(e,l),(t=>e+"."+t)),j=(e,t,l)=>{const a=O(e,t);return l?a:void 0},A=(...e)=>B((()=>e),e),L=(e,t)=>B((()=>({store:e,tableId:t})),[e,t]),D=(e,t)=>B((()=>({queries:e,queryId:t})),[e,t]),G=(e,t=!1,l,a=0,o,n,r,s)=>{const[[i,d,u],m]=F([e,t,a]),h=O((e=>{m(e),s?.(e)}),[s]),b=j((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),g=O((e=>h([i,d,e])),[h,i,d]),p=!0===r?Z:r;return[[i,d,u],b,B((()=>!1===r?null:c(p,{offset:u,limit:o,total:n,onChange:g})),[r,p,u,o,n,g])]},J=(e,t,o)=>B((()=>{const n=t??e;return y(x(Array.isArray(n)?y(I(n,(e=>[e,e]))):n,((e,t)=>{return[t,{label:t,component:o,...(n=e,l(n)==a?{label:e}:e)}];var n})))}),[t,o,e]),K=({className:e,headerRow:t,idColumn:l,params:[a,o,n,r,s,i]})=>c("table",{className:e},i?c("caption",null,i):null,!1===t?null:c("thead",null,c("tr",null,!1===l?null:c(Q,{sort:r??[],label:"Id",onClick:s}),x(a,(({label:e},t)=>c(Q,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),c("tbody",null,I(n,(e=>c("tr",{key:e},!1===l?null:c("th",null,e),x(a,(({component:t,getComponentProps:l},a)=>c("td",{key:a},c(t,{...f(l,e,a),...o,rowId:e,cellId:a}))))))))),Q=({cellId:e,sort:[t,l],label:a=e??"",onClick:o})=>c("th",{onClick:j((()=>o?.(e)),[o,e],o),className:u(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},u(l)||t!=e?null:(l?"↓":"↑")+" ",a),U=({localRowId:l,params:[a,o,n,r,s,i,d]})=>{const m=t.useRemoteRowId(s,l,i);return c("tr",null,!1===a?null:c(e.Fragment,null,c("th",null,l),c("th",null,m)),x(o,(({component:e,getComponentProps:t},a)=>{const[o,s]=a.split(".",2),i=o===n?l:o===r?m:null;return u(i)?null:c("td",{key:a},c(e,{...f(t,i,s),store:d,tableId:o,rowId:i,cellId:s}))})))},W=({thing:e,onThingChange:t,className:r,hasSchema:u,showType:m=!0})=>{const[h,b]=F(),[g,p]=F(),[w,f]=F(),[I,C]=F(),[y,x]=F();g!==e&&(b((e=>{const t=l(e);return(e=>e==a||e==o)(t)||t==n&&d(e)?t:void 0})(e)),p(e),f(e+""),C(Number(e)||0),x(!!e));const k=O(((e,l)=>{l(e),p(e),t(e)}),[t]),v=O((()=>{if(!u?.()){const e=H(h,n,o,a),l=H(e,w,I,y);b(e),p(l),t(l)}}),[u,t,w,I,y,h]);return c("div",{className:r},m?c("button",{className:h,onClick:v},h):null,H(h,c("input",{key:h,value:w,onChange:O((e=>k(e[s][i]+"",f)),[k])}),c("input",{key:h,type:"number",value:I,onChange:O((e=>k(Number(e[s][i]||0),C)),[k])}),c("input",{key:h,type:"checkbox",checked:y,onChange:O((e=>k(!!e[s].checked,x)),[k])})))},X=({tableId:e,rowId:l,cellId:a,store:o,className:n,showType:r})=>c(W,{thing:t.useCell(e,l,a,o),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],o),className:n??E+"Cell",showType:r,hasSchema:t.useStoreOrStoreById(o)?.hasTablesSchema}),Y=({valueId:e,store:l,className:a,showType:o})=>c(W,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??E+r,showType:o,hasSchema:t.useStoreOrStoreById(l)?.hasValuesSchema}),Z=({onChange:t,total:l,offset:a=0,limit:o=l,singular:n="row",plural:r=n+"s"})=>{(a>l||a<0)&&(a=0,t(0));const s=j((()=>t(a-o)),[t,a,o],a>0),i=j((()=>t(a+o)),[t,a,o],a+o<l);return c(e.Fragment,null,l>o&&c(e.Fragment,null,c("button",{className:"previous",disabled:0==a,onClick:s},"←"),c("button",{className:"next",disabled:a+o>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+o)," of "),l," ",1!=l?r:n)},_=e=>new Map(e);_(),_(),exports.EditableCellView=X,exports.EditableValueView=Y,exports.RelationshipInHtmlTable=({relationshipId:l,relationships:a,editable:o,customCells:n,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(a),l),b=J([...P(m,u),...P(h,u)],n,o?X:t.CellView),g=A(i,b,m,h,l,d,u);return c("table",{className:r},!1===s?null:c("thead",null,c("tr",null,!1===i?null:c(e.Fragment,null,c("th",null,m,".Id"),c("th",null,h,".Id")),x(b,(({label:e},t)=>c("th",{key:t},e))))),c("tbody",null,I(t.useRowIds(m,u),(e=>c(U,{key:e,localRowId:e,params:g})))))},exports.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:o,limit:n,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[h,b,g]=G(l,a,s,o,n,t.useResultRowCount(e,r),i,u);return c(K,{...m,params:A(J(t.useResultTableCellIds(e,r),d,t.ResultCellView),D(r,e),t.useResultSortedRowIds(e,...h,n,r),h,b,g)})},exports.ResultTableInHtmlTable=({queryId:e,queries:l,customCells:a,...o})=>c(K,{...o,params:A(J(t.useResultTableCellIds(e,l),a,t.ResultCellView),D(l,e),t.useResultRowIds(e,l))}),exports.SliceInHtmlTable=({indexId:e,sliceId:l,indexes:a,editable:o,customCells:n,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(a),e);return c(K,{...r,params:A(J(t.useTableCellIds(d,i),n,o?X:t.CellView),L(i,d),t.useSliceRowIds(e,l,s))})},exports.SortedTableInHtmlTable=({tableId:e,cellId:l,descending:a,offset:o,limit:n,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...h})=>{const[b,g,p]=G(l,a,i,o,n,t.useRowCount(e,r),d,u);return c(K,{...h,params:A(J(t.useTableCellIds(e,r),m,s?X:t.CellView),L(r,e),t.useSortedRowIds(e,...b,n,r),b,g,p)})},exports.SortedTablePaginator=Z,exports.StoreInspector=e=>null,exports.TableInHtmlTable=({tableId:e,store:l,editable:a,customCells:o,...n})=>c(K,{...n,params:A(J(t.useTableCellIds(e,l),o,a?X:t.CellView),L(l,e),t.useRowIds(e,l))}),exports.ValuesInHtmlTable=({store:e,editable:l=!1,valueComponent:a=(l?Y:t.ValueView),getValueComponentProps:o,className:n,headerRow:s,idColumn:i})=>c("table",{className:n},!1===s?null:c("thead",null,c("tr",null,!1===i?null:c("th",null,"Id"),c("th",null,r))),c("tbody",null,I(t.useValueIds(e),(t=>c("tr",{key:t},!1===i?null:c("th",null,t),c("td",null,c(a,{...f(o,t),valueId:t,store:e})))))));
1
+ "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,a=l(""),o=l(!0),n=l(0),r="Value",s="currentTarget",i="value",d=isFinite,u=e=>null==e,{PureComponent:m,Fragment:h,createElement:c,useCallback:b,useLayoutEffect:g,useRef:p,useState:w}=e,f=(e,...t)=>u(e)?{}:e(...t),I=(e,t)=>e.map(t),C=Object,y=C.entries,x=(e=[])=>C.fromEntries(e),k=(e,t)=>I(y(e),(([e,l])=>t(l,e))),v="tinybaseStoreInspector",T="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",R='content:url("',S=R+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",N='</svg>")',V=R+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",z=I([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>S+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+N)),$=S+"<path d='M20 20l60 60M20 80l60-60' />"+N,M=S+`<path d='${T}' />`+N,q=S+`<path d='${T}M20 20l60 60' />`+N,H="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(k({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[H]:"width:0.5rem;height:0.5rem;",[H+"-track"]:"background:#111",[H+"-thumb"]:"background:#999;border:1px solid #111",[H+"-thumb:hover"]:"background:#fff",[H+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+V,...x(I(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...x(I(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e]))),header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":V,"header>img:nth-of-type(6)":$,...x(I(z,((e,t)=>[`header>img[data-id='${t}']`,e]))),"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":M,"details[open]>summary img.done":q,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${v} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"},((e,t)=>e?`#${v} ${t}{${e}}`:"")));const O=(e,t,l,o)=>e==a?t:e==n?l:o,{useCallback:B,useMemo:F,useState:E}=e,P="editable",j=(e,l)=>I(t.useTableCellIds(e,l),(t=>e+"."+t)),A=(e,t,l)=>{const a=B(e,t);return l?a:void 0},L=(...e)=>F((()=>e),e),D=(e,t)=>F((()=>({store:e,tableId:t})),[e,t]),G=(e,t)=>F((()=>({queries:e,queryId:t})),[e,t]),J=(e,t=!1,l,a=0,o,n,r,s)=>{const[[i,d,u],m]=E([e,t,a]),h=B((e=>{m(e),s?.(e)}),[s]),b=A((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),g=B((e=>h([i,d,e])),[h,i,d]),p=!0===r?_:r;return[[i,d,u],b,F((()=>!1===r?null:c(p,{offset:u,limit:o,total:n,onChange:g})),[r,p,u,o,n,g])]},K=(e,t,o)=>F((()=>{const n=t??e;return r=Array.isArray(n)?x(I(n,(e=>[e,e]))):n,s=(e,t)=>{return{label:t,component:o,...(n=e,l(n)==a?{label:e}:e)};var n},x(k(r,((e,t)=>[t,s(e,t)])));var r,s}),[t,o,e]),Q=({className:e,headerRow:t,idColumn:l,params:[a,o,n,r,s,i]})=>c("table",{className:e},i?c("caption",null,i):null,!1===t?null:c("thead",null,c("tr",null,!1===l?null:c(U,{sort:r??[],label:"Id",onClick:s}),k(a,(({label:e},t)=>c(U,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),c("tbody",null,I(n,(e=>c("tr",{key:e},!1===l?null:c("th",null,e),k(a,(({component:t,getComponentProps:l},a)=>c("td",{key:a},c(t,{...f(l,e,a),...o,rowId:e,cellId:a}))))))))),U=({cellId:e,sort:[t,l],label:a=e??"",onClick:o})=>c("th",{onClick:A((()=>o?.(e)),[o,e],o),className:u(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},u(l)||t!=e?null:(l?"↓":"↑")+" ",a),W=({localRowId:l,params:[a,o,n,r,s,i,d]})=>{const m=t.useRemoteRowId(s,l,i);return c("tr",null,!1===a?null:c(e.Fragment,null,c("th",null,l),c("th",null,m)),k(o,(({component:e,getComponentProps:t},a)=>{const[o,s]=a.split(".",2),i=o===n?l:o===r?m:null;return u(i)?null:c("td",{key:a},c(e,{...f(t,i,s),store:d,tableId:o,rowId:i,cellId:s}))})))},X=({thing:e,onThingChange:t,className:r,hasSchema:u,showType:m=!0})=>{const[h,b]=E(),[g,p]=E(),[w,f]=E(),[I,C]=E(),[y,x]=E();g!==e&&(b((e=>{const t=l(e);return(e=>e==a||e==o)(t)||t==n&&d(e)?t:void 0})(e)),p(e),f(e+""),C(Number(e)||0),x(!!e));const k=B(((e,l)=>{l(e),p(e),t(e)}),[t]),v=B((()=>{if(!u?.()){const e=O(h,n,o,a),l=O(e,w,I,y);b(e),p(l),t(l)}}),[u,t,w,I,y,h]);return c("div",{className:r},m?c("button",{className:h,onClick:v},h):null,O(h,c("input",{key:h,value:w,onChange:B((e=>k(e[s][i]+"",f)),[k])}),c("input",{key:h,type:"number",value:I,onChange:B((e=>k(Number(e[s][i]||0),C)),[k])}),c("input",{key:h,type:"checkbox",checked:y,onChange:B((e=>k(!!e[s].checked,x)),[k])})))},Y=({tableId:e,rowId:l,cellId:a,store:o,className:n,showType:r})=>c(X,{thing:t.useCell(e,l,a,o),onThingChange:t.useSetCellCallback(e,l,a,(e=>e),[],o),className:n??P+"Cell",showType:r,hasSchema:t.useStoreOrStoreById(o)?.hasTablesSchema}),Z=({valueId:e,store:l,className:a,showType:o})=>c(X,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:a??P+r,showType:o,hasSchema:t.useStoreOrStoreById(l)?.hasValuesSchema}),_=({onChange:t,total:l,offset:a=0,limit:o=l,singular:n="row",plural:r=n+"s"})=>{(a>l||a<0)&&(a=0,t(0));const s=A((()=>t(a-o)),[t,a,o],a>0),i=A((()=>t(a+o)),[t,a,o],a+o<l);return c(e.Fragment,null,l>o&&c(e.Fragment,null,c("button",{className:"previous",disabled:0==a,onClick:s},"←"),c("button",{className:"next",disabled:a+o>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+o)," of "),l," ",1!=l?r:n)},ee=e=>new Map(e);ee(),ee(),exports.EditableCellView=Y,exports.EditableValueView=Z,exports.RelationshipInHtmlTable=({relationshipId:l,relationships:a,editable:o,customCells:n,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(a),l),b=K([...j(m,u),...j(h,u)],n,o?Y:t.CellView),g=L(i,b,m,h,l,d,u);return c("table",{className:r},!1===s?null:c("thead",null,c("tr",null,!1===i?null:c(e.Fragment,null,c("th",null,m,".Id"),c("th",null,h,".Id")),k(b,(({label:e},t)=>c("th",{key:t},e))))),c("tbody",null,I(t.useRowIds(m,u),(e=>c(W,{key:e,localRowId:e,params:g})))))},exports.ResultSortedTableInHtmlTable=({queryId:e,cellId:l,descending:a,offset:o,limit:n,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[h,b,g]=J(l,a,s,o,n,t.useResultRowCount(e,r),i,u);return c(Q,{...m,params:L(K(t.useResultTableCellIds(e,r),d,t.ResultCellView),G(r,e),t.useResultSortedRowIds(e,...h,n,r),h,b,g)})},exports.ResultTableInHtmlTable=({queryId:e,queries:l,customCells:a,...o})=>c(Q,{...o,params:L(K(t.useResultTableCellIds(e,l),a,t.ResultCellView),G(l,e),t.useResultRowIds(e,l))}),exports.SliceInHtmlTable=({indexId:e,sliceId:l,indexes:a,editable:o,customCells:n,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(a),e);return c(Q,{...r,params:L(K(t.useTableCellIds(d,i),n,o?Y:t.CellView),D(i,d),t.useSliceRowIds(e,l,s))})},exports.SortedTableInHtmlTable=({tableId:e,cellId:l,descending:a,offset:o,limit:n,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...h})=>{const[b,g,p]=J(l,a,i,o,n,t.useRowCount(e,r),d,u);return c(Q,{...h,params:L(K(t.useTableCellIds(e,r),m,s?Y:t.CellView),D(r,e),t.useSortedRowIds(e,...b,n,r),b,g,p)})},exports.SortedTablePaginator=_,exports.StoreInspector=e=>null,exports.TableInHtmlTable=({tableId:e,store:l,editable:a,customCells:o,...n})=>c(Q,{...n,params:L(K(t.useTableCellIds(e,l),o,a?Y:t.CellView),D(l,e),t.useRowIds(e,l))}),exports.ValuesInHtmlTable=({store:e,editable:l=!1,valueComponent:a=(l?Z:t.ValueView),getValueComponentProps:o,className:n,headerRow:s,idColumn:i})=>c("table",{className:n},!1===s?null:c("thead",null,c("tr",null,!1===i?null:c("th",null,"Id"),c("th",null,r))),c("tbody",null,I(t.useValueIds(e),(t=>c("tr",{key:t},!1===i?null:c("th",null,t),c("td",null,c(a,{...f(o,t),valueId:t,store:e})))))));
Binary file