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
@@ -1 +1 @@
1
- "use strict";var e=require("react");const s=e=>typeof e,t="",r=s(t),o=s(s),l="Listener",u="Result",n="Has",d="has",i="Ids",a="Table",p=a+"s",c=a+i,x="Row",I=x+"Count",C=x+i,b="Sorted"+x+i,w="Cell",R=w+i,k="Value",v=k+"s",g=k+i,h=e=>null==e,L=(e,s,t)=>h(e)?null==t?void 0:t():s(e),m=e=>s(e)==r,y=e=>s(e)==o,V=()=>{},S=(e,s)=>e.map(s),T=Object.keys,f=(e,s)=>L(e,(e=>e[s])),{createContext:P,useContext:O,useEffect:q}=e,B=P([]),H=(e,s)=>{var t;const r=O(B);return h(e)?r[s]:m(e)?f(null!=(t=r[s+1])?t:{},e):e},M=(e,s)=>{const t=H(e,s);return h(e)||m(e)?t:e},D=e=>{var s;return T(null!=(s=O(B)[e])?s:{})},F=e=>M(e,0),j=e=>M(e,2),Q=e=>M(e,4),E=e=>M(e,6),A=e=>M(e,8),G=e=>M(e,10),W=e=>e.toLowerCase();W(l);const U="Transaction";W(U);const{useCallback:z,useEffect:J,useMemo:K,useLayoutEffect:N,useRef:X,useState:Y}=e,Z=[],$={},_=[[],void 0,[]],ee=(e,s,t=Z)=>{const r=K((()=>s(e)),[e,...t]);return J((()=>()=>r.destroy()),[r]),r},se=(e,s,t,r=Z,o,l="get",u="")=>{const[,n]=Y(),d=z((()=>{var o,u;return null!=(u=null==(o=null==s?void 0:s[l+e])?void 0:o.call(s,...r))?u:t}),[s,e,...r,t]),i=X();return K((()=>i.current=d()),[d]),te(u+e,s,((...e)=>{i.current=h(o)?d():e[o],n([])}),[d,o],r),i.current},te=(e,s,t,r=Z,o=Z,...u)=>N((()=>{var r;const n=null==(r=null==s?void 0:s["add"+e+l])?void 0:r.call(s,...o,t,...u);return()=>null==s?void 0:s.delListener(n)}),[s,e,...o,...r,...u]),re=(e,s,t,r=Z,o=V,l=Z,...u)=>{const n=F(e);return z((e=>L(n,(r=>L(t(e,r),(t=>o(r["set"+s](...S(u,(s=>y(s)?s(e,r):s)),t),t)))))),[n,s,...r,...l,...u])},oe=(e,s,t=V,r=Z,...o)=>{const l=F(e);return z((()=>t(null==l?void 0:l["del"+s](...o))),[l,s,...r,...o])},le=(e,s,t)=>{const r=G(e);return z((()=>null==r?void 0:r[s](t)),[r,s,t])},ue=e=>se(c,F(e),Z),ne=(e,s)=>se(C,F(s),Z,[e]),de=(e,s,t,r=0,o,l)=>se(b,F(l),Z,[e,s,t,r,o],6),ie=(e,s,t)=>se(R,F(t),Z,[e,s]),ae=(e,s,t,r)=>se(w,F(r),void 0,[e,s,t],4),pe=e=>se(g,F(e),Z),ce=(e,s)=>se(k,F(s),void 0,[e]),xe=(e,s)=>se("Metric",j(s),void 0,[e]),Ie=(e,s)=>se("SliceIds",Q(s),Z,[e]),Ce=(e,s,t)=>se("Slice"+C,Q(t),Z,[e,s]),be=(e,s,t)=>se("RemoteRowId",E(t),void 0,[e,s]),we=(e,s,t)=>se("Local"+C,E(t),Z,[e,s]),Re=(e,s,t)=>se("Linked"+C,E(t),Z,[e,s]),ke=(e,s)=>se(u+C,A(s),Z,[e]),ve=(e,s,t,r=0,o,l)=>se(u+b,A(l),Z,[e,s,t,r,o],6),ge=(e,s,t)=>se(u+R,A(t),Z,[e,s]),he=(e,s,t,r)=>se(u+w,A(r),void 0,[e,s,t]),Le=e=>se("CheckpointIds",G(e),_),me=(e,s)=>se("Checkpoint",G(s),void 0,[e]),ye=e=>le(e,"goBackward"),Ve=e=>le(e,"goForward"),{PureComponent:Se,Fragment:Te,createElement:fe,useCallback:Pe,useLayoutEffect:Oe,useRef:qe,useState:Be}=e,He=(e,...s)=>h(e)?{}:e(...s),Me=(e,s)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(s),null==e?void 0:e.getRemoteTableId(s)];var De=Object.defineProperty,Fe=Object.defineProperties,je=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Ge=(e,s,t)=>s in e?De(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,We=(e,s)=>{for(var t in s||(s={}))Ee.call(s,t)&&Ge(e,t,s[t]);if(Qe)for(var t of Qe(s))Ae.call(s,t)&&Ge(e,t,s[t]);return e},Ue=(e,s)=>Fe(e,je(s)),ze=(e,s)=>{var t={};for(var r in e)Ee.call(e,r)&&s.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&Qe)for(var r of Qe(e))s.indexOf(r)<0&&Ae.call(e,r)&&(t[r]=e[r]);return t};const{useCallback:Je,useContext:Ke,useMemo:Ne,useState:Xe}=e,Ye=({tableId:e,store:s,rowComponent:t=ts,getRowComponentProps:r,customCellIds:o,separator:l,debugIds:u},n)=>es(S(n,(l=>fe(t,Ue(We({},He(r,l)),{key:l,tableId:e,rowId:l,customCellIds:o,store:s,debugIds:u})))),l,u,e),Ze=({queryId:e,queries:s,resultRowComponent:t=ns,getResultRowComponentProps:r,separator:o,debugIds:l},u)=>es(S(u,(o=>fe(t,Ue(We({},He(r,o)),{key:o,queryId:e,rowId:o,queries:s,debugIds:l})))),o,l,e),$e=({relationshipId:e,relationships:s,rowComponent:t=ts,getRowComponentProps:r,separator:o,debugIds:l},u,n)=>{const[d,i,a]=Me(E(s),e),p=u(e,n,d);return es(S(p,(e=>fe(t,Ue(We({},He(r,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),o,l,n)},_e=e=>({checkpoints:s,checkpointComponent:t=ds,getCheckpointComponentProps:r,separator:o,debugIds:l})=>{const u=G(s);return es(S(e(Le(u)),(e=>fe(t,Ue(We({},He(r,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),o)},es=(e,s,t,r)=>{const o=h(s)||!Array.isArray(e)?e:S(e,((e,t)=>t>0?[s,e]:e));return t?[r,":{",o,"}"]:o},ss=({tableId:e,rowId:s,cellId:r,store:o,debugIds:l})=>{var u;return es(t+(null!=(u=ae(e,s,r,o))?u:t),void 0,l,r)},ts=({tableId:e,rowId:s,store:t,cellComponent:r=ss,getCellComponentProps:o,customCellIds:l,separator:u,debugIds:n})=>es(S(((e,s,t,r)=>{const o=ie(s,t,r);return null!=e?e:o})(l,e,s,t),(l=>fe(r,Ue(We({},He(o,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:n})))),u,n,s),rs=e=>Ye(e,ne(e.tableId,e.store)),os=({valueId:e,store:s,debugIds:r})=>{var o;return es(t+(null!=(o=ce(e,s))?o:t),void 0,r,e)},ls=({indexId:e,sliceId:s,indexes:t,rowComponent:r=ts,getRowComponentProps:o,separator:l,debugIds:u})=>{const[n,d,i]=((e,s)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(s)])(Q(t),e),a=Ce(e,s,n);return es(S(a,(e=>fe(r,Ue(We({},He(o,e)),{key:e,tableId:i,rowId:e,store:d,debugIds:u})))),l,u,s)},us=({queryId:e,rowId:s,cellId:r,queries:o,debugIds:l})=>{var u;return es(t+(null!=(u=he(e,s,r,o))?u:t),void 0,l,r)},ns=({queryId:e,rowId:s,queries:t,resultCellComponent:r=us,getResultCellComponentProps:o,separator:l,debugIds:u})=>es(S(ge(e,s,t),(l=>fe(r,Ue(We({},He(o,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),ds=({checkpoints:e,checkpointId:s,debugIds:r})=>{var o;return es(null!=(o=me(s,e))?o:t,void 0,r,s)},is=_e((e=>e[0])),as=_e((e=>h(e[1])?[]:[e[1]])),ps=_e((e=>e[2]));exports.BackwardCheckpointsView=is,exports.CellView=ss,exports.CheckpointView=ds,exports.CurrentCheckpointView=as,exports.ForwardCheckpointsView=ps,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=ls,getSliceComponentProps:r,separator:o,debugIds:l})=>es(S(Ie(e,s),(o=>fe(t,Ue(We({},He(r,o)),{key:o,indexId:e,sliceId:o,indexes:s,debugIds:l})))),o,l,e),exports.LinkedRowsView=e=>$e(e,Re,e.firstRowId),exports.LocalRowsView=e=>$e(e,we,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:r})=>{var o;return es(null!=(o=xe(e,s))?o:t,void 0,r,e)},exports.Provider=({store:e,storesById:s,metrics:t,metricsById:r,indexes:o,indexesById:l,relationships:u,relationshipsById:n,queries:d,queriesById:i,checkpoints:a,checkpointsById:p,children:c})=>{const x=Ke(B),[I,C]=Xe({}),b=Je(((e,s)=>C((t=>f(t,e)==s?t:Ue(We({},t),{[e]:s})))),[]),w=Je((e=>C((s=>We({},((e,s)=>(delete e[s],e))(s,e))))),[]);return fe(B.Provider,{value:Ne((()=>[null!=e?e:x[0],We(We(We({},x[1]),s),I),null!=t?t:x[2],We(We({},x[3]),r),null!=o?o:x[4],We(We({},x[5]),l),null!=u?u:x[6],We(We({},x[7]),n),null!=d?d:x[8],We(We({},x[9]),i),null!=a?a:x[10],We(We({},x[11]),p),b,w]),[e,s,I,t,r,o,l,u,n,d,i,a,p,x,b,w])},c)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:r=ts,getRowComponentProps:o,debugIds:l})=>{const[u,n,,d]=Me(E(t),e),i=be(e,s,u);return es(h(d)||h(i)?null:fe(r,Ue(We({},He(o,i)),{key:i,tableId:d,rowId:i,store:n,debugIds:l})),void 0,l,s)},exports.ResultCellView=us,exports.ResultRowView=ns,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:r,offset:o,limit:l}=s,u=ze(s,["cellId","descending","offset","limit"]);return Ze(u,ve(u.queryId,t,r,o,l,u.queries))},exports.ResultTableView=e=>Ze(e,ke(e.queryId,e.queries)),exports.RowView=ts,exports.SliceView=ls,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:r,offset:o,limit:l}=s,u=ze(s,["cellId","descending","offset","limit"]);return Ye(u,de(u.tableId,t,r,o,l,u.store))},exports.TableView=rs,exports.TablesView=({store:e,tableComponent:s=rs,getTableComponentProps:t,separator:r,debugIds:o})=>es(S(ue(e),(r=>fe(s,Ue(We({},He(t,r)),{key:r,tableId:r,store:e,debugIds:o})))),r),exports.ValueView=os,exports.ValuesView=({store:e,valueComponent:s=os,getValueComponentProps:t,separator:r,debugIds:o})=>es(S(pe(e),(r=>fe(s,Ue(We({},He(t,r)),{key:r,valueId:r,store:e,debugIds:o})))),r),exports.useAddRowCallback=(e,s,t=Z,r,o=V,l=Z,u=!0)=>{const n=F(r);return z((t=>L(n,(r=>L(s(t,r),(s=>o(r.addRow(y(e)?e(t,r):e,s,u),r,s)))))),[n,e,...t,...l,u])},exports.useCell=ae,exports.useCellIds=ie,exports.useCellIdsListener=(e,s,t,r,o,l)=>te(R,F(l),t,r,[e,s],o),exports.useCellListener=(e,s,t,r,o,l,u)=>te(w,F(u),r,o,[e,s,t],l),exports.useCheckpoint=me,exports.useCheckpointIds=Le,exports.useCheckpointIdsListener=(e,s,t)=>te("CheckpointIds",G(t),e,s),exports.useCheckpointListener=(e,s,t,r)=>te("Checkpoint",G(r),s,t,[e]),exports.useCheckpoints=e=>H(e,10),exports.useCheckpointsIds=()=>D(11),exports.useCheckpointsOrCheckpointsById=G,exports.useCreateCheckpoints=(e,s,t)=>ee(e,s,t),exports.useCreateIndexes=(e,s,t)=>ee(e,s,t),exports.useCreateMetrics=(e,s,t)=>ee(e,s,t),exports.useCreatePersister=(e,s,t=Z,r,o=Z,l,u=Z)=>{const[,n]=Y(),d=K((()=>s(e)),[e,...t]);return J((()=>{var e;return e=function*(){r&&(yield r(d),n([]))},new Promise(((s,t)=>{var r=s=>{try{l(e.next(s))}catch(e){t(e)}},o=s=>{try{l(e.throw(s))}catch(e){t(e)}},l=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,o);l((e=e.apply(void 0,null)).next())})),()=>{null==d||d.destroy(),null==l||l(d)}}),[d,...o,...u]),d},exports.useCreateQueries=(e,s,t)=>ee(e,s,t),exports.useCreateRelationships=(e,s,t)=>ee(e,s,t),exports.useCreateStore=(e,s=Z)=>K(e,s),exports.useDelCellCallback=(e,s,t,r,o,l,u)=>oe(o,w,l,u,e,s,t,r),exports.useDelRowCallback=(e,s,t,r,o)=>oe(t,x,r,o,e,s),exports.useDelTableCallback=(e,s,t,r)=>oe(s,a,t,r,e),exports.useDelTablesCallback=(e,s,t)=>oe(e,p,s,t),exports.useDelValueCallback=(e,s,t,r)=>oe(s,k,t,r,e),exports.useDelValuesCallback=(e,s,t)=>oe(e,v,s,t),exports.useDidFinishTransactionListener=(e,s,t)=>te("DidFinish"+U,F(t),e,s),exports.useGoBackwardCallback=ye,exports.useGoForwardCallback=Ve,exports.useGoToCallback=(e,s=Z,t,r=V,o=Z)=>{const l=G(t);return z((s=>L(l,(t=>L(e(s),(e=>r(t.goTo(e),e)))))),[l,...s,...o])},exports.useHasCell=(e,s,t,r)=>se(w,F(r),!1,[e,s,t],4,d,n),exports.useHasCellListener=(e,s,t,r,o,l,u)=>te(n+w,F(u),r,o,[e,s,t],l),exports.useHasRow=(e,s,t)=>se(x,F(t),!1,[e,s],3,d,n),exports.useHasRowListener=(e,s,t,r,o,l)=>te(n+x,F(l),t,r,[e,s],o),exports.useHasTable=(e,s)=>se(a,F(s),!1,[e],2,d,n),exports.useHasTableCell=(e,s,t)=>se(a+w,F(t),!1,[e,s],3,d,n),exports.useHasTableCellListener=(e,s,t,r,o,l)=>te(n+a+w,F(l),t,r,[e,s],o),exports.useHasTableListener=(e,s,t,r,o)=>te(n+a,F(o),s,t,[e],r),exports.useHasTables=e=>se(p,F(e),!1,[],1,d,n),exports.useHasTablesListener=(e,s,t,r)=>te(n+p,F(r),e,s,[],t),exports.useHasValue=(e,s)=>se(k,F(s),!1,[e],2,d,n),exports.useHasValueListener=(e,s,t,r,o)=>te(n+k,F(o),s,t,[e],r),exports.useHasValues=e=>se(v,F(e),!1,[],1,d,n),exports.useHasValuesListener=(e,s,t,r)=>te(n+v,F(r),e,s,[],t),exports.useIndexIds=e=>se("IndexIds",Q(e),Z),exports.useIndexes=e=>H(e,4),exports.useIndexesIds=()=>D(5),exports.useIndexesOrIndexesById=Q,exports.useLinkedRowIds=Re,exports.useLinkedRowIdsListener=(e,s,t,r,o)=>te("Linked"+C,E(o),t,r,[e,s]),exports.useLocalRowIds=we,exports.useLocalRowIdsListener=(e,s,t,r,o)=>te("Local"+C,E(o),t,r,[e,s]),exports.useMetric=xe,exports.useMetricIds=e=>se("MetricIds",j(e),Z),exports.useMetricListener=(e,s,t,r)=>te("Metric",j(r),s,t,[e]),exports.useMetrics=e=>H(e,2),exports.useMetricsIds=()=>D(3),exports.useMetricsOrMetricsById=j,exports.useProvideStore=(e,s)=>{const{12:t,13:r}=O(B);q((()=>(null==t||t(e,s),()=>null==r?void 0:r(e))),[t,e,s,r])},exports.useQueries=e=>H(e,8),exports.useQueriesIds=()=>D(9),exports.useQueriesOrQueriesById=A,exports.useQueryIds=e=>se("QueryIds",A(e),Z),exports.useRedoInformation=e=>{var s;const r=G(e),[,,[o]]=Le(r);return[!h(o),Ve(r),o,null!=(s=L(o,(e=>null==r?void 0:r.getCheckpoint(e))))?s:t]},exports.useRelationshipIds=e=>se("RelationshipIds",E(e),Z),exports.useRelationships=e=>H(e,6),exports.useRelationshipsIds=()=>D(7),exports.useRelationshipsOrRelationshipsById=E,exports.useRemoteRowId=be,exports.useRemoteRowIdListener=(e,s,t,r,o)=>te("RemoteRowId",E(o),t,r,[e,s]),exports.useResultCell=he,exports.useResultCellIds=ge,exports.useResultCellIdsListener=(e,s,t,r,o)=>te(u+R,A(o),t,r,[e,s]),exports.useResultCellListener=(e,s,t,r,o,l)=>te(u+w,A(l),r,o,[e,s,t]),exports.useResultRow=(e,s,t)=>se(u+x,A(t),$,[e,s]),exports.useResultRowCount=(e,s)=>se(u+I,A(s),0,[e]),exports.useResultRowCountListener=(e,s,t,r)=>te(u+I,A(r),s,t,[e]),exports.useResultRowIds=ke,exports.useResultRowIdsListener=(e,s,t,r)=>te(u+C,A(r),s,t,[e]),exports.useResultRowListener=(e,s,t,r,o)=>te(u+x,A(o),t,r,[e,s]),exports.useResultSortedRowIds=ve,exports.useResultSortedRowIdsListener=(e,s,t,r,o,l,n,d)=>te(u+b,A(d),l,n,[e,s,t,r,o]),exports.useResultTable=(e,s)=>se(u+a,A(s),$,[e]),exports.useResultTableCellIds=(e,s)=>se(u+a+R,A(s),Z,[e]),exports.useResultTableCellIdsListener=(e,s,t,r)=>te(u+a+R,A(r),s,t,[e]),exports.useResultTableListener=(e,s,t,r)=>te(u+a,A(r),s,t,[e]),exports.useRow=(e,s,t)=>se(x,F(t),$,[e,s]),exports.useRowCount=(e,s)=>se(I,F(s),0,[e]),exports.useRowCountListener=(e,s,t,r,o)=>te(I,F(o),s,t,[e],r),exports.useRowIds=ne,exports.useRowIdsListener=(e,s,t,r,o)=>te(C,F(o),s,t,[e],r),exports.useRowListener=(e,s,t,r,o,l)=>te(x,F(l),t,r,[e,s],o),exports.useSetCellCallback=(e,s,t,r,o,l,u,n)=>re(l,w,r,o,u,n,e,s,t),exports.useSetCheckpointCallback=(e=V,s=Z,t,r=V,o=Z)=>{const l=G(t);return z((s=>L(l,(t=>{const o=e(s);r(t.addCheckpoint(o),t,o)}))),[l,...s,...o])},exports.useSetPartialRowCallback=(e,s,t,r,o,l,u)=>re(o,"PartialRow",t,r,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,r,o)=>re(t,"PartialValues",e,s,r,o),exports.useSetRowCallback=(e,s,t,r,o,l,u)=>re(o,x,t,r,l,u,e,s),exports.useSetTableCallback=(e,s,t,r,o,l)=>re(r,a,s,t,o,l,e),exports.useSetTablesCallback=(e,s,t,r,o)=>re(t,p,e,s,r,o),exports.useSetValueCallback=(e,s,t,r,o,l)=>re(r,k,s,t,o,l,e),exports.useSetValuesCallback=(e,s,t,r,o)=>re(t,v,e,s,r,o),exports.useSliceIds=Ie,exports.useSliceIdsListener=(e,s,t,r)=>te("SliceIds",Q(r),s,t,[e]),exports.useSliceRowIds=Ce,exports.useSliceRowIdsListener=(e,s,t,r,o)=>te("Slice"+C,Q(o),t,r,[e,s]),exports.useSortedRowIds=de,exports.useSortedRowIdsListener=(e,s,t,r,o,l,u,n,d)=>te(b,F(d),l,u,[e,s,t,r,o],n),exports.useStartTransactionListener=(e,s,t)=>te("Start"+U,F(t),e,s),exports.useStore=e=>H(e,0),exports.useStoreIds=()=>D(1),exports.useStoreOrStoreById=F,exports.useTable=(e,s)=>se(a,F(s),$,[e]),exports.useTableCellIds=(e,s)=>se(a+R,F(s),Z,[e]),exports.useTableCellIdsListener=(e,s,t,r,o)=>te(a+R,F(o),s,t,[e],r),exports.useTableIds=ue,exports.useTableIdsListener=(e,s,t,r)=>te(c,F(r),e,s,Z,t),exports.useTableListener=(e,s,t,r,o)=>te(a,F(o),s,t,[e],r),exports.useTables=e=>se(p,F(e),$),exports.useTablesListener=(e,s,t,r)=>te(p,F(r),e,s,Z,t),exports.useUndoInformation=e=>{var s;const r=G(e),[o,l]=Le(r);return[(u=o,!(0==u.length)),ye(r),l,null!=(s=L(l,(e=>null==r?void 0:r.getCheckpoint(e))))?s:t];var u},exports.useValue=ce,exports.useValueIds=pe,exports.useValueIdsListener=(e,s,t,r)=>te(g,F(r),e,s,Z,t),exports.useValueListener=(e,s,t,r,o)=>te(k,F(o),s,t,[e],r),exports.useValues=e=>se(v,F(e),$),exports.useValuesListener=(e,s,t,r)=>te(v,F(r),e,s,Z,t),exports.useWillFinishTransactionListener=(e,s,t)=>te("WillFinish"+U,F(t),e,s);
1
+ "use strict";var e=require("react");const s=e=>typeof e,t="",r=s(t),o=s(s),l="Listener",u="Result",n="Has",d="Ids",a="Table",i=a+"s",p=a+d,c="Row",x=c+"Count",I=c+d,C="Sorted"+c+d,b="Cell",w=b+d,R="Value",k=R+"s",v=R+d,g=e=>null==e,y=(e,s,t)=>g(e)?null==t?void 0:t():s(e),h=e=>s(e)==r,L=e=>s(e)==o,m=e=>e.length,S=()=>{},V=(e,s)=>e.every(s),f=(e,s)=>m(e)===m(s)&&V(e,((e,t)=>s[t]===e)),T=(e,s)=>e.map(s),P=Object,O=e=>P.getPrototypeOf(e),q=P.entries,B=P.keys,H=e=>!g(e)&&y(O(e),(e=>e==P.prototype||g(O(e))),(()=>!0)),M=(e,s)=>y(e,(e=>e[s])),D=(e,s)=>{const t=q(e);return m(t)===m(B(s))&&V(t,(([e,t])=>H(t)?!!H(s[e])&&D(s[e],t):s[e]===t))},{createContext:F,useContext:j,useEffect:E}=e,Q=F([]),A=(e,s)=>{var t;const r=j(Q);return g(e)?r[s]:h(e)?M(null!=(t=r[s+1])?t:{},e):e},G=(e,s)=>{const t=A(e,s);return g(e)||h(e)?t:e},W=e=>{var s;return B(null!=(s=j(Q)[e])?s:{})},U=e=>G(e,0),z=e=>G(e,2),J=e=>G(e,4),K=e=>G(e,6),N=e=>G(e,8),X=e=>G(e,10),Y=e=>e.toLowerCase();Y(l);const Z="Transaction";Y(Z);const{useCallback:$,useEffect:_,useMemo:ee,useLayoutEffect:se,useRef:te,useState:re,useSyncExternalStore:oe}=e,le=[],ue=[{},[],[le,void 0,le],void 0,!1,0],ne=(e,s)=>e===s,de=[D,f,([e,s,t],[r,o,l])=>s===o&&f(e,r)&&f(t,l)],ae=(e,s,t=le)=>{const[,r]=re(),[o,l]=re();return _((()=>{const t=s(e);return l(t),r([]),t.destroy}),[e,...t]),o},ie=(e,s,...t)=>{var r;const o=null==(r=null==e?void 0:e["add"+s+l])?void 0:r.call(e,...t);return()=>null==e?void 0:e.delListener(o)},pe=(e,s,r,o=le)=>{const l=te(ue[r]),u=$((()=>{var t,u,n;const d=null!=(u=null==(t=null==s?void 0:s[(4==r?"has":"get")+e])?void 0:t.call(s,...o))?u:ue[r];return(null!=(n=de[r])?n:ne)(d,l.current)?l.current:l.current=d}),[s,r,e,...o]),d=$((l=>ie(s,(4==r?n:t)+e,...o,l)),[s,r,e,...o]);return oe(d,u)},ce=(e,s,t,r=le,o=le,...l)=>se((()=>ie(s,e,...o,t,...l)),[s,e,...o,...r,...l]),xe=(e,s,t,r=le,o=S,l=le,...u)=>{const n=U(e);return $((e=>y(n,(r=>y(t(e,r),(t=>o(r["set"+s](...T(u,(s=>L(s)?s(e,r):s)),t),t)))))),[n,s,...r,...l,...u])},Ie=(e,s,t=S,r=le,...o)=>{const l=U(e);return $((()=>t(null==l?void 0:l["del"+s](...o))),[l,s,...r,...o])},Ce=(e,s,t)=>{const r=X(e);return $((()=>null==r?void 0:r[s](t)),[r,s,t])},be=e=>pe(p,U(e),1),we=(e,s)=>pe(I,U(s),1,[e]),Re=(e,s,t,r=0,o,l)=>pe(C,U(l),1,[e,s,t,r,o]),ke=(e,s,t)=>pe(w,U(t),1,[e,s]),ve=(e,s,t,r)=>pe(b,U(r),3,[e,s,t]),ge=e=>pe(v,U(e),1),ye=(e,s)=>pe(R,U(s),3,[e]),he=(e,s)=>pe("Metric",z(s),3,[e]),Le=(e,s)=>pe("SliceIds",J(s),1,[e]),me=(e,s,t)=>pe("Slice"+I,J(t),1,[e,s]),Se=(e,s,t)=>pe("RemoteRowId",K(t),3,[e,s]),Ve=(e,s,t)=>pe("Local"+I,K(t),1,[e,s]),fe=(e,s,t)=>pe("Linked"+I,K(t),1,[e,s]),Te=(e,s)=>pe(u+I,N(s),1,[e]),Pe=(e,s,t,r=0,o,l)=>pe(u+C,N(l),1,[e,s,t,r,o]),Oe=(e,s,t)=>pe(u+w,N(t),1,[e,s]),qe=(e,s,t,r)=>pe(u+b,N(r),3,[e,s,t]),Be=e=>pe("CheckpointIds",X(e),2),He=(e,s)=>pe("Checkpoint",X(s),3,[e]),Me=e=>Ce(e,"goBackward"),De=e=>Ce(e,"goForward"),{PureComponent:Fe,Fragment:je,createElement:Ee,useCallback:Qe,useLayoutEffect:Ae,useRef:Ge,useState:We}=e,Ue=(e,...s)=>g(e)?{}:e(...s),ze=(e,s)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(s),null==e?void 0:e.getRemoteTableId(s)];var Je=Object.defineProperty,Ke=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,$e=(e,s,t)=>s in e?Je(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,_e=(e,s)=>{for(var t in s||(s={}))Ye.call(s,t)&&$e(e,t,s[t]);if(Xe)for(var t of Xe(s))Ze.call(s,t)&&$e(e,t,s[t]);return e},es=(e,s)=>Ke(e,Ne(s)),ss=(e,s)=>{var t={};for(var r in e)Ye.call(e,r)&&s.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&Xe)for(var r of Xe(e))s.indexOf(r)<0&&Ze.call(e,r)&&(t[r]=e[r]);return t};const{useCallback:ts,useContext:rs,useMemo:os,useState:ls}=e,us=({tableId:e,store:s,rowComponent:t=cs,getRowComponentProps:r,customCellIds:o,separator:l,debugIds:u},n)=>is(T(n,(l=>Ee(t,es(_e({},Ue(r,l)),{key:l,tableId:e,rowId:l,customCellIds:o,store:s,debugIds:u})))),l,u,e),ns=({queryId:e,queries:s,resultRowComponent:t=ws,getResultRowComponentProps:r,separator:o,debugIds:l},u)=>is(T(u,(o=>Ee(t,es(_e({},Ue(r,o)),{key:o,queryId:e,rowId:o,queries:s,debugIds:l})))),o,l,e),ds=({relationshipId:e,relationships:s,rowComponent:t=cs,getRowComponentProps:r,separator:o,debugIds:l},u,n)=>{const[d,a,i]=ze(K(s),e),p=u(e,n,d);return is(T(p,(e=>Ee(t,es(_e({},Ue(r,e)),{key:e,tableId:i,rowId:e,store:a,debugIds:l})))),o,l,n)},as=e=>({checkpoints:s,checkpointComponent:t=Rs,getCheckpointComponentProps:r,separator:o,debugIds:l})=>{const u=X(s);return is(T(e(Be(u)),(e=>Ee(t,es(_e({},Ue(r,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),o)},is=(e,s,t,r)=>{const o=g(s)||!Array.isArray(e)?e:T(e,((e,t)=>t>0?[s,e]:e));return t?[r,":{",o,"}"]:o},ps=({tableId:e,rowId:s,cellId:r,store:o,debugIds:l})=>{var u;return is(t+(null!=(u=ve(e,s,r,o))?u:t),void 0,l,r)},cs=({tableId:e,rowId:s,store:t,cellComponent:r=ps,getCellComponentProps:o,customCellIds:l,separator:u,debugIds:n})=>is(T(((e,s,t,r)=>{const o=ke(s,t,r);return null!=e?e:o})(l,e,s,t),(l=>Ee(r,es(_e({},Ue(o,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:n})))),u,n,s),xs=e=>us(e,we(e.tableId,e.store)),Is=({valueId:e,store:s,debugIds:r})=>{var o;return is(t+(null!=(o=ye(e,s))?o:t),void 0,r,e)},Cs=({indexId:e,sliceId:s,indexes:t,rowComponent:r=cs,getRowComponentProps:o,separator:l,debugIds:u})=>{const[n,d,a]=((e,s)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(s)])(J(t),e),i=me(e,s,n);return is(T(i,(e=>Ee(r,es(_e({},Ue(o,e)),{key:e,tableId:a,rowId:e,store:d,debugIds:u})))),l,u,s)},bs=({queryId:e,rowId:s,cellId:r,queries:o,debugIds:l})=>{var u;return is(t+(null!=(u=qe(e,s,r,o))?u:t),void 0,l,r)},ws=({queryId:e,rowId:s,queries:t,resultCellComponent:r=bs,getResultCellComponentProps:o,separator:l,debugIds:u})=>is(T(Oe(e,s,t),(l=>Ee(r,es(_e({},Ue(o,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),Rs=({checkpoints:e,checkpointId:s,debugIds:r})=>{var o;return is(null!=(o=He(s,e))?o:t,void 0,r,s)},ks=as((e=>e[0])),vs=as((e=>g(e[1])?[]:[e[1]])),gs=as((e=>e[2]));exports.BackwardCheckpointsView=ks,exports.CellView=ps,exports.CheckpointView=Rs,exports.CurrentCheckpointView=vs,exports.ForwardCheckpointsView=gs,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Cs,getSliceComponentProps:r,separator:o,debugIds:l})=>is(T(Le(e,s),(o=>Ee(t,es(_e({},Ue(r,o)),{key:o,indexId:e,sliceId:o,indexes:s,debugIds:l})))),o,l,e),exports.LinkedRowsView=e=>ds(e,fe,e.firstRowId),exports.LocalRowsView=e=>ds(e,Ve,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:r})=>{var o;return is(null!=(o=he(e,s))?o:t,void 0,r,e)},exports.Provider=({store:e,storesById:s,metrics:t,metricsById:r,indexes:o,indexesById:l,relationships:u,relationshipsById:n,queries:d,queriesById:a,checkpoints:i,checkpointsById:p,children:c})=>{const x=rs(Q),[I,C]=ls({}),b=ts(((e,s)=>C((t=>M(t,e)==s?t:es(_e({},t),{[e]:s})))),[]),w=ts((e=>C((s=>_e({},((e,s)=>(delete e[s],e))(s,e))))),[]);return Ee(Q.Provider,{value:os((()=>[null!=e?e:x[0],_e(_e(_e({},x[1]),s),I),null!=t?t:x[2],_e(_e({},x[3]),r),null!=o?o:x[4],_e(_e({},x[5]),l),null!=u?u:x[6],_e(_e({},x[7]),n),null!=d?d:x[8],_e(_e({},x[9]),a),null!=i?i:x[10],_e(_e({},x[11]),p),b,w]),[e,s,I,t,r,o,l,u,n,d,a,i,p,x,b,w])},c)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:r=cs,getRowComponentProps:o,debugIds:l})=>{const[u,n,,d]=ze(K(t),e),a=Se(e,s,u);return is(g(d)||g(a)?null:Ee(r,es(_e({},Ue(o,a)),{key:a,tableId:d,rowId:a,store:n,debugIds:l})),void 0,l,s)},exports.ResultCellView=bs,exports.ResultRowView=ws,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:r,offset:o,limit:l}=s,u=ss(s,["cellId","descending","offset","limit"]);return ns(u,Pe(u.queryId,t,r,o,l,u.queries))},exports.ResultTableView=e=>ns(e,Te(e.queryId,e.queries)),exports.RowView=cs,exports.SliceView=Cs,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:r,offset:o,limit:l}=s,u=ss(s,["cellId","descending","offset","limit"]);return us(u,Re(u.tableId,t,r,o,l,u.store))},exports.TableView=xs,exports.TablesView=({store:e,tableComponent:s=xs,getTableComponentProps:t,separator:r,debugIds:o})=>is(T(be(e),(r=>Ee(s,es(_e({},Ue(t,r)),{key:r,tableId:r,store:e,debugIds:o})))),r),exports.ValueView=Is,exports.ValuesView=({store:e,valueComponent:s=Is,getValueComponentProps:t,separator:r,debugIds:o})=>is(T(ge(e),(r=>Ee(s,es(_e({},Ue(t,r)),{key:r,valueId:r,store:e,debugIds:o})))),r),exports.useAddRowCallback=(e,s,t=le,r,o=S,l=le,u=!0)=>{const n=U(r);return $((t=>y(n,(r=>y(s(t,r),(s=>o(r.addRow(L(e)?e(t,r):e,s,u),r,s)))))),[n,e,...t,...l,u])},exports.useCell=ve,exports.useCellIds=ke,exports.useCellIdsListener=(e,s,t,r,o,l)=>ce(w,U(l),t,r,[e,s],o),exports.useCellListener=(e,s,t,r,o,l,u)=>ce(b,U(u),r,o,[e,s,t],l),exports.useCheckpoint=He,exports.useCheckpointIds=Be,exports.useCheckpointIdsListener=(e,s,t)=>ce("CheckpointIds",X(t),e,s),exports.useCheckpointListener=(e,s,t,r)=>ce("Checkpoint",X(r),s,t,[e]),exports.useCheckpoints=e=>A(e,10),exports.useCheckpointsIds=()=>W(11),exports.useCheckpointsOrCheckpointsById=X,exports.useCreateCheckpoints=(e,s,t)=>ae(e,s,t),exports.useCreateIndexes=(e,s,t)=>ae(e,s,t),exports.useCreateMetrics=(e,s,t)=>ae(e,s,t),exports.useCreatePersister=(e,s,t=le,r,o=le,l,u=le)=>{const[,n]=re(),[d,a]=re();return _((()=>{const t=s(e);if(a(t),t)return r&&(o=function*(){yield r(t),n([])},new Promise(((e,s)=>{var t=e=>{try{l(o.next(e))}catch(e){s(e)}},r=e=>{try{l(o.throw(e))}catch(e){s(e)}},l=s=>s.done?e(s.value):Promise.resolve(s.value).then(t,r);l((o=o.apply(void 0,null)).next())}))),()=>{t.destroy(),null==l||l(t)};var o}),[e,...t,...o,...u]),d},exports.useCreateQueries=(e,s,t)=>ae(e,s,t),exports.useCreateRelationships=(e,s,t)=>ae(e,s,t),exports.useCreateStore=(e,s=le)=>ee(e,s),exports.useDelCellCallback=(e,s,t,r,o,l,u)=>Ie(o,b,l,u,e,s,t,r),exports.useDelRowCallback=(e,s,t,r,o)=>Ie(t,c,r,o,e,s),exports.useDelTableCallback=(e,s,t,r)=>Ie(s,a,t,r,e),exports.useDelTablesCallback=(e,s,t)=>Ie(e,i,s,t),exports.useDelValueCallback=(e,s,t,r)=>Ie(s,R,t,r,e),exports.useDelValuesCallback=(e,s,t)=>Ie(e,k,s,t),exports.useDidFinishTransactionListener=(e,s,t)=>ce("DidFinish"+Z,U(t),e,s),exports.useGoBackwardCallback=Me,exports.useGoForwardCallback=De,exports.useGoToCallback=(e,s=le,t,r=S,o=le)=>{const l=X(t);return $((s=>y(l,(t=>y(e(s),(e=>r(t.goTo(e),e)))))),[l,...s,...o])},exports.useHasCell=(e,s,t,r)=>pe(b,U(r),4,[e,s,t]),exports.useHasCellListener=(e,s,t,r,o,l,u)=>ce(n+b,U(u),r,o,[e,s,t],l),exports.useHasRow=(e,s,t)=>pe(c,U(t),4,[e,s]),exports.useHasRowListener=(e,s,t,r,o,l)=>ce(n+c,U(l),t,r,[e,s],o),exports.useHasTable=(e,s)=>pe(a,U(s),4,[e]),exports.useHasTableCell=(e,s,t)=>pe(a+b,U(t),4,[e,s]),exports.useHasTableCellListener=(e,s,t,r,o,l)=>ce(n+a+b,U(l),t,r,[e,s],o),exports.useHasTableListener=(e,s,t,r,o)=>ce(n+a,U(o),s,t,[e],r),exports.useHasTables=e=>pe(i,U(e),4,[]),exports.useHasTablesListener=(e,s,t,r)=>ce(n+i,U(r),e,s,[],t),exports.useHasValue=(e,s)=>pe(R,U(s),4,[e]),exports.useHasValueListener=(e,s,t,r,o)=>ce(n+R,U(o),s,t,[e],r),exports.useHasValues=e=>pe(k,U(e),4,[]),exports.useHasValuesListener=(e,s,t,r)=>ce(n+k,U(r),e,s,[],t),exports.useIndexIds=e=>pe("IndexIds",J(e),1),exports.useIndexes=e=>A(e,4),exports.useIndexesIds=()=>W(5),exports.useIndexesOrIndexesById=J,exports.useLinkedRowIds=fe,exports.useLinkedRowIdsListener=(e,s,t,r,o)=>ce("Linked"+I,K(o),t,r,[e,s]),exports.useLocalRowIds=Ve,exports.useLocalRowIdsListener=(e,s,t,r,o)=>ce("Local"+I,K(o),t,r,[e,s]),exports.useMetric=he,exports.useMetricIds=e=>pe("MetricIds",z(e),1),exports.useMetricListener=(e,s,t,r)=>ce("Metric",z(r),s,t,[e]),exports.useMetrics=e=>A(e,2),exports.useMetricsIds=()=>W(3),exports.useMetricsOrMetricsById=z,exports.useProvideStore=(e,s)=>{const{12:t,13:r}=j(Q);E((()=>(null==t||t(e,s),()=>null==r?void 0:r(e))),[t,e,s,r])},exports.useQueries=e=>A(e,8),exports.useQueriesIds=()=>W(9),exports.useQueriesOrQueriesById=N,exports.useQueryIds=e=>pe("QueryIds",N(e),1),exports.useRedoInformation=e=>{var s;const r=X(e),[,,[o]]=Be(r);return[!g(o),De(r),o,null!=(s=y(o,(e=>null==r?void 0:r.getCheckpoint(e))))?s:t]},exports.useRelationshipIds=e=>pe("RelationshipIds",K(e),1),exports.useRelationships=e=>A(e,6),exports.useRelationshipsIds=()=>W(7),exports.useRelationshipsOrRelationshipsById=K,exports.useRemoteRowId=Se,exports.useRemoteRowIdListener=(e,s,t,r,o)=>ce("RemoteRowId",K(o),t,r,[e,s]),exports.useResultCell=qe,exports.useResultCellIds=Oe,exports.useResultCellIdsListener=(e,s,t,r,o)=>ce(u+w,N(o),t,r,[e,s]),exports.useResultCellListener=(e,s,t,r,o,l)=>ce(u+b,N(l),r,o,[e,s,t]),exports.useResultRow=(e,s,t)=>pe(u+c,N(t),0,[e,s]),exports.useResultRowCount=(e,s)=>pe(u+x,N(s),5,[e]),exports.useResultRowCountListener=(e,s,t,r)=>ce(u+x,N(r),s,t,[e]),exports.useResultRowIds=Te,exports.useResultRowIdsListener=(e,s,t,r)=>ce(u+I,N(r),s,t,[e]),exports.useResultRowListener=(e,s,t,r,o)=>ce(u+c,N(o),t,r,[e,s]),exports.useResultSortedRowIds=Pe,exports.useResultSortedRowIdsListener=(e,s,t,r,o,l,n,d)=>ce(u+C,N(d),l,n,[e,s,t,r,o]),exports.useResultTable=(e,s)=>pe(u+a,N(s),0,[e]),exports.useResultTableCellIds=(e,s)=>pe(u+a+w,N(s),1,[e]),exports.useResultTableCellIdsListener=(e,s,t,r)=>ce(u+a+w,N(r),s,t,[e]),exports.useResultTableListener=(e,s,t,r)=>ce(u+a,N(r),s,t,[e]),exports.useRow=(e,s,t)=>pe(c,U(t),0,[e,s]),exports.useRowCount=(e,s)=>pe(x,U(s),5,[e]),exports.useRowCountListener=(e,s,t,r,o)=>ce(x,U(o),s,t,[e],r),exports.useRowIds=we,exports.useRowIdsListener=(e,s,t,r,o)=>ce(I,U(o),s,t,[e],r),exports.useRowListener=(e,s,t,r,o,l)=>ce(c,U(l),t,r,[e,s],o),exports.useSetCellCallback=(e,s,t,r,o,l,u,n)=>xe(l,b,r,o,u,n,e,s,t),exports.useSetCheckpointCallback=(e=S,s=le,t,r=S,o=le)=>{const l=X(t);return $((s=>y(l,(t=>{const o=e(s);r(t.addCheckpoint(o),t,o)}))),[l,...s,...o])},exports.useSetPartialRowCallback=(e,s,t,r,o,l,u)=>xe(o,"PartialRow",t,r,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,r,o)=>xe(t,"PartialValues",e,s,r,o),exports.useSetRowCallback=(e,s,t,r,o,l,u)=>xe(o,c,t,r,l,u,e,s),exports.useSetTableCallback=(e,s,t,r,o,l)=>xe(r,a,s,t,o,l,e),exports.useSetTablesCallback=(e,s,t,r,o)=>xe(t,i,e,s,r,o),exports.useSetValueCallback=(e,s,t,r,o,l)=>xe(r,R,s,t,o,l,e),exports.useSetValuesCallback=(e,s,t,r,o)=>xe(t,k,e,s,r,o),exports.useSliceIds=Le,exports.useSliceIdsListener=(e,s,t,r)=>ce("SliceIds",J(r),s,t,[e]),exports.useSliceRowIds=me,exports.useSliceRowIdsListener=(e,s,t,r,o)=>ce("Slice"+I,J(o),t,r,[e,s]),exports.useSortedRowIds=Re,exports.useSortedRowIdsListener=(e,s,t,r,o,l,u,n,d)=>ce(C,U(d),l,u,[e,s,t,r,o],n),exports.useStartTransactionListener=(e,s,t)=>ce("Start"+Z,U(t),e,s),exports.useStore=e=>A(e,0),exports.useStoreIds=()=>W(1),exports.useStoreOrStoreById=U,exports.useTable=(e,s)=>pe(a,U(s),0,[e]),exports.useTableCellIds=(e,s)=>pe(a+w,U(s),1,[e]),exports.useTableCellIdsListener=(e,s,t,r,o)=>ce(a+w,U(o),s,t,[e],r),exports.useTableIds=be,exports.useTableIdsListener=(e,s,t,r)=>ce(p,U(r),e,s,le,t),exports.useTableListener=(e,s,t,r,o)=>ce(a,U(o),s,t,[e],r),exports.useTables=e=>pe(i,U(e),0),exports.useTablesListener=(e,s,t,r)=>ce(i,U(r),e,s,le,t),exports.useUndoInformation=e=>{var s;const r=X(e),[o,l]=Be(r);return[(u=o,!(0==m(u))),Me(r),l,null!=(s=y(l,(e=>null==r?void 0:r.getCheckpoint(e))))?s:t];var u},exports.useValue=ye,exports.useValueIds=ge,exports.useValueIdsListener=(e,s,t,r)=>ce(v,U(r),e,s,le,t),exports.useValueListener=(e,s,t,r,o)=>ce(R,U(o),s,t,[e],r),exports.useValues=e=>pe(k,U(e),0),exports.useValuesListener=(e,s,t,r)=>ce(k,U(r),e,s,le,t),exports.useWillFinishTransactionListener=(e,s,t)=>ce("WillFinish"+Z,U(t),e,s);
Binary file
@@ -79,13 +79,15 @@ const setNew = (entryOrEntries) =>
79
79
  );
80
80
  const setAdd = (set, value) => set?.add(value);
81
81
 
82
- const getCreateFunction = (getFunction) => {
83
- const getFunctionsByStore = /* @__PURE__ */ new WeakMap();
82
+ const getCreateFunction = (getFunction, initFunction) => {
83
+ const thingsByStore = /* @__PURE__ */ new WeakMap();
84
84
  return (store) => {
85
- if (!getFunctionsByStore.has(store)) {
86
- getFunctionsByStore.set(store, getFunction(store));
85
+ if (!thingsByStore.has(store)) {
86
+ thingsByStore.set(store, getFunction(store));
87
87
  }
88
- return getFunctionsByStore.get(store);
88
+ const thing = thingsByStore.get(store);
89
+ initFunction?.(thing);
90
+ return thing;
89
91
  };
90
92
  };
91
93
 
@@ -173,240 +175,255 @@ const getListenerFunctions = (getThing) => {
173
175
  return [addListener, callListeners, delListener, callListener];
174
176
  };
175
177
 
176
- const createCheckpoints = getCreateFunction((store) => {
177
- let backwardIdsSize = 100;
178
- let currentId;
179
- let cellsDelta = mapNew();
180
- let valuesDelta = mapNew();
181
- let listening = 1;
182
- let nextCheckpointId;
183
- let checkpointsChanged;
184
- const checkpointIdsListeners = mapNew();
185
- const checkpointListeners = mapNew();
186
- const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
187
- () => checkpoints,
188
- );
189
- const deltas = mapNew();
190
- const labels = mapNew();
191
- const backwardIds = [];
192
- const forwardIds = [];
193
- const updateStore = (oldOrNew, checkpointId) => {
194
- listening = 0;
195
- store.transaction(() => {
196
- const [cellsDelta2, valuesDelta2] = mapGet(deltas, checkpointId);
197
- collForEach(cellsDelta2, (table, tableId) =>
198
- collForEach(table, (row, rowId) =>
199
- collForEach(row, (oldNew, cellId) =>
200
- setOrDelCell(store, tableId, rowId, cellId, oldNew[oldOrNew]),
178
+ const createCheckpoints = getCreateFunction(
179
+ (store) => {
180
+ let backwardIdsSize = 100;
181
+ let currentId;
182
+ let cellsDelta = mapNew();
183
+ let valuesDelta = mapNew();
184
+ let listening = 1;
185
+ let nextCheckpointId;
186
+ let checkpointsChanged;
187
+ const checkpointIdsListeners = mapNew();
188
+ const checkpointListeners = mapNew();
189
+ const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
190
+ () => checkpoints,
191
+ );
192
+ const deltas = mapNew();
193
+ const labels = mapNew();
194
+ const backwardIds = [];
195
+ const forwardIds = [];
196
+ const updateStore = (oldOrNew, checkpointId) => {
197
+ listening = 0;
198
+ store.transaction(() => {
199
+ const [cellsDelta2, valuesDelta2] = mapGet(deltas, checkpointId);
200
+ collForEach(cellsDelta2, (table, tableId) =>
201
+ collForEach(table, (row, rowId) =>
202
+ collForEach(row, (oldNew, cellId) =>
203
+ setOrDelCell(store, tableId, rowId, cellId, oldNew[oldOrNew]),
204
+ ),
201
205
  ),
202
- ),
203
- );
204
- collForEach(valuesDelta2, (oldNew, valueId) =>
205
- setOrDelValue(store, valueId, oldNew[oldOrNew]),
206
+ );
207
+ collForEach(valuesDelta2, (oldNew, valueId) =>
208
+ setOrDelValue(store, valueId, oldNew[oldOrNew]),
209
+ );
210
+ });
211
+ listening = 1;
212
+ };
213
+ const clearCheckpointId = (checkpointId) => {
214
+ mapSet(deltas, checkpointId);
215
+ mapSet(labels, checkpointId);
216
+ callListeners(checkpointListeners, [checkpointId]);
217
+ };
218
+ const clearCheckpointIds = (checkpointIds, to) =>
219
+ arrayForEach(
220
+ arrayClear(checkpointIds, to ?? size(checkpointIds)),
221
+ clearCheckpointId,
206
222
  );
207
- });
208
- listening = 1;
209
- };
210
- const clearCheckpointId = (checkpointId) => {
211
- mapSet(deltas, checkpointId);
212
- mapSet(labels, checkpointId);
213
- callListeners(checkpointListeners, [checkpointId]);
214
- };
215
- const clearCheckpointIds = (checkpointIds, to) =>
216
- arrayForEach(
217
- arrayClear(checkpointIds, to ?? size(checkpointIds)),
218
- clearCheckpointId,
219
- );
220
- const trimBackwardsIds = () =>
221
- clearCheckpointIds(backwardIds, size(backwardIds) - backwardIdsSize);
222
- const storeChanged = () =>
223
- ifNotUndefined(currentId, () => {
224
- arrayPush(backwardIds, currentId);
225
- trimBackwardsIds();
226
- clearCheckpointIds(forwardIds);
227
- currentId = void 0;
223
+ const trimBackwardsIds = () =>
224
+ clearCheckpointIds(backwardIds, size(backwardIds) - backwardIdsSize);
225
+ const storeChanged = () =>
226
+ ifNotUndefined(currentId, () => {
227
+ arrayPush(backwardIds, currentId);
228
+ trimBackwardsIds();
229
+ clearCheckpointIds(forwardIds);
230
+ currentId = void 0;
231
+ checkpointsChanged = 1;
232
+ });
233
+ const storeUnchanged = () => {
234
+ currentId = arrayPop(backwardIds);
228
235
  checkpointsChanged = 1;
229
- });
230
- const storeUnchanged = () => {
231
- currentId = arrayPop(backwardIds);
232
- checkpointsChanged = 1;
233
- };
234
- const cellListenerId = store.addCellListener(
235
- null,
236
- null,
237
- null,
238
- (_store, tableId, rowId, cellId, newCell, oldCell) => {
239
- if (listening) {
240
- storeChanged();
241
- const table = mapEnsure(cellsDelta, tableId, mapNew);
242
- const row = mapEnsure(table, rowId, mapNew);
243
- const oldNew = mapEnsure(row, cellId, () => [oldCell, void 0]);
244
- oldNew[1] = newCell;
245
- if (
246
- oldNew[0] === newCell &&
247
- collIsEmpty(mapSet(row, cellId)) &&
248
- collIsEmpty(mapSet(table, rowId)) &&
249
- collIsEmpty(mapSet(cellsDelta, tableId))
250
- ) {
251
- storeUnchanged();
252
- }
253
- callListenersIfChanged();
236
+ };
237
+ let cellListenerId;
238
+ let valueListenerId;
239
+ const addCheckpointImpl = (label = EMPTY_STRING) => {
240
+ if (isUndefined(currentId)) {
241
+ currentId = EMPTY_STRING + nextCheckpointId++;
242
+ mapSet(deltas, currentId, [cellsDelta, valuesDelta]);
243
+ setCheckpoint(currentId, label);
244
+ cellsDelta = mapNew();
245
+ valuesDelta = mapNew();
246
+ checkpointsChanged = 1;
254
247
  }
255
- },
256
- );
257
- const valueListenerId = store.addValueListener(
258
- null,
259
- (_store, valueId, newValue, oldValue) => {
260
- if (listening) {
261
- storeChanged();
262
- const oldNew = mapEnsure(valuesDelta, valueId, () => [
263
- oldValue,
264
- void 0,
265
- ]);
266
- oldNew[1] = newValue;
267
- if (
268
- oldNew[0] === newValue &&
269
- collIsEmpty(mapSet(valuesDelta, valueId))
270
- ) {
271
- storeUnchanged();
272
- }
273
- callListenersIfChanged();
248
+ return currentId;
249
+ };
250
+ const goBackwardImpl = () => {
251
+ if (!arrayIsEmpty(backwardIds)) {
252
+ arrayUnshift(forwardIds, addCheckpointImpl());
253
+ updateStore(0, currentId);
254
+ currentId = arrayPop(backwardIds);
255
+ checkpointsChanged = 1;
274
256
  }
275
- },
276
- );
277
- const addCheckpointImpl = (label = EMPTY_STRING) => {
278
- if (isUndefined(currentId)) {
279
- currentId = EMPTY_STRING + nextCheckpointId++;
280
- mapSet(deltas, currentId, [cellsDelta, valuesDelta]);
281
- setCheckpoint(currentId, label);
282
- cellsDelta = mapNew();
283
- valuesDelta = mapNew();
284
- checkpointsChanged = 1;
285
- }
286
- return currentId;
287
- };
288
- const goBackwardImpl = () => {
289
- if (!arrayIsEmpty(backwardIds)) {
290
- arrayUnshift(forwardIds, addCheckpointImpl());
291
- updateStore(0, currentId);
292
- currentId = arrayPop(backwardIds);
293
- checkpointsChanged = 1;
294
- }
295
- };
296
- const goForwardImpl = () => {
297
- if (!arrayIsEmpty(forwardIds)) {
298
- arrayPush(backwardIds, currentId);
299
- currentId = arrayShift(forwardIds);
300
- updateStore(1, currentId);
301
- checkpointsChanged = 1;
302
- }
303
- };
304
- const callListenersIfChanged = () => {
305
- if (checkpointsChanged) {
306
- callListeners(checkpointIdsListeners);
307
- checkpointsChanged = 0;
308
- }
309
- };
310
- const setSize = (size2) => {
311
- backwardIdsSize = size2;
312
- trimBackwardsIds();
313
- return checkpoints;
314
- };
315
- const addCheckpoint = (label) => {
316
- const id = addCheckpointImpl(label);
317
- callListenersIfChanged();
318
- return id;
319
- };
320
- const setCheckpoint = (checkpointId, label) => {
321
- if (hasCheckpoint(checkpointId) && mapGet(labels, checkpointId) !== label) {
322
- mapSet(labels, checkpointId, label);
323
- callListeners(checkpointListeners, [checkpointId]);
324
- }
325
- return checkpoints;
326
- };
327
- const getStore = () => store;
328
- const getCheckpointIds = () => [[...backwardIds], currentId, [...forwardIds]];
329
- const forEachCheckpoint = (checkpointCallback) =>
330
- mapForEach(labels, checkpointCallback);
331
- const hasCheckpoint = (checkpointId) => collHas(deltas, checkpointId);
332
- const getCheckpoint = (checkpointId) => mapGet(labels, checkpointId);
333
- const goBackward = () => {
334
- goBackwardImpl();
335
- callListenersIfChanged();
336
- return checkpoints;
337
- };
338
- const goForward = () => {
339
- goForwardImpl();
340
- callListenersIfChanged();
341
- return checkpoints;
342
- };
343
- const goTo = (checkpointId) => {
344
- const action = arrayHas(backwardIds, checkpointId)
345
- ? goBackwardImpl
346
- : arrayHas(forwardIds, checkpointId)
347
- ? goForwardImpl
348
- : null;
349
- while (!isUndefined(action) && checkpointId != currentId) {
350
- action();
351
- }
352
- callListenersIfChanged();
353
- return checkpoints;
354
- };
355
- const addCheckpointIdsListener = (listener) =>
356
- addListener(listener, checkpointIdsListeners);
357
- const addCheckpointListener = (checkpointId, listener) =>
358
- addListener(listener, checkpointListeners, [checkpointId]);
359
- const delListener = (listenerId) => {
360
- delListenerImpl(listenerId);
361
- return checkpoints;
362
- };
363
- const clear = () => {
364
- clearCheckpointIds(backwardIds);
365
- clearCheckpointIds(forwardIds);
366
- if (!isUndefined(currentId)) {
367
- clearCheckpointId(currentId);
368
- }
369
- currentId = void 0;
370
- nextCheckpointId = 0;
371
- addCheckpoint();
372
- return checkpoints;
373
- };
374
- const clearForward = () => {
375
- if (!arrayIsEmpty(forwardIds)) {
257
+ };
258
+ const goForwardImpl = () => {
259
+ if (!arrayIsEmpty(forwardIds)) {
260
+ arrayPush(backwardIds, currentId);
261
+ currentId = arrayShift(forwardIds);
262
+ updateStore(1, currentId);
263
+ checkpointsChanged = 1;
264
+ }
265
+ };
266
+ const callListenersIfChanged = () => {
267
+ if (checkpointsChanged) {
268
+ callListeners(checkpointIdsListeners);
269
+ checkpointsChanged = 0;
270
+ }
271
+ };
272
+ const setSize = (size2) => {
273
+ backwardIdsSize = size2;
274
+ trimBackwardsIds();
275
+ return checkpoints;
276
+ };
277
+ const addCheckpoint = (label) => {
278
+ const id = addCheckpointImpl(label);
279
+ callListenersIfChanged();
280
+ return id;
281
+ };
282
+ const setCheckpoint = (checkpointId, label) => {
283
+ if (
284
+ hasCheckpoint(checkpointId) &&
285
+ mapGet(labels, checkpointId) !== label
286
+ ) {
287
+ mapSet(labels, checkpointId, label);
288
+ callListeners(checkpointListeners, [checkpointId]);
289
+ }
290
+ return checkpoints;
291
+ };
292
+ const getStore = () => store;
293
+ const getCheckpointIds = () => [
294
+ [...backwardIds],
295
+ currentId,
296
+ [...forwardIds],
297
+ ];
298
+ const forEachCheckpoint = (checkpointCallback) =>
299
+ mapForEach(labels, checkpointCallback);
300
+ const hasCheckpoint = (checkpointId) => collHas(deltas, checkpointId);
301
+ const getCheckpoint = (checkpointId) => mapGet(labels, checkpointId);
302
+ const goBackward = () => {
303
+ goBackwardImpl();
304
+ callListenersIfChanged();
305
+ return checkpoints;
306
+ };
307
+ const goForward = () => {
308
+ goForwardImpl();
309
+ callListenersIfChanged();
310
+ return checkpoints;
311
+ };
312
+ const goTo = (checkpointId) => {
313
+ const action = arrayHas(backwardIds, checkpointId)
314
+ ? goBackwardImpl
315
+ : arrayHas(forwardIds, checkpointId)
316
+ ? goForwardImpl
317
+ : null;
318
+ while (!isUndefined(action) && checkpointId != currentId) {
319
+ action();
320
+ }
321
+ callListenersIfChanged();
322
+ return checkpoints;
323
+ };
324
+ const addCheckpointIdsListener = (listener) =>
325
+ addListener(listener, checkpointIdsListeners);
326
+ const addCheckpointListener = (checkpointId, listener) =>
327
+ addListener(listener, checkpointListeners, [checkpointId]);
328
+ const delListener = (listenerId) => {
329
+ delListenerImpl(listenerId);
330
+ return checkpoints;
331
+ };
332
+ const clear = () => {
333
+ clearCheckpointIds(backwardIds);
376
334
  clearCheckpointIds(forwardIds);
377
- callListeners(checkpointIdsListeners);
378
- }
379
- return checkpoints;
380
- };
381
- const destroy = () => {
382
- store.delListener(cellListenerId);
383
- store.delListener(valueListenerId);
384
- };
385
- const getListenerStats = () => ({
386
- checkpointIds: collSize2(checkpointIdsListeners),
387
- checkpoint: collSize2(checkpointListeners),
388
- });
389
- const checkpoints = {
390
- setSize,
391
- addCheckpoint,
392
- setCheckpoint,
393
- getStore,
394
- getCheckpointIds,
395
- forEachCheckpoint,
396
- hasCheckpoint,
397
- getCheckpoint,
398
- goBackward,
399
- goForward,
400
- goTo,
401
- addCheckpointIdsListener,
402
- addCheckpointListener,
403
- delListener,
404
- clear,
405
- clearForward,
406
- destroy,
407
- getListenerStats,
408
- };
409
- return objFreeze(checkpoints.clear());
410
- });
335
+ if (!isUndefined(currentId)) {
336
+ clearCheckpointId(currentId);
337
+ }
338
+ currentId = void 0;
339
+ nextCheckpointId = 0;
340
+ addCheckpoint();
341
+ return checkpoints;
342
+ };
343
+ const clearForward = () => {
344
+ if (!arrayIsEmpty(forwardIds)) {
345
+ clearCheckpointIds(forwardIds);
346
+ callListeners(checkpointIdsListeners);
347
+ }
348
+ return checkpoints;
349
+ };
350
+ const destroy = () => {
351
+ store.delListener(cellListenerId);
352
+ store.delListener(valueListenerId);
353
+ };
354
+ const getListenerStats = () => ({
355
+ checkpointIds: collSize2(checkpointIdsListeners),
356
+ checkpoint: collSize2(checkpointListeners),
357
+ });
358
+ const _registerListeners = () => {
359
+ cellListenerId = store.addCellListener(
360
+ null,
361
+ null,
362
+ null,
363
+ (_store, tableId, rowId, cellId, newCell, oldCell) => {
364
+ if (listening) {
365
+ storeChanged();
366
+ const table = mapEnsure(cellsDelta, tableId, mapNew);
367
+ const row = mapEnsure(table, rowId, mapNew);
368
+ const oldNew = mapEnsure(row, cellId, () => [oldCell, void 0]);
369
+ oldNew[1] = newCell;
370
+ if (
371
+ oldNew[0] === newCell &&
372
+ collIsEmpty(mapSet(row, cellId)) &&
373
+ collIsEmpty(mapSet(table, rowId)) &&
374
+ collIsEmpty(mapSet(cellsDelta, tableId))
375
+ ) {
376
+ storeUnchanged();
377
+ }
378
+ callListenersIfChanged();
379
+ }
380
+ },
381
+ );
382
+ valueListenerId = store.addValueListener(
383
+ null,
384
+ (_store, valueId, newValue, oldValue) => {
385
+ if (listening) {
386
+ storeChanged();
387
+ const oldNew = mapEnsure(valuesDelta, valueId, () => [
388
+ oldValue,
389
+ void 0,
390
+ ]);
391
+ oldNew[1] = newValue;
392
+ if (
393
+ oldNew[0] === newValue &&
394
+ collIsEmpty(mapSet(valuesDelta, valueId))
395
+ ) {
396
+ storeUnchanged();
397
+ }
398
+ callListenersIfChanged();
399
+ }
400
+ },
401
+ );
402
+ };
403
+ const checkpoints = {
404
+ setSize,
405
+ addCheckpoint,
406
+ setCheckpoint,
407
+ getStore,
408
+ getCheckpointIds,
409
+ forEachCheckpoint,
410
+ hasCheckpoint,
411
+ getCheckpoint,
412
+ goBackward,
413
+ goForward,
414
+ goTo,
415
+ addCheckpointIdsListener,
416
+ addCheckpointListener,
417
+ delListener,
418
+ clear,
419
+ clearForward,
420
+ destroy,
421
+ getListenerStats,
422
+ _registerListeners,
423
+ };
424
+ return objFreeze(checkpoints.clear());
425
+ },
426
+ (checkpoints) => checkpoints._registerListeners(),
427
+ );
411
428
 
412
429
  export {createCheckpoints};
@@ -246,13 +246,15 @@ const getRowCellFunction = (getRowCell, defaultCellValue) =>
246
246
  isString(getRowCell)
247
247
  ? (getCell) => getCell(getRowCell)
248
248
  : getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING);
249
- const getCreateFunction = (getFunction) => {
250
- const getFunctionsByStore = /* @__PURE__ */ new WeakMap();
249
+ const getCreateFunction = (getFunction, initFunction) => {
250
+ const thingsByStore = /* @__PURE__ */ new WeakMap();
251
251
  return (store) => {
252
- if (!getFunctionsByStore.has(store)) {
253
- getFunctionsByStore.set(store, getFunction(store));
252
+ if (!thingsByStore.has(store)) {
253
+ thingsByStore.set(store, getFunction(store));
254
254
  }
255
- return getFunctionsByStore.get(store);
255
+ const thing = thingsByStore.get(store);
256
+ initFunction?.(thing);
257
+ return thing;
256
258
  };
257
259
  };
258
260