tinybase 5.0.0-beta.0 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) 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-cr-sqlite-wasm.cjs +1 -1
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  17. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  23. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  25. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  29. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  30. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  31. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  32. package/lib/cjs/queries.cjs +1 -1
  33. package/lib/cjs/queries.cjs.gz +0 -0
  34. package/lib/cjs/relationships.cjs +1 -1
  35. package/lib/cjs/relationships.cjs.gz +0 -0
  36. package/lib/cjs/store.cjs +1 -1
  37. package/lib/cjs/store.cjs.gz +0 -0
  38. package/lib/cjs/tinybase.cjs +1 -1
  39. package/lib/cjs/tinybase.cjs.gz +0 -0
  40. package/lib/cjs/tools.cjs +1 -1
  41. package/lib/cjs/tools.cjs.gz +0 -0
  42. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  43. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  44. package/lib/cjs/ui-react-dom.cjs +1 -1
  45. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  46. package/lib/cjs/ui-react.cjs +1 -1
  47. package/lib/cjs/ui-react.cjs.gz +0 -0
  48. package/lib/cjs-es6/checkpoints.cjs +1 -1
  49. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  50. package/lib/cjs-es6/indexes.cjs +1 -1
  51. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  52. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  53. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  54. package/lib/cjs-es6/metrics.cjs +1 -1
  55. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  56. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  57. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  58. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  59. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  60. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  61. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  65. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  66. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  67. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  68. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  69. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  70. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  71. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  72. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  73. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  74. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  75. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  76. package/lib/cjs-es6/queries.cjs +1 -1
  77. package/lib/cjs-es6/queries.cjs.gz +0 -0
  78. package/lib/cjs-es6/relationships.cjs +1 -1
  79. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  80. package/lib/cjs-es6/store.cjs +1 -1
  81. package/lib/cjs-es6/store.cjs.gz +0 -0
  82. package/lib/cjs-es6/tinybase.cjs +1 -1
  83. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  84. package/lib/cjs-es6/tools.cjs +1 -1
  85. package/lib/cjs-es6/tools.cjs.gz +0 -0
  86. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  87. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  88. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  89. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  90. package/lib/cjs-es6/ui-react.cjs +1 -1
  91. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  92. package/lib/debug/checkpoints.js +251 -234
  93. package/lib/debug/indexes.js +7 -5
  94. package/lib/debug/mergeable-store.js +1892 -0
  95. package/lib/debug/metrics.js +7 -5
  96. package/lib/debug/persisters/persister-automerge.js +15 -11
  97. package/lib/debug/persisters/persister-browser.js +1 -0
  98. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +16 -12
  99. package/lib/debug/persisters/persister-electric-sql.js +17 -12
  100. package/lib/debug/persisters/persister-expo-sqlite-next.js +17 -13
  101. package/lib/debug/persisters/persister-expo-sqlite.js +16 -12
  102. package/lib/debug/persisters/persister-file.js +1 -0
  103. package/lib/debug/persisters/persister-indexed-db.js +10 -4
  104. package/lib/debug/persisters/persister-partykit-client.js +1 -0
  105. package/lib/debug/persisters/persister-partykit-server.js +7 -6
  106. package/lib/debug/persisters/persister-remote.js +1 -0
  107. package/lib/debug/persisters/persister-sqlite-wasm.js +16 -12
  108. package/lib/debug/persisters/persister-sqlite3.js +16 -12
  109. package/lib/debug/persisters/persister-yjs.js +9 -7
  110. package/lib/debug/persisters.js +1 -0
  111. package/lib/debug/queries.js +11 -8
  112. package/lib/debug/relationships.js +7 -5
  113. package/lib/debug/store.js +23 -11
  114. package/lib/debug/tinybase.js +554 -246
  115. package/lib/debug/tools.js +23 -47
  116. package/lib/debug/ui-react-dom.js +51 -40
  117. package/lib/debug/ui-react.js +166 -200
  118. package/lib/es6/checkpoints.js +1 -1
  119. package/lib/es6/checkpoints.js.gz +0 -0
  120. package/lib/es6/indexes.js +1 -1
  121. package/lib/es6/indexes.js.gz +0 -0
  122. package/lib/es6/mergeable-store.js +1 -0
  123. package/lib/es6/mergeable-store.js.gz +0 -0
  124. package/lib/es6/metrics.js +1 -1
  125. package/lib/es6/metrics.js.gz +0 -0
  126. package/lib/es6/persisters/persister-automerge.js +1 -1
  127. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  128. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  129. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  130. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  131. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  132. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  133. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  134. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  135. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  136. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  137. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  138. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  139. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  140. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  141. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  144. package/lib/es6/persisters/persister-yjs.js +1 -1
  145. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  146. package/lib/es6/queries.js +1 -1
  147. package/lib/es6/queries.js.gz +0 -0
  148. package/lib/es6/relationships.js +1 -1
  149. package/lib/es6/relationships.js.gz +0 -0
  150. package/lib/es6/store.js +1 -1
  151. package/lib/es6/store.js.gz +0 -0
  152. package/lib/es6/tinybase.js +1 -1
  153. package/lib/es6/tinybase.js.gz +0 -0
  154. package/lib/es6/tools.js +1 -1
  155. package/lib/es6/tools.js.gz +0 -0
  156. package/lib/es6/ui-react-dom-debug.js +1 -1
  157. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  158. package/lib/es6/ui-react-dom.js +1 -1
  159. package/lib/es6/ui-react-dom.js.gz +0 -0
  160. package/lib/es6/ui-react.js +1 -1
  161. package/lib/es6/ui-react.js.gz +0 -0
  162. package/lib/indexes.js +1 -1
  163. package/lib/indexes.js.gz +0 -0
  164. package/lib/mergeable-store.js +1 -0
  165. package/lib/mergeable-store.js.gz +0 -0
  166. package/lib/metrics.js +1 -1
  167. package/lib/metrics.js.gz +0 -0
  168. package/lib/persisters/persister-automerge.js +1 -1
  169. package/lib/persisters/persister-automerge.js.gz +0 -0
  170. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  171. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  172. package/lib/persisters/persister-electric-sql.js +1 -1
  173. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  176. package/lib/persisters/persister-expo-sqlite.js +1 -1
  177. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-partykit-server.js +1 -1
  181. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  182. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  183. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  184. package/lib/persisters/persister-sqlite3.js +1 -1
  185. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  186. package/lib/persisters/persister-yjs.js +1 -1
  187. package/lib/persisters/persister-yjs.js.gz +0 -0
  188. package/lib/queries.js +1 -1
  189. package/lib/queries.js.gz +0 -0
  190. package/lib/relationships.js +1 -1
  191. package/lib/relationships.js.gz +0 -0
  192. package/lib/store.js +1 -1
  193. package/lib/store.js.gz +0 -0
  194. package/lib/tinybase.js +1 -1
  195. package/lib/tinybase.js.gz +0 -0
  196. package/lib/tools.js +1 -1
  197. package/lib/tools.js.gz +0 -0
  198. package/lib/types/mergeable-store.d.ts +55 -0
  199. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  200. package/lib/types/persisters/persister-browser.d.ts +2 -0
  201. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  202. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  203. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +4 -3
  204. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  205. package/lib/types/persisters/persister-file.d.ts +1 -0
  206. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  207. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  208. package/lib/types/persisters/persister-partykit-server.d.ts +5 -0
  209. package/lib/types/persisters/persister-remote.d.ts +1 -0
  210. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  211. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  212. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  213. package/lib/types/persisters.d.ts +3 -3
  214. package/lib/types/store.d.ts +90 -77
  215. package/lib/types/tinybase.d.ts +1 -0
  216. package/lib/types/ui-react.d.ts +78 -88
  217. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  218. package/lib/types/with-schemas/internal/store.d.ts +8 -3
  219. package/lib/types/with-schemas/mergeable-store.d.ts +85 -0
  220. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  221. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  222. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  223. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  224. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +5 -4
  225. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  226. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  227. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  228. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  229. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +5 -0
  230. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  231. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  232. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  233. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  234. package/lib/types/with-schemas/persisters.d.ts +3 -3
  235. package/lib/types/with-schemas/store.d.ts +203 -141
  236. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  237. package/lib/types/with-schemas/ui-react.d.ts +84 -95
  238. package/lib/ui-react-dom.js +1 -1
  239. package/lib/ui-react-dom.js.gz +0 -0
  240. package/lib/ui-react.js +1 -1
  241. package/lib/ui-react.js.gz +0 -0
  242. package/lib/umd/checkpoints.js +1 -1
  243. package/lib/umd/checkpoints.js.gz +0 -0
  244. package/lib/umd/indexes.js +1 -1
  245. package/lib/umd/indexes.js.gz +0 -0
  246. package/lib/umd/mergeable-store.js +1 -0
  247. package/lib/umd/mergeable-store.js.gz +0 -0
  248. package/lib/umd/metrics.js +1 -1
  249. package/lib/umd/metrics.js.gz +0 -0
  250. package/lib/umd/persisters/persister-automerge.js +1 -1
  251. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  252. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  253. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  254. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  255. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  256. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  257. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  258. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  259. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  260. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  261. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  262. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  263. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  264. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  265. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  266. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  267. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  268. package/lib/umd/persisters/persister-yjs.js +1 -1
  269. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  270. package/lib/umd/queries.js +1 -1
  271. package/lib/umd/queries.js.gz +0 -0
  272. package/lib/umd/relationships.js +1 -1
  273. package/lib/umd/relationships.js.gz +0 -0
  274. package/lib/umd/store.js +1 -1
  275. package/lib/umd/store.js.gz +0 -0
  276. package/lib/umd/tinybase.js +1 -1
  277. package/lib/umd/tinybase.js.gz +0 -0
  278. package/lib/umd/tools.js +1 -1
  279. package/lib/umd/tools.js.gz +0 -0
  280. package/lib/umd/ui-react-dom-debug.js +1 -1
  281. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  282. package/lib/umd/ui-react-dom.js +1 -1
  283. package/lib/umd/ui-react-dom.js.gz +0 -0
  284. package/lib/umd/ui-react.js +1 -1
  285. package/lib/umd/ui-react.js.gz +0 -0
  286. package/lib/umd-es6/checkpoints.js +1 -1
  287. package/lib/umd-es6/checkpoints.js.gz +0 -0
  288. package/lib/umd-es6/indexes.js +1 -1
  289. package/lib/umd-es6/indexes.js.gz +0 -0
  290. package/lib/umd-es6/mergeable-store.js +1 -0
  291. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  292. package/lib/umd-es6/metrics.js +1 -1
  293. package/lib/umd-es6/metrics.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  295. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  297. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  299. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  300. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  301. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  302. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  303. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  304. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  305. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  306. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  307. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  309. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  311. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  313. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  314. package/lib/umd-es6/queries.js +1 -1
  315. package/lib/umd-es6/queries.js.gz +0 -0
  316. package/lib/umd-es6/relationships.js +1 -1
  317. package/lib/umd-es6/relationships.js.gz +0 -0
  318. package/lib/umd-es6/store.js +1 -1
  319. package/lib/umd-es6/store.js.gz +0 -0
  320. package/lib/umd-es6/tinybase.js +1 -1
  321. package/lib/umd-es6/tinybase.js.gz +0 -0
  322. package/lib/umd-es6/tools.js +1 -1
  323. package/lib/umd-es6/tools.js.gz +0 -0
  324. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  325. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  326. package/lib/umd-es6/ui-react-dom.js +1 -1
  327. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  328. package/lib/umd-es6/ui-react.js +1 -1
  329. package/lib/umd-es6/ui-react.js.gz +0 -0
  330. package/package.json +37 -37
  331. package/readme.md +2 -2
@@ -10,4 +10,5 @@ export * from './metrics.d';
10
10
  export * from './persisters.d';
11
11
  export * from './queries.d';
12
12
  export * from './relationships.d';
13
+ export * from './mergeable-store.d';
13
14
  export * from './store.d';
@@ -301,9 +301,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
301
301
  *
302
302
  * It is possible to create a Store outside of the React app with the regular
303
303
  * createStore function and pass it in, but you may prefer to create it within
304
- * the app, perhaps inside the top-level component. To defend against a new
305
- * Store being created every time the app renders or re-renders, the
306
- * useCreateStore hook wraps the creation in a memoization.
304
+ * the app, perhaps inside the top-level component. To prevent a new Store being
305
+ * created every time the app renders or re-renders, the useCreateStore hook
306
+ * wraps the creation in a memoization.
307
307
  *
308
308
  * The useCreateStore hook is a very thin wrapper around the React `useMemo`
309
309
  * hook, defaulting to an empty array for its dependencies, so that by default,
@@ -2830,8 +2830,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2830
2830
  * specify `reuseRowIds` to be `false`, then the Id will be a monotonically
2831
2831
  * increasing string representation of an increasing integer, regardless of any
2832
2832
  * you may have previously deleted.
2833
- * @param tableId The Id of the Table in the Store, or a GetId function
2834
- * that will return it.
2833
+ * @param tableId The Id of the Table in the Store, or a GetId function that
2834
+ * will return it.
2835
2835
  * @param getRow A function which returns the Row object that will be used to
2836
2836
  * update the Store, based on the parameter the callback will receive (and which
2837
2837
  * is most likely a DOM event).
@@ -4199,8 +4199,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
4199
4199
  * dependencies) or the component unmounts, the listener on the underlying Store
4200
4200
  * will be deleted.
4201
4201
  * @param tableId The Id of the Table to listen to, or `null` as a wildcard.
4202
- * @param listener The function that will be called whenever the matching
4203
- * Table is added or removed.
4202
+ * @param listener The function that will be called whenever the matching Table
4203
+ * is added or removed.
4204
4204
  * @param listenerDeps An optional array of dependencies for the `listener`
4205
4205
  * function, which, if any change, result in the re-registration of the
4206
4206
  * listener. This parameter defaults to an empty array.
@@ -4805,8 +4805,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
4805
4805
  * more easily done with the useHasRow hook).
4806
4806
  *
4807
4807
  * You can either listen to a single Row being added or removed (by specifying
4808
- * the Table Id and Row Id, as the method's first two parameters) or changes
4809
- * to any Row (by providing `null` wildcards).
4808
+ * the Table Id and Row Id, as the method's first two parameters) or changes to
4809
+ * any Row (by providing `null` wildcards).
4810
4810
  *
4811
4811
  * Both, either, or neither of the `tableId` and `rowId` parameters can be
4812
4812
  * wildcarded with `null`. You can listen to a specific Row in a specific Table,
@@ -4819,8 +4819,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
4819
4819
  * the component unmounts, the listener on the underlying Store will be deleted.
4820
4820
  * @param tableId The Id of the Table to listen to, or `null` as a wildcard.
4821
4821
  * @param rowId The Id of the Row to listen to, or `null` as a wildcard.
4822
- * @param listener The function that will be called whenever the matching Row
4823
- * is added or removed.
4822
+ * @param listener The function that will be called whenever the matching Row is
4823
+ * added or removed.
4824
4824
  * @param listenerDeps An optional array of dependencies for the `listener`
4825
4825
  * function, which, if any change, result in the re-registration of the
4826
4826
  * listener. This parameter defaults to an empty array.
@@ -5081,14 +5081,14 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5081
5081
  * own specific listener to do more than simply tracking the value (which is
5082
5082
  * more easily done with the useHasCell hook).
5083
5083
  *
5084
- * You can either listen to a single Cell being added or removed (by
5085
- * specifying the Table Id, Row Id, and Cell Id as the method's first three
5086
- * parameters) or changes to any Cell (by providing `null` wildcards).
5084
+ * You can either listen to a single Cell being added or removed (by specifying
5085
+ * the Table Id, Row Id, and Cell Id as the method's first three parameters) or
5086
+ * changes to any Cell (by providing `null` wildcards).
5087
5087
  *
5088
- * All, some, or none of the `tableId`, `rowId`, and `cellId` parameters can
5089
- * be wildcarded with `null`. You can listen to a specific Cell in a specific
5090
- * Row in a specific Table, any Cell in any Row in any Table, for example - or
5091
- * every other combination of wildcards.
5088
+ * All, some, or none of the `tableId`, `rowId`, and `cellId` parameters can be
5089
+ * wildcarded with `null`. You can listen to a specific Cell in a specific Row
5090
+ * in a specific Table, any Cell in any Row in any Table, for example - or every
5091
+ * other combination of wildcards.
5092
5092
  *
5093
5093
  * Unlike the addHasCellListener method, which returns a listener Id and
5094
5094
  * requires you to remove it manually, the useHasCellListener hook manages this
@@ -5518,8 +5518,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5518
5518
  * dependencies) or the component unmounts, the listener on the underlying Store
5519
5519
  * will be deleted.
5520
5520
  * @param valueId The Id of the Value to listen to, or `null` as a wildcard.
5521
- * @param listener The function that will be called whenever the matching
5522
- * Value is added or removed.
5521
+ * @param listener The function that will be called whenever the matching Value
5522
+ * is added or removed.
5523
5523
  * @param listenerDeps An optional array of dependencies for the `listener`
5524
5524
  * function, which, if any change, result in the re-registration of the
5525
5525
  * listener. This parameter defaults to an empty array.
@@ -5869,18 +5869,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5869
5869
  * store: Store,
5870
5870
  * create: (store: Store) => Metrics,
5871
5871
  * createDeps?: React.DependencyList,
5872
- * ): Metrics;
5872
+ * ): Metrics | undefined;
5873
5873
  * ```
5874
5874
  *
5875
5875
  * It is possible to create a Metrics object outside of the React app with the
5876
5876
  * regular createMetrics function and pass it in, but you may prefer to create
5877
- * it within the app, perhaps inside the top-level component. To defend against
5878
- * a new Metrics object being created every time the app renders or re-renders,
5879
- * the useCreateMetrics hook wraps the creation in a memoization.
5880
- *
5881
- * The useCreateMetrics hook is a very thin wrapper around the React `useMemo`
5882
- * hook, defaulting to the provided Store as its dependency, so that by default,
5883
- * the creation only occurs once per Store.
5877
+ * it within the app, perhaps inside the top-level component. To prevent a new
5878
+ * Metrics object being created every time the app renders or re-renders, since
5879
+ * v5.0 the useCreateMetrics hook performs the creation in an effect. As a
5880
+ * result this hook will return `undefined` on the brief first render, which you
5881
+ * should defend against.
5884
5882
  *
5885
5883
  * If your `create` function contains other dependencies, the changing of which
5886
5884
  * should also cause the Metrics object to be recreated, you can provide them in
@@ -5915,7 +5913,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5915
5913
  * 'species',
5916
5914
  * );
5917
5915
  * });
5918
- * return <span>{metrics.getMetric('speciesCount')}</span>;
5916
+ * return <span>{metrics?.getMetric('speciesCount')}</span>;
5919
5917
  * };
5920
5918
  *
5921
5919
  * const app = document.createElement('div');
@@ -5953,7 +5951,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5953
5951
  * },
5954
5952
  * [tableToCount],
5955
5953
  * );
5956
- * return <span>{metrics.getMetric('tableCount')}</span>;
5954
+ * return <span>{metrics?.getMetric('tableCount')}</span>;
5957
5955
  * };
5958
5956
  *
5959
5957
  * const app = document.createElement('div');
@@ -5976,7 +5974,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
5976
5974
  store: Store<Schemas>,
5977
5975
  create: (store: Store<Schemas>) => Metrics<Schemas>,
5978
5976
  createDeps?: React.DependencyList,
5979
- ) => Metrics<Schemas>;
5977
+ ) => Metrics<Schemas> | undefined;
5980
5978
 
5981
5979
  /**
5982
5980
  * The useMetricsIds hook is used to retrieve the Ids of all the named Metrics
@@ -6401,18 +6399,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
6401
6399
  * store: Store,
6402
6400
  * create: (store: Store) => Indexes,
6403
6401
  * createDeps?: React.DependencyList,
6404
- * ): Indexes;
6402
+ * ): Indexes | undefined;
6405
6403
  * ```
6406
6404
  *
6407
6405
  * It is possible to create an Indexes object outside of the React app with the
6408
6406
  * regular createIndexes function and pass it in, but you may prefer to create
6409
- * it within the app, perhaps inside the top-level component. To defend against
6410
- * a new Indexes object being created every time the app renders or re-renders,
6411
- * the useCreateIndexes hook wraps the creation in a memoization.
6412
- *
6413
- * The useCreateIndexes hook is a very thin wrapper around the React `useMemo`
6414
- * hook, defaulting to the provided Store as its dependency, so that by default,
6415
- * the creation only occurs once per Store.
6407
+ * it within the app, perhaps inside the top-level component. To prevent a new
6408
+ * Indexes object being created every time the app renders or re-renders, since
6409
+ * v5.0 the useCreateIndexes hook performs the creation in an effect. As a
6410
+ * result this hook will return `undefined` on the brief first render, which you
6411
+ * should defend against.
6416
6412
  *
6417
6413
  * If your `create` function contains other dependencies, the changing of which
6418
6414
  * should also cause the Indexes object to be recreated, you can provide them in
@@ -6452,7 +6448,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
6452
6448
  * 'species',
6453
6449
  * );
6454
6450
  * });
6455
- * return <span>{JSON.stringify(indexes.getSliceIds('bySpecies'))}</span>;
6451
+ * return <span>{JSON.stringify(indexes?.getSliceIds('bySpecies'))}</span>;
6456
6452
  * };
6457
6453
  *
6458
6454
  * const app = document.createElement('div');
@@ -6493,7 +6489,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
6493
6489
  * },
6494
6490
  * [cellToIndex],
6495
6491
  * );
6496
- * return <span>{JSON.stringify(indexes.getSliceIds('byCell'))}</span>;
6492
+ * return <span>{JSON.stringify(indexes?.getSliceIds('byCell'))}</span>;
6497
6493
  * };
6498
6494
  *
6499
6495
  * const app = document.createElement('div');
@@ -6516,7 +6512,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
6516
6512
  store: Store<Schemas>,
6517
6513
  create: (store: Store<Schemas>) => Indexes<Schemas>,
6518
6514
  createDeps?: React.DependencyList,
6519
- ) => Indexes<Schemas>;
6515
+ ) => Indexes<Schemas> | undefined;
6520
6516
 
6521
6517
  /**
6522
6518
  * The useIndexesIds hook is used to retrieve the Ids of all the named Indexes
@@ -7160,19 +7156,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
7160
7156
  * store: Store,
7161
7157
  * create: (store: Store) => Relationships,
7162
7158
  * createDeps?: React.DependencyList,
7163
- * ): Relationships;
7159
+ * ): Relationships | undefined;
7164
7160
  * ```
7165
7161
  *
7166
7162
  * It is possible to create a Relationships object outside of the React app with
7167
7163
  * the regular createRelationships function and pass it in, but you may prefer
7168
7164
  * to create it within the app, perhaps inside the top-level component. To
7169
- * defend against a new Relationships object being created every time the app
7170
- * renders or re-renders, the useCreateRelationships hook wraps the creation in
7171
- * a memoization.
7172
- *
7173
- * The useCreateRelationships hook is a very thin wrapper around the React
7174
- * `useMemo` hook, defaulting to the provided Store as its dependency, so that
7175
- * by default, the creation only occurs once per Store.
7165
+ * prevent a new Relationships object being created every time the app renders
7166
+ * or re-renders, since v5.0 the useCreateRelationships hook performs the
7167
+ * creation in an effect. As a result this hook will return `undefined` on the
7168
+ * brief first render, which you should defend against.
7176
7169
  *
7177
7170
  * If your `create` function contains other dependencies, the changing of which
7178
7171
  * should also cause the Relationships object to be recreated, you can provide
@@ -7214,7 +7207,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
7214
7207
  * 'species',
7215
7208
  * );
7216
7209
  * });
7217
- * return <span>{relationships.getRemoteRowId('petSpecies', 'fido')}</span>;
7210
+ * return (
7211
+ * <span>{relationships?.getRemoteRowId('petSpecies', 'fido')}</span>
7212
+ * );
7218
7213
  * };
7219
7214
  *
7220
7215
  * const app = document.createElement('div');
@@ -7260,7 +7255,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
7260
7255
  * },
7261
7256
  * [remoteTableAndCellToLink],
7262
7257
  * );
7263
- * return <span>{relationships.getRemoteRowId('cellLinked', 'fido')}</span>;
7258
+ * return (
7259
+ * <span>{relationships?.getRemoteRowId('cellLinked', 'fido')}</span>
7260
+ * );
7264
7261
  * };
7265
7262
  *
7266
7263
  * const app = document.createElement('div');
@@ -7283,7 +7280,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
7283
7280
  store: Store<Schemas>,
7284
7281
  create: (store: Store<Schemas>) => Relationships<Schemas>,
7285
7282
  createDeps?: React.DependencyList,
7286
- ) => Relationships<Schemas>;
7283
+ ) => Relationships<Schemas> | undefined;
7287
7284
 
7288
7285
  /**
7289
7286
  * The useRelationshipsIds hook is used to retrieve the Ids of all the named
@@ -8222,18 +8219,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
8222
8219
  * store: Store,
8223
8220
  * create: (store: Store) => Queries,
8224
8221
  * createDeps?: React.DependencyList,
8225
- * ): Queries;
8222
+ * ): Queries | undefined;
8226
8223
  * ```
8227
8224
  *
8228
8225
  * It is possible to create a Queries object outside of the React app with the
8229
8226
  * regular createQueries function and pass it in, but you may prefer to create
8230
- * it within the app, perhaps inside the top-level component. To defend against
8231
- * a new Queries object being created every time the app renders or re-renders,
8232
- * the useCreateQueries hook wraps the creation in a memoization.
8233
- *
8234
- * The useCreateQueries hook is a very thin wrapper around the React `useMemo`
8235
- * hook, defaulting to the provided Store as its dependency, so that by default,
8236
- * the creation only occurs once per Store.
8227
+ * it within the app, perhaps inside the top-level component. To prevent a new
8228
+ * Queries object being created every time the app renders or re-renders, since
8229
+ * v5.0 the useCreateQueries hook performs the creation in an effect. As a
8230
+ * result this hook will return `undefined` on the brief first render, which you
8231
+ * should defend against.
8237
8232
  *
8238
8233
  * If your `create` function contains other dependencies, the changing of which
8239
8234
  * should also cause the Queries object to be recreated, you can provide them in
@@ -8276,7 +8271,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
8276
8271
  * );
8277
8272
  * });
8278
8273
  * return (
8279
- * <span>{queries.getResultCell('dogColors', 'fido', 'color')}</span>
8274
+ * <span>{queries?.getResultCell('dogColors', 'fido', 'color')}</span>
8280
8275
  * );
8281
8276
  * };
8282
8277
  *
@@ -8318,7 +8313,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
8318
8313
  * );
8319
8314
  * });
8320
8315
  * return (
8321
- * <span>{queries.getResultCell('dogColors', 'fido', 'color')}</span>
8316
+ * <span>{queries?.getResultCell('dogColors', 'fido', 'color')}</span>
8322
8317
  * );
8323
8318
  * };
8324
8319
  *
@@ -8340,7 +8335,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
8340
8335
  store: Store<Schemas>,
8341
8336
  create: (store: Store<Schemas>) => Queries<Schemas>,
8342
8337
  createDeps?: React.DependencyList,
8343
- ) => Queries<Schemas>;
8338
+ ) => Queries<Schemas> | undefined;
8344
8339
 
8345
8340
  /**
8346
8341
  * The useQueriesIds hook is used to retrieve the Ids of all the named Queries
@@ -10432,19 +10427,16 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
10432
10427
  * store: Store,
10433
10428
  * create: (store: Store) => Checkpoints,
10434
10429
  * createDeps?: React.DependencyList,
10435
- * ): Checkpoints;
10430
+ * ): Checkpoints | undefined;
10436
10431
  * ```
10437
10432
  *
10438
10433
  * It is possible to create a Checkpoints object outside of the React app with
10439
10434
  * the regular createCheckpoints function and pass it in, but you may prefer to
10440
- * create it within the app, perhaps inside the top-level component. To defend
10441
- * against a new Checkpoints object being created every time the app renders or
10442
- * re-renders, the useCreateCheckpoints hook wraps the creation in a
10443
- * memoization.
10444
- *
10445
- * The useCreateCheckpoints hook is a very thin wrapper around the React
10446
- * `useMemo` hook, defaulting to the provided Store as its dependency, so that
10447
- * by default, the creation only occurs once per Store.
10435
+ * create it within the app, perhaps inside the top-level component. To prevent
10436
+ * a new Checkpoints object being created every time the app renders or
10437
+ * re-renders, since v5.0 the useCreateMetrics hook performs the creation in an
10438
+ * effect. As a result this hook will return `undefined` on the brief first
10439
+ * render, which you should defend against.
10448
10440
  *
10449
10441
  * If your `create` function contains other dependencies, the changing of which
10450
10442
  * should also cause the Checkpoints object to be recreated, you can provide
@@ -10474,7 +10466,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
10474
10466
  * console.log('Checkpoints created');
10475
10467
  * return createCheckpoints(store).setSize(10);
10476
10468
  * });
10477
- * return <span>{JSON.stringify(checkpoints.getCheckpointIds())}</span>;
10469
+ * return <span>{JSON.stringify(checkpoints?.getCheckpointIds())}</span>;
10478
10470
  * };
10479
10471
  *
10480
10472
  * const app = document.createElement('div');
@@ -10506,7 +10498,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
10506
10498
  * },
10507
10499
  * [size],
10508
10500
  * );
10509
- * return <span>{JSON.stringify(checkpoints.getCheckpointIds())}</span>;
10501
+ * return <span>{JSON.stringify(checkpoints?.getCheckpointIds())}</span>;
10510
10502
  * };
10511
10503
  *
10512
10504
  * const app = document.createElement('div');
@@ -10529,7 +10521,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
10529
10521
  store: Store<Schemas>,
10530
10522
  create: (store: Store<Schemas>) => Checkpoints<Schemas>,
10531
10523
  createDeps?: React.DependencyList,
10532
- ) => Checkpoints<Schemas>;
10524
+ ) => Checkpoints<Schemas> | undefined;
10533
10525
 
10534
10526
  /**
10535
10527
  * The useCheckpointsIds hook is used to retrieve the Ids of all the named
@@ -11487,20 +11479,18 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11487
11479
  * store: Store,
11488
11480
  * create: (store: Store) => PersisterOrUndefined,
11489
11481
  * createDeps?: React.DependencyList,
11490
- * then?: (persister: PersisterOrUndefined) => Promise<void>,
11482
+ * then?: (persister: Persister) => Promise<void>,
11491
11483
  * thenDeps?: React.DependencyList,
11492
- * destroy?: (persister: PersisterOrUndefined) => void,
11484
+ * destroy?: (persister: Persister) => void,
11493
11485
  * destroyDeps?: React.DependencyList,
11494
11486
  * ): PersisterOrUndefined;
11495
11487
  * ```
11496
11488
  *
11497
11489
  * It is possible to create a Persister outside of the React app with the
11498
11490
  * regular createPersister function and pass it in, but you may prefer to create
11499
- * it within the app, perhaps inside the top-level component. To defend against
11500
- * a new Persister being created every time the app renders or re-renders, the
11501
- * useCreatePersister hook wraps the creation in a memoization, and provides a
11502
- * second callback so that you can configure the Persister, once, and
11503
- * asynchronously, when it is created.
11491
+ * it within the app, perhaps inside the top-level component. To prevent a new
11492
+ * Persister being created every time the app renders or re-renders, since v5.0
11493
+ * the useCreateMetrics hook performs the creation in an effect.
11504
11494
  *
11505
11495
  * If your `create` function (the second parameter to the hook) contains
11506
11496
  * dependencies, the changing of which should cause the Persister to be
@@ -11508,19 +11498,18 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11508
11498
  * you would for any React hook with dependencies. The Store passed in as the
11509
11499
  * first parameter of this hook is used as a dependency by default.
11510
11500
  *
11511
- * A second `then` callback can be provided as the fourth parameter. This is
11512
- * called after the creation, and, importantly, can be asynchronous, so that you
11513
- * can configure the Persister with the startAutoLoad method and startAutoSave
11514
- * method, for example. If this callback contains dependencies, the changing of
11515
- * which should cause the Persister to be reconfigured, you can provide them in
11516
- * an array in the fifth parameter. The Persister itself is used as a dependency
11517
- * by default.
11501
+ * A second callback, called `then`, can be provided as the fourth parameter.
11502
+ * This is called after the creation, and, importantly, can be asynchronous, so
11503
+ * that you can configure the Persister with the startAutoLoad method and
11504
+ * startAutoSave method, for example. If this callback contains dependencies,
11505
+ * the changing of which should cause the Persister to be reconfigured, you can
11506
+ * provide them in an array in the fifth parameter. The Persister itself is used
11507
+ * as a dependency by default.
11518
11508
  *
11519
11509
  * Since v4.3.0, the `create` function can return undefined, meaning that you
11520
11510
  * can enable or disable persistence conditionally within this hook. This is
11521
11511
  * useful for applications which might turn on or off their cloud persistence or
11522
- * collaboration features. As a result, the `then` callback may also get passed
11523
- * undefined, which you should handle accordingly.
11512
+ * collaboration features.
11524
11513
  *
11525
11514
  * Since v4.3.19, a `destroy` function can be provided which will be called
11526
11515
  * after an old Persister is destroyed due to a change in the `createDeps`
@@ -11639,8 +11628,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11639
11628
  * // -> '<span>{\"pets\":{\"fido\":{\"species\":\"dog\"}}}</span>'
11640
11629
  *
11641
11630
  * root.render(<App sessionKey="cujoStore" />); // !act
11642
- * // -> 'Persister created for session key cujoStore'
11643
11631
  * // -> 'Persister destroyed for session key fidoStore'
11632
+ * // -> 'Persister created for session key cujoStore'
11644
11633
  *
11645
11634
  * // ... // !act
11646
11635
  * console.log(app.innerHTML);
@@ -11657,9 +11646,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11657
11646
  store: Store<Schemas>,
11658
11647
  create: (store: Store<Schemas>) => PersisterOrUndefined,
11659
11648
  createDeps?: React.DependencyList,
11660
- then?: (persister?: PersisterOrUndefined) => Promise<void>,
11649
+ then?: (persister: Persister<Schemas>) => Promise<void>,
11661
11650
  thenDeps?: React.DependencyList,
11662
- destroy?: (persister: PersisterOrUndefined) => void,
11651
+ destroy?: (persister: Persister<Schemas>) => void,
11663
11652
  destroyDeps?: React.DependencyList,
11664
11653
  ) => PersisterOrUndefined;
11665
11654
 
@@ -1 +1 @@
1
- import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as h,useResultRowCount as u,useResultSortedRowIds as c,useCell as g,useSetCellCallback as p,useStoreOrStoreById as b,useValue as f,useSetValueCallback as w,useRemoteRowId as y,CellView as k,ResultCellView as v}from"./ui-react";const C=e=>typeof e,x=C(""),I=C(!0),N=C(0),z="Value",$="currentTarget",T="value",M=isFinite,S=e=>null==e,{PureComponent:R,Fragment:q,createElement:F,useCallback:P,useLayoutEffect:E,useRef:O,useState:V}=e,j=(e,...t)=>S(e)?{}:e(...t),A=(e,t)=>e.map(t),B=Object,L=(e=[])=>B.fromEntries(e),D=(e,t)=>A(B.entries(e),(([e,l])=>t(l,e))),G="tinybaseStoreInspector",H="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",J='content:url("',K=J+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Q='</svg>")',U=J+"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\")",W=A([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>K+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+Q)),X=K+"<path d='M20 20l60 60M20 80l60-60' />"+Q,Y=K+`<path d='${H}' />`+Q,Z=K+`<path d='${H}M20 20l60 60' />`+Q,_="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(D({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[_]:"width:0.5rem;height:0.5rem;",[_+"-track"]:"background:#111",[_+"-thumb"]:"background:#999;border:1px solid #111",[_+"-thumb:hover"]:"background:#fff",[_+"-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;"+U,...L(A(["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;",...L(A(["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)":U,"header>img:nth-of-type(6)":X,...L(A(W,((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":Y,"details[open]>summary img.done":Z,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,#${G} 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?`#${G} ${t}{${e}}`:"")));const ee=(e,t,l,a)=>e==x?t:e==N?l:a,{useCallback:te,useMemo:le,useState:ae}=e,ne="editable",oe=(e,t)=>A(l(e,t),(t=>e+"."+t)),re=(e,t,l)=>{const a=te(e,t);return l?a:void 0},ie=(...e)=>le((()=>e),e),se=(e,t)=>le((()=>({store:e,tableId:t})),[e,t]),de=(e,t)=>le((()=>({queries:e,queryId:t})),[e,t]),me=(e,t=!1,l,a=0,n,o,r,i)=>{const[[s,d,m],h]=ae([e,t,a]),u=te((e=>{h(e),i?.(e)}),[i]),c=re((e=>u([e,e==s&&!d,m])),[u,s,d,m],l),g=te((e=>u([s,d,e])),[u,s,d]),p=!0===r?Ne:r;return[[s,d,m],c,le((()=>!1===r?null:F(p,{offset:m,limit:n,total:o,onChange:g})),[r,p,m,n,o,g])]},he=(e,t,l)=>le((()=>{const a=t??e;return L(D(Array.isArray(a)?L(A(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:l,...(a=e,C(a)==x?{label:e}:e)}];var a})))}),[t,l,e]),ue=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,i,s]})=>F("table",{className:e},s?F("caption",null,s):null,!1===t?null:F("thead",null,F("tr",null,!1===l?null:F(ce,{sort:r??[],label:"Id",onClick:i}),D(a,(({label:e},t)=>F(ce,{key:t,cellId:t,label:e,sort:r??[],onClick:i}))))),F("tbody",null,A(o,(e=>F("tr",{key:e},!1===l?null:F("th",null,e),D(a,(({component:t,getComponentProps:l},a)=>F("td",{key:a},F(t,{...j(l,e,a),...n,rowId:e,cellId:a}))))))))),ce=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>F("th",{onClick:re((()=>n?.(e)),[n,e],n),className:S(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},S(l)||t!=e?null:(l?"↓":"↑")+" ",a),ge=({localRowId:t,params:[l,a,n,o,r,i,s]})=>{const d=y(r,t,i);return F("tr",null,!1===l?null:F(e.Fragment,null,F("th",null,t),F("th",null,d)),D(a,(({component:e,getComponentProps:l},a)=>{const[r,i]=a.split(".",2),m=r===n?t:r===o?d:null;return S(m)?null:F("td",{key:a},F(e,{...j(l,m,i),store:s,tableId:r,rowId:m,cellId:i}))})))},pe=({thing:e,onThingChange:t,className:l,hasSchema:a,showType:n=!0})=>{const[o,r]=ae(),[i,s]=ae(),[d,m]=ae(),[h,u]=ae(),[c,g]=ae();i!==e&&(r((e=>{const t=C(e);return(e=>e==x||e==I)(t)||t==N&&M(e)?t:void 0})(e)),s(e),m(e+""),u(Number(e)||0),g(!!e));const p=te(((e,l)=>{l(e),s(e),t(e)}),[t]),b=te((()=>{if(!a?.()){const e=ee(o,N,I,x),l=ee(e,d,h,c);r(e),s(l),t(l)}}),[a,t,d,h,c,o]);return F("div",{className:l},n?F("button",{className:o,onClick:b},o):null,ee(o,F("input",{key:o,value:d,onChange:te((e=>p(e[$][T]+"",m)),[p])}),F("input",{key:o,type:"number",value:h,onChange:te((e=>p(Number(e[$][T]||0),u)),[p])}),F("input",{key:o,type:"checkbox",checked:c,onChange:te((e=>p(!!e[$].checked,g)),[p])})))},be=({tableId:e,store:a,editable:n,customCells:o,...r})=>F(ue,{...r,params:ie(he(l(e,a),o,n?xe:k),se(a,e),t(e,a))}),fe=({tableId:e,cellId:t,descending:o,offset:r,limit:i,store:s,editable:d,sortOnClick:m,paginator:h=!1,onChange:u,customCells:c,...g})=>{const[p,b,f]=me(t,o,m,r,i,a(e,s),h,u);return F(ue,{...g,params:ie(he(l(e,s),c,d?xe:k),se(s,e),n(e,...p,i,s),p,b,f)})},we=({store:e,editable:t=!1,valueComponent:l=(t?Ie:r),getValueComponentProps:a,className:n,headerRow:i,idColumn:s})=>F("table",{className:n},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F("th",null,"Id"),F("th",null,z))),F("tbody",null,A(o(e),(t=>F("tr",{key:t},!1===s?null:F("th",null,t),F("td",null,F(l,{...j(a,t),valueId:t,store:e}))))))),ye=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[d,m,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(i(a),e);return F(ue,{...r,params:ie(he(l(h,m),o,n?xe:k),se(m,h),s(e,t,d))})},ke=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:i,idColumn:s=!0})=>{const[m,h,u,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(d(a),l),g=he([...oe(u,h),...oe(c,h)],o,n?xe:k),p=ie(s,g,u,c,l,m,h);return F("table",{className:r},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F(e.Fragment,null,F("th",null,u,".Id"),F("th",null,c,".Id")),D(g,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,A(t(u,h),(e=>F(ge,{key:e,localRowId:e,params:p})))))},ve=({queryId:e,queries:t,customCells:l,...a})=>F(ue,{...a,params:ie(he(h(e,t),l,v),de(t,e),m(e,t))}),Ce=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:s,onChange:d,...m})=>{const[g,p,b]=me(t,l,r,a,n,u(e,o),i,d);return F(ue,{...m,params:ie(he(h(e,o),s,v),de(o,e),c(e,...g,n,o),g,p,b)})},xe=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(pe,{thing:g(e,t,l,a),onThingChange:p(e,t,l,(e=>e),[],a),className:n??ne+"Cell",showType:o,hasSchema:b(a)?.hasTablesSchema}),Ie=({valueId:e,store:t,className:l,showType:a})=>F(pe,{thing:f(e,t),onThingChange:w(e,(e=>e),[],t),className:l??ne+z,showType:a,hasSchema:b(t)?.hasValuesSchema}),Ne=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const i=re((()=>t(a-n)),[t,a,n],a>0),s=re((()=>t(a+n)),[t,a,n],a+n<l);return F(e.Fragment,null,l>n&&F(e.Fragment,null,F("button",{className:"previous",disabled:0==a,onClick:i},"←"),F("button",{className:"next",disabled:a+n>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},ze=e=>new Map(e);ze(),ze();const $e=e=>null;export{xe as EditableCellView,Ie as EditableValueView,ke as RelationshipInHtmlTable,Ce as ResultSortedTableInHtmlTable,ve as ResultTableInHtmlTable,ye as SliceInHtmlTable,fe as SortedTableInHtmlTable,Ne as SortedTablePaginator,$e as StoreInspector,be as TableInHtmlTable,we as ValuesInHtmlTable};
1
+ import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as h,useResultRowCount as u,useResultSortedRowIds as c,useCell as g,useSetCellCallback as p,useStoreOrStoreById as b,useValue as f,useSetValueCallback as w,useRemoteRowId as y,CellView as v,ResultCellView as k}from"./ui-react";const C=e=>typeof e,x=C(""),I=C(!0),N=C(0),z="Value",$="currentTarget",T="value",M=isFinite,S=e=>null==e,{PureComponent:R,Fragment:q,createElement:F,useCallback:P,useLayoutEffect:E,useRef:O,useState:V}=e,j=(e,...t)=>S(e)?{}:e(...t),A=(e,t)=>e.map(t),B=Object,L=B.entries,D=(e=[])=>B.fromEntries(e),G=(e,t)=>A(L(e),(([e,l])=>t(l,e))),H="tinybaseStoreInspector",J="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",K='content:url("',Q=K+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",U='</svg>")',W=K+"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\")",X=A([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>Q+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+U)),Y=Q+"<path d='M20 20l60 60M20 80l60-60' />"+U,Z=Q+`<path d='${J}' />`+U,_=Q+`<path d='${J}M20 20l60 60' />`+U,ee="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(G({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ee]:"width:0.5rem;height:0.5rem;",[ee+"-track"]:"background:#111",[ee+"-thumb"]:"background:#999;border:1px solid #111",[ee+"-thumb:hover"]:"background:#fff",[ee+"-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;"+W,...D(A(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e]))),main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;",...D(A(["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)":W,"header>img:nth-of-type(6)":Y,...D(A(X,((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":Z,"details[open]>summary img.done":_,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,#${H} 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?`#${H} ${t}{${e}}`:"")));const te=(e,t,l,a)=>e==x?t:e==N?l:a,{useCallback:le,useMemo:ae,useState:ne}=e,oe="editable",re=(e,t)=>A(l(e,t),(t=>e+"."+t)),ie=(e,t,l)=>{const a=le(e,t);return l?a:void 0},se=(...e)=>ae((()=>e),e),de=(e,t)=>ae((()=>({store:e,tableId:t})),[e,t]),me=(e,t)=>ae((()=>({queries:e,queryId:t})),[e,t]),he=(e,t=!1,l,a=0,n,o,r,i)=>{const[[s,d,m],h]=ne([e,t,a]),u=le((e=>{h(e),i?.(e)}),[i]),c=ie((e=>u([e,e==s&&!d,m])),[u,s,d,m],l),g=le((e=>u([s,d,e])),[u,s,d]),p=!0===r?ze:r;return[[s,d,m],c,ae((()=>!1===r?null:F(p,{offset:m,limit:n,total:o,onChange:g})),[r,p,m,n,o,g])]},ue=(e,t,l)=>ae((()=>{const a=t??e;return n=Array.isArray(a)?D(A(a,(e=>[e,e]))):a,o=(e,t)=>{return{label:t,component:l,...(a=e,C(a)==x?{label:e}:e)};var a},D(G(n,((e,t)=>[t,o(e,t)])));var n,o}),[t,l,e]),ce=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,i,s]})=>F("table",{className:e},s?F("caption",null,s):null,!1===t?null:F("thead",null,F("tr",null,!1===l?null:F(ge,{sort:r??[],label:"Id",onClick:i}),G(a,(({label:e},t)=>F(ge,{key:t,cellId:t,label:e,sort:r??[],onClick:i}))))),F("tbody",null,A(o,(e=>F("tr",{key:e},!1===l?null:F("th",null,e),G(a,(({component:t,getComponentProps:l},a)=>F("td",{key:a},F(t,{...j(l,e,a),...n,rowId:e,cellId:a}))))))))),ge=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>F("th",{onClick:ie((()=>n?.(e)),[n,e],n),className:S(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},S(l)||t!=e?null:(l?"↓":"↑")+" ",a),pe=({localRowId:t,params:[l,a,n,o,r,i,s]})=>{const d=y(r,t,i);return F("tr",null,!1===l?null:F(e.Fragment,null,F("th",null,t),F("th",null,d)),G(a,(({component:e,getComponentProps:l},a)=>{const[r,i]=a.split(".",2),m=r===n?t:r===o?d:null;return S(m)?null:F("td",{key:a},F(e,{...j(l,m,i),store:s,tableId:r,rowId:m,cellId:i}))})))},be=({thing:e,onThingChange:t,className:l,hasSchema:a,showType:n=!0})=>{const[o,r]=ne(),[i,s]=ne(),[d,m]=ne(),[h,u]=ne(),[c,g]=ne();i!==e&&(r((e=>{const t=C(e);return(e=>e==x||e==I)(t)||t==N&&M(e)?t:void 0})(e)),s(e),m(e+""),u(Number(e)||0),g(!!e));const p=le(((e,l)=>{l(e),s(e),t(e)}),[t]),b=le((()=>{if(!a?.()){const e=te(o,N,I,x),l=te(e,d,h,c);r(e),s(l),t(l)}}),[a,t,d,h,c,o]);return F("div",{className:l},n?F("button",{className:o,onClick:b},o):null,te(o,F("input",{key:o,value:d,onChange:le((e=>p(e[$][T]+"",m)),[p])}),F("input",{key:o,type:"number",value:h,onChange:le((e=>p(Number(e[$][T]||0),u)),[p])}),F("input",{key:o,type:"checkbox",checked:c,onChange:le((e=>p(!!e[$].checked,g)),[p])})))},fe=({tableId:e,store:a,editable:n,customCells:o,...r})=>F(ce,{...r,params:se(ue(l(e,a),o,n?Ie:v),de(a,e),t(e,a))}),we=({tableId:e,cellId:t,descending:o,offset:r,limit:i,store:s,editable:d,sortOnClick:m,paginator:h=!1,onChange:u,customCells:c,...g})=>{const[p,b,f]=he(t,o,m,r,i,a(e,s),h,u);return F(ce,{...g,params:se(ue(l(e,s),c,d?Ie:v),de(s,e),n(e,...p,i,s),p,b,f)})},ye=({store:e,editable:t=!1,valueComponent:l=(t?Ne:r),getValueComponentProps:a,className:n,headerRow:i,idColumn:s})=>F("table",{className:n},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F("th",null,"Id"),F("th",null,z))),F("tbody",null,A(o(e),(t=>F("tr",{key:t},!1===s?null:F("th",null,t),F("td",null,F(l,{...j(a,t),valueId:t,store:e}))))))),ve=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[d,m,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(i(a),e);return F(ce,{...r,params:se(ue(l(h,m),o,n?Ie:v),de(m,h),s(e,t,d))})},ke=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:i,idColumn:s=!0})=>{const[m,h,u,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(d(a),l),g=ue([...re(u,h),...re(c,h)],o,n?Ie:v),p=se(s,g,u,c,l,m,h);return F("table",{className:r},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F(e.Fragment,null,F("th",null,u,".Id"),F("th",null,c,".Id")),G(g,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,A(t(u,h),(e=>F(pe,{key:e,localRowId:e,params:p})))))},Ce=({queryId:e,queries:t,customCells:l,...a})=>F(ce,{...a,params:se(ue(h(e,t),l,k),me(t,e),m(e,t))}),xe=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:s,onChange:d,...m})=>{const[g,p,b]=he(t,l,r,a,n,u(e,o),i,d);return F(ce,{...m,params:se(ue(h(e,o),s,k),me(o,e),c(e,...g,n,o),g,p,b)})},Ie=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(be,{thing:g(e,t,l,a),onThingChange:p(e,t,l,(e=>e),[],a),className:n??oe+"Cell",showType:o,hasSchema:b(a)?.hasTablesSchema}),Ne=({valueId:e,store:t,className:l,showType:a})=>F(be,{thing:f(e,t),onThingChange:w(e,(e=>e),[],t),className:l??oe+z,showType:a,hasSchema:b(t)?.hasValuesSchema}),ze=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const i=ie((()=>t(a-n)),[t,a,n],a>0),s=ie((()=>t(a+n)),[t,a,n],a+n<l);return F(e.Fragment,null,l>n&&F(e.Fragment,null,F("button",{className:"previous",disabled:0==a,onClick:i},"←"),F("button",{className:"next",disabled:a+n>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},$e=e=>new Map(e);$e(),$e();const Te=e=>null;export{Ie as EditableCellView,Ne as EditableValueView,ke as RelationshipInHtmlTable,xe as ResultSortedTableInHtmlTable,Ce as ResultTableInHtmlTable,ve as SliceInHtmlTable,we as SortedTableInHtmlTable,ze as SortedTablePaginator,Te as StoreInspector,fe as TableInHtmlTable,ye as ValuesInHtmlTable};
Binary file
package/lib/ui-react.js CHANGED
@@ -1 +1 @@
1
- import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",I="has",i="Ids",c="Table",l=c+"s",a=c+i,p="Row",g=p+"Count",b=p+i,C="Sorted"+p+i,m="Cell",k=m+i,y="Value",w=y+"s",h=y+i,R=e=>null==e,v=(e,t,o)=>R(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=()=>{},x=(e,t)=>e.map(t),S=Object.keys,L=(e,t)=>v(e,(e=>e[t])),B=(e,t)=>(delete e[t],e),{createContext:T,useContext:E,useEffect:M}=e,F=T([]),V=(e,t)=>{const o=E(F);return R(e)?o[t]:f(e)?L(o[t+1]??{},e):e},A=(e,t)=>{const o=V(e,t);return R(e)||f(e)?o:e},j=e=>S(E(F)[e]??{}),D=e=>V(e,0),H=e=>A(e,0),O=(e,t)=>{const{12:o,13:s}=E(F);M((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},Q=e=>V(e,2),W=e=>A(e,2),z=e=>V(e,4),G=e=>A(e,4),J=e=>V(e,6),K=e=>A(e,6),N=e=>V(e,8),U=e=>A(e,8),X=e=>V(e,10),Y=e=>A(e,10),Z=e=>e.toLowerCase();Z(d);const $="Transaction";Z($);const{useCallback:_,useEffect:ee,useMemo:te,useLayoutEffect:oe,useRef:se,useState:re}=e,de=[],ne={},ue=[[],void 0,[]],Ie=(e,t,o=de)=>{const s=te((()=>t(e)),[e,...o]);return ee((()=>()=>s.destroy()),[s]),s},ie=(e,t,o,s=de,r,d="get",n="")=>{const[,u]=re(),I=_((()=>t?.[d+e]?.(...s)??o),[t,e,...s,o]),i=se();return te((()=>i.current=I()),[I]),ce(n+e,t,((...e)=>{i.current=R(r)?I():e[r],u([])}),[I,r],s),i.current},ce=(e,t,o,s=de,r=de,...n)=>oe((()=>{const s=t?.["add"+e+d]?.(...r,o,...n);return()=>t?.delListener(s)}),[t,e,...r,...s,...n]),le=(e,t,o,s=de,r=P,d=de,...n)=>{const u=H(e);return _((e=>v(u,(s=>v(o(e,s),(o=>r(s["set"+t](...x(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},ae=(e,t,o=P,s=de,...r)=>{const d=H(e);return _((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},pe=(e,t,o)=>{const s=Y(e);return _((()=>s?.[t](o)),[s,t,o])},ge=(e,t=de)=>te(e,t),be=()=>j(1),Ce=e=>ie(l,H(e),!1,[],1,I,u),me=e=>ie(l,H(e),ne),ke=e=>ie(a,H(e),de),ye=(e,t)=>ie(c,H(t),!1,[e],2,I,u),we=(e,t)=>ie(c,H(t),ne,[e]),he=(e,t)=>ie(c+k,H(t),de,[e]),Re=(e,t,o)=>ie(c+m,H(o),!1,[e,t],3,I,u),ve=(e,t)=>ie(g,H(t),0,[e]),fe=(e,t)=>ie(b,H(t),de,[e]),qe=(e,t,o,s=0,r,d)=>ie(C,H(d),de,[e,t,o,s,r],6),Pe=(e,t,o)=>ie(p,H(o),!1,[e,t],3,I,u),xe=(e,t,o)=>ie(p,H(o),ne,[e,t]),Se=(e,t,o)=>ie(k,H(o),de,[e,t]),Le=(e,t,o,s)=>ie(m,H(s),!1,[e,t,o],4,I,u),Be=(e,t,o,s)=>ie(m,H(s),void 0,[e,t,o],4),Te=e=>ie(w,H(e),!1,[],1,I,u),Ee=e=>ie(w,H(e),ne),Me=e=>ie(h,H(e),de),Fe=(e,t)=>ie(y,H(t),!1,[e],2,I,u),Ve=(e,t)=>ie(y,H(t),void 0,[e]),Ae=(e,t,o,s,r)=>le(o,l,e,t,s,r),je=(e,t,o,s,r,d)=>le(s,c,t,o,r,d,e),De=(e,t,o,s,r,d,n)=>le(r,p,o,s,d,n,e,t),He=(e,t,o=de,s,r=P,d=de,n=!0)=>{const u=H(s);return _((o=>v(u,(s=>v(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Oe=(e,t,o,s,r,d,n)=>le(r,"PartialRow",o,s,d,n,e,t),Qe=(e,t,o,s,r,d,n,u)=>le(d,m,s,r,n,u,e,t,o),We=(e,t,o,s,r)=>le(o,w,e,t,s,r),ze=(e,t,o,s,r)=>le(o,"PartialValues",e,t,s,r),Ge=(e,t,o,s,r,d)=>le(s,y,t,o,r,d,e),Je=(e,t,o)=>ae(e,l,t,o),Ke=(e,t,o,s)=>ae(t,c,o,s,e),Ne=(e,t,o,s,r)=>ae(o,p,s,r,e,t),Ue=(e,t,o,s,r,d,n)=>ae(r,m,d,n,e,t,o,s),Xe=(e,t,o)=>ae(e,w,t,o),Ye=(e,t,o,s)=>ae(t,y,o,s,e),Ze=(e,t,o,s)=>ce(u+l,H(s),e,t,[],o),$e=(e,t,o,s)=>ce(l,H(s),e,t,de,o),_e=(e,t,o,s)=>ce(a,H(s),e,t,de,o),et=(e,t,o,s,r)=>ce(u+c,H(r),t,o,[e],s),tt=(e,t,o,s,r)=>ce(c,H(r),t,o,[e],s),ot=(e,t,o,s,r)=>ce(c+k,H(r),t,o,[e],s),st=(e,t,o,s,r,d)=>ce(u+c+m,H(d),o,s,[e,t],r),rt=(e,t,o,s,r)=>ce(g,H(r),t,o,[e],s),dt=(e,t,o,s,r)=>ce(b,H(r),t,o,[e],s),nt=(e,t,o,s,r,d,n,u,I)=>ce(C,H(I),d,n,[e,t,o,s,r],u),ut=(e,t,o,s,r,d)=>ce(u+p,H(d),o,s,[e,t],r),It=(e,t,o,s,r,d)=>ce(p,H(d),o,s,[e,t],r),it=(e,t,o,s,r,d)=>ce(k,H(d),o,s,[e,t],r),ct=(e,t,o,s,r,d,n)=>ce(u+m,H(n),s,r,[e,t,o],d),lt=(e,t,o,s,r,d,n)=>ce(m,H(n),s,r,[e,t,o],d),at=(e,t,o,s)=>ce(u+w,H(s),e,t,[],o),pt=(e,t,o,s)=>ce(w,H(s),e,t,de,o),gt=(e,t,o,s)=>ce(h,H(s),e,t,de,o),bt=(e,t,o,s,r)=>ce(u+y,H(r),t,o,[e],s),Ct=(e,t,o,s,r)=>ce(y,H(r),t,o,[e],s),mt=(e,t,o)=>ce("Start"+$,H(o),e,t),kt=(e,t,o)=>ce("WillFinish"+$,H(o),e,t),yt=(e,t,o)=>ce("DidFinish"+$,H(o),e,t),wt=(e,t,o)=>Ie(e,t,o),ht=()=>j(3),Rt=e=>ie("MetricIds",W(e),de),vt=(e,t)=>ie("Metric",W(t),void 0,[e]),ft=(e,t,o,s)=>ce("Metric",W(s),t,o,[e]),qt=(e,t,o)=>Ie(e,t,o),Pt=()=>j(5),xt=(e,t)=>ie("SliceIds",G(t),de,[e]),St=e=>ie("IndexIds",G(e),de),Lt=(e,t,o)=>ie("Slice"+b,G(o),de,[e,t]),Bt=(e,t,o,s)=>ce("SliceIds",G(s),t,o,[e]),Tt=(e,t,o,s,r)=>ce("Slice"+b,G(r),o,s,[e,t]),Et=(e,t,o)=>Ie(e,t,o),Mt=()=>j(7),Ft=e=>ie("RelationshipIds",K(e),de),Vt=(e,t,o)=>ie("RemoteRowId",K(o),void 0,[e,t]),At=(e,t,o)=>ie("Local"+b,K(o),de,[e,t]),jt=(e,t,o)=>ie("Linked"+b,K(o),de,[e,t]),Dt=(e,t,o,s,r)=>ce("RemoteRowId",K(r),o,s,[e,t]),Ht=(e,t,o,s,r)=>ce("Local"+b,K(r),o,s,[e,t]),Ot=(e,t,o,s,r)=>ce("Linked"+b,K(r),o,s,[e,t]),Qt=(e,t,o)=>Ie(e,t,o),Wt=()=>j(9),zt=e=>ie("QueryIds",U(e),de),Gt=(e,t)=>ie(n+c,U(t),ne,[e]),Jt=(e,t)=>ie(n+c+k,U(t),de,[e]),Kt=(e,t)=>ie(n+g,U(t),0,[e]),Nt=(e,t)=>ie(n+b,U(t),de,[e]),Ut=(e,t,o,s=0,r,d)=>ie(n+C,U(d),de,[e,t,o,s,r],6),Xt=(e,t,o)=>ie(n+p,U(o),ne,[e,t]),Yt=(e,t,o)=>ie(n+k,U(o),de,[e,t]),Zt=(e,t,o,s)=>ie(n+m,U(s),void 0,[e,t,o]),$t=(e,t,o,s)=>ce(n+c,U(s),t,o,[e]),_t=(e,t,o,s)=>ce(n+c+k,U(s),t,o,[e]),eo=(e,t,o,s)=>ce(n+g,U(s),t,o,[e]),to=(e,t,o,s)=>ce(n+b,U(s),t,o,[e]),oo=(e,t,o,s,r,d,u,I)=>ce(n+C,U(I),d,u,[e,t,o,s,r]),so=(e,t,o,s,r)=>ce(n+p,U(r),o,s,[e,t]),ro=(e,t,o,s,r)=>ce(n+k,U(r),o,s,[e,t]),no=(e,t,o,s,r,d)=>ce(n+m,U(d),s,r,[e,t,o]),uo=(e,t,o)=>Ie(e,t,o),Io=()=>j(11),io=e=>ie("CheckpointIds",Y(e),ue),co=(e,t)=>ie("Checkpoint",Y(t),void 0,[e]),lo=(e=P,t=de,o,s=P,r=de)=>{const d=Y(o);return _((t=>v(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},ao=e=>pe(e,"goBackward"),po=e=>pe(e,"goForward"),go=(e,t=de,o,s=P,r=de)=>{const d=Y(o);return _((t=>v(d,(o=>v(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},bo=e=>{const t=Y(e),[s,r]=io(t);return[(d=s,!(0==d.length)),ao(t),r,v(r,(e=>t?.getCheckpoint(e)))??o];var d},Co=e=>{const t=Y(e),[,,[s]]=io(t);return[!R(s),po(t),s,v(s,(e=>t?.getCheckpoint(e)))??o]},mo=(e,t,o)=>ce("CheckpointIds",Y(o),e,t),ko=(e,t,o,s)=>ce("Checkpoint",Y(s),t,o,[e]),yo=(e,t,o=de,s,r=de,d,n=de)=>{const[,u]=re(),I=te((()=>t(e)),[e,...o]);return ee((()=>((async()=>{s&&(await s(I),u([]))})(),()=>{I?.destroy(),d?.(I)})),[I,...r,...n]),I},{PureComponent:wo,Fragment:ho,createElement:Ro,useCallback:vo,useLayoutEffect:fo,useRef:qo,useState:Po}=e,xo=(e,...t)=>R(e)?{}:e(...t),So=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Lo,useContext:Bo,useMemo:To,useState:Eo}=e,Mo=({tableId:e,store:t,rowComponent:o=Oo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Do(x(u,(d=>Ro(o,{...xo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Fo=({queryId:e,queries:t,resultRowComponent:o=_o,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Do(x(n,(r=>Ro(o,{...xo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Vo=({relationshipId:e,relationships:t,rowComponent:o=Oo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[I,i,c]=So(K(t),e),l=n(e,u,I);return Do(x(l,(e=>Ro(o,{...xo(s,e),key:e,tableId:c,rowId:e,store:i,debugIds:d}))),r,d,u)},Ao=e=>({checkpoints:t,checkpointComponent:o=os,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=Y(t);return Do(x(e(io(n)),(e=>Ro(o,{...xo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},jo=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:I,queriesById:i,checkpoints:c,checkpointsById:l,children:a})=>{const p=Bo(F),[g,b]=Eo({}),C=Lo(((e,t)=>b((o=>L(o,e)==t?o:{...o,[e]:t}))),[]),m=Lo((e=>b((t=>({...B(t,e)})))),[]);return Ro(F.Provider,{value:To((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},I??p[8],{...p[9],...i},c??p[10],{...p[11],...l},C,m]),[e,t,g,o,s,r,d,n,u,I,i,c,l,p,C,m])},a)},Do=(e,t,o,s)=>{const r=R(t)||!Array.isArray(e)?e:x(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Ho=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Do(o+(Be(e,t,s,r)??o),void 0,d,s),Oo=({tableId:e,rowId:t,store:o,cellComponent:s=Ho,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Do(x(((e,t,o,s)=>{const r=Se(t,o,s);return e??r})(d,e,t,o),(d=>Ro(s,{...xo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Qo=e=>Mo(e,fe(e.tableId,e.store)),Wo=({cellId:e,descending:t,offset:o,limit:s,...r})=>Mo(r,qe(r.tableId,e,t,o,s,r.store)),zo=({store:e,tableComponent:t=Qo,getTableComponentProps:o,separator:s,debugIds:r})=>Do(x(ke(e),(s=>Ro(t,{...xo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),Go=({valueId:e,store:t,debugIds:s})=>Do(o+(Ve(e,t)??o),void 0,s,e),Jo=({store:e,valueComponent:t=Go,getValueComponentProps:o,separator:s,debugIds:r})=>Do(x(Me(e),(s=>Ro(t,{...xo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),Ko=({metricId:e,metrics:t,debugIds:s})=>Do(vt(e,t)??o,void 0,s,e),No=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Oo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,I,i]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(G(o),e),c=Lt(e,t,u);return Do(x(c,(e=>Ro(s,{...xo(r,e),key:e,tableId:i,rowId:e,store:I,debugIds:n}))),d,n,t)},Uo=({indexId:e,indexes:t,sliceComponent:o=No,getSliceComponentProps:s,separator:r,debugIds:d})=>Do(x(xt(e,t),(r=>Ro(o,{...xo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),Xo=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Oo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,I]=So(K(o),e),i=Vt(e,t,n);return Do(R(I)||R(i)?null:Ro(s,{...xo(r,i),key:i,tableId:I,rowId:i,store:u,debugIds:d}),void 0,d,t)},Yo=e=>Vo(e,At,e.remoteRowId),Zo=e=>Vo(e,jt,e.firstRowId),$o=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Do(o+(Zt(e,t,s,r)??o),void 0,d,s),_o=({queryId:e,rowId:t,queries:o,resultCellComponent:s=$o,getResultCellComponentProps:r,separator:d,debugIds:n})=>Do(x(Yt(e,t,o),(d=>Ro(s,{...xo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),es=e=>Fo(e,Nt(e.queryId,e.queries)),ts=({cellId:e,descending:t,offset:o,limit:s,...r})=>Fo(r,Ut(r.queryId,e,t,o,s,r.queries)),os=({checkpoints:e,checkpointId:t,debugIds:s})=>Do(co(t,e)??o,void 0,s,t),ss=Ao((e=>e[0])),rs=Ao((e=>R(e[1])?[]:[e[1]])),ds=Ao((e=>e[2]));export{ss as BackwardCheckpointsView,Ho as CellView,os as CheckpointView,rs as CurrentCheckpointView,ds as ForwardCheckpointsView,Uo as IndexView,Zo as LinkedRowsView,Yo as LocalRowsView,Ko as MetricView,jo as Provider,Xo as RemoteRowView,$o as ResultCellView,_o as ResultRowView,ts as ResultSortedTableView,es as ResultTableView,Oo as RowView,No as SliceView,Wo as SortedTableView,Qo as TableView,zo as TablesView,Go as ValueView,Jo as ValuesView,He as useAddRowCallback,Be as useCell,Se as useCellIds,it as useCellIdsListener,lt as useCellListener,co as useCheckpoint,io as useCheckpointIds,mo as useCheckpointIdsListener,ko as useCheckpointListener,X as useCheckpoints,Io as useCheckpointsIds,Y as useCheckpointsOrCheckpointsById,uo as useCreateCheckpoints,qt as useCreateIndexes,wt as useCreateMetrics,yo as useCreatePersister,Qt as useCreateQueries,Et as useCreateRelationships,ge as useCreateStore,Ue as useDelCellCallback,Ne as useDelRowCallback,Ke as useDelTableCallback,Je as useDelTablesCallback,Ye as useDelValueCallback,Xe as useDelValuesCallback,yt as useDidFinishTransactionListener,ao as useGoBackwardCallback,po as useGoForwardCallback,go as useGoToCallback,Le as useHasCell,ct as useHasCellListener,Pe as useHasRow,ut as useHasRowListener,ye as useHasTable,Re as useHasTableCell,st as useHasTableCellListener,et as useHasTableListener,Ce as useHasTables,Ze as useHasTablesListener,Fe as useHasValue,bt as useHasValueListener,Te as useHasValues,at as useHasValuesListener,St as useIndexIds,z as useIndexes,Pt as useIndexesIds,G as useIndexesOrIndexesById,jt as useLinkedRowIds,Ot as useLinkedRowIdsListener,At as useLocalRowIds,Ht as useLocalRowIdsListener,vt as useMetric,Rt as useMetricIds,ft as useMetricListener,Q as useMetrics,ht as useMetricsIds,W as useMetricsOrMetricsById,O as useProvideStore,N as useQueries,Wt as useQueriesIds,U as useQueriesOrQueriesById,zt as useQueryIds,Co as useRedoInformation,Ft as useRelationshipIds,J as useRelationships,Mt as useRelationshipsIds,K as useRelationshipsOrRelationshipsById,Vt as useRemoteRowId,Dt as useRemoteRowIdListener,Zt as useResultCell,Yt as useResultCellIds,ro as useResultCellIdsListener,no as useResultCellListener,Xt as useResultRow,Kt as useResultRowCount,eo as useResultRowCountListener,Nt as useResultRowIds,to as useResultRowIdsListener,so as useResultRowListener,Ut as useResultSortedRowIds,oo as useResultSortedRowIdsListener,Gt as useResultTable,Jt as useResultTableCellIds,_t as useResultTableCellIdsListener,$t as useResultTableListener,xe as useRow,ve as useRowCount,rt as useRowCountListener,fe as useRowIds,dt as useRowIdsListener,It as useRowListener,Qe as useSetCellCallback,lo as useSetCheckpointCallback,Oe as useSetPartialRowCallback,ze as useSetPartialValuesCallback,De as useSetRowCallback,je as useSetTableCallback,Ae as useSetTablesCallback,Ge as useSetValueCallback,We as useSetValuesCallback,xt as useSliceIds,Bt as useSliceIdsListener,Lt as useSliceRowIds,Tt as useSliceRowIdsListener,qe as useSortedRowIds,nt as useSortedRowIdsListener,mt as useStartTransactionListener,D as useStore,be as useStoreIds,H as useStoreOrStoreById,we as useTable,he as useTableCellIds,ot as useTableCellIdsListener,ke as useTableIds,_e as useTableIdsListener,tt as useTableListener,me as useTables,$e as useTablesListener,bo as useUndoInformation,Ve as useValue,Me as useValueIds,gt as useValueIdsListener,Ct as useValueListener,Ee as useValues,pt as useValuesListener,kt as useWillFinishTransactionListener};
1
+ import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",l=I+"s",i=I+c,a="Row",p=a+"Count",g=a+c,b="Sorted"+a+c,C="Cell",m=C+c,y="Value",k=y+"s",w=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=B.keys,F=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(M(t))&&x(o,(([e,o])=>F(o)?!!F(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>M(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:le,useState:ie,useSyncExternalStore:ae}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=ie(),[r,d]=ie();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},ke=(e,t,s,r=pe)=>{const d=le(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ae(c,n)},we=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=()=>G(1),ve=e=>ke(l,K(e),4,[]),xe=e=>ke(l,K(e),0),Se=e=>ke(i,K(e),1),Le=(e,t)=>ke(I,K(t),4,[e]),Be=(e,t)=>ke(I,K(t),0,[e]),Te=(e,t)=>ke(I+m,K(t),1,[e]),Ee=(e,t,o)=>ke(I+C,K(o),4,[e,t]),Me=(e,t)=>ke(p,K(t),5,[e]),Fe=(e,t)=>ke(g,K(t),1,[e]),Ve=(e,t,o,s=0,r,d)=>ke(b,K(d),1,[e,t,o,s,r]),Ae=(e,t,o)=>ke(a,K(o),4,[e,t]),Oe=(e,t,o)=>ke(a,K(o),0,[e,t]),je=(e,t,o)=>ke(m,K(o),1,[e,t]),De=(e,t,o,s)=>ke(C,K(s),4,[e,t,o]),He=(e,t,o,s)=>ke(C,K(s),3,[e,t,o]),Qe=e=>ke(k,K(e),4,[]),We=e=>ke(k,K(e),0),ze=e=>ke(w,K(e),1),Ge=(e,t)=>ke(y,K(t),4,[e]),Je=(e,t)=>ke(y,K(t),3,[e]),Ke=(e,t,o,s,r)=>he(o,l,e,t,s,r),Ne=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Ue=(e,t,o,s,r,d,n)=>he(r,a,o,s,d,n,e,t),Xe=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ye=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),Ze=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),$e=(e,t,o,s,r)=>he(o,k,e,t,s,r),_e=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),et=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),tt=(e,t,o)=>Re(e,l,t,o),ot=(e,t,o,s)=>Re(t,I,o,s,e),st=(e,t,o,s,r)=>Re(o,a,s,r,e,t),rt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),dt=(e,t,o)=>Re(e,k,t,o),nt=(e,t,o,s)=>Re(t,y,o,s,e),ut=(e,t,o,s)=>we(u+l,K(s),e,t,[],o),ct=(e,t,o,s)=>we(l,K(s),e,t,pe,o),It=(e,t,o,s)=>we(i,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>we(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>we(I,K(r),t,o,[e],s),at=(e,t,o,s,r)=>we(I+m,K(r),t,o,[e],s),pt=(e,t,o,s,r,d)=>we(u+I+C,K(d),o,s,[e,t],r),gt=(e,t,o,s,r)=>we(p,K(r),t,o,[e],s),bt=(e,t,o,s,r)=>we(g,K(r),t,o,[e],s),Ct=(e,t,o,s,r,d,n,u,c)=>we(b,K(c),d,n,[e,t,o,s,r],u),mt=(e,t,o,s,r,d)=>we(u+a,K(d),o,s,[e,t],r),yt=(e,t,o,s,r,d)=>we(a,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>we(m,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d,n)=>we(u+C,K(n),s,r,[e,t,o],d),ht=(e,t,o,s,r,d,n)=>we(C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s)=>we(u+k,K(s),e,t,[],o),ft=(e,t,o,s)=>we(k,K(s),e,t,pe,o),qt=(e,t,o,s)=>we(w,K(s),e,t,pe,o),Pt=(e,t,o,s,r)=>we(u+y,K(r),t,o,[e],s),vt=(e,t,o,s,r)=>we(y,K(r),t,o,[e],s),xt=(e,t,o)=>we("Start"+de,K(o),e,t),St=(e,t,o)=>we("WillFinish"+de,K(o),e,t),Lt=(e,t,o)=>we("DidFinish"+de,K(o),e,t),Bt=(e,t,o)=>me(e,t,o),Tt=()=>G(3),Et=e=>ke("MetricIds",X(e),1),Mt=(e,t)=>ke("Metric",X(t),3,[e]),Ft=(e,t,o,s)=>we("Metric",X(s),t,o,[e]),Vt=(e,t,o)=>me(e,t,o),At=()=>G(5),Ot=(e,t)=>ke("SliceIds",Z(t),1,[e]),jt=e=>ke("IndexIds",Z(e),1),Dt=(e,t,o)=>ke("Slice"+g,Z(o),1,[e,t]),Ht=(e,t,o,s)=>we("SliceIds",Z(s),t,o,[e]),Qt=(e,t,o,s,r)=>we("Slice"+g,Z(r),o,s,[e,t]),Wt=(e,t,o)=>me(e,t,o),zt=()=>G(7),Gt=e=>ke("RelationshipIds",_(e),1),Jt=(e,t,o)=>ke("RemoteRowId",_(o),3,[e,t]),Kt=(e,t,o)=>ke("Local"+g,_(o),1,[e,t]),Nt=(e,t,o)=>ke("Linked"+g,_(o),1,[e,t]),Ut=(e,t,o,s,r)=>we("RemoteRowId",_(r),o,s,[e,t]),Xt=(e,t,o,s,r)=>we("Local"+g,_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>we("Linked"+g,_(r),o,s,[e,t]),Zt=(e,t,o)=>me(e,t,o),$t=()=>G(9),_t=e=>ke("QueryIds",te(e),1),eo=(e,t)=>ke(n+I,te(t),0,[e]),to=(e,t)=>ke(n+I+m,te(t),1,[e]),oo=(e,t)=>ke(n+p,te(t),5,[e]),so=(e,t)=>ke(n+g,te(t),1,[e]),ro=(e,t,o,s=0,r,d)=>ke(n+b,te(d),1,[e,t,o,s,r]),no=(e,t,o)=>ke(n+a,te(o),0,[e,t]),uo=(e,t,o)=>ke(n+m,te(o),1,[e,t]),co=(e,t,o,s)=>ke(n+C,te(s),3,[e,t,o]),Io=(e,t,o,s)=>we(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>we(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>we(n+p,te(s),t,o,[e]),ao=(e,t,o,s)=>we(n+g,te(s),t,o,[e]),po=(e,t,o,s,r,d,u,c)=>we(n+b,te(c),d,u,[e,t,o,s,r]),go=(e,t,o,s,r)=>we(n+a,te(r),o,s,[e,t]),bo=(e,t,o,s,r)=>we(n+m,te(r),o,s,[e,t]),Co=(e,t,o,s,r,d)=>we(n+C,te(d),s,r,[e,t,o]),mo=(e,t,o)=>me(e,t,o),yo=()=>G(11),ko=e=>ke("CheckpointIds",se(e),2),wo=(e,t)=>ke("Checkpoint",se(t),3,[e]),ho=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Ro=e=>fe(e,"goBackward"),fo=e=>fe(e,"goForward"),qo=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Po=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),Ro(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},vo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),fo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},xo=(e,t,o)=>we("CheckpointIds",se(o),e,t),So=(e,t,o,s)=>we("Checkpoint",se(s),t,o,[e]),Lo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=ie(),[c,I]=ie();return ue((()=>{const o=t(e);if(I(o),o)return s&&(async()=>{await s(o),u([])})(),()=>{o.destroy(),d?.(o)}}),[e,...o,...r,...n]),c},{PureComponent:Bo,Fragment:To,createElement:Eo,useCallback:Mo,useLayoutEffect:Fo,useRef:Vo,useState:Ao}=e,Oo=(e,...t)=>h(e)?{}:e(...t),jo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Do,useContext:Ho,useMemo:Qo,useState:Wo}=e,zo=({tableId:e,store:t,rowComponent:o=Yo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Uo(L(u,(d=>Eo(o,{...Oo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Go=({queryId:e,queries:t,resultRowComponent:o=Is,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Uo(L(n,(r=>Eo(o,{...Oo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Jo=({relationshipId:e,relationships:t,rowComponent:o=Yo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,l]=jo(_(t),e),i=n(e,u,c);return Uo(L(i,(e=>Eo(o,{...Oo(s,e),key:e,tableId:l,rowId:e,store:I,debugIds:d}))),r,d,u)},Ko=e=>({checkpoints:t,checkpointComponent:o=as,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Uo(L(e(ko(n)),(e=>Eo(o,{...Oo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},No=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:l,checkpointsById:i,children:a})=>{const p=Ho(Q),[g,b]=Wo({}),C=Do(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Do((e=>b((t=>({...A(t,e)})))),[]);return Eo(Q.Provider,{value:Qo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},l??p[10],{...p[11],...i},C,m]),[e,t,g,o,s,r,d,n,u,c,I,l,i,p,C,m])},a)},Uo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Xo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Uo(o+(He(e,t,s,r)??o),void 0,d,s),Yo=({tableId:e,rowId:t,store:o,cellComponent:s=Xo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Uo(L(((e,t,o,s)=>{const r=je(t,o,s);return e??r})(d,e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Zo=e=>zo(e,Fe(e.tableId,e.store)),$o=({cellId:e,descending:t,offset:o,limit:s,...r})=>zo(r,Ve(r.tableId,e,t,o,s,r.store)),_o=({store:e,tableComponent:t=Zo,getTableComponentProps:o,separator:s,debugIds:r})=>Uo(L(Se(e),(s=>Eo(t,{...Oo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),es=({valueId:e,store:t,debugIds:s})=>Uo(o+(Je(e,t)??o),void 0,s,e),ts=({store:e,valueComponent:t=es,getValueComponentProps:o,separator:s,debugIds:r})=>Uo(L(ze(e),(s=>Eo(t,{...Oo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),os=({metricId:e,metrics:t,debugIds:s})=>Uo(Mt(e,t)??o,void 0,s,e),ss=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Yo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),l=Dt(e,t,u);return Uo(L(l,(e=>Eo(s,{...Oo(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},rs=({indexId:e,indexes:t,sliceComponent:o=ss,getSliceComponentProps:s,separator:r,debugIds:d})=>Uo(L(Ot(e,t),(r=>Eo(o,{...Oo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ds=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Yo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=jo(_(o),e),I=Jt(e,t,n);return Uo(h(c)||h(I)?null:Eo(s,{...Oo(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},ns=e=>Jo(e,Kt,e.remoteRowId),us=e=>Jo(e,Nt,e.firstRowId),cs=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Uo(o+(co(e,t,s,r)??o),void 0,d,s),Is=({queryId:e,rowId:t,queries:o,resultCellComponent:s=cs,getResultCellComponentProps:r,separator:d,debugIds:n})=>Uo(L(uo(e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),ls=e=>Go(e,so(e.queryId,e.queries)),is=({cellId:e,descending:t,offset:o,limit:s,...r})=>Go(r,ro(r.queryId,e,t,o,s,r.queries)),as=({checkpoints:e,checkpointId:t,debugIds:s})=>Uo(wo(t,e)??o,void 0,s,t),ps=Ko((e=>e[0])),gs=Ko((e=>h(e[1])?[]:[e[1]])),bs=Ko((e=>e[2]));export{ps as BackwardCheckpointsView,Xo as CellView,as as CheckpointView,gs as CurrentCheckpointView,bs as ForwardCheckpointsView,rs as IndexView,us as LinkedRowsView,ns as LocalRowsView,os as MetricView,No as Provider,ds as RemoteRowView,cs as ResultCellView,Is as ResultRowView,is as ResultSortedTableView,ls as ResultTableView,Yo as RowView,ss as SliceView,$o as SortedTableView,Zo as TableView,_o as TablesView,es as ValueView,ts as ValuesView,Xe as useAddRowCallback,He as useCell,je as useCellIds,kt as useCellIdsListener,ht as useCellListener,wo as useCheckpoint,ko as useCheckpointIds,xo as useCheckpointIdsListener,So as useCheckpointListener,oe as useCheckpoints,yo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,mo as useCreateCheckpoints,Vt as useCreateIndexes,Bt as useCreateMetrics,Lo as useCreatePersister,Zt as useCreateQueries,Wt as useCreateRelationships,qe as useCreateStore,rt as useDelCellCallback,st as useDelRowCallback,ot as useDelTableCallback,tt as useDelTablesCallback,nt as useDelValueCallback,dt as useDelValuesCallback,Lt as useDidFinishTransactionListener,Ro as useGoBackwardCallback,fo as useGoForwardCallback,qo as useGoToCallback,De as useHasCell,wt as useHasCellListener,Ae as useHasRow,mt as useHasRowListener,Le as useHasTable,Ee as useHasTableCell,pt as useHasTableCellListener,lt as useHasTableListener,ve as useHasTables,ut as useHasTablesListener,Ge as useHasValue,Pt as useHasValueListener,Qe as useHasValues,Rt as useHasValuesListener,jt as useIndexIds,Y as useIndexes,At as useIndexesIds,Z as useIndexesOrIndexesById,Nt as useLinkedRowIds,Yt as useLinkedRowIdsListener,Kt as useLocalRowIds,Xt as useLocalRowIdsListener,Mt as useMetric,Et as useMetricIds,Ft as useMetricListener,U as useMetrics,Tt as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,$t as useQueriesIds,te as useQueriesOrQueriesById,_t as useQueryIds,vo as useRedoInformation,Gt as useRelationshipIds,$ as useRelationships,zt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Jt as useRemoteRowId,Ut as useRemoteRowIdListener,co as useResultCell,uo as useResultCellIds,bo as useResultCellIdsListener,Co as useResultCellListener,no as useResultRow,oo as useResultRowCount,io as useResultRowCountListener,so as useResultRowIds,ao as useResultRowIdsListener,go as useResultRowListener,ro as useResultSortedRowIds,po as useResultSortedRowIdsListener,eo as useResultTable,to as useResultTableCellIds,lo as useResultTableCellIdsListener,Io as useResultTableListener,Oe as useRow,Me as useRowCount,gt as useRowCountListener,Fe as useRowIds,bt as useRowIdsListener,yt as useRowListener,Ze as useSetCellCallback,ho as useSetCheckpointCallback,Ye as useSetPartialRowCallback,_e as useSetPartialValuesCallback,Ue as useSetRowCallback,Ne as useSetTableCallback,Ke as useSetTablesCallback,et as useSetValueCallback,$e as useSetValuesCallback,Ot as useSliceIds,Ht as useSliceIdsListener,Dt as useSliceRowIds,Qt as useSliceRowIdsListener,Ve as useSortedRowIds,Ct as useSortedRowIdsListener,xt as useStartTransactionListener,J as useStore,Pe as useStoreIds,K as useStoreOrStoreById,Be as useTable,Te as useTableCellIds,at as useTableCellIdsListener,Se as useTableIds,It as useTableIdsListener,it as useTableListener,xe as useTables,ct as useTablesListener,Po as useUndoInformation,Je as useValue,ze as useValueIds,qt as useValueIdsListener,vt as useValueListener,We as useValues,ft as useValuesListener,St as useWillFinishTransactionListener};
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,r)=>t(e)?r?.():n(e),r=e=>e.length,o=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),l=e=>0==r(e),i=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),C=e=>new Map(e),g=(e,t)=>e?.get(t),k=(e,n,r)=>t(r)?(f(e,n),e):e?.set(n,r),v=(e,t,n)=>(u(e,t)||k(e,t,n()),g(e,t)),y=(e,t,o,s,l=0)=>n((o?v:g)(e,t[l],l>r(t)-2?o:C),(n=>{if(l>r(t)-2)return s?.(n)&&k(e,t[l]),n;const i=y(n,t,o,s,l+1);return h(n)&&k(e,t[l]),i})),L=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=C(),E=C(),V=1;const j=C(),m=C(),[A,B,F]=(e=>{let o;const[l,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&r(e)<1e3&&i(e,t)}]})(),a=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const i=l(1);var c,d;return k(a,i,[e,t,n,r,s]),c=y(t,n??[""],L),d=i,c?.add(d),i},(e,t,...n)=>s(((e,t=[""])=>{const n=[],o=(e,l)=>l==r(t)?i(n,e):null===t[l]?p(e,(e=>o(e,l+1))):s([t[l],null],(t=>o(g(e,t),l+1)));return o(e,0),n})(e,t),(e=>p(e,(e=>g(a,e)[0](o,...t??[],...n))))),e=>n(g(a,e),(([,t,n])=>(y(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(g(a,e),(([e,,n=[],l,i])=>{const c=(...d)=>{const a=r(d);a==r(n)?e(o,...d,...i(d)):t(n[a])?s(l[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),I=C(),M=C(),O=[],W=[],$=(n,r)=>{V=0,e.transaction((()=>{const[o,s]=g(I,r);p(o,((r,o)=>p(r,((r,s)=>p(r,((r,l)=>((e,n,r,o,s)=>t(s)?e.delCell(n,r,o,!0):e.setCell(n,r,o,s))(e,o,s,l,r[n]))))))),p(s,((r,o)=>((e,n,r)=>t(r)?e.delValue(n):e.setValue(n,r))(e,o,r[n])))})),V=1},q=e=>{k(I,e),k(M,e),B(m,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??r(e)),q),G=()=>D(O,r(O)-x),H=()=>n(b,(()=>{i(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=c(O),T=1},K=e.addCellListener(null,null,null,((e,t,n,r,o,s)=>{if(V){H();const e=v(z,t,C),l=v(e,n,C),i=v(l,r,(()=>[s,void 0]));i[1]=o,i[0]===o&&h(k(l,r))&&h(k(e,n))&&h(k(z,t))&&J(),U()}})),N=e.addValueListener(null,((e,t,n,r)=>{if(V){H();const e=v(E,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&J(),U()}})),P=(e="")=>(t(b)&&(b=""+S++,k(I,b,[z,E]),Y(b,e),z=C(),E=C(),T=1),b),Q=()=>{l(O)||(((e,...t)=>{e.unshift(...t)})(W,P()),$(0,b),b=c(O),T=1)},R=()=>{l(W)||(i(O,b),b=d(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&g(M,e)!==t&&(k(M,e,t),B(m,[e])),_),Z=e=>u(I,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return t=e,p(M,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>g(M,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const n=o(O,e)?Q:o(W,e)?R:null;for(;!t(n)&&e!=b;)n();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(F(e),_),clear:()=>(D(O),D(W),t(b)||q(b),b=void 0,S=0,X(),_),clearForward:()=>(l(W)||(D(W),B(j)),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,r)=>t(e)?r?.():n(e),r=e=>e.length,s=(e,t)=>e.includes(t),o=(e,t)=>e.forEach(t),i=e=>0==r(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),g=e=>new Map(e),C=(e,t)=>e?.get(t),k=(e,n,r)=>t(r)?(f(e,n),e):e?.set(n,r),L=(e,t,n)=>(u(e,t)||k(e,t,n()),C(e,t)),v=(e,t,s,o,i=0)=>n((s?L:C)(e,t[i],i>r(t)-2?s:g),(n=>{if(i>r(t)-2)return o?.(n)&&k(e,t[i]),n;const l=v(n,t,s,o,i+1);return h(n)&&k(e,t[i]),l})),y=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=((e,b)=>{const S=new WeakMap;return e=>{S.has(e)||S.set(e,(e=>{let b,S,T,x=100,z=g(),E=g(),V=1;const j=g(),m=g(),[A,B,F]=(e=>{let s;const[i,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&r(e)<1e3&&l(e,t)}]})(),a=g();return[(e,t,n,r=[],o=(()=>[]))=>{s??=Z;const l=i(1);var c,d;return k(a,l,[e,t,n,r,o]),c=v(t,n??[""],y),d=l,c?.add(d),l},(e,t,...n)=>o(((e,t=[""])=>{const n=[],s=(e,i)=>i==r(t)?l(n,e):null===t[i]?p(e,(e=>s(e,i+1))):o([t[i],null],(t=>s(C(e,t),i+1)));return s(e,0),n})(e,t),(e=>p(e,(e=>C(a,e)[0](s,...t??[],...n))))),e=>n(C(a,e),(([,t,n])=>(v(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(C(a,e),(([e,,n=[],i,l])=>{const c=(...d)=>{const a=r(d);a==r(n)?e(s,...d,...l(d)):t(n[a])?o(i[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),I=g(),M=g(),_=[],O=[],W=(n,r)=>{V=0,e.transaction((()=>{const[s,o]=C(I,r);p(s,((r,s)=>p(r,((r,o)=>p(r,((r,i)=>((e,n,r,s,o)=>t(o)?e.delCell(n,r,s,!0):e.setCell(n,r,s,o))(e,s,o,i,r[n]))))))),p(o,((r,s)=>((e,n,r)=>t(r)?e.delValue(n):e.setValue(n,r))(e,s,r[n])))})),V=1},$=e=>{k(I,e),k(M,e),B(m,[e])},q=(e,t)=>o(((e,t)=>e.splice(0,t))(e,t??r(e)),$),D=()=>q(_,r(_)-x),G=()=>n(b,(()=>{l(_,b),D(),q(O),b=void 0,T=1})),H=()=>{b=c(_),T=1};let J,K;const N=(e="")=>(t(b)&&(b=""+S++,k(I,b,[z,E]),X(b,e),z=g(),E=g(),T=1),b),P=()=>{i(_)||(((e,...t)=>{e.unshift(...t)})(O,N()),W(0,b),b=c(_),T=1)},Q=()=>{i(O)||(l(_,b),b=d(O),W(1,b),T=1)},R=()=>{T&&(B(j),T=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(M,e)!==t&&(k(M,e,t),B(m,[e])),Z),Y=e=>u(I,e),Z={setSize:e=>(x=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>e,getCheckpointIds:()=>[[..._],b,[...O]],forEachCheckpoint:e=>{return t=e,p(M,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(M,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:e=>{const n=s(_,e)?P:s(O,e)?Q:null;for(;!t(n)&&e!=b;)n();return R(),Z},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(F(e),Z),clear:()=>(q(_),q(O),t(b)||$(b),b=void 0,S=0,U(),Z),clearForward:()=>(i(O)||(q(O),B(j)),Z),destroy:()=>{e.delListener(J),e.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=e.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(V){G();const e=L(z,t,g),i=L(e,n,g),l=L(i,r,(()=>[o,void 0]));l[1]=s,l[0]===s&&h(k(i,r))&&h(k(e,n))&&h(k(z,t))&&H(),R()}})),K=e.addValueListener(null,((e,t,n,r)=>{if(V){G();const e=L(E,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&H(),R()}}))}};return a(Z.clear())})(e));const b=S.get(e);return b._registerListeners(),b}})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=e=>null==e,d=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),l=e=>e.length,c=(e,t)=>e.every(t),a=(e,t)=>c(e,((n,s)=>0==s||t(e[s-1],n)<=0)),f=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),I=Object.freeze,g=(e,t)=>e?.has(t)??!1,p=e=>o(e)||0==(e=>e?.size??0)(e),x=e=>[...e?.values()??[]],y=e=>e.clear(),v=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],b=(e,t)=>e?.get(t),T=(e,t)=>v(e,((e,n)=>t(n,e))),E=(e,t,n)=>o(n)?(L(e,t),e):e?.set(t,n),R=(e,t,n)=>(g(e,t)||E(e,t,n()),b(e,t)),m=(e,t,n,s,r=0)=>d((n?R:b)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&E(e,t[r]),o;const d=m(o,t,n,s,r+1);return p(o)&&E(e,t[r]),d})),j=e=>new Set(i(e)||o(e)?e:[e]),k=(e,t)=>e?.add(t),z=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),A=(e,t)=>(e??0)<(t??0)?-1:1,C=/^\d+$/,D=(e=>{const t=new WeakMap;return e=>(t.has(e)||t.set(e,(e=>{const t=S(),s=S(),[D,M,B]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{C.test(t)&&l(e)<1e3&&h(e,t)}]})(),i=S();return[(e,r,o,d=[],l=(()=>[]))=>{t??=U;const c=s(1);return E(i,c,[e,r,o,d,l]),k(m(r,o??[n],j),c),c},(e,s,...r)=>u(((e,t=[n])=>{const s=[],r=(e,n)=>n==l(t)?h(s,e):null===t[n]?v(e,(e=>r(e,n+1))):u([t[n],null],(t=>r(b(e,t),n+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>b(i,e)[0](t,...s??[],...r))))),e=>d(b(i,e),(([,t,s])=>(m(t,s??[n],void 0,(t=>(L(t,e),p(t)?1:0))),E(i,e),r(e),s))),e=>d(b(i,e),(([e,,n=[],s,r])=>{const d=(...i)=>{const c=l(i);c==l(n)?e(t,...i,...r(i)):o(n[c])?u(s[c]?.(...i)??[],(e=>d(...i,e))):d(...i,n[c])};d()}))]})(),[O,W,$,q,F,G,H,,J,K,N,P]=((e,t,n,s,r)=>{const a=e.hasRow,f=S(),h=S(),I=S(),m=S(),z=S(),A=S(),C=(t,n,...s)=>{const r=R(A,t,j);return u(s,(t=>k(r,t)&&n&&e.callListener(t))),s},D=(t,...n)=>d(b(A,t),(s=>{u(0==l(n)?x(s):n,(t=>{e.delListener(t),L(s,t)})),p(s)&&E(A,t)})),M=(e,n)=>{E(f,e,n),g(h,e)||(E(h,e,t()),E(m,e,S()),E(z,e,S()),r(I))},B=e=>{E(f,e),E(h,e),E(m,e),E(z,e),D(e),r(I)};return[()=>e,()=>w(f),e=>T(h,e),e=>g(h,e),e=>b(f,e),e=>b(h,e),(e,t)=>E(h,e,t),M,(t,s,r,d,f)=>{M(t,s);const h=S(),I=S(),p=b(m,t),x=b(z,t),L=t=>{const r=n=>e.getCell(s,t,n),u=b(p,t),g=a(s,t)?n(d(r,t)):void 0;var y,v;if(u===g||i(u)&&i(g)&&(v=g,l(y=u)===l(v)&&c(y,((e,t)=>v[t]===e)))||E(h,t,[u,g]),!o(f)){const e=b(x,t),n=a(s,t)?f(r,t):void 0;e!=n&&E(I,t,n)}},w=e=>{r((()=>{v(h,(([,e],t)=>E(p,t,e))),v(I,((e,t)=>E(x,t,e)))}),h,I,p,x,e),y(h),y(I)};T(p,L),e.hasTable(s)&&u(e.getRowIds(s),(e=>{g(p,e)||L(e)})),w(!0),D(t),C(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>w())))},B,e=>s(e,I),()=>T(A,B),C,D]})(e,S,(e=>{return o(e)?n:i(e)?(t=r,e.map(t)):r(e);var t}),D,M),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,n,r,i,l,c=A)=>{const u=o(l)?void 0:([e],[t])=>l(e,t);return J(e,n,((n,r,l,h,I,x)=>{let y=0;const w=j(),R=j(),m=G(e);if(v(r,(([e,t],n)=>{const s=j(e),r=j(t);v(s,(e=>L(r,e)?L(s,e):0)),v(s,(e=>{k(w,e),d(b(m,e),(t=>{L(t,n),p(t)&&(E(m,e),y=1)}))})),v(r,(e=>{k(w,e),g(m,e)||(E(m,e,j()),y=1),k(b(m,e),n),o(i)||k(R,e)}))})),n(),p(I)||(x?T(m,(e=>k(R,e))):T(l,(e=>d(b(h,e),(e=>k(R,e))))),v(R,(e=>{const t=(t,n)=>c(b(I,t),b(I,n),e),n=[...b(m,e)];a(n,t)||(E(m,e,j(f(n,t))),k(w,e))}))),(y||x)&&!o(u)){const t=[...m];a(t,u)||(H(e,S(f(t,u))),y=1)}y&&M(t,[e]),v(w,(t=>M(s,[e,t])))}),z(r),d(i,z)),U},delIndexDefinition:e=>(K(e),U),getStore:O,getIndexIds:W,forEachIndex:e=>$(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:q,hasSlice:(e,t)=>g(G(e),t),getTableId:F,getSliceIds:e=>w(G(e)),getSliceRowIds:(e,t)=>x(b(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>D(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>D(n,s,[e,t]),delListener:e=>(B(e),U),destroy:P,getListenerStats:()=>({})};return I(U)})(e)),t.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=e=>null==e,d=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),l=e=>e.length,c=(e,t)=>e.every(t),a=(e,t)=>c(e,((n,s)=>0==s||t(e[s-1],n)<=0)),u=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),I=Object.freeze,g=(e,t)=>e?.has(t)??!1,p=e=>o(e)||0==(e=>e?.size??0)(e),x=e=>[...e?.values()??[]],y=e=>e.clear(),v=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],b=(e,t)=>e?.get(t),T=(e,t)=>v(e,((e,n)=>t(n,e))),E=(e,t,n)=>o(n)?(L(e,t),e):e?.set(t,n),R=(e,t,n)=>(g(e,t)||E(e,t,n()),b(e,t)),m=(e,t,n,s,r=0)=>d((n?R:b)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&E(e,t[r]),o;const d=m(o,t,n,s,r+1);return p(o)&&E(e,t[r]),d})),j=e=>new Set(i(e)||o(e)?e:[e]),k=(e,t)=>e?.add(t),z=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),A=(e,t)=>(e??0)<(t??0)?-1:1,C=/^\d+$/,D=((e,t)=>{const s=new WeakMap;return e=>{s.has(e)||s.set(e,(e=>{const t=S(),s=S(),[D,M,B]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{C.test(t)&&l(e)<1e3&&h(e,t)}]})(),i=S();return[(e,r,o,d=[],l=(()=>[]))=>{t??=U;const c=s(1);return E(i,c,[e,r,o,d,l]),k(m(r,o??[n],j),c),c},(e,s,...r)=>f(((e,t=[n])=>{const s=[],r=(e,n)=>n==l(t)?h(s,e):null===t[n]?v(e,(e=>r(e,n+1))):f([t[n],null],(t=>r(b(e,t),n+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>b(i,e)[0](t,...s??[],...r))))),e=>d(b(i,e),(([,t,s])=>(m(t,s??[n],void 0,(t=>(L(t,e),p(t)?1:0))),E(i,e),r(e),s))),e=>d(b(i,e),(([e,,n=[],s,r])=>{const d=(...i)=>{const c=l(i);c==l(n)?e(t,...i,...r(i)):o(n[c])?f(s[c]?.(...i)??[],(e=>d(...i,e))):d(...i,n[c])};d()}))]})(),[O,W,$,q,F,G,H,,J,K,N,P]=((e,t,n,s,r)=>{const a=e.hasRow,u=S(),h=S(),I=S(),m=S(),z=S(),A=S(),C=(t,n,...s)=>{const r=R(A,t,j);return f(s,(t=>k(r,t)&&n&&e.callListener(t))),s},D=(t,...n)=>d(b(A,t),(s=>{f(0==l(n)?x(s):n,(t=>{e.delListener(t),L(s,t)})),p(s)&&E(A,t)})),M=(e,n)=>{E(u,e,n),g(h,e)||(E(h,e,t()),E(m,e,S()),E(z,e,S()),r(I))},B=e=>{E(u,e),E(h,e),E(m,e),E(z,e),D(e),r(I)};return[()=>e,()=>w(u),e=>T(h,e),e=>g(h,e),e=>b(u,e),e=>b(h,e),(e,t)=>E(h,e,t),M,(t,s,r,d,u)=>{M(t,s);const h=S(),I=S(),p=b(m,t),x=b(z,t),L=t=>{const r=n=>e.getCell(s,t,n),f=b(p,t),g=a(s,t)?n(d(r,t)):void 0;var y,v;if(f===g||i(f)&&i(g)&&(v=g,l(y=f)===l(v)&&c(y,((e,t)=>v[t]===e)))||E(h,t,[f,g]),!o(u)){const e=b(x,t),n=a(s,t)?u(r,t):void 0;e!=n&&E(I,t,n)}},w=e=>{r((()=>{v(h,(([,e],t)=>E(p,t,e))),v(I,((e,t)=>E(x,t,e)))}),h,I,p,x,e),y(h),y(I)};T(p,L),e.hasTable(s)&&f(e.getRowIds(s),(e=>{g(p,e)||L(e)})),w(!0),D(t),C(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>w())))},B,e=>s(e,I),()=>T(A,B),C,D]})(e,S,(e=>{return o(e)?n:i(e)?(t=r,e.map(t)):r(e);var t}),D,M),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,n,r,i,l,c=A)=>{const f=o(l)?void 0:([e],[t])=>l(e,t);return J(e,n,((n,r,l,h,I,x)=>{let y=0;const w=j(),R=j(),m=G(e);if(v(r,(([e,t],n)=>{const s=j(e),r=j(t);v(s,(e=>L(r,e)?L(s,e):0)),v(s,(e=>{k(w,e),d(b(m,e),(t=>{L(t,n),p(t)&&(E(m,e),y=1)}))})),v(r,(e=>{k(w,e),g(m,e)||(E(m,e,j()),y=1),k(b(m,e),n),o(i)||k(R,e)}))})),n(),p(I)||(x?T(m,(e=>k(R,e))):T(l,(e=>d(b(h,e),(e=>k(R,e))))),v(R,(e=>{const t=(t,n)=>c(b(I,t),b(I,n),e),n=[...b(m,e)];a(n,t)||(E(m,e,j(u(n,t))),k(w,e))}))),(y||x)&&!o(f)){const t=[...m];a(t,f)||(H(e,S(u(t,f))),y=1)}y&&M(t,[e]),v(w,(t=>M(s,[e,t])))}),z(r),d(i,z)),U},delIndexDefinition:e=>(K(e),U),getStore:O,getIndexIds:W,forEachIndex:e=>$(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:q,hasSlice:(e,t)=>g(G(e),t),getTableId:F,getSliceIds:e=>w(G(e)),getSliceRowIds:(e,t)=>x(b(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>D(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>D(n,s,[e,t]),delListener:e=>(B(e),U),destroy:P,getListenerStats:()=>({})};return I(U)})(e));return s.get(e)}})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});