tinybase 6.0.0-beta.0 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1191) hide show
  1. package/min/ui-react/index.js +1 -1
  2. package/min/ui-react/index.js.gz +0 -0
  3. package/min/ui-react/with-schemas/index.js +1 -1
  4. package/min/ui-react/with-schemas/index.js.gz +0 -0
  5. package/min/ui-react-dom/index.js +1 -1
  6. package/min/ui-react-dom/index.js.gz +0 -0
  7. package/min/ui-react-dom/with-schemas/index.js +1 -1
  8. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  9. package/min/ui-react-inspector/index.js +1 -1
  10. package/min/ui-react-inspector/index.js.gz +0 -0
  11. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  12. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  13. package/package.json +330 -2981
  14. package/readme.md +2 -2
  15. package/releases.md +1 -1
  16. package/ui-react/index.js +184 -155
  17. package/ui-react/with-schemas/index.js +184 -155
  18. package/ui-react-dom/index.js +285 -282
  19. package/ui-react-dom/with-schemas/index.js +285 -282
  20. package/ui-react-inspector/index.js +566 -583
  21. package/ui-react-inspector/with-schemas/index.js +566 -583
  22. package/cjs/checkpoints/index.cjs +0 -435
  23. package/cjs/checkpoints/with-schemas/index.cjs +0 -435
  24. package/cjs/common/index.cjs +0 -34
  25. package/cjs/common/with-schemas/index.cjs +0 -34
  26. package/cjs/es6/checkpoints/index.cjs +0 -475
  27. package/cjs/es6/checkpoints/with-schemas/index.cjs +0 -475
  28. package/cjs/es6/common/index.cjs +0 -36
  29. package/cjs/es6/common/with-schemas/index.cjs +0 -36
  30. package/cjs/es6/index.cjs +0 -3900
  31. package/cjs/es6/indexes/index.cjs +0 -598
  32. package/cjs/es6/indexes/with-schemas/index.cjs +0 -598
  33. package/cjs/es6/mergeable-store/index.cjs +0 -2385
  34. package/cjs/es6/mergeable-store/with-schemas/index.cjs +0 -2385
  35. package/cjs/es6/metrics/index.cjs +0 -579
  36. package/cjs/es6/metrics/with-schemas/index.cjs +0 -579
  37. package/cjs/es6/min/checkpoints/index.cjs +0 -1
  38. package/cjs/es6/min/checkpoints/index.cjs.gz +0 -0
  39. package/cjs/es6/min/checkpoints/with-schemas/index.cjs +0 -1
  40. package/cjs/es6/min/checkpoints/with-schemas/index.cjs.gz +0 -0
  41. package/cjs/es6/min/common/index.cjs +0 -1
  42. package/cjs/es6/min/common/index.cjs.gz +0 -0
  43. package/cjs/es6/min/common/with-schemas/index.cjs +0 -1
  44. package/cjs/es6/min/common/with-schemas/index.cjs.gz +0 -0
  45. package/cjs/es6/min/index.cjs +0 -1
  46. package/cjs/es6/min/index.cjs.gz +0 -0
  47. package/cjs/es6/min/indexes/index.cjs +0 -1
  48. package/cjs/es6/min/indexes/index.cjs.gz +0 -0
  49. package/cjs/es6/min/indexes/with-schemas/index.cjs +0 -1
  50. package/cjs/es6/min/indexes/with-schemas/index.cjs.gz +0 -0
  51. package/cjs/es6/min/mergeable-store/index.cjs +0 -1
  52. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  53. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +0 -1
  54. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  55. package/cjs/es6/min/metrics/index.cjs +0 -1
  56. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  57. package/cjs/es6/min/metrics/with-schemas/index.cjs +0 -1
  58. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  59. package/cjs/es6/min/persisters/index.cjs +0 -1
  60. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  61. package/cjs/es6/min/persisters/persister-automerge/index.cjs +0 -1
  62. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  63. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +0 -1
  64. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  65. package/cjs/es6/min/persisters/persister-browser/index.cjs +0 -1
  66. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  67. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +0 -1
  68. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  69. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1
  70. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  71. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1
  72. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  73. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs +0 -1
  74. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  75. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -1
  76. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  77. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +0 -1
  78. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  79. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1
  80. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  81. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +0 -1
  82. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  83. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1
  84. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  85. package/cjs/es6/min/persisters/persister-file/index.cjs +0 -1
  86. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  87. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +0 -1
  88. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  89. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +0 -1
  90. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  91. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +0 -1
  92. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  93. package/cjs/es6/min/persisters/persister-libsql/index.cjs +0 -1
  94. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  95. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +0 -1
  96. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  97. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +0 -1
  98. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  99. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +0 -1
  100. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  101. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +0 -1
  102. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  103. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +0 -1
  104. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  105. package/cjs/es6/min/persisters/persister-pglite/index.cjs +0 -1
  106. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  107. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +0 -1
  108. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  109. package/cjs/es6/min/persisters/persister-postgres/index.cjs +0 -1
  110. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  111. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +0 -1
  112. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  113. package/cjs/es6/min/persisters/persister-powersync/index.cjs +0 -1
  114. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  115. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +0 -1
  116. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  117. package/cjs/es6/min/persisters/persister-remote/index.cjs +0 -1
  118. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  119. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +0 -1
  120. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  121. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +0 -1
  122. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  123. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1
  124. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  125. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +0 -1
  126. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  127. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1
  128. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  129. package/cjs/es6/min/persisters/persister-yjs/index.cjs +0 -1
  130. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  131. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +0 -1
  132. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  133. package/cjs/es6/min/persisters/with-schemas/index.cjs +0 -1
  134. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  135. package/cjs/es6/min/queries/index.cjs +0 -1
  136. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  137. package/cjs/es6/min/queries/with-schemas/index.cjs +0 -1
  138. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  139. package/cjs/es6/min/relationships/index.cjs +0 -1
  140. package/cjs/es6/min/relationships/index.cjs.gz +0 -0
  141. package/cjs/es6/min/relationships/with-schemas/index.cjs +0 -1
  142. package/cjs/es6/min/relationships/with-schemas/index.cjs.gz +0 -0
  143. package/cjs/es6/min/store/index.cjs +0 -1
  144. package/cjs/es6/min/store/index.cjs.gz +0 -0
  145. package/cjs/es6/min/store/with-schemas/index.cjs +0 -1
  146. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  147. package/cjs/es6/min/synchronizers/index.cjs +0 -1
  148. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  149. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -1
  150. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  151. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -1
  152. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  153. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +0 -1
  154. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  155. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -1
  156. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  157. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +0 -1
  158. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  159. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -1
  160. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  161. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +0 -1
  162. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  163. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1
  164. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  165. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1
  166. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  167. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1
  168. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  169. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -1
  170. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  171. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -1
  172. package/cjs/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  173. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +0 -1
  174. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  175. package/cjs/es6/min/tools/index.cjs +0 -1
  176. package/cjs/es6/min/tools/index.cjs.gz +0 -0
  177. package/cjs/es6/min/tools/with-schemas/index.cjs +0 -1
  178. package/cjs/es6/min/tools/with-schemas/index.cjs.gz +0 -0
  179. package/cjs/es6/min/ui-react/index.cjs +0 -1
  180. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  181. package/cjs/es6/min/ui-react/with-schemas/index.cjs +0 -1
  182. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  183. package/cjs/es6/min/ui-react-dom/index.cjs +0 -1
  184. package/cjs/es6/min/ui-react-dom/index.cjs.gz +0 -0
  185. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs +0 -1
  186. package/cjs/es6/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  187. package/cjs/es6/min/ui-react-inspector/index.cjs +0 -1
  188. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  189. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +0 -1
  190. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  191. package/cjs/es6/min/with-schemas/index.cjs +0 -1
  192. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  193. package/cjs/es6/persisters/index.cjs +0 -1562
  194. package/cjs/es6/persisters/persister-automerge/index.cjs +0 -669
  195. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +0 -669
  196. package/cjs/es6/persisters/persister-browser/index.cjs +0 -576
  197. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +0 -576
  198. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1471
  199. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1471
  200. package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +0 -687
  201. package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -687
  202. package/cjs/es6/persisters/persister-electric-sql/index.cjs +0 -1478
  203. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1478
  204. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +0 -1476
  205. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1476
  206. package/cjs/es6/persisters/persister-file/index.cjs +0 -561
  207. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +0 -561
  208. package/cjs/es6/persisters/persister-indexed-db/index.cjs +0 -673
  209. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +0 -673
  210. package/cjs/es6/persisters/persister-libsql/index.cjs +0 -1472
  211. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +0 -1472
  212. package/cjs/es6/persisters/persister-partykit-client/index.cjs +0 -652
  213. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +0 -652
  214. package/cjs/es6/persisters/persister-partykit-server/index.cjs +0 -426
  215. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +0 -426
  216. package/cjs/es6/persisters/persister-pglite/index.cjs +0 -1481
  217. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +0 -1481
  218. package/cjs/es6/persisters/persister-postgres/index.cjs +0 -1485
  219. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +0 -1485
  220. package/cjs/es6/persisters/persister-powersync/index.cjs +0 -1612
  221. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +0 -1612
  222. package/cjs/es6/persisters/persister-remote/index.cjs +0 -582
  223. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +0 -582
  224. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +0 -1505
  225. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1505
  226. package/cjs/es6/persisters/persister-sqlite3/index.cjs +0 -1481
  227. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1481
  228. package/cjs/es6/persisters/persister-yjs/index.cjs +0 -726
  229. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +0 -726
  230. package/cjs/es6/persisters/with-schemas/index.cjs +0 -1562
  231. package/cjs/es6/queries/index.cjs +0 -864
  232. package/cjs/es6/queries/with-schemas/index.cjs +0 -864
  233. package/cjs/es6/relationships/index.cjs +0 -593
  234. package/cjs/es6/relationships/with-schemas/index.cjs +0 -593
  235. package/cjs/es6/store/index.cjs +0 -1729
  236. package/cjs/es6/store/with-schemas/index.cjs +0 -1729
  237. package/cjs/es6/synchronizers/index.cjs +0 -834
  238. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -858
  239. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -858
  240. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +0 -859
  241. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -859
  242. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +0 -929
  243. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -929
  244. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +0 -1063
  245. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1063
  246. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1080
  247. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1080
  248. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -130
  249. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -130
  250. package/cjs/es6/synchronizers/with-schemas/index.cjs +0 -834
  251. package/cjs/es6/tools/index.cjs +0 -3426
  252. package/cjs/es6/tools/with-schemas/index.cjs +0 -3426
  253. package/cjs/es6/ui-react/index.cjs +0 -2434
  254. package/cjs/es6/ui-react/with-schemas/index.cjs +0 -2434
  255. package/cjs/es6/ui-react-dom/index.cjs +0 -914
  256. package/cjs/es6/ui-react-dom/with-schemas/index.cjs +0 -914
  257. package/cjs/es6/ui-react-inspector/index.cjs +0 -3711
  258. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +0 -3711
  259. package/cjs/es6/with-schemas/index.cjs +0 -3900
  260. package/cjs/index.cjs +0 -3754
  261. package/cjs/indexes/index.cjs +0 -551
  262. package/cjs/indexes/with-schemas/index.cjs +0 -551
  263. package/cjs/mergeable-store/index.cjs +0 -2285
  264. package/cjs/mergeable-store/with-schemas/index.cjs +0 -2285
  265. package/cjs/metrics/index.cjs +0 -526
  266. package/cjs/metrics/with-schemas/index.cjs +0 -526
  267. package/cjs/min/checkpoints/index.cjs +0 -1
  268. package/cjs/min/checkpoints/index.cjs.gz +0 -0
  269. package/cjs/min/checkpoints/with-schemas/index.cjs +0 -1
  270. package/cjs/min/checkpoints/with-schemas/index.cjs.gz +0 -0
  271. package/cjs/min/common/index.cjs +0 -1
  272. package/cjs/min/common/index.cjs.gz +0 -0
  273. package/cjs/min/common/with-schemas/index.cjs +0 -1
  274. package/cjs/min/common/with-schemas/index.cjs.gz +0 -0
  275. package/cjs/min/index.cjs +0 -1
  276. package/cjs/min/index.cjs.gz +0 -0
  277. package/cjs/min/indexes/index.cjs +0 -1
  278. package/cjs/min/indexes/index.cjs.gz +0 -0
  279. package/cjs/min/indexes/with-schemas/index.cjs +0 -1
  280. package/cjs/min/indexes/with-schemas/index.cjs.gz +0 -0
  281. package/cjs/min/mergeable-store/index.cjs +0 -1
  282. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  283. package/cjs/min/mergeable-store/with-schemas/index.cjs +0 -1
  284. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  285. package/cjs/min/metrics/index.cjs +0 -1
  286. package/cjs/min/metrics/index.cjs.gz +0 -0
  287. package/cjs/min/metrics/with-schemas/index.cjs +0 -1
  288. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  289. package/cjs/min/persisters/index.cjs +0 -1
  290. package/cjs/min/persisters/index.cjs.gz +0 -0
  291. package/cjs/min/persisters/persister-automerge/index.cjs +0 -1
  292. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  293. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +0 -1
  294. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  295. package/cjs/min/persisters/persister-browser/index.cjs +0 -1
  296. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  297. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +0 -1
  298. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  299. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1
  300. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  301. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1
  302. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  303. package/cjs/min/persisters/persister-durable-object-storage/index.cjs +0 -1
  304. package/cjs/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  305. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -1
  306. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  307. package/cjs/min/persisters/persister-electric-sql/index.cjs +0 -1
  308. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  309. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1
  310. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  311. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +0 -1
  312. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  313. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1
  314. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  315. package/cjs/min/persisters/persister-file/index.cjs +0 -1
  316. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  317. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +0 -1
  318. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  319. package/cjs/min/persisters/persister-indexed-db/index.cjs +0 -1
  320. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  321. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +0 -1
  322. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  323. package/cjs/min/persisters/persister-libsql/index.cjs +0 -1
  324. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  325. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +0 -1
  326. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  327. package/cjs/min/persisters/persister-partykit-client/index.cjs +0 -1
  328. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  329. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +0 -1
  330. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  331. package/cjs/min/persisters/persister-partykit-server/index.cjs +0 -1
  332. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  333. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +0 -1
  334. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  335. package/cjs/min/persisters/persister-pglite/index.cjs +0 -1
  336. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  337. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +0 -1
  338. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  339. package/cjs/min/persisters/persister-postgres/index.cjs +0 -1
  340. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  341. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +0 -1
  342. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  343. package/cjs/min/persisters/persister-powersync/index.cjs +0 -1
  344. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  345. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +0 -1
  346. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  347. package/cjs/min/persisters/persister-remote/index.cjs +0 -1
  348. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  349. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +0 -1
  350. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  351. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +0 -1
  352. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  353. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1
  354. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  355. package/cjs/min/persisters/persister-sqlite3/index.cjs +0 -1
  356. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  357. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1
  358. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  359. package/cjs/min/persisters/persister-yjs/index.cjs +0 -1
  360. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  361. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +0 -1
  362. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  363. package/cjs/min/persisters/with-schemas/index.cjs +0 -1
  364. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  365. package/cjs/min/queries/index.cjs +0 -1
  366. package/cjs/min/queries/index.cjs.gz +0 -0
  367. package/cjs/min/queries/with-schemas/index.cjs +0 -1
  368. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  369. package/cjs/min/relationships/index.cjs +0 -1
  370. package/cjs/min/relationships/index.cjs.gz +0 -0
  371. package/cjs/min/relationships/with-schemas/index.cjs +0 -1
  372. package/cjs/min/relationships/with-schemas/index.cjs.gz +0 -0
  373. package/cjs/min/store/index.cjs +0 -1
  374. package/cjs/min/store/index.cjs.gz +0 -0
  375. package/cjs/min/store/with-schemas/index.cjs +0 -1
  376. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  377. package/cjs/min/synchronizers/index.cjs +0 -1
  378. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  379. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -1
  380. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  381. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -1
  382. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  383. package/cjs/min/synchronizers/synchronizer-local/index.cjs +0 -1
  384. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  385. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -1
  386. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  387. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +0 -1
  388. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  389. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -1
  390. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  391. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +0 -1
  392. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  393. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -1
  394. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  395. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -1
  396. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  397. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -1
  398. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  399. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -1
  400. package/cjs/min/synchronizers/synchronizer-ws-server-simple/index.cjs.gz +0 -0
  401. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -1
  402. package/cjs/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs.gz +0 -0
  403. package/cjs/min/synchronizers/with-schemas/index.cjs +0 -1
  404. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  405. package/cjs/min/tools/index.cjs +0 -1
  406. package/cjs/min/tools/index.cjs.gz +0 -0
  407. package/cjs/min/tools/with-schemas/index.cjs +0 -1
  408. package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
  409. package/cjs/min/ui-react/index.cjs +0 -1
  410. package/cjs/min/ui-react/index.cjs.gz +0 -0
  411. package/cjs/min/ui-react/with-schemas/index.cjs +0 -1
  412. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  413. package/cjs/min/ui-react-dom/index.cjs +0 -1
  414. package/cjs/min/ui-react-dom/index.cjs.gz +0 -0
  415. package/cjs/min/ui-react-dom/with-schemas/index.cjs +0 -1
  416. package/cjs/min/ui-react-dom/with-schemas/index.cjs.gz +0 -0
  417. package/cjs/min/ui-react-inspector/index.cjs +0 -1
  418. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  419. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +0 -1
  420. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  421. package/cjs/min/with-schemas/index.cjs +0 -1
  422. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  423. package/cjs/persisters/index.cjs +0 -1213
  424. package/cjs/persisters/persister-automerge/index.cjs +0 -544
  425. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +0 -544
  426. package/cjs/persisters/persister-browser/index.cjs +0 -447
  427. package/cjs/persisters/persister-browser/with-schemas/index.cjs +0 -447
  428. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +0 -1126
  429. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +0 -1126
  430. package/cjs/persisters/persister-durable-object-storage/index.cjs +0 -542
  431. package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +0 -542
  432. package/cjs/persisters/persister-electric-sql/index.cjs +0 -1133
  433. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +0 -1133
  434. package/cjs/persisters/persister-expo-sqlite/index.cjs +0 -1131
  435. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +0 -1131
  436. package/cjs/persisters/persister-file/index.cjs +0 -434
  437. package/cjs/persisters/persister-file/with-schemas/index.cjs +0 -434
  438. package/cjs/persisters/persister-indexed-db/index.cjs +0 -507
  439. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +0 -507
  440. package/cjs/persisters/persister-libsql/index.cjs +0 -1127
  441. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +0 -1127
  442. package/cjs/persisters/persister-partykit-client/index.cjs +0 -492
  443. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +0 -492
  444. package/cjs/persisters/persister-partykit-server/index.cjs +0 -296
  445. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +0 -296
  446. package/cjs/persisters/persister-pglite/index.cjs +0 -1130
  447. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +0 -1130
  448. package/cjs/persisters/persister-postgres/index.cjs +0 -1131
  449. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +0 -1131
  450. package/cjs/persisters/persister-powersync/index.cjs +0 -1223
  451. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +0 -1223
  452. package/cjs/persisters/persister-remote/index.cjs +0 -453
  453. package/cjs/persisters/persister-remote/with-schemas/index.cjs +0 -453
  454. package/cjs/persisters/persister-sqlite-wasm/index.cjs +0 -1135
  455. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +0 -1135
  456. package/cjs/persisters/persister-sqlite3/index.cjs +0 -1137
  457. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +0 -1137
  458. package/cjs/persisters/persister-yjs/index.cjs +0 -590
  459. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +0 -590
  460. package/cjs/persisters/with-schemas/index.cjs +0 -1213
  461. package/cjs/queries/index.cjs +0 -818
  462. package/cjs/queries/with-schemas/index.cjs +0 -818
  463. package/cjs/relationships/index.cjs +0 -533
  464. package/cjs/relationships/with-schemas/index.cjs +0 -533
  465. package/cjs/store/index.cjs +0 -1651
  466. package/cjs/store/with-schemas/index.cjs +0 -1651
  467. package/cjs/synchronizers/index.cjs +0 -673
  468. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +0 -697
  469. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +0 -697
  470. package/cjs/synchronizers/synchronizer-local/index.cjs +0 -695
  471. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +0 -695
  472. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +0 -741
  473. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +0 -741
  474. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +0 -855
  475. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +0 -855
  476. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +0 -797
  477. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +0 -797
  478. package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +0 -89
  479. package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +0 -89
  480. package/cjs/synchronizers/with-schemas/index.cjs +0 -673
  481. package/cjs/tools/index.cjs +0 -3303
  482. package/cjs/tools/with-schemas/index.cjs +0 -3303
  483. package/cjs/ui-react/index.cjs +0 -2226
  484. package/cjs/ui-react/with-schemas/index.cjs +0 -2226
  485. package/cjs/ui-react-dom/index.cjs +0 -787
  486. package/cjs/ui-react-dom/with-schemas/index.cjs +0 -787
  487. package/cjs/ui-react-inspector/index.cjs +0 -3322
  488. package/cjs/ui-react-inspector/with-schemas/index.cjs +0 -3322
  489. package/cjs/with-schemas/index.cjs +0 -3754
  490. package/es6/checkpoints/index.js +0 -473
  491. package/es6/checkpoints/with-schemas/index.js +0 -473
  492. package/es6/common/index.js +0 -33
  493. package/es6/common/with-schemas/index.js +0 -33
  494. package/es6/index.js +0 -3900
  495. package/es6/indexes/index.js +0 -596
  496. package/es6/indexes/with-schemas/index.js +0 -596
  497. package/es6/mergeable-store/index.js +0 -2383
  498. package/es6/mergeable-store/with-schemas/index.js +0 -2383
  499. package/es6/metrics/index.js +0 -577
  500. package/es6/metrics/with-schemas/index.js +0 -577
  501. package/es6/min/checkpoints/index.js +0 -1
  502. package/es6/min/checkpoints/index.js.gz +0 -0
  503. package/es6/min/checkpoints/with-schemas/index.js +0 -1
  504. package/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  505. package/es6/min/common/index.js +0 -1
  506. package/es6/min/common/index.js.gz +0 -0
  507. package/es6/min/common/with-schemas/index.js +0 -1
  508. package/es6/min/common/with-schemas/index.js.gz +0 -0
  509. package/es6/min/index.js +0 -1
  510. package/es6/min/index.js.gz +0 -0
  511. package/es6/min/indexes/index.js +0 -1
  512. package/es6/min/indexes/index.js.gz +0 -0
  513. package/es6/min/indexes/with-schemas/index.js +0 -1
  514. package/es6/min/indexes/with-schemas/index.js.gz +0 -0
  515. package/es6/min/mergeable-store/index.js +0 -1
  516. package/es6/min/mergeable-store/index.js.gz +0 -0
  517. package/es6/min/mergeable-store/with-schemas/index.js +0 -1
  518. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  519. package/es6/min/metrics/index.js +0 -1
  520. package/es6/min/metrics/index.js.gz +0 -0
  521. package/es6/min/metrics/with-schemas/index.js +0 -1
  522. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  523. package/es6/min/persisters/index.js +0 -1
  524. package/es6/min/persisters/index.js.gz +0 -0
  525. package/es6/min/persisters/persister-automerge/index.js +0 -1
  526. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  527. package/es6/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  528. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  529. package/es6/min/persisters/persister-browser/index.js +0 -1
  530. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  531. package/es6/min/persisters/persister-browser/with-schemas/index.js +0 -1
  532. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  533. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  534. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  535. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  536. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  537. package/es6/min/persisters/persister-durable-object-storage/index.js +0 -1
  538. package/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  539. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  540. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  541. package/es6/min/persisters/persister-electric-sql/index.js +0 -1
  542. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  543. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  544. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  545. package/es6/min/persisters/persister-expo-sqlite/index.js +0 -1
  546. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  547. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  548. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  549. package/es6/min/persisters/persister-file/index.js +0 -1
  550. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  551. package/es6/min/persisters/persister-file/with-schemas/index.js +0 -1
  552. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  553. package/es6/min/persisters/persister-indexed-db/index.js +0 -1
  554. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  555. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  556. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  557. package/es6/min/persisters/persister-libsql/index.js +0 -1
  558. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  559. package/es6/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  560. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  561. package/es6/min/persisters/persister-partykit-client/index.js +0 -1
  562. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  563. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  564. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  565. package/es6/min/persisters/persister-partykit-server/index.js +0 -1
  566. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  567. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  568. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  569. package/es6/min/persisters/persister-pglite/index.js +0 -1
  570. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  571. package/es6/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  572. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  573. package/es6/min/persisters/persister-postgres/index.js +0 -1
  574. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  575. package/es6/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  576. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  577. package/es6/min/persisters/persister-powersync/index.js +0 -1
  578. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  579. package/es6/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  580. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  581. package/es6/min/persisters/persister-remote/index.js +0 -1
  582. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  583. package/es6/min/persisters/persister-remote/with-schemas/index.js +0 -1
  584. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  585. package/es6/min/persisters/persister-sqlite-wasm/index.js +0 -1
  586. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  587. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  588. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  589. package/es6/min/persisters/persister-sqlite3/index.js +0 -1
  590. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  591. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  592. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  593. package/es6/min/persisters/persister-yjs/index.js +0 -1
  594. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  595. package/es6/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  596. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  597. package/es6/min/persisters/with-schemas/index.js +0 -1
  598. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  599. package/es6/min/queries/index.js +0 -1
  600. package/es6/min/queries/index.js.gz +0 -0
  601. package/es6/min/queries/with-schemas/index.js +0 -1
  602. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  603. package/es6/min/relationships/index.js +0 -1
  604. package/es6/min/relationships/index.js.gz +0 -0
  605. package/es6/min/relationships/with-schemas/index.js +0 -1
  606. package/es6/min/relationships/with-schemas/index.js.gz +0 -0
  607. package/es6/min/store/index.js +0 -1
  608. package/es6/min/store/index.js.gz +0 -0
  609. package/es6/min/store/with-schemas/index.js +0 -1
  610. package/es6/min/store/with-schemas/index.js.gz +0 -0
  611. package/es6/min/synchronizers/index.js +0 -1
  612. package/es6/min/synchronizers/index.js.gz +0 -0
  613. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  614. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  615. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  616. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  617. package/es6/min/synchronizers/synchronizer-local/index.js +0 -1
  618. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  619. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  620. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  621. package/es6/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  622. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  623. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  624. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  625. package/es6/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  626. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  627. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  628. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  629. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  630. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  631. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  632. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  633. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  634. package/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  635. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  636. package/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  637. package/es6/min/synchronizers/with-schemas/index.js +0 -1
  638. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  639. package/es6/min/tools/index.js +0 -1
  640. package/es6/min/tools/index.js.gz +0 -0
  641. package/es6/min/tools/with-schemas/index.js +0 -1
  642. package/es6/min/tools/with-schemas/index.js.gz +0 -0
  643. package/es6/min/ui-react/index.js +0 -1
  644. package/es6/min/ui-react/index.js.gz +0 -0
  645. package/es6/min/ui-react/with-schemas/index.js +0 -1
  646. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  647. package/es6/min/ui-react-dom/index.js +0 -1
  648. package/es6/min/ui-react-dom/index.js.gz +0 -0
  649. package/es6/min/ui-react-dom/with-schemas/index.js +0 -1
  650. package/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  651. package/es6/min/ui-react-inspector/index.js +0 -1
  652. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  653. package/es6/min/ui-react-inspector/with-schemas/index.js +0 -1
  654. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  655. package/es6/min/with-schemas/index.js +0 -1
  656. package/es6/min/with-schemas/index.js.gz +0 -0
  657. package/es6/persisters/index.js +0 -1562
  658. package/es6/persisters/persister-automerge/index.js +0 -667
  659. package/es6/persisters/persister-automerge/with-schemas/index.js +0 -667
  660. package/es6/persisters/persister-browser/index.js +0 -573
  661. package/es6/persisters/persister-browser/with-schemas/index.js +0 -573
  662. package/es6/persisters/persister-cr-sqlite-wasm/index.js +0 -1469
  663. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1469
  664. package/es6/persisters/persister-durable-object-storage/index.js +0 -684
  665. package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +0 -684
  666. package/es6/persisters/persister-electric-sql/index.js +0 -1476
  667. package/es6/persisters/persister-electric-sql/with-schemas/index.js +0 -1476
  668. package/es6/persisters/persister-expo-sqlite/index.js +0 -1472
  669. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1472
  670. package/es6/persisters/persister-file/index.js +0 -559
  671. package/es6/persisters/persister-file/with-schemas/index.js +0 -559
  672. package/es6/persisters/persister-indexed-db/index.js +0 -670
  673. package/es6/persisters/persister-indexed-db/with-schemas/index.js +0 -670
  674. package/es6/persisters/persister-libsql/index.js +0 -1470
  675. package/es6/persisters/persister-libsql/with-schemas/index.js +0 -1470
  676. package/es6/persisters/persister-partykit-client/index.js +0 -650
  677. package/es6/persisters/persister-partykit-client/with-schemas/index.js +0 -650
  678. package/es6/persisters/persister-partykit-server/index.js +0 -426
  679. package/es6/persisters/persister-partykit-server/with-schemas/index.js +0 -426
  680. package/es6/persisters/persister-pglite/index.js +0 -1479
  681. package/es6/persisters/persister-pglite/with-schemas/index.js +0 -1479
  682. package/es6/persisters/persister-postgres/index.js +0 -1483
  683. package/es6/persisters/persister-postgres/with-schemas/index.js +0 -1483
  684. package/es6/persisters/persister-powersync/index.js +0 -1610
  685. package/es6/persisters/persister-powersync/with-schemas/index.js +0 -1610
  686. package/es6/persisters/persister-remote/index.js +0 -580
  687. package/es6/persisters/persister-remote/with-schemas/index.js +0 -580
  688. package/es6/persisters/persister-sqlite-wasm/index.js +0 -1503
  689. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1503
  690. package/es6/persisters/persister-sqlite3/index.js +0 -1479
  691. package/es6/persisters/persister-sqlite3/with-schemas/index.js +0 -1479
  692. package/es6/persisters/persister-yjs/index.js +0 -724
  693. package/es6/persisters/persister-yjs/with-schemas/index.js +0 -724
  694. package/es6/persisters/with-schemas/index.js +0 -1562
  695. package/es6/queries/index.js +0 -862
  696. package/es6/queries/with-schemas/index.js +0 -862
  697. package/es6/relationships/index.js +0 -591
  698. package/es6/relationships/with-schemas/index.js +0 -591
  699. package/es6/store/index.js +0 -1727
  700. package/es6/store/with-schemas/index.js +0 -1727
  701. package/es6/synchronizers/index.js +0 -831
  702. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +0 -856
  703. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -856
  704. package/es6/synchronizers/synchronizer-local/index.js +0 -857
  705. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +0 -857
  706. package/es6/synchronizers/synchronizer-ws-client/index.js +0 -927
  707. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -927
  708. package/es6/synchronizers/synchronizer-ws-server/index.js +0 -1061
  709. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1061
  710. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1077
  711. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1077
  712. package/es6/synchronizers/synchronizer-ws-server-simple/index.js +0 -128
  713. package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -128
  714. package/es6/synchronizers/with-schemas/index.js +0 -831
  715. package/es6/tools/index.js +0 -3424
  716. package/es6/tools/with-schemas/index.js +0 -3424
  717. package/es6/ui-react/index.js +0 -2433
  718. package/es6/ui-react/with-schemas/index.js +0 -2433
  719. package/es6/ui-react-dom/index.js +0 -915
  720. package/es6/ui-react-dom/with-schemas/index.js +0 -915
  721. package/es6/ui-react-inspector/index.js +0 -3716
  722. package/es6/ui-react-inspector/with-schemas/index.js +0 -3716
  723. package/es6/with-schemas/index.js +0 -3900
  724. package/umd/checkpoints/index.js +0 -452
  725. package/umd/checkpoints/with-schemas/index.js +0 -452
  726. package/umd/common/index.js +0 -44
  727. package/umd/common/with-schemas/index.js +0 -44
  728. package/umd/es6/checkpoints/index.js +0 -498
  729. package/umd/es6/checkpoints/with-schemas/index.js +0 -498
  730. package/umd/es6/common/index.js +0 -46
  731. package/umd/es6/common/with-schemas/index.js +0 -46
  732. package/umd/es6/index.js +0 -3991
  733. package/umd/es6/indexes/index.js +0 -627
  734. package/umd/es6/indexes/with-schemas/index.js +0 -627
  735. package/umd/es6/mergeable-store/index.js +0 -2455
  736. package/umd/es6/mergeable-store/with-schemas/index.js +0 -2455
  737. package/umd/es6/metrics/index.js +0 -608
  738. package/umd/es6/metrics/with-schemas/index.js +0 -608
  739. package/umd/es6/min/checkpoints/index.js +0 -1
  740. package/umd/es6/min/checkpoints/index.js.gz +0 -0
  741. package/umd/es6/min/checkpoints/with-schemas/index.js +0 -1
  742. package/umd/es6/min/checkpoints/with-schemas/index.js.gz +0 -0
  743. package/umd/es6/min/common/index.js +0 -1
  744. package/umd/es6/min/common/index.js.gz +0 -0
  745. package/umd/es6/min/common/with-schemas/index.js +0 -1
  746. package/umd/es6/min/common/with-schemas/index.js.gz +0 -0
  747. package/umd/es6/min/index.js +0 -1
  748. package/umd/es6/min/index.js.gz +0 -0
  749. package/umd/es6/min/indexes/index.js +0 -1
  750. package/umd/es6/min/indexes/index.js.gz +0 -0
  751. package/umd/es6/min/indexes/with-schemas/index.js +0 -1
  752. package/umd/es6/min/indexes/with-schemas/index.js.gz +0 -0
  753. package/umd/es6/min/mergeable-store/index.js +0 -1
  754. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  755. package/umd/es6/min/mergeable-store/with-schemas/index.js +0 -1
  756. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  757. package/umd/es6/min/metrics/index.js +0 -1
  758. package/umd/es6/min/metrics/index.js.gz +0 -0
  759. package/umd/es6/min/metrics/with-schemas/index.js +0 -1
  760. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  761. package/umd/es6/min/persisters/index.js +0 -1
  762. package/umd/es6/min/persisters/index.js.gz +0 -0
  763. package/umd/es6/min/persisters/persister-automerge/index.js +0 -1
  764. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  765. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  766. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  767. package/umd/es6/min/persisters/persister-browser/index.js +0 -1
  768. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  769. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +0 -1
  770. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  771. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  772. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  773. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  774. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  775. package/umd/es6/min/persisters/persister-durable-object-storage/index.js +0 -1
  776. package/umd/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  777. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  778. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  779. package/umd/es6/min/persisters/persister-electric-sql/index.js +0 -1
  780. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  781. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  782. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  783. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +0 -1
  784. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  785. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  786. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  787. package/umd/es6/min/persisters/persister-file/index.js +0 -1
  788. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  789. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +0 -1
  790. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  791. package/umd/es6/min/persisters/persister-indexed-db/index.js +0 -1
  792. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  793. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  794. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  795. package/umd/es6/min/persisters/persister-libsql/index.js +0 -1
  796. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  797. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  798. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  799. package/umd/es6/min/persisters/persister-partykit-client/index.js +0 -1
  800. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  801. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  802. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  803. package/umd/es6/min/persisters/persister-partykit-server/index.js +0 -1
  804. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  805. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  806. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  807. package/umd/es6/min/persisters/persister-pglite/index.js +0 -1
  808. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  809. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  810. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  811. package/umd/es6/min/persisters/persister-postgres/index.js +0 -1
  812. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  813. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  814. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  815. package/umd/es6/min/persisters/persister-powersync/index.js +0 -1
  816. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  817. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  818. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  819. package/umd/es6/min/persisters/persister-remote/index.js +0 -1
  820. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  821. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +0 -1
  822. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  823. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +0 -1
  824. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  825. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  826. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  827. package/umd/es6/min/persisters/persister-sqlite3/index.js +0 -1
  828. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  829. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  830. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  831. package/umd/es6/min/persisters/persister-yjs/index.js +0 -1
  832. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  833. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  834. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  835. package/umd/es6/min/persisters/with-schemas/index.js +0 -1
  836. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  837. package/umd/es6/min/queries/index.js +0 -1
  838. package/umd/es6/min/queries/index.js.gz +0 -0
  839. package/umd/es6/min/queries/with-schemas/index.js +0 -1
  840. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  841. package/umd/es6/min/relationships/index.js +0 -1
  842. package/umd/es6/min/relationships/index.js.gz +0 -0
  843. package/umd/es6/min/relationships/with-schemas/index.js +0 -1
  844. package/umd/es6/min/relationships/with-schemas/index.js.gz +0 -0
  845. package/umd/es6/min/store/index.js +0 -1
  846. package/umd/es6/min/store/index.js.gz +0 -0
  847. package/umd/es6/min/store/with-schemas/index.js +0 -1
  848. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  849. package/umd/es6/min/synchronizers/index.js +0 -1
  850. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  851. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  852. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  853. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  854. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  855. package/umd/es6/min/synchronizers/synchronizer-local/index.js +0 -1
  856. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  857. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  858. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  859. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  860. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  861. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  862. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  863. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  864. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  865. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  866. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  867. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  868. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  869. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  870. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  871. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  872. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  873. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  874. package/umd/es6/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  875. package/umd/es6/min/synchronizers/with-schemas/index.js +0 -1
  876. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  877. package/umd/es6/min/tools/index.js +0 -1
  878. package/umd/es6/min/tools/index.js.gz +0 -0
  879. package/umd/es6/min/tools/with-schemas/index.js +0 -1
  880. package/umd/es6/min/tools/with-schemas/index.js.gz +0 -0
  881. package/umd/es6/min/ui-react/index.js +0 -1
  882. package/umd/es6/min/ui-react/index.js.gz +0 -0
  883. package/umd/es6/min/ui-react/with-schemas/index.js +0 -1
  884. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  885. package/umd/es6/min/ui-react-dom/index.js +0 -1
  886. package/umd/es6/min/ui-react-dom/index.js.gz +0 -0
  887. package/umd/es6/min/ui-react-dom/with-schemas/index.js +0 -1
  888. package/umd/es6/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  889. package/umd/es6/min/ui-react-inspector/index.js +0 -1
  890. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  891. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +0 -1
  892. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  893. package/umd/es6/min/with-schemas/index.js +0 -1
  894. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  895. package/umd/es6/persisters/index.js +0 -1589
  896. package/umd/es6/persisters/persister-automerge/index.js +0 -685
  897. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +0 -685
  898. package/umd/es6/persisters/persister-browser/index.js +0 -592
  899. package/umd/es6/persisters/persister-browser/with-schemas/index.js +0 -592
  900. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +0 -1499
  901. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1499
  902. package/umd/es6/persisters/persister-durable-object-storage/index.js +0 -707
  903. package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +0 -707
  904. package/umd/es6/persisters/persister-electric-sql/index.js +0 -1506
  905. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +0 -1506
  906. package/umd/es6/persisters/persister-expo-sqlite/index.js +0 -1505
  907. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1505
  908. package/umd/es6/persisters/persister-file/index.js +0 -578
  909. package/umd/es6/persisters/persister-file/with-schemas/index.js +0 -578
  910. package/umd/es6/persisters/persister-indexed-db/index.js +0 -689
  911. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +0 -689
  912. package/umd/es6/persisters/persister-libsql/index.js +0 -1500
  913. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +0 -1500
  914. package/umd/es6/persisters/persister-partykit-client/index.js +0 -668
  915. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +0 -668
  916. package/umd/es6/persisters/persister-partykit-server/index.js +0 -447
  917. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +0 -447
  918. package/umd/es6/persisters/persister-pglite/index.js +0 -1504
  919. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +0 -1504
  920. package/umd/es6/persisters/persister-postgres/index.js +0 -1511
  921. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +0 -1511
  922. package/umd/es6/persisters/persister-powersync/index.js +0 -1644
  923. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +0 -1644
  924. package/umd/es6/persisters/persister-remote/index.js +0 -598
  925. package/umd/es6/persisters/persister-remote/with-schemas/index.js +0 -598
  926. package/umd/es6/persisters/persister-sqlite-wasm/index.js +0 -1533
  927. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1533
  928. package/umd/es6/persisters/persister-sqlite3/index.js +0 -1509
  929. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +0 -1509
  930. package/umd/es6/persisters/persister-yjs/index.js +0 -742
  931. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +0 -742
  932. package/umd/es6/persisters/with-schemas/index.js +0 -1589
  933. package/umd/es6/queries/index.js +0 -884
  934. package/umd/es6/queries/with-schemas/index.js +0 -884
  935. package/umd/es6/relationships/index.js +0 -619
  936. package/umd/es6/relationships/with-schemas/index.js +0 -619
  937. package/umd/es6/store/index.js +0 -1783
  938. package/umd/es6/store/with-schemas/index.js +0 -1783
  939. package/umd/es6/synchronizers/index.js +0 -854
  940. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +0 -879
  941. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -879
  942. package/umd/es6/synchronizers/synchronizer-local/index.js +0 -884
  943. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +0 -884
  944. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +0 -949
  945. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -949
  946. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +0 -1089
  947. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1089
  948. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1103
  949. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1103
  950. package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +0 -144
  951. package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -144
  952. package/umd/es6/synchronizers/with-schemas/index.js +0 -854
  953. package/umd/es6/tools/index.js +0 -3484
  954. package/umd/es6/tools/with-schemas/index.js +0 -3484
  955. package/umd/es6/ui-react/index.js +0 -2492
  956. package/umd/es6/ui-react/with-schemas/index.js +0 -2492
  957. package/umd/es6/ui-react-dom/index.js +0 -929
  958. package/umd/es6/ui-react-dom/with-schemas/index.js +0 -929
  959. package/umd/es6/ui-react-inspector/index.js +0 -3791
  960. package/umd/es6/ui-react-inspector/with-schemas/index.js +0 -3791
  961. package/umd/es6/with-schemas/index.js +0 -3991
  962. package/umd/index.js +0 -3838
  963. package/umd/indexes/index.js +0 -574
  964. package/umd/indexes/with-schemas/index.js +0 -574
  965. package/umd/mergeable-store/index.js +0 -2348
  966. package/umd/mergeable-store/with-schemas/index.js +0 -2348
  967. package/umd/metrics/index.js +0 -549
  968. package/umd/metrics/with-schemas/index.js +0 -549
  969. package/umd/min/checkpoints/index.js +0 -1
  970. package/umd/min/checkpoints/index.js.gz +0 -0
  971. package/umd/min/checkpoints/with-schemas/index.js +0 -1
  972. package/umd/min/checkpoints/with-schemas/index.js.gz +0 -0
  973. package/umd/min/common/index.js +0 -1
  974. package/umd/min/common/index.js.gz +0 -0
  975. package/umd/min/common/with-schemas/index.js +0 -1
  976. package/umd/min/common/with-schemas/index.js.gz +0 -0
  977. package/umd/min/index.js +0 -1
  978. package/umd/min/index.js.gz +0 -0
  979. package/umd/min/indexes/index.js +0 -1
  980. package/umd/min/indexes/index.js.gz +0 -0
  981. package/umd/min/indexes/with-schemas/index.js +0 -1
  982. package/umd/min/indexes/with-schemas/index.js.gz +0 -0
  983. package/umd/min/mergeable-store/index.js +0 -1
  984. package/umd/min/mergeable-store/index.js.gz +0 -0
  985. package/umd/min/mergeable-store/with-schemas/index.js +0 -1
  986. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  987. package/umd/min/metrics/index.js +0 -1
  988. package/umd/min/metrics/index.js.gz +0 -0
  989. package/umd/min/metrics/with-schemas/index.js +0 -1
  990. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  991. package/umd/min/persisters/index.js +0 -1
  992. package/umd/min/persisters/index.js.gz +0 -0
  993. package/umd/min/persisters/persister-automerge/index.js +0 -1
  994. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  995. package/umd/min/persisters/persister-automerge/with-schemas/index.js +0 -1
  996. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  997. package/umd/min/persisters/persister-browser/index.js +0 -1
  998. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  999. package/umd/min/persisters/persister-browser/with-schemas/index.js +0 -1
  1000. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  1001. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +0 -1
  1002. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  1003. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1
  1004. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1005. package/umd/min/persisters/persister-durable-object-storage/index.js +0 -1
  1006. package/umd/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  1007. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js +0 -1
  1008. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  1009. package/umd/min/persisters/persister-electric-sql/index.js +0 -1
  1010. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  1011. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +0 -1
  1012. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  1013. package/umd/min/persisters/persister-expo-sqlite/index.js +0 -1
  1014. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  1015. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1
  1016. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  1017. package/umd/min/persisters/persister-file/index.js +0 -1
  1018. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  1019. package/umd/min/persisters/persister-file/with-schemas/index.js +0 -1
  1020. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  1021. package/umd/min/persisters/persister-indexed-db/index.js +0 -1
  1022. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  1023. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +0 -1
  1024. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  1025. package/umd/min/persisters/persister-libsql/index.js +0 -1
  1026. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  1027. package/umd/min/persisters/persister-libsql/with-schemas/index.js +0 -1
  1028. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  1029. package/umd/min/persisters/persister-partykit-client/index.js +0 -1
  1030. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  1031. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +0 -1
  1032. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  1033. package/umd/min/persisters/persister-partykit-server/index.js +0 -1
  1034. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  1035. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +0 -1
  1036. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  1037. package/umd/min/persisters/persister-pglite/index.js +0 -1
  1038. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  1039. package/umd/min/persisters/persister-pglite/with-schemas/index.js +0 -1
  1040. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  1041. package/umd/min/persisters/persister-postgres/index.js +0 -1
  1042. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  1043. package/umd/min/persisters/persister-postgres/with-schemas/index.js +0 -1
  1044. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  1045. package/umd/min/persisters/persister-powersync/index.js +0 -1
  1046. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  1047. package/umd/min/persisters/persister-powersync/with-schemas/index.js +0 -1
  1048. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  1049. package/umd/min/persisters/persister-remote/index.js +0 -1
  1050. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  1051. package/umd/min/persisters/persister-remote/with-schemas/index.js +0 -1
  1052. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  1053. package/umd/min/persisters/persister-sqlite-wasm/index.js +0 -1
  1054. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  1055. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1
  1056. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  1057. package/umd/min/persisters/persister-sqlite3/index.js +0 -1
  1058. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  1059. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +0 -1
  1060. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  1061. package/umd/min/persisters/persister-yjs/index.js +0 -1
  1062. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  1063. package/umd/min/persisters/persister-yjs/with-schemas/index.js +0 -1
  1064. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  1065. package/umd/min/persisters/with-schemas/index.js +0 -1
  1066. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  1067. package/umd/min/queries/index.js +0 -1
  1068. package/umd/min/queries/index.js.gz +0 -0
  1069. package/umd/min/queries/with-schemas/index.js +0 -1
  1070. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  1071. package/umd/min/relationships/index.js +0 -1
  1072. package/umd/min/relationships/index.js.gz +0 -0
  1073. package/umd/min/relationships/with-schemas/index.js +0 -1
  1074. package/umd/min/relationships/with-schemas/index.js.gz +0 -0
  1075. package/umd/min/store/index.js +0 -1
  1076. package/umd/min/store/index.js.gz +0 -0
  1077. package/umd/min/store/with-schemas/index.js +0 -1
  1078. package/umd/min/store/with-schemas/index.js.gz +0 -0
  1079. package/umd/min/synchronizers/index.js +0 -1
  1080. package/umd/min/synchronizers/index.js.gz +0 -0
  1081. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +0 -1
  1082. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  1083. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -1
  1084. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  1085. package/umd/min/synchronizers/synchronizer-local/index.js +0 -1
  1086. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  1087. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +0 -1
  1088. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  1089. package/umd/min/synchronizers/synchronizer-ws-client/index.js +0 -1
  1090. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  1091. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -1
  1092. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  1093. package/umd/min/synchronizers/synchronizer-ws-server/index.js +0 -1
  1094. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  1095. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -1
  1096. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  1097. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -1
  1098. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  1099. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -1
  1100. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  1101. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js +0 -1
  1102. package/umd/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  1103. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -1
  1104. package/umd/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  1105. package/umd/min/synchronizers/with-schemas/index.js +0 -1
  1106. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  1107. package/umd/min/tools/index.js +0 -1
  1108. package/umd/min/tools/index.js.gz +0 -0
  1109. package/umd/min/tools/with-schemas/index.js +0 -1
  1110. package/umd/min/tools/with-schemas/index.js.gz +0 -0
  1111. package/umd/min/ui-react/index.js +0 -1
  1112. package/umd/min/ui-react/index.js.gz +0 -0
  1113. package/umd/min/ui-react/with-schemas/index.js +0 -1
  1114. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  1115. package/umd/min/ui-react-dom/index.js +0 -1
  1116. package/umd/min/ui-react-dom/index.js.gz +0 -0
  1117. package/umd/min/ui-react-dom/with-schemas/index.js +0 -1
  1118. package/umd/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  1119. package/umd/min/ui-react-inspector/index.js +0 -1
  1120. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  1121. package/umd/min/ui-react-inspector/with-schemas/index.js +0 -1
  1122. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  1123. package/umd/min/with-schemas/index.js +0 -1
  1124. package/umd/min/with-schemas/index.js.gz +0 -0
  1125. package/umd/persisters/index.js +0 -1231
  1126. package/umd/persisters/persister-automerge/index.js +0 -560
  1127. package/umd/persisters/persister-automerge/with-schemas/index.js +0 -560
  1128. package/umd/persisters/persister-browser/index.js +0 -463
  1129. package/umd/persisters/persister-browser/with-schemas/index.js +0 -463
  1130. package/umd/persisters/persister-cr-sqlite-wasm/index.js +0 -1145
  1131. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +0 -1145
  1132. package/umd/persisters/persister-durable-object-storage/index.js +0 -562
  1133. package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +0 -562
  1134. package/umd/persisters/persister-electric-sql/index.js +0 -1152
  1135. package/umd/persisters/persister-electric-sql/with-schemas/index.js +0 -1152
  1136. package/umd/persisters/persister-expo-sqlite/index.js +0 -1151
  1137. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +0 -1151
  1138. package/umd/persisters/persister-file/index.js +0 -451
  1139. package/umd/persisters/persister-file/with-schemas/index.js +0 -451
  1140. package/umd/persisters/persister-indexed-db/index.js +0 -523
  1141. package/umd/persisters/persister-indexed-db/with-schemas/index.js +0 -523
  1142. package/umd/persisters/persister-libsql/index.js +0 -1146
  1143. package/umd/persisters/persister-libsql/with-schemas/index.js +0 -1146
  1144. package/umd/persisters/persister-partykit-client/index.js +0 -508
  1145. package/umd/persisters/persister-partykit-client/with-schemas/index.js +0 -508
  1146. package/umd/persisters/persister-partykit-server/index.js +0 -324
  1147. package/umd/persisters/persister-partykit-server/with-schemas/index.js +0 -324
  1148. package/umd/persisters/persister-pglite/index.js +0 -1148
  1149. package/umd/persisters/persister-pglite/with-schemas/index.js +0 -1148
  1150. package/umd/persisters/persister-postgres/index.js +0 -1149
  1151. package/umd/persisters/persister-postgres/with-schemas/index.js +0 -1149
  1152. package/umd/persisters/persister-powersync/index.js +0 -1242
  1153. package/umd/persisters/persister-powersync/with-schemas/index.js +0 -1242
  1154. package/umd/persisters/persister-remote/index.js +0 -469
  1155. package/umd/persisters/persister-remote/with-schemas/index.js +0 -469
  1156. package/umd/persisters/persister-sqlite-wasm/index.js +0 -1158
  1157. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +0 -1158
  1158. package/umd/persisters/persister-sqlite3/index.js +0 -1156
  1159. package/umd/persisters/persister-sqlite3/with-schemas/index.js +0 -1156
  1160. package/umd/persisters/persister-yjs/index.js +0 -606
  1161. package/umd/persisters/persister-yjs/with-schemas/index.js +0 -606
  1162. package/umd/persisters/with-schemas/index.js +0 -1231
  1163. package/umd/queries/index.js +0 -832
  1164. package/umd/queries/with-schemas/index.js +0 -832
  1165. package/umd/relationships/index.js +0 -553
  1166. package/umd/relationships/with-schemas/index.js +0 -553
  1167. package/umd/store/index.js +0 -1701
  1168. package/umd/store/with-schemas/index.js +0 -1701
  1169. package/umd/synchronizers/index.js +0 -690
  1170. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +0 -715
  1171. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +0 -715
  1172. package/umd/synchronizers/synchronizer-local/index.js +0 -717
  1173. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +0 -717
  1174. package/umd/synchronizers/synchronizer-ws-client/index.js +0 -758
  1175. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +0 -758
  1176. package/umd/synchronizers/synchronizer-ws-server/index.js +0 -881
  1177. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +0 -881
  1178. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +0 -815
  1179. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +0 -815
  1180. package/umd/synchronizers/synchronizer-ws-server-simple/index.js +0 -102
  1181. package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +0 -102
  1182. package/umd/synchronizers/with-schemas/index.js +0 -690
  1183. package/umd/tools/index.js +0 -3354
  1184. package/umd/tools/with-schemas/index.js +0 -3354
  1185. package/umd/ui-react/index.js +0 -2283
  1186. package/umd/ui-react/with-schemas/index.js +0 -2283
  1187. package/umd/ui-react-dom/index.js +0 -810
  1188. package/umd/ui-react-dom/with-schemas/index.js +0 -810
  1189. package/umd/ui-react-inspector/index.js +0 -3402
  1190. package/umd/ui-react-inspector/with-schemas/index.js +0 -3402
  1191. package/umd/with-schemas/index.js +0 -3838
package/cjs/index.cjs DELETED
@@ -1,3754 +0,0 @@
1
- 'use strict';
2
-
3
- const getTypeOf = (thing) => typeof thing;
4
- const EMPTY_STRING = '';
5
- const STRING = getTypeOf(EMPTY_STRING);
6
- const BOOLEAN = getTypeOf(true);
7
- const NUMBER = getTypeOf(0);
8
- const FUNCTION = getTypeOf(getTypeOf);
9
- const TYPE = 'type';
10
- const DEFAULT = 'default';
11
- const SUM = 'sum';
12
- const AVG = 'avg';
13
- const MIN = 'min';
14
- const MAX = 'max';
15
- const LISTENER = 'Listener';
16
- const RESULT = 'Result';
17
- const GET = 'get';
18
- const SET = 'set';
19
- const ADD = 'add';
20
- const DEL = 'del';
21
- const HAS = 'Has';
22
- const IDS = 'Ids';
23
- const TABLE = 'Table';
24
- const TABLES = TABLE + 's';
25
- const TABLE_IDS = TABLE + IDS;
26
- const ROW = 'Row';
27
- const ROW_COUNT = ROW + 'Count';
28
- const ROW_IDS = ROW + IDS;
29
- const SORTED_ROW_IDS = 'Sorted' + ROW + IDS;
30
- const CELL = 'Cell';
31
- const CELL_IDS = CELL + IDS;
32
- const VALUE = 'Value';
33
- const VALUES = VALUE + 's';
34
- const VALUE_IDS = VALUE + IDS;
35
- const TRANSACTION = 'Transaction';
36
- const id = (key) => EMPTY_STRING + key;
37
- const strStartsWith = (str, prefix) => str.startsWith(prefix);
38
- const strEndsWith = (str, suffix) => str.endsWith(suffix);
39
- const strSplit = (str, separator = EMPTY_STRING, limit) =>
40
- str.split(separator, limit);
41
-
42
- const GLOBAL = globalThis;
43
- const math = Math;
44
- const mathMax = math.max;
45
- const mathMin = math.min;
46
- const mathFloor = math.floor;
47
- const isFiniteNumber = isFinite;
48
- const isInstanceOf = (thing, cls) => thing instanceof cls;
49
- const isUndefined = (thing) => thing == void 0;
50
- const ifNotUndefined = (value, then, otherwise) =>
51
- isUndefined(value) ? otherwise?.() : then(value);
52
- const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
53
- const isString = (thing) => getTypeOf(thing) == STRING;
54
- const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
55
- const isArray = (thing) => Array.isArray(thing);
56
- const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
57
- const size = (arrayOrString) => arrayOrString.length;
58
- const test = (regex, subject) => regex.test(subject);
59
- const getUndefined = () => void 0;
60
-
61
- const arrayHas = (array, value) => array.includes(value);
62
- const arrayEvery = (array, cb) => array.every(cb);
63
- const arrayIsEqual = (array1, array2) =>
64
- size(array1) === size(array2) &&
65
- arrayEvery(array1, (value1, index) => array2[index] === value1);
66
- const arrayIsSorted = (array, sorter) =>
67
- arrayEvery(
68
- array,
69
- (value, index) => index == 0 || sorter(array[index - 1], value) <= 0,
70
- );
71
- const arraySort = (array, sorter) => array.sort(sorter);
72
- const arrayForEach = (array, cb) => array.forEach(cb);
73
- const arrayMap = (array, cb) => array.map(cb);
74
- const arraySum = (array) => arrayReduce(array, (i, j) => i + j, 0);
75
- const arrayIsEmpty = (array) => size(array) == 0;
76
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
77
- const arrayClear = (array, to) => array.splice(0, to);
78
- const arrayPush = (array, ...values) => array.push(...values);
79
- const arrayPop = (array) => array.pop();
80
- const arrayUnshift = (array, ...values) => array.unshift(...values);
81
- const arrayShift = (array) => array.shift();
82
-
83
- const object = Object;
84
- const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
85
- const objEntries = object.entries;
86
- const objFrozen = object.isFrozen;
87
- const isObject = (obj) =>
88
- !isUndefined(obj) &&
89
- ifNotUndefined(
90
- getPrototypeOf(obj),
91
- (objPrototype) =>
92
- objPrototype == object.prototype ||
93
- isUndefined(getPrototypeOf(objPrototype)),
94
-
95
- /* istanbul ignore next */
96
- () => true,
97
- );
98
- const objIds = object.keys;
99
- const objFreeze = object.freeze;
100
- const objNew = (entries = []) => object.fromEntries(entries);
101
- const objHas = (obj, id) => id in obj;
102
- const objDel = (obj, id) => {
103
- delete obj[id];
104
- return obj;
105
- };
106
- const objForEach = (obj, cb) =>
107
- arrayForEach(objEntries(obj), ([id, value]) => cb(value, id));
108
- const objToArray = (obj, cb) =>
109
- arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
110
- const objMap = (obj, cb) =>
111
- objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
112
- const objSize = (obj) => size(objIds(obj));
113
- const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
114
- const objEnsure = (obj, id, getDefaultValue) => {
115
- if (!objHas(obj, id)) {
116
- obj[id] = getDefaultValue();
117
- }
118
- return obj[id];
119
- };
120
- const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
121
- if (
122
- isUndefined(obj) ||
123
- !isObject(obj) ||
124
- (!emptyIsValid && objIsEmpty(obj)) ||
125
- objFrozen(obj)
126
- ) {
127
- onInvalidObj?.();
128
- return false;
129
- }
130
- objForEach(obj, (child, id) => {
131
- if (!validateChild(child, id)) {
132
- objDel(obj, id);
133
- }
134
- });
135
- return emptyIsValid ? true : !objIsEmpty(obj);
136
- };
137
-
138
- const collSizeN = (collSizer) => (coll) =>
139
- arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
140
- const collSize = (coll) => coll?.size ?? 0;
141
- const collSize2 = collSizeN(collSize);
142
- const collSize3 = collSizeN(collSize2);
143
- const collSize4 = collSizeN(collSize3);
144
- const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
145
- const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
146
- const collValues = (coll) => [...(coll?.values() ?? [])];
147
- const collClear = (coll) => coll.clear();
148
- const collForEach = (coll, cb) => coll?.forEach(cb);
149
- const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
150
-
151
- const mapNew = (entries) => new Map(entries);
152
- const mapKeys = (map) => [...(map?.keys() ?? [])];
153
- const mapGet = (map, key) => map?.get(key);
154
- const mapForEach = (map, cb) =>
155
- collForEach(map, (value, key) => cb(key, value));
156
- const mapMap = (coll, cb) =>
157
- arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
158
- const mapSet = (map, key, value) =>
159
- isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
160
- const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
161
- if (!collHas(map, key)) {
162
- mapSet(map, key, getDefaultValue());
163
- } else {
164
- hadExistingValue?.(mapGet(map, key));
165
- }
166
- return mapGet(map, key);
167
- };
168
- const mapMatch = (map, obj, set, del = mapSet) => {
169
- objMap(obj, (value, id) => set(map, id, value));
170
- mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
171
- return map;
172
- };
173
- const mapToObj = (map, valueMapper, excludeMapValue, excludeObjValue) => {
174
- const obj = {};
175
- collForEach(map, (mapValue, id) => {
176
- if (!excludeMapValue?.(mapValue, id)) {
177
- const objValue = valueMapper ? valueMapper(mapValue, id) : mapValue;
178
- if (!excludeObjValue?.(objValue)) {
179
- obj[id] = objValue;
180
- }
181
- }
182
- });
183
- return obj;
184
- };
185
- const mapToObj2 = (map, valueMapper, excludeMapValue) =>
186
- mapToObj(
187
- map,
188
- (childMap) => mapToObj(childMap, valueMapper, excludeMapValue),
189
- collIsEmpty,
190
- objIsEmpty,
191
- );
192
- const mapToObj3 = (map, valueMapper, excludeMapValue) =>
193
- mapToObj(
194
- map,
195
- (childMap) => mapToObj2(childMap, valueMapper, excludeMapValue),
196
- collIsEmpty,
197
- objIsEmpty,
198
- );
199
- const mapClone = (map, mapValue) => {
200
- const map2 = mapNew();
201
- collForEach(map, (value, key) => map2.set(key, mapValue?.(value) ?? value));
202
- return map2;
203
- };
204
- const mapClone2 = (map) => mapClone(map, mapClone);
205
- const mapClone3 = (map) => mapClone(map, mapClone2);
206
- const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
207
- ifNotUndefined(
208
- (ensureLeaf ? mapEnsure : mapGet)(
209
- node,
210
- path[p],
211
- p > size(path) - 2 ? ensureLeaf : mapNew,
212
- ),
213
- (nodeOrLeaf) => {
214
- if (p > size(path) - 2) {
215
- if (pruneLeaf?.(nodeOrLeaf)) {
216
- mapSet(node, path[p]);
217
- }
218
- return nodeOrLeaf;
219
- }
220
- const leaf = visitTree(nodeOrLeaf, path, ensureLeaf, pruneLeaf, p + 1);
221
- if (collIsEmpty(nodeOrLeaf)) {
222
- mapSet(node, path[p]);
223
- }
224
- return leaf;
225
- },
226
- );
227
-
228
- const getCellOrValueType = (cellOrValue) => {
229
- const type = getTypeOf(cellOrValue);
230
- return isTypeStringOrBoolean(type) ||
231
- (type == NUMBER && isFiniteNumber(cellOrValue))
232
- ? type
233
- : void 0;
234
- };
235
- const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
236
- isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
237
- const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
238
- isUndefined(cell)
239
- ? store.delCell(tableId, rowId, cellId, true)
240
- : store.setCell(tableId, rowId, cellId, cell);
241
- const setOrDelValue = (store, valueId, value) =>
242
- isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
243
-
244
- const setNew = (entryOrEntries) =>
245
- new Set(
246
- isArray(entryOrEntries) || isUndefined(entryOrEntries)
247
- ? entryOrEntries
248
- : [entryOrEntries],
249
- );
250
- const setAdd = (set, value) => set?.add(value);
251
-
252
- const getDefinableFunctions = (
253
- store,
254
- getDefaultThing,
255
- validateRowValue,
256
- addListener,
257
- callListeners,
258
- ) => {
259
- const hasRow = store.hasRow;
260
- const tableIds = mapNew();
261
- const things = mapNew();
262
- const thingIdListeners = mapNew();
263
- const allRowValues = mapNew();
264
- const allSortKeys = mapNew();
265
- const storeListenerIds = mapNew();
266
- const getStore = () => store;
267
- const getThingIds = () => mapKeys(tableIds);
268
- const forEachThing = (cb) => mapForEach(things, cb);
269
- const hasThing = (id) => collHas(things, id);
270
- const getTableId = (id) => mapGet(tableIds, id);
271
- const getThing = (id) => mapGet(things, id);
272
- const setThing = (id, thing) => mapSet(things, id, thing);
273
- const addStoreListeners = (id, andCall, ...listenerIds) => {
274
- const set = mapEnsure(storeListenerIds, id, setNew);
275
- arrayForEach(
276
- listenerIds,
277
- (listenerId) =>
278
- setAdd(set, listenerId) && andCall && store.callListener(listenerId),
279
- );
280
- return listenerIds;
281
- };
282
- const delStoreListeners = (id, ...listenerIds) =>
283
- ifNotUndefined(mapGet(storeListenerIds, id), (allListenerIds) => {
284
- arrayForEach(
285
- arrayIsEmpty(listenerIds) ? collValues(allListenerIds) : listenerIds,
286
- (listenerId) => {
287
- store.delListener(listenerId);
288
- collDel(allListenerIds, listenerId);
289
- },
290
- );
291
- if (collIsEmpty(allListenerIds)) {
292
- mapSet(storeListenerIds, id);
293
- }
294
- });
295
- const setDefinition = (id, tableId) => {
296
- mapSet(tableIds, id, tableId);
297
- if (!collHas(things, id)) {
298
- mapSet(things, id, getDefaultThing());
299
- mapSet(allRowValues, id, mapNew());
300
- mapSet(allSortKeys, id, mapNew());
301
- callListeners(thingIdListeners);
302
- }
303
- };
304
- const setDefinitionAndListen = (
305
- id,
306
- tableId,
307
- onChanged,
308
- getRowValue,
309
- getSortKey,
310
- ) => {
311
- setDefinition(id, tableId);
312
- const changedRowValues = mapNew();
313
- const changedSortKeys = mapNew();
314
- const rowValues = mapGet(allRowValues, id);
315
- const sortKeys = mapGet(allSortKeys, id);
316
- const processRow = (rowId) => {
317
- const getCell = (cellId) => store.getCell(tableId, rowId, cellId);
318
- const oldRowValue = mapGet(rowValues, rowId);
319
- const newRowValue = hasRow(tableId, rowId)
320
- ? validateRowValue(getRowValue(getCell, rowId))
321
- : void 0;
322
- if (
323
- !(
324
- oldRowValue === newRowValue ||
325
- (isArray(oldRowValue) &&
326
- isArray(newRowValue) &&
327
- arrayIsEqual(oldRowValue, newRowValue))
328
- )
329
- ) {
330
- mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
331
- }
332
- if (!isUndefined(getSortKey)) {
333
- const oldSortKey = mapGet(sortKeys, rowId);
334
- const newSortKey = hasRow(tableId, rowId)
335
- ? getSortKey(getCell, rowId)
336
- : void 0;
337
- if (oldSortKey != newSortKey) {
338
- mapSet(changedSortKeys, rowId, newSortKey);
339
- }
340
- }
341
- };
342
- const processTable = (force) => {
343
- onChanged(
344
- () => {
345
- collForEach(changedRowValues, ([, newRowValue], rowId) =>
346
- mapSet(rowValues, rowId, newRowValue),
347
- );
348
- collForEach(changedSortKeys, (newSortKey, rowId) =>
349
- mapSet(sortKeys, rowId, newSortKey),
350
- );
351
- },
352
- changedRowValues,
353
- changedSortKeys,
354
- rowValues,
355
- sortKeys,
356
- force,
357
- );
358
- collClear(changedRowValues);
359
- collClear(changedSortKeys);
360
- };
361
- mapForEach(rowValues, processRow);
362
- if (store.hasTable(tableId)) {
363
- arrayForEach(store.getRowIds(tableId), (rowId) => {
364
- if (!collHas(rowValues, rowId)) {
365
- processRow(rowId);
366
- }
367
- });
368
- }
369
- processTable(true);
370
- delStoreListeners(id);
371
- addStoreListeners(
372
- id,
373
- 0,
374
- store.addRowListener(tableId, null, (_store, _tableId, rowId) =>
375
- processRow(rowId),
376
- ),
377
- store.addTableListener(tableId, () => processTable()),
378
- );
379
- };
380
- const delDefinition = (id) => {
381
- mapSet(tableIds, id);
382
- mapSet(things, id);
383
- mapSet(allRowValues, id);
384
- mapSet(allSortKeys, id);
385
- delStoreListeners(id);
386
- callListeners(thingIdListeners);
387
- };
388
- const addThingIdsListener = (listener) =>
389
- addListener(listener, thingIdListeners);
390
- const destroy = () => mapForEach(storeListenerIds, delDefinition);
391
- return [
392
- getStore,
393
- getThingIds,
394
- forEachThing,
395
- hasThing,
396
- getTableId,
397
- getThing,
398
- setThing,
399
- setDefinition,
400
- setDefinitionAndListen,
401
- delDefinition,
402
- addThingIdsListener,
403
- destroy,
404
- addStoreListeners,
405
- delStoreListeners,
406
- ];
407
- };
408
- const getRowCellFunction = (getRowCell, defaultCellValue) =>
409
- isString(getRowCell)
410
- ? (getCell) => getCell(getRowCell)
411
- : (getRowCell ?? (() => defaultCellValue ?? EMPTY_STRING));
412
- const getCreateFunction = (getFunction, initFunction) => {
413
- const thingsByStore = /* @__PURE__ */ new WeakMap();
414
- return (store) => {
415
- if (!thingsByStore.has(store)) {
416
- thingsByStore.set(store, getFunction(store));
417
- }
418
- const thing = thingsByStore.get(store);
419
- initFunction?.(thing);
420
- return thing;
421
- };
422
- };
423
-
424
- const INTEGER = /^\d+$/;
425
- const getPoolFunctions = () => {
426
- const pool = [];
427
- let nextId = 0;
428
- return [
429
- (reuse) => (reuse ? arrayShift(pool) : null) ?? EMPTY_STRING + nextId++,
430
- (id) => {
431
- if (test(INTEGER, id) && size(pool) < 1e3) {
432
- arrayPush(pool, id);
433
- }
434
- },
435
- ];
436
- };
437
-
438
- const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
439
- const leaves = [];
440
- const deep = (node, p) =>
441
- p == size(path)
442
- ? arrayPush(leaves, node)
443
- : path[p] === null
444
- ? collForEach(node, (node2) => deep(node2, p + 1))
445
- : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
446
- deep(deepIdSet, 0);
447
- return leaves;
448
- };
449
- const getListenerFunctions = (getThing) => {
450
- let thing;
451
- const [getId, releaseId] = getPoolFunctions();
452
- const allListeners = mapNew();
453
- const addListener = (
454
- listener,
455
- idSetNode,
456
- path,
457
- pathGetters = [],
458
- extraArgsGetter = () => [],
459
- ) => {
460
- thing ??= getThing();
461
- const id = getId(1);
462
- mapSet(allListeners, id, [
463
- listener,
464
- idSetNode,
465
- path,
466
- pathGetters,
467
- extraArgsGetter,
468
- ]);
469
- setAdd(visitTree(idSetNode, path ?? [EMPTY_STRING], setNew), id);
470
- return id;
471
- };
472
- const callListeners = (idSetNode, ids, ...extraArgs) =>
473
- arrayForEach(getWildcardedLeaves(idSetNode, ids), (set) =>
474
- collForEach(set, (id) =>
475
- mapGet(allListeners, id)[0](thing, ...(ids ?? []), ...extraArgs),
476
- ),
477
- );
478
- const delListener = (id) =>
479
- ifNotUndefined(mapGet(allListeners, id), ([, idSetNode, idOrNulls]) => {
480
- visitTree(idSetNode, idOrNulls ?? [EMPTY_STRING], void 0, (idSet) => {
481
- collDel(idSet, id);
482
- return collIsEmpty(idSet) ? 1 : 0;
483
- });
484
- mapSet(allListeners, id);
485
- releaseId(id);
486
- return idOrNulls;
487
- });
488
- const callListener = (id) =>
489
- ifNotUndefined(
490
- mapGet(allListeners, id),
491
- ([listener, , path = [], pathGetters, extraArgsGetter]) => {
492
- const callWithIds = (...ids) => {
493
- const index = size(ids);
494
- if (index == size(path)) {
495
- listener(thing, ...ids, ...extraArgsGetter(ids));
496
- } else if (isUndefined(path[index])) {
497
- arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
498
- callWithIds(...ids, id2),
499
- );
500
- } else {
501
- callWithIds(...ids, path[index]);
502
- }
503
- };
504
- callWithIds();
505
- },
506
- );
507
- return [addListener, callListeners, delListener, callListener];
508
- };
509
-
510
- const createCheckpoints = getCreateFunction(
511
- (store) => {
512
- let backwardIdsSize = 100;
513
- let currentId;
514
- let cellsDelta = mapNew();
515
- let valuesDelta = mapNew();
516
- let listening = 1;
517
- let nextCheckpointId;
518
- let checkpointsChanged;
519
- const checkpointIdsListeners = mapNew();
520
- const checkpointListeners = mapNew();
521
- const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
522
- () => checkpoints,
523
- );
524
- const deltas = mapNew();
525
- const labels = mapNew();
526
- const backwardIds = [];
527
- const forwardIds = [];
528
- const updateStore = (oldOrNew, checkpointId) => {
529
- listening = 0;
530
- store.transaction(() => {
531
- const [cellsDelta2, valuesDelta2] = mapGet(deltas, checkpointId);
532
- collForEach(cellsDelta2, (table, tableId) =>
533
- collForEach(table, (row, rowId) =>
534
- collForEach(row, (oldNew, cellId) =>
535
- setOrDelCell(store, tableId, rowId, cellId, oldNew[oldOrNew]),
536
- ),
537
- ),
538
- );
539
- collForEach(valuesDelta2, (oldNew, valueId) =>
540
- setOrDelValue(store, valueId, oldNew[oldOrNew]),
541
- );
542
- });
543
- listening = 1;
544
- };
545
- const clearCheckpointId = (checkpointId) => {
546
- mapSet(deltas, checkpointId);
547
- mapSet(labels, checkpointId);
548
- callListeners(checkpointListeners, [checkpointId]);
549
- };
550
- const clearCheckpointIds = (checkpointIds, to) =>
551
- arrayForEach(
552
- arrayClear(checkpointIds, to ?? size(checkpointIds)),
553
- clearCheckpointId,
554
- );
555
- const trimBackwardsIds = () =>
556
- clearCheckpointIds(backwardIds, size(backwardIds) - backwardIdsSize);
557
- const storeChanged = () =>
558
- ifNotUndefined(currentId, () => {
559
- arrayPush(backwardIds, currentId);
560
- trimBackwardsIds();
561
- clearCheckpointIds(forwardIds);
562
- currentId = void 0;
563
- checkpointsChanged = 1;
564
- });
565
- const storeUnchanged = () => {
566
- currentId = arrayPop(backwardIds);
567
- checkpointsChanged = 1;
568
- };
569
- let cellListenerId;
570
- let valueListenerId;
571
- const addCheckpointImpl = (label = EMPTY_STRING) => {
572
- if (isUndefined(currentId)) {
573
- currentId = EMPTY_STRING + nextCheckpointId++;
574
- mapSet(deltas, currentId, [cellsDelta, valuesDelta]);
575
- setCheckpoint(currentId, label);
576
- cellsDelta = mapNew();
577
- valuesDelta = mapNew();
578
- checkpointsChanged = 1;
579
- }
580
- return currentId;
581
- };
582
- const goBackwardImpl = () => {
583
- if (!arrayIsEmpty(backwardIds)) {
584
- arrayUnshift(forwardIds, addCheckpointImpl());
585
- updateStore(0, currentId);
586
- currentId = arrayPop(backwardIds);
587
- checkpointsChanged = 1;
588
- }
589
- };
590
- const goForwardImpl = () => {
591
- if (!arrayIsEmpty(forwardIds)) {
592
- arrayPush(backwardIds, currentId);
593
- currentId = arrayShift(forwardIds);
594
- updateStore(1, currentId);
595
- checkpointsChanged = 1;
596
- }
597
- };
598
- const callListenersIfChanged = () => {
599
- if (checkpointsChanged) {
600
- callListeners(checkpointIdsListeners);
601
- checkpointsChanged = 0;
602
- }
603
- };
604
- const setSize = (size2) => {
605
- backwardIdsSize = size2;
606
- trimBackwardsIds();
607
- return checkpoints;
608
- };
609
- const addCheckpoint = (label) => {
610
- const id = addCheckpointImpl(label);
611
- callListenersIfChanged();
612
- return id;
613
- };
614
- const setCheckpoint = (checkpointId, label) => {
615
- if (
616
- hasCheckpoint(checkpointId) &&
617
- mapGet(labels, checkpointId) !== label
618
- ) {
619
- mapSet(labels, checkpointId, label);
620
- callListeners(checkpointListeners, [checkpointId]);
621
- }
622
- return checkpoints;
623
- };
624
- const getStore = () => store;
625
- const getCheckpointIds = () => [
626
- [...backwardIds],
627
- currentId,
628
- [...forwardIds],
629
- ];
630
- const forEachCheckpoint = (checkpointCallback) =>
631
- mapForEach(labels, checkpointCallback);
632
- const hasCheckpoint = (checkpointId) => collHas(deltas, checkpointId);
633
- const getCheckpoint = (checkpointId) => mapGet(labels, checkpointId);
634
- const goBackward = () => {
635
- goBackwardImpl();
636
- callListenersIfChanged();
637
- return checkpoints;
638
- };
639
- const goForward = () => {
640
- goForwardImpl();
641
- callListenersIfChanged();
642
- return checkpoints;
643
- };
644
- const goTo = (checkpointId) => {
645
- const action = arrayHas(backwardIds, checkpointId)
646
- ? goBackwardImpl
647
- : arrayHas(forwardIds, checkpointId)
648
- ? goForwardImpl
649
- : null;
650
- while (!isUndefined(action) && checkpointId != currentId) {
651
- action();
652
- }
653
- callListenersIfChanged();
654
- return checkpoints;
655
- };
656
- const addCheckpointIdsListener = (listener) =>
657
- addListener(listener, checkpointIdsListeners);
658
- const addCheckpointListener = (checkpointId, listener) =>
659
- addListener(listener, checkpointListeners, [checkpointId]);
660
- const delListener = (listenerId) => {
661
- delListenerImpl(listenerId);
662
- return checkpoints;
663
- };
664
- const clear = () => {
665
- clearCheckpointIds(backwardIds);
666
- clearCheckpointIds(forwardIds);
667
- if (!isUndefined(currentId)) {
668
- clearCheckpointId(currentId);
669
- }
670
- currentId = void 0;
671
- nextCheckpointId = 0;
672
- addCheckpoint();
673
- return checkpoints;
674
- };
675
- const clearForward = () => {
676
- if (!arrayIsEmpty(forwardIds)) {
677
- clearCheckpointIds(forwardIds);
678
- callListeners(checkpointIdsListeners);
679
- }
680
- return checkpoints;
681
- };
682
- const destroy = () => {
683
- store.delListener(cellListenerId);
684
- store.delListener(valueListenerId);
685
- };
686
- const getListenerStats = () => ({
687
- checkpointIds: collSize2(checkpointIdsListeners),
688
- checkpoint: collSize2(checkpointListeners),
689
- });
690
- const _registerListeners = () => {
691
- cellListenerId = store.addCellListener(
692
- null,
693
- null,
694
- null,
695
- (_store, tableId, rowId, cellId, newCell, oldCell) => {
696
- if (listening) {
697
- storeChanged();
698
- const table = mapEnsure(cellsDelta, tableId, mapNew);
699
- const row = mapEnsure(table, rowId, mapNew);
700
- const oldNew = mapEnsure(row, cellId, () => [oldCell, void 0]);
701
- oldNew[1] = newCell;
702
- if (
703
- oldNew[0] === newCell &&
704
- collIsEmpty(mapSet(row, cellId)) &&
705
- collIsEmpty(mapSet(table, rowId)) &&
706
- collIsEmpty(mapSet(cellsDelta, tableId))
707
- ) {
708
- storeUnchanged();
709
- }
710
- callListenersIfChanged();
711
- }
712
- },
713
- );
714
- valueListenerId = store.addValueListener(
715
- null,
716
- (_store, valueId, newValue, oldValue) => {
717
- if (listening) {
718
- storeChanged();
719
- const oldNew = mapEnsure(valuesDelta, valueId, () => [
720
- oldValue,
721
- void 0,
722
- ]);
723
- oldNew[1] = newValue;
724
- if (
725
- oldNew[0] === newValue &&
726
- collIsEmpty(mapSet(valuesDelta, valueId))
727
- ) {
728
- storeUnchanged();
729
- }
730
- callListenersIfChanged();
731
- }
732
- },
733
- );
734
- };
735
- const checkpoints = {
736
- setSize,
737
- addCheckpoint,
738
- setCheckpoint,
739
- getStore,
740
- getCheckpointIds,
741
- forEachCheckpoint,
742
- hasCheckpoint,
743
- getCheckpoint,
744
- goBackward,
745
- goForward,
746
- goTo,
747
- addCheckpointIdsListener,
748
- addCheckpointListener,
749
- delListener,
750
- clear,
751
- clearForward,
752
- destroy,
753
- getListenerStats,
754
- _registerListeners,
755
- };
756
- return objFreeze(checkpoints.clear());
757
- },
758
- (checkpoints) => checkpoints._registerListeners(),
759
- );
760
-
761
- const MASK6 = 63;
762
- const ENCODE = /* @__PURE__ */ strSplit(
763
- '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
764
- );
765
- const DECODE = /* @__PURE__ */ mapNew(
766
- /* @__PURE__ */ arrayMap(ENCODE, (char, index) => [char, index]),
767
- );
768
- const encode = (num) => ENCODE[num & MASK6];
769
- const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
770
-
771
- const getRandomValues = GLOBAL.crypto
772
- ? (array) => GLOBAL.crypto.getRandomValues(array)
773
- : /* istanbul ignore next */
774
- (array) => arrayMap(array, () => mathFloor(math.random() * 256));
775
- const defaultSorter = (sortKey1, sortKey2) =>
776
- (sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
777
- const getUniqueId = (length = 16) =>
778
- arrayReduce(
779
- getRandomValues(new Uint8Array(length)),
780
- (uniqueId, number) => uniqueId + encode(number),
781
- '',
782
- );
783
-
784
- const createIndexes = getCreateFunction((store) => {
785
- const sliceIdsListeners = mapNew();
786
- const sliceRowIdsListeners = mapNew();
787
- const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
788
- () => indexes,
789
- );
790
- const [
791
- getStore,
792
- getIndexIds,
793
- forEachIndexImpl,
794
- hasIndex,
795
- getTableId,
796
- getIndex,
797
- setIndex,
798
- ,
799
- setDefinitionAndListen,
800
- delDefinition,
801
- addIndexIdsListener,
802
- destroy,
803
- ] = getDefinableFunctions(
804
- store,
805
- mapNew,
806
- (value) =>
807
- isUndefined(value)
808
- ? EMPTY_STRING
809
- : isArray(value)
810
- ? arrayMap(value, id)
811
- : id(value),
812
- addListener,
813
- callListeners,
814
- );
815
- const hasSlice = (indexId, sliceId) => collHas(getIndex(indexId), sliceId);
816
- const setIndexDefinition = (
817
- indexId,
818
- tableId,
819
- getSliceIdOrIds,
820
- getSortKey,
821
- sliceIdSorter,
822
- rowIdSorter = defaultSorter,
823
- ) => {
824
- const sliceIdArraySorter = isUndefined(sliceIdSorter)
825
- ? void 0
826
- : ([id1], [id2]) => sliceIdSorter(id1, id2);
827
- setDefinitionAndListen(
828
- indexId,
829
- tableId,
830
- (change, changedSliceIds, changedSortKeys, sliceIds, sortKeys, force) => {
831
- let sliceIdsChanged = 0;
832
- const changedSlices = setNew();
833
- const unsortedSlices = setNew();
834
- const index = getIndex(indexId);
835
- collForEach(
836
- changedSliceIds,
837
- ([oldSliceIdOrIds, newSliceIdOrIds], rowId) => {
838
- const oldSliceIds = setNew(oldSliceIdOrIds);
839
- const newSliceIds = setNew(newSliceIdOrIds);
840
- collForEach(oldSliceIds, (oldSliceId) =>
841
- collDel(newSliceIds, oldSliceId)
842
- ? collDel(oldSliceIds, oldSliceId)
843
- : 0,
844
- );
845
- collForEach(oldSliceIds, (oldSliceId) => {
846
- setAdd(changedSlices, oldSliceId);
847
- ifNotUndefined(mapGet(index, oldSliceId), (oldSlice) => {
848
- collDel(oldSlice, rowId);
849
- if (collIsEmpty(oldSlice)) {
850
- mapSet(index, oldSliceId);
851
- sliceIdsChanged = 1;
852
- }
853
- });
854
- });
855
- collForEach(newSliceIds, (newSliceId) => {
856
- setAdd(changedSlices, newSliceId);
857
- if (!collHas(index, newSliceId)) {
858
- mapSet(index, newSliceId, setNew());
859
- sliceIdsChanged = 1;
860
- }
861
- setAdd(mapGet(index, newSliceId), rowId);
862
- if (!isUndefined(getSortKey)) {
863
- setAdd(unsortedSlices, newSliceId);
864
- }
865
- });
866
- },
867
- );
868
- change();
869
- if (!collIsEmpty(sortKeys)) {
870
- if (force) {
871
- mapForEach(index, (sliceId) => setAdd(unsortedSlices, sliceId));
872
- } else {
873
- mapForEach(changedSortKeys, (rowId) =>
874
- ifNotUndefined(mapGet(sliceIds, rowId), (sliceId) =>
875
- setAdd(unsortedSlices, sliceId),
876
- ),
877
- );
878
- }
879
- collForEach(unsortedSlices, (sliceId) => {
880
- const rowIdArraySorter = (rowId1, rowId2) =>
881
- rowIdSorter(
882
- mapGet(sortKeys, rowId1),
883
- mapGet(sortKeys, rowId2),
884
- sliceId,
885
- );
886
- const sliceArray = [...mapGet(index, sliceId)];
887
- if (!arrayIsSorted(sliceArray, rowIdArraySorter)) {
888
- mapSet(
889
- index,
890
- sliceId,
891
- setNew(arraySort(sliceArray, rowIdArraySorter)),
892
- );
893
- setAdd(changedSlices, sliceId);
894
- }
895
- });
896
- }
897
- if (sliceIdsChanged || force) {
898
- if (!isUndefined(sliceIdArraySorter)) {
899
- const indexArray = [...index];
900
- if (!arrayIsSorted(indexArray, sliceIdArraySorter)) {
901
- setIndex(
902
- indexId,
903
- mapNew(arraySort(indexArray, sliceIdArraySorter)),
904
- );
905
- sliceIdsChanged = 1;
906
- }
907
- }
908
- }
909
- if (sliceIdsChanged) {
910
- callListeners(sliceIdsListeners, [indexId]);
911
- }
912
- collForEach(changedSlices, (sliceId) =>
913
- callListeners(sliceRowIdsListeners, [indexId, sliceId]),
914
- );
915
- },
916
- getRowCellFunction(getSliceIdOrIds),
917
- ifNotUndefined(getSortKey, getRowCellFunction),
918
- );
919
- return indexes;
920
- };
921
- const forEachIndex = (indexCallback) =>
922
- forEachIndexImpl((indexId, slices) =>
923
- indexCallback(indexId, (sliceCallback) =>
924
- forEachSliceImpl(indexId, sliceCallback, slices),
925
- ),
926
- );
927
- const forEachSlice = (indexId, sliceCallback) =>
928
- forEachSliceImpl(indexId, sliceCallback, getIndex(indexId));
929
- const forEachSliceImpl = (indexId, sliceCallback, slices) => {
930
- const tableId = getTableId(indexId);
931
- collForEach(slices, (rowIds, sliceId) =>
932
- sliceCallback(sliceId, (rowCallback) =>
933
- collForEach(rowIds, (rowId) =>
934
- rowCallback(rowId, (cellCallback) =>
935
- store.forEachCell(tableId, rowId, cellCallback),
936
- ),
937
- ),
938
- ),
939
- );
940
- };
941
- const delIndexDefinition = (indexId) => {
942
- delDefinition(indexId);
943
- return indexes;
944
- };
945
- const getSliceIds = (indexId) => mapKeys(getIndex(indexId));
946
- const getSliceRowIds = (indexId, sliceId) =>
947
- collValues(mapGet(getIndex(indexId), sliceId));
948
- const addSliceIdsListener = (indexId, listener) =>
949
- addListener(listener, sliceIdsListeners, [indexId]);
950
- const addSliceRowIdsListener = (indexId, sliceId, listener) =>
951
- addListener(listener, sliceRowIdsListeners, [indexId, sliceId]);
952
- const delListener = (listenerId) => {
953
- delListenerImpl(listenerId);
954
- return indexes;
955
- };
956
- const getListenerStats = () => ({
957
- sliceIds: collSize2(sliceIdsListeners),
958
- sliceRowIds: collSize3(sliceRowIdsListeners),
959
- });
960
- const indexes = {
961
- setIndexDefinition,
962
- delIndexDefinition,
963
- getStore,
964
- getIndexIds,
965
- forEachIndex,
966
- forEachSlice,
967
- hasIndex,
968
- hasSlice,
969
- getTableId,
970
- getSliceIds,
971
- getSliceRowIds,
972
- addIndexIdsListener,
973
- addSliceIdsListener,
974
- addSliceRowIdsListener,
975
- delListener,
976
- destroy,
977
- getListenerStats,
978
- };
979
- return objFreeze(indexes);
980
- });
981
-
982
- const numericAggregators = /* @__PURE__ */ mapNew([
983
- [
984
- AVG,
985
- [
986
- (numbers, length) => arraySum(numbers) / length,
987
- (metric, add, length) => metric + (add - metric) / (length + 1),
988
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
989
- (metric, add, remove, length) => metric + (add - remove) / length,
990
- ],
991
- ],
992
- [
993
- MAX,
994
- [
995
- (numbers) => mathMax(...numbers),
996
- (metric, add) => mathMax(add, metric),
997
- (metric, remove) => (remove == metric ? void 0 : metric),
998
- (metric, add, remove) =>
999
- remove == metric ? void 0 : mathMax(add, metric),
1000
- ],
1001
- ],
1002
- [
1003
- MIN,
1004
- [
1005
- (numbers) => mathMin(...numbers),
1006
- (metric, add) => mathMin(add, metric),
1007
- (metric, remove) => (remove == metric ? void 0 : metric),
1008
- (metric, add, remove) =>
1009
- remove == metric ? void 0 : mathMin(add, metric),
1010
- ],
1011
- ],
1012
- [
1013
- SUM,
1014
- [
1015
- (numbers) => arraySum(numbers),
1016
- (metric, add) => metric + add,
1017
- (metric, remove) => metric - remove,
1018
- (metric, add, remove) => metric - remove + add,
1019
- ],
1020
- ],
1021
- ]);
1022
- const getAggregateValue = (
1023
- aggregateValue,
1024
- oldLength,
1025
- newValues,
1026
- changedValues,
1027
- aggregators,
1028
- force = false,
1029
- ) => {
1030
- if (collIsEmpty(newValues)) {
1031
- return void 0;
1032
- }
1033
- const [aggregate, aggregateAdd, aggregateRemove, aggregateReplace] =
1034
- aggregators;
1035
- force ||= isUndefined(aggregateValue);
1036
- collForEach(changedValues, ([oldValue, newValue]) => {
1037
- if (!force) {
1038
- aggregateValue = isUndefined(oldValue)
1039
- ? aggregateAdd?.(aggregateValue, newValue, oldLength++)
1040
- : isUndefined(newValue)
1041
- ? aggregateRemove?.(aggregateValue, oldValue, oldLength--)
1042
- : aggregateReplace?.(aggregateValue, newValue, oldValue, oldLength);
1043
- force ||= isUndefined(aggregateValue);
1044
- }
1045
- });
1046
- return force
1047
- ? aggregate(collValues(newValues), collSize(newValues))
1048
- : aggregateValue;
1049
- };
1050
-
1051
- const createMetrics = getCreateFunction((store) => {
1052
- const metricListeners = mapNew();
1053
- const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
1054
- () => metrics,
1055
- );
1056
- const [
1057
- getStore,
1058
- getMetricIds,
1059
- forEachMetric,
1060
- hasMetric,
1061
- getTableId,
1062
- getMetric,
1063
- setMetric,
1064
- ,
1065
- setDefinitionAndListen,
1066
- delDefinition,
1067
- addMetricIdsListener,
1068
- destroy,
1069
- ] = getDefinableFunctions(
1070
- store,
1071
- getUndefined,
1072
- (value) =>
1073
- isNaN(value) ||
1074
- isUndefined(value) ||
1075
- value === true ||
1076
- value === false ||
1077
- value === EMPTY_STRING
1078
- ? void 0
1079
- : value * 1,
1080
- addListener,
1081
- callListeners,
1082
- );
1083
- const setMetricDefinition = (
1084
- metricId,
1085
- tableId,
1086
- aggregate,
1087
- getNumber,
1088
- aggregateAdd,
1089
- aggregateRemove,
1090
- aggregateReplace,
1091
- ) => {
1092
- const aggregators = isFunction(aggregate)
1093
- ? [aggregate, aggregateAdd, aggregateRemove, aggregateReplace]
1094
- : (mapGet(numericAggregators, aggregate) ??
1095
- mapGet(numericAggregators, SUM));
1096
- setDefinitionAndListen(
1097
- metricId,
1098
- tableId,
1099
- (change, changedNumbers, _changedSortKeys, numbers, _sortKeys, force) => {
1100
- const oldMetric = getMetric(metricId);
1101
- const oldLength = collSize(numbers);
1102
- force ||= isUndefined(oldMetric);
1103
- change();
1104
- let newMetric = getAggregateValue(
1105
- oldMetric,
1106
- oldLength,
1107
- numbers,
1108
- changedNumbers,
1109
- aggregators,
1110
- force,
1111
- );
1112
- if (!isFiniteNumber(newMetric)) {
1113
- newMetric = void 0;
1114
- }
1115
- if (newMetric != oldMetric) {
1116
- setMetric(metricId, newMetric);
1117
- callListeners(metricListeners, [metricId], newMetric, oldMetric);
1118
- }
1119
- },
1120
- getRowCellFunction(getNumber, 1),
1121
- );
1122
- return metrics;
1123
- };
1124
- const delMetricDefinition = (metricId) => {
1125
- delDefinition(metricId);
1126
- return metrics;
1127
- };
1128
- const addMetricListener = (metricId, listener) =>
1129
- addListener(listener, metricListeners, [metricId]);
1130
- const delListener = (listenerId) => {
1131
- delListenerImpl(listenerId);
1132
- return metrics;
1133
- };
1134
- const getListenerStats = () => ({
1135
- metric: collSize2(metricListeners),
1136
- });
1137
- const metrics = {
1138
- setMetricDefinition,
1139
- delMetricDefinition,
1140
- getStore,
1141
- getMetricIds,
1142
- forEachMetric,
1143
- hasMetric,
1144
- getTableId,
1145
- getMetric,
1146
- addMetricIdsListener,
1147
- addMetricListener,
1148
- delListener,
1149
- destroy,
1150
- getListenerStats,
1151
- };
1152
- return objFreeze(metrics);
1153
- });
1154
-
1155
- const createQueries = getCreateFunction((store) => {
1156
- const createStore = store.createStore;
1157
- const preStore = createStore();
1158
- const resultStore = createStore();
1159
- const preStoreListenerIds = mapNew();
1160
- const {
1161
- addListener,
1162
- callListeners,
1163
- delListener: delListenerImpl,
1164
- } = resultStore;
1165
- const [
1166
- getStore,
1167
- getQueryIds,
1168
- forEachQuery,
1169
- hasQuery,
1170
- getTableId,
1171
- ,
1172
- ,
1173
- setDefinition,
1174
- ,
1175
- delDefinition,
1176
- addQueryIdsListenerImpl,
1177
- destroy,
1178
- addStoreListeners,
1179
- delStoreListeners,
1180
- ] = getDefinableFunctions(
1181
- store,
1182
- () => true,
1183
- getUndefined,
1184
- addListener,
1185
- callListeners,
1186
- );
1187
- const addPreStoreListener = (preStore2, queryId, ...listenerIds) =>
1188
- arrayForEach(listenerIds, (listenerId) =>
1189
- setAdd(
1190
- mapEnsure(
1191
- mapEnsure(preStoreListenerIds, queryId, mapNew),
1192
- preStore2,
1193
- setNew,
1194
- ),
1195
- listenerId,
1196
- ),
1197
- );
1198
- const resetPreStores = (queryId) => {
1199
- ifNotUndefined(
1200
- mapGet(preStoreListenerIds, queryId),
1201
- (queryPreStoreListenerIds) => {
1202
- mapForEach(queryPreStoreListenerIds, (preStore2, listenerIds) =>
1203
- collForEach(listenerIds, (listenerId) =>
1204
- preStore2.delListener(listenerId),
1205
- ),
1206
- );
1207
- collClear(queryPreStoreListenerIds);
1208
- },
1209
- );
1210
- arrayForEach([resultStore, preStore], (store2) => store2.delTable(queryId));
1211
- };
1212
- const synchronizeTransactions = (queryId, fromStore, toStore) =>
1213
- addPreStoreListener(
1214
- fromStore,
1215
- queryId,
1216
- fromStore.addStartTransactionListener(toStore.startTransaction),
1217
- fromStore.addDidFinishTransactionListener(() =>
1218
- toStore.finishTransaction(),
1219
- ),
1220
- );
1221
- const setQueryDefinition = (queryId, tableId, build) => {
1222
- setDefinition(queryId, tableId);
1223
- resetPreStores(queryId);
1224
- const selectEntries = [];
1225
- const joinEntries = [[null, [tableId, null, null, [], mapNew()]]];
1226
- const wheres = [];
1227
- const groupEntries = [];
1228
- const havings = [];
1229
- const select = (arg1, arg2) => {
1230
- const selectEntry = isFunction(arg1)
1231
- ? [size(selectEntries) + EMPTY_STRING, arg1]
1232
- : [
1233
- isUndefined(arg2) ? arg1 : arg2,
1234
- (getTableCell) => getTableCell(arg1, arg2),
1235
- ];
1236
- arrayPush(selectEntries, selectEntry);
1237
- return {as: (selectedCellId) => (selectEntry[0] = selectedCellId)};
1238
- };
1239
- const join = (joinedTableId, arg1, arg2) => {
1240
- const fromIntermediateJoinedTableId =
1241
- isUndefined(arg2) || isFunction(arg1) ? null : arg1;
1242
- const onArg = isUndefined(fromIntermediateJoinedTableId) ? arg1 : arg2;
1243
- const joinEntry = [
1244
- joinedTableId,
1245
- [
1246
- joinedTableId,
1247
- fromIntermediateJoinedTableId,
1248
- isFunction(onArg) ? onArg : (getCell) => getCell(onArg),
1249
- [],
1250
- mapNew(),
1251
- ],
1252
- ];
1253
- arrayPush(joinEntries, joinEntry);
1254
- return {as: (joinedTableId2) => (joinEntry[0] = joinedTableId2)};
1255
- };
1256
- const where = (arg1, arg2, arg3) =>
1257
- arrayPush(
1258
- wheres,
1259
- isFunction(arg1)
1260
- ? arg1
1261
- : isUndefined(arg3)
1262
- ? (getTableCell) => getTableCell(arg1) === arg2
1263
- : (getTableCell) => getTableCell(arg1, arg2) === arg3,
1264
- );
1265
- const group = (
1266
- selectedCellId,
1267
- aggregate,
1268
- aggregateAdd,
1269
- aggregateRemove,
1270
- aggregateReplace,
1271
- ) => {
1272
- const groupEntry = [
1273
- selectedCellId,
1274
- [
1275
- selectedCellId,
1276
- isFunction(aggregate)
1277
- ? [aggregate, aggregateAdd, aggregateRemove, aggregateReplace]
1278
- : (mapGet(numericAggregators, aggregate) ?? [
1279
- (_cells, length) => length,
1280
- ]),
1281
- ],
1282
- ];
1283
- arrayPush(groupEntries, groupEntry);
1284
- return {as: (groupedCellId) => (groupEntry[0] = groupedCellId)};
1285
- };
1286
- const having = (arg1, arg2) =>
1287
- arrayPush(
1288
- havings,
1289
- isFunction(arg1)
1290
- ? arg1
1291
- : (getSelectedOrGroupedCell) =>
1292
- getSelectedOrGroupedCell(arg1) === arg2,
1293
- );
1294
- build({select, join, where, group, having});
1295
- const selects = mapNew(selectEntries);
1296
- if (collIsEmpty(selects)) {
1297
- return queries;
1298
- }
1299
- const joins = mapNew(joinEntries);
1300
- mapForEach(joins, (asTableId, [, fromAsTableId]) =>
1301
- ifNotUndefined(mapGet(joins, fromAsTableId), ({3: toAsTableIds}) =>
1302
- isUndefined(asTableId) ? 0 : arrayPush(toAsTableIds, asTableId),
1303
- ),
1304
- );
1305
- const groups = mapNew(groupEntries);
1306
- let selectJoinWhereStore = preStore;
1307
- if (collIsEmpty(groups) && arrayIsEmpty(havings)) {
1308
- selectJoinWhereStore = resultStore;
1309
- } else {
1310
- synchronizeTransactions(queryId, selectJoinWhereStore, resultStore);
1311
- const groupedSelectedCellIds = mapNew();
1312
- mapForEach(groups, (groupedCellId, [selectedCellId, aggregators]) =>
1313
- setAdd(mapEnsure(groupedSelectedCellIds, selectedCellId, setNew), [
1314
- groupedCellId,
1315
- aggregators,
1316
- ]),
1317
- );
1318
- const groupBySelectedCellIds = setNew();
1319
- mapForEach(selects, (selectedCellId) =>
1320
- collHas(groupedSelectedCellIds, selectedCellId)
1321
- ? 0
1322
- : setAdd(groupBySelectedCellIds, selectedCellId),
1323
- );
1324
- const tree = mapNew();
1325
- const writeGroupRow = (
1326
- leaf,
1327
- changedGroupedSelectedCells,
1328
- selectedRowId,
1329
- forceRemove,
1330
- ) =>
1331
- ifNotUndefined(
1332
- leaf,
1333
- ([selectedCells, selectedRowIds, groupRowId, groupRow]) => {
1334
- mapForEach(
1335
- changedGroupedSelectedCells,
1336
- (selectedCellId, [newCell]) => {
1337
- const selectedCell = mapEnsure(
1338
- selectedCells,
1339
- selectedCellId,
1340
- mapNew,
1341
- );
1342
- const oldLeafCell = mapGet(selectedCell, selectedRowId);
1343
- const newLeafCell = forceRemove ? void 0 : newCell;
1344
- if (oldLeafCell !== newLeafCell) {
1345
- const oldNewSet = setNew([[oldLeafCell, newLeafCell]]);
1346
- const oldLength = collSize(selectedCell);
1347
- mapSet(selectedCell, selectedRowId, newLeafCell);
1348
- collForEach(
1349
- mapGet(groupedSelectedCellIds, selectedCellId),
1350
- ([groupedCellId, aggregators]) => {
1351
- const aggregateValue = getAggregateValue(
1352
- groupRow[groupedCellId],
1353
- oldLength,
1354
- selectedCell,
1355
- oldNewSet,
1356
- aggregators,
1357
- );
1358
- groupRow[groupedCellId] = isUndefined(
1359
- getCellOrValueType(aggregateValue),
1360
- )
1361
- ? null
1362
- : aggregateValue;
1363
- },
1364
- );
1365
- }
1366
- },
1367
- );
1368
- if (
1369
- collIsEmpty(selectedRowIds) ||
1370
- !arrayEvery(havings, (having2) =>
1371
- having2((cellId) => groupRow[cellId]),
1372
- )
1373
- ) {
1374
- resultStore.delRow(queryId, groupRowId);
1375
- } else if (isUndefined(groupRowId)) {
1376
- leaf[2] = resultStore.addRow(queryId, groupRow);
1377
- } else {
1378
- resultStore.setRow(queryId, groupRowId, groupRow);
1379
- }
1380
- },
1381
- );
1382
- addPreStoreListener(
1383
- selectJoinWhereStore,
1384
- queryId,
1385
- selectJoinWhereStore.addRowListener(
1386
- queryId,
1387
- null,
1388
- (_store, _tableId, selectedRowId, getCellChange) => {
1389
- const oldPath = [];
1390
- const newPath = [];
1391
- const changedGroupedSelectedCells = mapNew();
1392
- const rowExists = selectJoinWhereStore.hasRow(
1393
- queryId,
1394
- selectedRowId,
1395
- );
1396
- let changedLeaf = !rowExists;
1397
- collForEach(groupBySelectedCellIds, (selectedCellId) => {
1398
- const [changed, oldCell, newCell] = getCellChange(
1399
- queryId,
1400
- selectedRowId,
1401
- selectedCellId,
1402
- );
1403
- arrayPush(oldPath, oldCell);
1404
- arrayPush(newPath, newCell);
1405
- changedLeaf ||= changed;
1406
- });
1407
- mapForEach(groupedSelectedCellIds, (selectedCellId) => {
1408
- const [changed, , newCell] = getCellChange(
1409
- queryId,
1410
- selectedRowId,
1411
- selectedCellId,
1412
- );
1413
- if (changedLeaf || changed) {
1414
- mapSet(changedGroupedSelectedCells, selectedCellId, [newCell]);
1415
- }
1416
- });
1417
- if (changedLeaf) {
1418
- writeGroupRow(
1419
- visitTree(tree, oldPath, void 0, ([, selectedRowIds]) => {
1420
- collDel(selectedRowIds, selectedRowId);
1421
- return collIsEmpty(selectedRowIds);
1422
- }),
1423
- changedGroupedSelectedCells,
1424
- selectedRowId,
1425
- 1,
1426
- );
1427
- }
1428
- if (rowExists) {
1429
- writeGroupRow(
1430
- visitTree(
1431
- tree,
1432
- newPath,
1433
- () => {
1434
- const groupRow = {};
1435
- collForEach(
1436
- groupBySelectedCellIds,
1437
- (selectedCellId) =>
1438
- (groupRow[selectedCellId] =
1439
- selectJoinWhereStore.getCell(
1440
- queryId,
1441
- selectedRowId,
1442
- selectedCellId,
1443
- )),
1444
- );
1445
- return [mapNew(), setNew(), void 0, groupRow];
1446
- },
1447
- ([, selectedRowIds]) => {
1448
- setAdd(selectedRowIds, selectedRowId);
1449
- },
1450
- ),
1451
- changedGroupedSelectedCells,
1452
- selectedRowId,
1453
- );
1454
- }
1455
- },
1456
- ),
1457
- );
1458
- }
1459
- synchronizeTransactions(queryId, store, selectJoinWhereStore);
1460
- const writeSelectRow = (rootRowId) => {
1461
- const getTableCell = (arg1, arg2) =>
1462
- store.getCell(
1463
- ...(isUndefined(arg2)
1464
- ? [tableId, rootRowId, arg1]
1465
- : arg1 === tableId
1466
- ? [tableId, rootRowId, arg2]
1467
- : [
1468
- mapGet(joins, arg1)?.[0],
1469
- mapGet(mapGet(joins, arg1)?.[4], rootRowId)?.[0],
1470
- arg2,
1471
- ]),
1472
- );
1473
- selectJoinWhereStore.transaction(() =>
1474
- arrayEvery(wheres, (where2) => where2(getTableCell))
1475
- ? mapForEach(selects, (asCellId, tableCellGetter) =>
1476
- setOrDelCell(
1477
- selectJoinWhereStore,
1478
- queryId,
1479
- rootRowId,
1480
- asCellId,
1481
- tableCellGetter(getTableCell, rootRowId),
1482
- ),
1483
- )
1484
- : selectJoinWhereStore.delRow(queryId, rootRowId),
1485
- );
1486
- };
1487
- const listenToTable = (rootRowId, tableId2, rowId, joinedTableIds2) => {
1488
- const getCell = (cellId) => store.getCell(tableId2, rowId, cellId);
1489
- arrayForEach(joinedTableIds2, (remoteAsTableId) => {
1490
- const [realJoinedTableId, , on, nextJoinedTableIds, remoteIdPair] =
1491
- mapGet(joins, remoteAsTableId);
1492
- const remoteRowId = on?.(getCell, rootRowId);
1493
- const [previousRemoteRowId, previousRemoteListenerId] =
1494
- mapGet(remoteIdPair, rootRowId) ?? [];
1495
- if (remoteRowId != previousRemoteRowId) {
1496
- if (!isUndefined(previousRemoteListenerId)) {
1497
- delStoreListeners(queryId, previousRemoteListenerId);
1498
- }
1499
- mapSet(
1500
- remoteIdPair,
1501
- rootRowId,
1502
- isUndefined(remoteRowId)
1503
- ? null
1504
- : [
1505
- remoteRowId,
1506
- ...addStoreListeners(
1507
- queryId,
1508
- 1,
1509
- store.addRowListener(realJoinedTableId, remoteRowId, () =>
1510
- listenToTable(
1511
- rootRowId,
1512
- realJoinedTableId,
1513
- remoteRowId,
1514
- nextJoinedTableIds,
1515
- ),
1516
- ),
1517
- ),
1518
- ],
1519
- );
1520
- }
1521
- });
1522
- writeSelectRow(rootRowId);
1523
- };
1524
- const {3: joinedTableIds} = mapGet(joins, null);
1525
- selectJoinWhereStore.transaction(() =>
1526
- addStoreListeners(
1527
- queryId,
1528
- 1,
1529
- store.addRowListener(tableId, null, (_store, _tableId, rootRowId) => {
1530
- if (store.hasRow(tableId, rootRowId)) {
1531
- listenToTable(rootRowId, tableId, rootRowId, joinedTableIds);
1532
- } else {
1533
- selectJoinWhereStore.delRow(queryId, rootRowId);
1534
- collForEach(joins, ({4: idsByRootRowId}) =>
1535
- ifNotUndefined(
1536
- mapGet(idsByRootRowId, rootRowId),
1537
- ([, listenerId]) => {
1538
- delStoreListeners(queryId, listenerId);
1539
- mapSet(idsByRootRowId, rootRowId);
1540
- },
1541
- ),
1542
- );
1543
- }
1544
- }),
1545
- ),
1546
- );
1547
- return queries;
1548
- };
1549
- const delQueryDefinition = (queryId) => {
1550
- resetPreStores(queryId);
1551
- delDefinition(queryId);
1552
- return queries;
1553
- };
1554
- const addQueryIdsListener = (listener) =>
1555
- addQueryIdsListenerImpl(() => listener(queries));
1556
- const delListener = (listenerId) => {
1557
- delListenerImpl(listenerId);
1558
- return queries;
1559
- };
1560
- const getListenerStats = () => {
1561
- const {
1562
- tables: _1,
1563
- tableIds: _2,
1564
- transaction: _3,
1565
- ...stats
1566
- } = resultStore.getListenerStats();
1567
- return stats;
1568
- };
1569
- const queries = {
1570
- setQueryDefinition,
1571
- delQueryDefinition,
1572
- getStore,
1573
- getQueryIds,
1574
- forEachQuery,
1575
- hasQuery,
1576
- getTableId,
1577
- addQueryIdsListener,
1578
- delListener,
1579
- destroy,
1580
- getListenerStats,
1581
- };
1582
- objMap(
1583
- {
1584
- [TABLE]: [1, 1],
1585
- [TABLE + CELL_IDS]: [0, 1],
1586
- [ROW_COUNT]: [0, 1],
1587
- [ROW_IDS]: [0, 1],
1588
- [SORTED_ROW_IDS]: [0, 5],
1589
- [ROW]: [1, 2],
1590
- [CELL_IDS]: [0, 2],
1591
- [CELL]: [1, 3],
1592
- },
1593
- ([hasAndForEach, argumentCount], gettable) => {
1594
- arrayForEach(
1595
- hasAndForEach ? [GET, 'has', 'forEach'] : [GET],
1596
- (prefix) =>
1597
- (queries[prefix + RESULT + gettable] = (...args) =>
1598
- resultStore[prefix + gettable](...args)),
1599
- );
1600
- queries[ADD + RESULT + gettable + LISTENER] = (...args) =>
1601
- resultStore[ADD + gettable + LISTENER](
1602
- ...slice(args, 0, argumentCount),
1603
- (_store, ...listenerArgs) =>
1604
- args[argumentCount](queries, ...listenerArgs),
1605
- true,
1606
- );
1607
- },
1608
- );
1609
- return objFreeze(queries);
1610
- });
1611
-
1612
- const createRelationships = getCreateFunction((store) => {
1613
- const remoteTableIds = mapNew();
1614
- const remoteRowIdListeners = mapNew();
1615
- const localRowIdsListeners = mapNew();
1616
- const linkedRowIdsListeners = mapNew();
1617
- const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
1618
- () => relationships,
1619
- );
1620
- const [
1621
- getStore,
1622
- getRelationshipIds,
1623
- forEachRelationshipImpl,
1624
- hasRelationship,
1625
- getLocalTableId,
1626
- getRelationship,
1627
- ,
1628
- ,
1629
- setDefinitionAndListen,
1630
- delDefinition,
1631
- addRelationshipIdsListener,
1632
- destroy,
1633
- ] = getDefinableFunctions(
1634
- store,
1635
- () => [mapNew(), mapNew(), mapNew(), mapNew()],
1636
- (value) => (isUndefined(value) ? void 0 : value + EMPTY_STRING),
1637
- addListener,
1638
- callListeners,
1639
- );
1640
- const getLinkedRowIdsCache = (relationshipId, firstRowId, skipCache) =>
1641
- ifNotUndefined(
1642
- getRelationship(relationshipId),
1643
- ([remoteRows, , linkedRowsCache]) => {
1644
- if (!collHas(linkedRowsCache, firstRowId)) {
1645
- const linkedRows = setNew();
1646
- if (
1647
- getLocalTableId(relationshipId) != getRemoteTableId(relationshipId)
1648
- ) {
1649
- setAdd(linkedRows, firstRowId);
1650
- } else {
1651
- let rowId = firstRowId;
1652
- while (!isUndefined(rowId) && !collHas(linkedRows, rowId)) {
1653
- setAdd(linkedRows, rowId);
1654
- rowId = mapGet(remoteRows, rowId);
1655
- }
1656
- }
1657
- if (skipCache) {
1658
- return linkedRows;
1659
- }
1660
- mapSet(linkedRowsCache, firstRowId, linkedRows);
1661
- }
1662
- return mapGet(linkedRowsCache, firstRowId);
1663
- },
1664
- );
1665
- const delLinkedRowIdsCache = (relationshipId, firstRowId) =>
1666
- ifNotUndefined(getRelationship(relationshipId), ([, , linkedRowsCache]) =>
1667
- mapSet(linkedRowsCache, firstRowId),
1668
- );
1669
- const setRelationshipDefinition = (
1670
- relationshipId,
1671
- localTableId,
1672
- remoteTableId,
1673
- getRemoteRowId2,
1674
- ) => {
1675
- mapSet(remoteTableIds, relationshipId, remoteTableId);
1676
- setDefinitionAndListen(
1677
- relationshipId,
1678
- localTableId,
1679
- (change, changedRemoteRowIds) => {
1680
- const changedLocalRows = setNew();
1681
- const changedRemoteRows = setNew();
1682
- const changedLinkedRows = setNew();
1683
- const [localRows, remoteRows] = getRelationship(relationshipId);
1684
- collForEach(
1685
- changedRemoteRowIds,
1686
- ([oldRemoteRowId, newRemoteRowId], localRowId) => {
1687
- if (!isUndefined(oldRemoteRowId)) {
1688
- setAdd(changedRemoteRows, oldRemoteRowId);
1689
- ifNotUndefined(
1690
- mapGet(remoteRows, oldRemoteRowId),
1691
- (oldRemoteRow) => {
1692
- collDel(oldRemoteRow, localRowId);
1693
- if (collIsEmpty(oldRemoteRow)) {
1694
- mapSet(remoteRows, oldRemoteRowId);
1695
- }
1696
- },
1697
- );
1698
- }
1699
- if (!isUndefined(newRemoteRowId)) {
1700
- setAdd(changedRemoteRows, newRemoteRowId);
1701
- if (!collHas(remoteRows, newRemoteRowId)) {
1702
- mapSet(remoteRows, newRemoteRowId, setNew());
1703
- }
1704
- setAdd(mapGet(remoteRows, newRemoteRowId), localRowId);
1705
- }
1706
- setAdd(changedLocalRows, localRowId);
1707
- mapSet(localRows, localRowId, newRemoteRowId);
1708
- mapForEach(
1709
- mapGet(linkedRowIdsListeners, relationshipId),
1710
- (firstRowId) => {
1711
- if (
1712
- collHas(
1713
- getLinkedRowIdsCache(relationshipId, firstRowId),
1714
- localRowId,
1715
- )
1716
- ) {
1717
- setAdd(changedLinkedRows, firstRowId);
1718
- }
1719
- },
1720
- );
1721
- },
1722
- );
1723
- change();
1724
- collForEach(changedLocalRows, (localRowId) =>
1725
- callListeners(remoteRowIdListeners, [relationshipId, localRowId]),
1726
- );
1727
- collForEach(changedRemoteRows, (remoteRowId) =>
1728
- callListeners(localRowIdsListeners, [relationshipId, remoteRowId]),
1729
- );
1730
- collForEach(changedLinkedRows, (firstRowId) => {
1731
- delLinkedRowIdsCache(relationshipId, firstRowId);
1732
- callListeners(linkedRowIdsListeners, [relationshipId, firstRowId]);
1733
- });
1734
- },
1735
- getRowCellFunction(getRemoteRowId2),
1736
- );
1737
- return relationships;
1738
- };
1739
- const forEachRelationship = (relationshipCallback) =>
1740
- forEachRelationshipImpl((relationshipId) =>
1741
- relationshipCallback(relationshipId, (rowCallback) =>
1742
- store.forEachRow(getLocalTableId(relationshipId), rowCallback),
1743
- ),
1744
- );
1745
- const delRelationshipDefinition = (relationshipId) => {
1746
- mapSet(remoteTableIds, relationshipId);
1747
- delDefinition(relationshipId);
1748
- return relationships;
1749
- };
1750
- const getRemoteTableId = (relationshipId) =>
1751
- mapGet(remoteTableIds, relationshipId);
1752
- const getRemoteRowId = (relationshipId, localRowId) =>
1753
- mapGet(getRelationship(relationshipId)?.[0], localRowId);
1754
- const getLocalRowIds = (relationshipId, remoteRowId) =>
1755
- collValues(mapGet(getRelationship(relationshipId)?.[1], remoteRowId));
1756
- const getLinkedRowIds = (relationshipId, firstRowId) =>
1757
- isUndefined(getRelationship(relationshipId))
1758
- ? [firstRowId]
1759
- : collValues(getLinkedRowIdsCache(relationshipId, firstRowId, true));
1760
- const addRemoteRowIdListener = (relationshipId, localRowId, listener) =>
1761
- addListener(listener, remoteRowIdListeners, [relationshipId, localRowId]);
1762
- const addLocalRowIdsListener = (relationshipId, remoteRowId, listener) =>
1763
- addListener(listener, localRowIdsListeners, [relationshipId, remoteRowId]);
1764
- const addLinkedRowIdsListener = (relationshipId, firstRowId, listener) => {
1765
- getLinkedRowIdsCache(relationshipId, firstRowId);
1766
- return addListener(listener, linkedRowIdsListeners, [
1767
- relationshipId,
1768
- firstRowId,
1769
- ]);
1770
- };
1771
- const delListener = (listenerId) => {
1772
- delLinkedRowIdsCache(...(delListenerImpl(listenerId) ?? []));
1773
- return relationships;
1774
- };
1775
- const getListenerStats = () => ({
1776
- remoteRowId: collSize3(remoteRowIdListeners),
1777
- localRowIds: collSize3(localRowIdsListeners),
1778
- linkedRowIds: collSize3(linkedRowIdsListeners),
1779
- });
1780
- const relationships = {
1781
- setRelationshipDefinition,
1782
- delRelationshipDefinition,
1783
- getStore,
1784
- getRelationshipIds,
1785
- forEachRelationship,
1786
- hasRelationship,
1787
- getLocalTableId,
1788
- getRemoteTableId,
1789
- getRemoteRowId,
1790
- getLocalRowIds,
1791
- getLinkedRowIds,
1792
- addRelationshipIdsListener,
1793
- addRemoteRowIdListener,
1794
- addLocalRowIdsListener,
1795
- addLinkedRowIdsListener,
1796
- delListener,
1797
- destroy,
1798
- getListenerStats,
1799
- };
1800
- return objFreeze(relationships);
1801
- });
1802
-
1803
- const textEncoder = /* @__PURE__ */ new GLOBAL.TextEncoder();
1804
- const getHash = (value) => {
1805
- let hash = 2166136261;
1806
- arrayForEach(textEncoder.encode(value), (char) => {
1807
- hash ^= char;
1808
- hash +=
1809
- (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
1810
- });
1811
- return hash >>> 0;
1812
- };
1813
-
1814
- const stampClone = ([value, time]) => stampNew(value, time);
1815
- const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
1816
- const stampNew = (value, time) => (time ? [value, time] : [value]);
1817
- const stampNewWithHash = (value, time, hash) => [value, time, hash];
1818
- const getStampHash = (stamp) => stamp[2];
1819
- const hashIdAndHash = (id, hash) => getHash(id + ':' + hash);
1820
- const replaceTimeHash = (oldTime, newTime) =>
1821
- newTime > oldTime ? (oldTime ? getHash(oldTime) : 0) ^ getHash(newTime) : 0;
1822
- const getLatestTime = (time1, time2) =>
1823
- /* istanbul ignore next */
1824
- ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
1825
- const stampUpdate = (stamp, time, hash) => {
1826
- if (time > stamp[1]) {
1827
- stamp[1] = time;
1828
- }
1829
- stamp[2] = hash >>> 0;
1830
- };
1831
- const stampNewObj = (time = EMPTY_STRING) => stampNew(objNew(), time);
1832
- const stampNewMap = (time = EMPTY_STRING) => [mapNew(), time, 0];
1833
- const stampMapToObjWithHash = (
1834
- [map, time, hash],
1835
- mapper = stampCloneWithHash,
1836
- ) => [mapToObj(map, mapper), time, hash];
1837
- const stampMapToObjWithoutHash = ([map, time], mapper = stampClone) =>
1838
- stampNew(mapToObj(map, mapper), time);
1839
- const stampValidate = (stamp, validateThing) =>
1840
- isArray(stamp) &&
1841
- size(stamp) == 3 &&
1842
- isString(stamp[1]) &&
1843
- getTypeOf(stamp[2]) == NUMBER &&
1844
- isFiniteNumber(stamp[2]) &&
1845
- validateThing(stamp[0]);
1846
-
1847
- const pairNew = (value) => [value, value];
1848
- const pairCollSize2 = (pair, func = collSize2) => func(pair[0]) + func(pair[1]);
1849
- const pairNewMap = () => [mapNew(), mapNew()];
1850
- const pairClone = (array) => [...array];
1851
- const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
1852
-
1853
- const jsonString = JSON.stringify;
1854
- const jsonParse = JSON.parse;
1855
- const jsonStringWithMap = (obj) =>
1856
- jsonString(obj, (_key, value) =>
1857
- isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
1858
- );
1859
-
1860
- const idsChanged = (changedIds, id2, addedOrRemoved) =>
1861
- mapSet(
1862
- changedIds,
1863
- id2,
1864
- mapGet(changedIds, id2) == -addedOrRemoved ? void 0 : addedOrRemoved,
1865
- );
1866
- const createStore = () => {
1867
- let hasTablesSchema;
1868
- let hasValuesSchema;
1869
- let hadTables = false;
1870
- let hadValues = false;
1871
- let transactions = 0;
1872
- let internalListeners = [];
1873
- const changedTableIds = mapNew();
1874
- const changedTableCellIds = mapNew();
1875
- const changedRowCount = mapNew();
1876
- const changedRowIds = mapNew();
1877
- const changedCellIds = mapNew();
1878
- const changedCells = mapNew();
1879
- const changedValueIds = mapNew();
1880
- const changedValues = mapNew();
1881
- const invalidCells = mapNew();
1882
- const invalidValues = mapNew();
1883
- const tablesSchemaMap = mapNew();
1884
- const tablesSchemaRowCache = mapNew();
1885
- const valuesSchemaMap = mapNew();
1886
- const valuesDefaulted = mapNew();
1887
- const valuesNonDefaulted = setNew();
1888
- const tablePoolFunctions = mapNew();
1889
- const tableCellIds = mapNew();
1890
- const tablesMap = mapNew();
1891
- const valuesMap = mapNew();
1892
- const hasTablesListeners = pairNewMap();
1893
- const tablesListeners = pairNewMap();
1894
- const tableIdsListeners = pairNewMap();
1895
- const hasTableListeners = pairNewMap();
1896
- const tableListeners = pairNewMap();
1897
- const tableCellIdsListeners = pairNewMap();
1898
- const hasTableCellListeners = pairNewMap();
1899
- const rowCountListeners = pairNewMap();
1900
- const rowIdsListeners = pairNewMap();
1901
- const sortedRowIdsListeners = pairNewMap();
1902
- const hasRowListeners = pairNewMap();
1903
- const rowListeners = pairNewMap();
1904
- const cellIdsListeners = pairNewMap();
1905
- const hasCellListeners = pairNewMap();
1906
- const cellListeners = pairNewMap();
1907
- const invalidCellListeners = pairNewMap();
1908
- const invalidValueListeners = pairNewMap();
1909
- const hasValuesListeners = pairNewMap();
1910
- const valuesListeners = pairNewMap();
1911
- const valueIdsListeners = pairNewMap();
1912
- const hasValueListeners = pairNewMap();
1913
- const valueListeners = pairNewMap();
1914
- const startTransactionListeners = mapNew();
1915
- const finishTransactionListeners = pairNewMap();
1916
- const [addListener, callListeners, delListenerImpl, callListenerImpl] =
1917
- getListenerFunctions(() => store);
1918
- const validateTablesSchema = (tableSchema) =>
1919
- objValidate(tableSchema, (tableSchema2) =>
1920
- objValidate(tableSchema2, validateCellOrValueSchema),
1921
- );
1922
- const validateValuesSchema = (valuesSchema) =>
1923
- objValidate(valuesSchema, validateCellOrValueSchema);
1924
- const validateCellOrValueSchema = (schema) => {
1925
- if (!objValidate(schema, (_child, id2) => arrayHas([TYPE, DEFAULT], id2))) {
1926
- return false;
1927
- }
1928
- const type = schema[TYPE];
1929
- if (!isTypeStringOrBoolean(type) && type != NUMBER) {
1930
- return false;
1931
- }
1932
- if (getCellOrValueType(schema[DEFAULT]) != type) {
1933
- objDel(schema, DEFAULT);
1934
- }
1935
- return true;
1936
- };
1937
- const validateContent = isArray;
1938
- const validateTables = (tables) =>
1939
- objValidate(tables, validateTable, cellInvalid);
1940
- const validateTable = (table, tableId) =>
1941
- (!hasTablesSchema ||
1942
- collHas(tablesSchemaMap, tableId) ||
1943
- /* istanbul ignore next */
1944
- cellInvalid(tableId)) &&
1945
- objValidate(
1946
- table,
1947
- (row, rowId) => validateRow(tableId, rowId, row),
1948
- () => cellInvalid(tableId),
1949
- );
1950
- const validateRow = (tableId, rowId, row, skipDefaults) =>
1951
- objValidate(
1952
- skipDefaults ? row : addDefaultsToRow(row, tableId, rowId),
1953
- (cell, cellId) =>
1954
- ifNotUndefined(
1955
- getValidatedCell(tableId, rowId, cellId, cell),
1956
- (validCell) => {
1957
- row[cellId] = validCell;
1958
- return true;
1959
- },
1960
- () => false,
1961
- ),
1962
- () => cellInvalid(tableId, rowId),
1963
- );
1964
- const getValidatedCell = (tableId, rowId, cellId, cell) =>
1965
- hasTablesSchema
1966
- ? ifNotUndefined(
1967
- mapGet(mapGet(tablesSchemaMap, tableId), cellId),
1968
- (cellSchema) =>
1969
- getCellOrValueType(cell) != cellSchema[TYPE]
1970
- ? cellInvalid(tableId, rowId, cellId, cell, cellSchema[DEFAULT])
1971
- : cell,
1972
- () => cellInvalid(tableId, rowId, cellId, cell),
1973
- )
1974
- : isUndefined(getCellOrValueType(cell))
1975
- ? cellInvalid(tableId, rowId, cellId, cell)
1976
- : cell;
1977
- const validateValues = (values, skipDefaults) =>
1978
- objValidate(
1979
- skipDefaults ? values : addDefaultsToValues(values),
1980
- (value, valueId) =>
1981
- ifNotUndefined(
1982
- getValidatedValue(valueId, value),
1983
- (validValue) => {
1984
- values[valueId] = validValue;
1985
- return true;
1986
- },
1987
- () => false,
1988
- ),
1989
- () => valueInvalid(),
1990
- );
1991
- const getValidatedValue = (valueId, value) =>
1992
- hasValuesSchema
1993
- ? ifNotUndefined(
1994
- mapGet(valuesSchemaMap, valueId),
1995
- (valueSchema) =>
1996
- getCellOrValueType(value) != valueSchema[TYPE]
1997
- ? valueInvalid(valueId, value, valueSchema[DEFAULT])
1998
- : value,
1999
- () => valueInvalid(valueId, value),
2000
- )
2001
- : isUndefined(getCellOrValueType(value))
2002
- ? valueInvalid(valueId, value)
2003
- : value;
2004
- const addDefaultsToRow = (row, tableId, rowId) => {
2005
- ifNotUndefined(
2006
- mapGet(tablesSchemaRowCache, tableId),
2007
- ([rowDefaulted, rowNonDefaulted]) => {
2008
- collForEach(rowDefaulted, (cell, cellId) => {
2009
- if (!objHas(row, cellId)) {
2010
- row[cellId] = cell;
2011
- }
2012
- });
2013
- collForEach(rowNonDefaulted, (cellId) => {
2014
- if (!objHas(row, cellId)) {
2015
- cellInvalid(tableId, rowId, cellId);
2016
- }
2017
- });
2018
- },
2019
- );
2020
- return row;
2021
- };
2022
- const addDefaultsToValues = (values) => {
2023
- if (hasValuesSchema) {
2024
- collForEach(valuesDefaulted, (value, valueId) => {
2025
- if (!objHas(values, valueId)) {
2026
- values[valueId] = value;
2027
- }
2028
- });
2029
- collForEach(valuesNonDefaulted, (valueId) => {
2030
- if (!objHas(values, valueId)) {
2031
- valueInvalid(valueId);
2032
- }
2033
- });
2034
- }
2035
- return values;
2036
- };
2037
- const setValidTablesSchema = (tablesSchema) =>
2038
- mapMatch(
2039
- tablesSchemaMap,
2040
- tablesSchema,
2041
- (_tablesSchema, tableId, tableSchema) => {
2042
- const rowDefaulted = mapNew();
2043
- const rowNonDefaulted = setNew();
2044
- mapMatch(
2045
- mapEnsure(tablesSchemaMap, tableId, mapNew),
2046
- tableSchema,
2047
- (tableSchemaMap, cellId, cellSchema) => {
2048
- mapSet(tableSchemaMap, cellId, cellSchema);
2049
- ifNotUndefined(
2050
- cellSchema[DEFAULT],
2051
- (def) => mapSet(rowDefaulted, cellId, def),
2052
- () => setAdd(rowNonDefaulted, cellId),
2053
- );
2054
- },
2055
- );
2056
- mapSet(tablesSchemaRowCache, tableId, [rowDefaulted, rowNonDefaulted]);
2057
- },
2058
- (_tablesSchema, tableId) => {
2059
- mapSet(tablesSchemaMap, tableId);
2060
- mapSet(tablesSchemaRowCache, tableId);
2061
- },
2062
- );
2063
- const setValidValuesSchema = (valuesSchema) =>
2064
- mapMatch(
2065
- valuesSchemaMap,
2066
- valuesSchema,
2067
- (_valuesSchema, valueId, valueSchema) => {
2068
- mapSet(valuesSchemaMap, valueId, valueSchema);
2069
- ifNotUndefined(
2070
- valueSchema[DEFAULT],
2071
- (def) => mapSet(valuesDefaulted, valueId, def),
2072
- () => setAdd(valuesNonDefaulted, valueId),
2073
- );
2074
- },
2075
- (_valuesSchema, valueId) => {
2076
- mapSet(valuesSchemaMap, valueId);
2077
- mapSet(valuesDefaulted, valueId);
2078
- collDel(valuesNonDefaulted, valueId);
2079
- },
2080
- );
2081
- const setOrDelTables = (tables) =>
2082
- objIsEmpty(tables) ? delTables() : setTables(tables);
2083
- const setValidContent = ([tables, values]) => {
2084
- (objIsEmpty(tables) ? delTables : setTables)(tables);
2085
- (objIsEmpty(values) ? delValues : setValues)(values);
2086
- };
2087
- const setValidTables = (tables) =>
2088
- mapMatch(
2089
- tablesMap,
2090
- tables,
2091
- (_tables, tableId, table) => setValidTable(tableId, table),
2092
- (_tables, tableId) => delValidTable(tableId),
2093
- );
2094
- const setValidTable = (tableId, table) =>
2095
- mapMatch(
2096
- mapEnsure(tablesMap, tableId, () => {
2097
- tableIdsChanged(tableId, 1);
2098
- mapSet(tablePoolFunctions, tableId, getPoolFunctions());
2099
- mapSet(tableCellIds, tableId, mapNew());
2100
- return mapNew();
2101
- }),
2102
- table,
2103
- (tableMap, rowId, row) => setValidRow(tableId, tableMap, rowId, row),
2104
- (tableMap, rowId) => delValidRow(tableId, tableMap, rowId),
2105
- );
2106
- const setValidRow = (tableId, tableMap, rowId, row, forceDel) =>
2107
- mapMatch(
2108
- mapEnsure(tableMap, rowId, () => {
2109
- rowIdsChanged(tableId, rowId, 1);
2110
- return mapNew();
2111
- }),
2112
- row,
2113
- (rowMap, cellId, cell) =>
2114
- setValidCell(tableId, rowId, rowMap, cellId, cell),
2115
- (rowMap, cellId) =>
2116
- delValidCell(tableId, tableMap, rowId, rowMap, cellId, forceDel),
2117
- );
2118
- const setValidCell = (tableId, rowId, rowMap, cellId, cell) => {
2119
- if (!collHas(rowMap, cellId)) {
2120
- cellIdsChanged(tableId, rowId, cellId, 1);
2121
- }
2122
- const oldCell = mapGet(rowMap, cellId);
2123
- if (cell !== oldCell) {
2124
- cellChanged(tableId, rowId, cellId, oldCell, cell);
2125
- mapSet(rowMap, cellId, cell);
2126
- }
2127
- };
2128
- const setCellIntoDefaultRow = (tableId, tableMap, rowId, cellId, validCell) =>
2129
- ifNotUndefined(
2130
- mapGet(tableMap, rowId),
2131
- (rowMap) => setValidCell(tableId, rowId, rowMap, cellId, validCell),
2132
- () =>
2133
- setValidRow(
2134
- tableId,
2135
- tableMap,
2136
- rowId,
2137
- addDefaultsToRow({[cellId]: validCell}, tableId, rowId),
2138
- ),
2139
- );
2140
- const setOrDelValues = (values) =>
2141
- objIsEmpty(values) ? delValues() : setValues(values);
2142
- const setValidValues = (values) =>
2143
- mapMatch(
2144
- valuesMap,
2145
- values,
2146
- (_valuesMap, valueId, value) => setValidValue(valueId, value),
2147
- (_valuesMap, valueId) => delValidValue(valueId),
2148
- );
2149
- const setValidValue = (valueId, value) => {
2150
- if (!collHas(valuesMap, valueId)) {
2151
- valueIdsChanged(valueId, 1);
2152
- }
2153
- const oldValue = mapGet(valuesMap, valueId);
2154
- if (value !== oldValue) {
2155
- valueChanged(valueId, oldValue, value);
2156
- mapSet(valuesMap, valueId, value);
2157
- }
2158
- };
2159
- const getNewRowId = (tableId, reuse) => {
2160
- const [getId] = mapGet(tablePoolFunctions, tableId);
2161
- let rowId;
2162
- do {
2163
- rowId = getId(reuse);
2164
- } while (collHas(mapGet(tablesMap, tableId), rowId));
2165
- return rowId;
2166
- };
2167
- const getOrCreateTable = (tableId) =>
2168
- mapGet(tablesMap, tableId) ?? setValidTable(tableId, {});
2169
- const delValidTable = (tableId) => setValidTable(tableId, {});
2170
- const delValidRow = (tableId, tableMap, rowId) => {
2171
- const [, releaseId] = mapGet(tablePoolFunctions, tableId);
2172
- releaseId(rowId);
2173
- setValidRow(tableId, tableMap, rowId, {}, true);
2174
- };
2175
- const delValidCell = (tableId, table, rowId, row, cellId, forceDel) => {
2176
- const defaultCell = mapGet(
2177
- mapGet(tablesSchemaRowCache, tableId)?.[0],
2178
- cellId,
2179
- );
2180
- if (!isUndefined(defaultCell) && !forceDel) {
2181
- return setValidCell(tableId, rowId, row, cellId, defaultCell);
2182
- }
2183
- const delCell2 = (cellId2) => {
2184
- cellChanged(tableId, rowId, cellId2, mapGet(row, cellId2));
2185
- cellIdsChanged(tableId, rowId, cellId2, -1);
2186
- mapSet(row, cellId2);
2187
- };
2188
- if (isUndefined(defaultCell)) {
2189
- delCell2(cellId);
2190
- } else {
2191
- mapForEach(row, delCell2);
2192
- }
2193
- if (collIsEmpty(row)) {
2194
- rowIdsChanged(tableId, rowId, -1);
2195
- if (collIsEmpty(mapSet(table, rowId))) {
2196
- tableIdsChanged(tableId, -1);
2197
- mapSet(tablesMap, tableId);
2198
- mapSet(tablePoolFunctions, tableId);
2199
- mapSet(tableCellIds, tableId);
2200
- }
2201
- }
2202
- };
2203
- const delValidValue = (valueId) => {
2204
- const defaultValue = mapGet(valuesDefaulted, valueId);
2205
- if (!isUndefined(defaultValue)) {
2206
- return setValidValue(valueId, defaultValue);
2207
- }
2208
- valueChanged(valueId, mapGet(valuesMap, valueId));
2209
- valueIdsChanged(valueId, -1);
2210
- mapSet(valuesMap, valueId);
2211
- };
2212
- const tableIdsChanged = (tableId, addedOrRemoved) =>
2213
- idsChanged(changedTableIds, tableId, addedOrRemoved);
2214
- const rowIdsChanged = (tableId, rowId, addedOrRemoved) =>
2215
- idsChanged(
2216
- mapEnsure(changedRowIds, tableId, mapNew),
2217
- rowId,
2218
- addedOrRemoved,
2219
- ) &&
2220
- mapSet(
2221
- changedRowCount,
2222
- tableId,
2223
- mapEnsure(changedRowCount, tableId, () => 0) + addedOrRemoved,
2224
- );
2225
- const cellIdsChanged = (tableId, rowId, cellId, addedOrRemoved) => {
2226
- const cellIds = mapGet(tableCellIds, tableId);
2227
- const count = mapGet(cellIds, cellId) ?? 0;
2228
- if (
2229
- (count == 0 && addedOrRemoved == 1) ||
2230
- (count == 1 && addedOrRemoved == -1)
2231
- ) {
2232
- idsChanged(
2233
- mapEnsure(changedTableCellIds, tableId, mapNew),
2234
- cellId,
2235
- addedOrRemoved,
2236
- );
2237
- }
2238
- mapSet(
2239
- cellIds,
2240
- cellId,
2241
- count != -addedOrRemoved ? count + addedOrRemoved : null,
2242
- );
2243
- idsChanged(
2244
- mapEnsure(mapEnsure(changedCellIds, tableId, mapNew), rowId, mapNew),
2245
- cellId,
2246
- addedOrRemoved,
2247
- );
2248
- };
2249
- const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
2250
- mapEnsure(
2251
- mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
2252
- cellId,
2253
- () => [oldCell, 0],
2254
- )[1] = newCell;
2255
- internalListeners[3]?.(tableId, rowId, cellId, newCell);
2256
- };
2257
- const valueIdsChanged = (valueId, addedOrRemoved) =>
2258
- idsChanged(changedValueIds, valueId, addedOrRemoved);
2259
- const valueChanged = (valueId, oldValue, newValue) => {
2260
- mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
2261
- internalListeners[4]?.(valueId, newValue);
2262
- };
2263
- const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
2264
- arrayPush(
2265
- mapEnsure(
2266
- mapEnsure(mapEnsure(invalidCells, tableId, mapNew), rowId, mapNew),
2267
- cellId,
2268
- () => [],
2269
- ),
2270
- invalidCell,
2271
- );
2272
- return defaultedCell;
2273
- };
2274
- const valueInvalid = (valueId, invalidValue, defaultedValue) => {
2275
- arrayPush(
2276
- mapEnsure(invalidValues, valueId, () => []),
2277
- invalidValue,
2278
- );
2279
- return defaultedValue;
2280
- };
2281
- const getCellChange = (tableId, rowId, cellId) =>
2282
- ifNotUndefined(
2283
- mapGet(mapGet(mapGet(changedCells, tableId), rowId), cellId),
2284
- ([oldCell, newCell]) => [true, oldCell, newCell],
2285
- () => [false, ...pairNew(getCell(tableId, rowId, cellId))],
2286
- );
2287
- const getValueChange = (valueId) =>
2288
- ifNotUndefined(
2289
- mapGet(changedValues, valueId),
2290
- ([oldValue, newValue]) => [true, oldValue, newValue],
2291
- () => [false, ...pairNew(getValue(valueId))],
2292
- );
2293
- const callInvalidCellListeners = (mutator) =>
2294
- !collIsEmpty(invalidCells) && !collIsEmpty(invalidCellListeners[mutator])
2295
- ? collForEach(
2296
- mutator ? mapClone3(invalidCells) : invalidCells,
2297
- (rows, tableId) =>
2298
- collForEach(rows, (cells, rowId) =>
2299
- collForEach(cells, (invalidCell, cellId) =>
2300
- callListeners(
2301
- invalidCellListeners[mutator],
2302
- [tableId, rowId, cellId],
2303
- invalidCell,
2304
- ),
2305
- ),
2306
- ),
2307
- )
2308
- : 0;
2309
- const callInvalidValueListeners = (mutator) =>
2310
- !collIsEmpty(invalidValues) && !collIsEmpty(invalidValueListeners[mutator])
2311
- ? collForEach(
2312
- mutator ? mapClone(invalidValues) : invalidValues,
2313
- (invalidValue, valueId) =>
2314
- callListeners(
2315
- invalidValueListeners[mutator],
2316
- [valueId],
2317
- invalidValue,
2318
- ),
2319
- )
2320
- : 0;
2321
- const callIdsAndHasListenersIfChanged = (
2322
- changedIds,
2323
- idListeners,
2324
- hasListeners,
2325
- ids,
2326
- ) => {
2327
- if (!collIsEmpty(changedIds)) {
2328
- callListeners(idListeners, ids, () => mapToObj(changedIds));
2329
- mapForEach(changedIds, (changedId, changed) =>
2330
- callListeners(hasListeners, [...(ids ?? []), changedId], changed == 1),
2331
- );
2332
- return 1;
2333
- }
2334
- };
2335
- const callTabularListenersForChanges = (mutator) => {
2336
- const hasTablesNow = hasTables();
2337
- if (hasTablesNow != hadTables) {
2338
- callListeners(hasTablesListeners[mutator], void 0, hasTablesNow);
2339
- }
2340
- const emptySortedRowIdListeners = collIsEmpty(
2341
- sortedRowIdsListeners[mutator],
2342
- );
2343
- const emptyIdAndHasListeners =
2344
- collIsEmpty(cellIdsListeners[mutator]) &&
2345
- collIsEmpty(hasCellListeners[mutator]) &&
2346
- collIsEmpty(rowIdsListeners[mutator]) &&
2347
- collIsEmpty(hasRowListeners[mutator]) &&
2348
- collIsEmpty(tableCellIdsListeners[mutator]) &&
2349
- collIsEmpty(hasTableCellListeners[mutator]) &&
2350
- collIsEmpty(rowCountListeners[mutator]) &&
2351
- emptySortedRowIdListeners &&
2352
- collIsEmpty(tableIdsListeners[mutator]) &&
2353
- collIsEmpty(hasTableListeners[mutator]);
2354
- const emptyOtherListeners =
2355
- collIsEmpty(cellListeners[mutator]) &&
2356
- collIsEmpty(rowListeners[mutator]) &&
2357
- collIsEmpty(tableListeners[mutator]) &&
2358
- collIsEmpty(tablesListeners[mutator]);
2359
- if (!emptyIdAndHasListeners || !emptyOtherListeners) {
2360
- const changes = mutator
2361
- ? [
2362
- mapClone(changedTableIds),
2363
- mapClone2(changedTableCellIds),
2364
- mapClone(changedRowCount),
2365
- mapClone2(changedRowIds),
2366
- mapClone3(changedCellIds),
2367
- mapClone3(changedCells),
2368
- ]
2369
- : [
2370
- changedTableIds,
2371
- changedTableCellIds,
2372
- changedRowCount,
2373
- changedRowIds,
2374
- changedCellIds,
2375
- changedCells,
2376
- ];
2377
- if (!emptyIdAndHasListeners) {
2378
- callIdsAndHasListenersIfChanged(
2379
- changes[0],
2380
- tableIdsListeners[mutator],
2381
- hasTableListeners[mutator],
2382
- );
2383
- collForEach(changes[1], (changedIds, tableId) =>
2384
- callIdsAndHasListenersIfChanged(
2385
- changedIds,
2386
- tableCellIdsListeners[mutator],
2387
- hasTableCellListeners[mutator],
2388
- [tableId],
2389
- ),
2390
- );
2391
- collForEach(changes[2], (changedCount, tableId) => {
2392
- if (changedCount != 0) {
2393
- callListeners(
2394
- rowCountListeners[mutator],
2395
- [tableId],
2396
- getRowCount(tableId),
2397
- );
2398
- }
2399
- });
2400
- const calledSortableTableIds = setNew();
2401
- collForEach(changes[3], (changedIds, tableId) => {
2402
- if (
2403
- callIdsAndHasListenersIfChanged(
2404
- changedIds,
2405
- rowIdsListeners[mutator],
2406
- hasRowListeners[mutator],
2407
- [tableId],
2408
- ) &&
2409
- !emptySortedRowIdListeners
2410
- ) {
2411
- callListeners(sortedRowIdsListeners[mutator], [tableId, null]);
2412
- setAdd(calledSortableTableIds, tableId);
2413
- }
2414
- });
2415
- if (!emptySortedRowIdListeners) {
2416
- collForEach(changes[5], (rows, tableId) => {
2417
- if (!collHas(calledSortableTableIds, tableId)) {
2418
- const sortableCellIds = setNew();
2419
- collForEach(rows, (cells) =>
2420
- collForEach(cells, ([oldCell, newCell], cellId) =>
2421
- newCell !== oldCell
2422
- ? setAdd(sortableCellIds, cellId)
2423
- : collDel(cells, cellId),
2424
- ),
2425
- );
2426
- collForEach(sortableCellIds, (cellId) =>
2427
- callListeners(sortedRowIdsListeners[mutator], [
2428
- tableId,
2429
- cellId,
2430
- ]),
2431
- );
2432
- }
2433
- });
2434
- }
2435
- collForEach(changes[4], (rowCellIds, tableId) =>
2436
- collForEach(rowCellIds, (changedIds, rowId) =>
2437
- callIdsAndHasListenersIfChanged(
2438
- changedIds,
2439
- cellIdsListeners[mutator],
2440
- hasCellListeners[mutator],
2441
- [tableId, rowId],
2442
- ),
2443
- ),
2444
- );
2445
- }
2446
- if (!emptyOtherListeners) {
2447
- let tablesChanged;
2448
- collForEach(changes[5], (rows, tableId) => {
2449
- let tableChanged;
2450
- collForEach(rows, (cells, rowId) => {
2451
- let rowChanged;
2452
- collForEach(cells, ([oldCell, newCell], cellId) => {
2453
- if (newCell !== oldCell) {
2454
- callListeners(
2455
- cellListeners[mutator],
2456
- [tableId, rowId, cellId],
2457
- newCell,
2458
- oldCell,
2459
- getCellChange,
2460
- );
2461
- tablesChanged = tableChanged = rowChanged = 1;
2462
- }
2463
- });
2464
- if (rowChanged) {
2465
- callListeners(
2466
- rowListeners[mutator],
2467
- [tableId, rowId],
2468
- getCellChange,
2469
- );
2470
- }
2471
- });
2472
- if (tableChanged) {
2473
- callListeners(tableListeners[mutator], [tableId], getCellChange);
2474
- }
2475
- });
2476
- if (tablesChanged) {
2477
- callListeners(tablesListeners[mutator], void 0, getCellChange);
2478
- }
2479
- }
2480
- }
2481
- };
2482
- const callValuesListenersForChanges = (mutator) => {
2483
- const hasValuesNow = hasValues();
2484
- if (hasValuesNow != hadValues) {
2485
- callListeners(hasValuesListeners[mutator], void 0, hasValuesNow);
2486
- }
2487
- const emptyIdAndHasListeners =
2488
- collIsEmpty(valueIdsListeners[mutator]) &&
2489
- collIsEmpty(hasValueListeners[mutator]);
2490
- const emptyOtherListeners =
2491
- collIsEmpty(valueListeners[mutator]) &&
2492
- collIsEmpty(valuesListeners[mutator]);
2493
- if (!emptyIdAndHasListeners || !emptyOtherListeners) {
2494
- const changes = mutator
2495
- ? [mapClone(changedValueIds), mapClone(changedValues)]
2496
- : [changedValueIds, changedValues];
2497
- if (!emptyIdAndHasListeners) {
2498
- callIdsAndHasListenersIfChanged(
2499
- changes[0],
2500
- valueIdsListeners[mutator],
2501
- hasValueListeners[mutator],
2502
- );
2503
- }
2504
- if (!emptyOtherListeners) {
2505
- let valuesChanged;
2506
- collForEach(changes[1], ([oldValue, newValue], valueId) => {
2507
- if (newValue !== oldValue) {
2508
- callListeners(
2509
- valueListeners[mutator],
2510
- [valueId],
2511
- newValue,
2512
- oldValue,
2513
- getValueChange,
2514
- );
2515
- valuesChanged = 1;
2516
- }
2517
- });
2518
- if (valuesChanged) {
2519
- callListeners(valuesListeners[mutator], void 0, getValueChange);
2520
- }
2521
- }
2522
- }
2523
- };
2524
- const fluentTransaction = (actions, ...args) => {
2525
- transaction(() => actions(...arrayMap(args, id)));
2526
- return store;
2527
- };
2528
- const getContent = () => [getTables(), getValues()];
2529
- const getTables = () => mapToObj3(tablesMap);
2530
- const getTableIds = () => mapKeys(tablesMap);
2531
- const getTable = (tableId) => mapToObj2(mapGet(tablesMap, id(tableId)));
2532
- const getTableCellIds = (tableId) =>
2533
- mapKeys(mapGet(tableCellIds, id(tableId)));
2534
- const getRowCount = (tableId) => collSize(mapGet(tablesMap, id(tableId)));
2535
- const getRowIds = (tableId) => mapKeys(mapGet(tablesMap, id(tableId)));
2536
- const getSortedRowIds = (tableId, cellId, descending, offset = 0, limit) =>
2537
- arrayMap(
2538
- slice(
2539
- arraySort(
2540
- mapMap(mapGet(tablesMap, id(tableId)), (row, rowId) => [
2541
- isUndefined(cellId) ? rowId : mapGet(row, id(cellId)),
2542
- rowId,
2543
- ]),
2544
- ([cell1], [cell2]) =>
2545
- defaultSorter(cell1, cell2) * (descending ? -1 : 1),
2546
- ),
2547
- offset,
2548
- isUndefined(limit) ? limit : offset + limit,
2549
- ),
2550
- ([, rowId]) => rowId,
2551
- );
2552
- const getRow = (tableId, rowId) =>
2553
- mapToObj(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)));
2554
- const getCellIds = (tableId, rowId) =>
2555
- mapKeys(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)));
2556
- const getCell = (tableId, rowId, cellId) =>
2557
- mapGet(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)), id(cellId));
2558
- const getValues = () => mapToObj(valuesMap);
2559
- const getValueIds = () => mapKeys(valuesMap);
2560
- const getValue = (valueId) => mapGet(valuesMap, id(valueId));
2561
- const hasTables = () => !collIsEmpty(tablesMap);
2562
- const hasTable = (tableId) => collHas(tablesMap, id(tableId));
2563
- const hasTableCell = (tableId, cellId) =>
2564
- collHas(mapGet(tableCellIds, id(tableId)), id(cellId));
2565
- const hasRow = (tableId, rowId) =>
2566
- collHas(mapGet(tablesMap, id(tableId)), id(rowId));
2567
- const hasCell = (tableId, rowId, cellId) =>
2568
- collHas(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)), id(cellId));
2569
- const hasValues = () => !collIsEmpty(valuesMap);
2570
- const hasValue = (valueId) => collHas(valuesMap, id(valueId));
2571
- const getTablesJson = () => jsonStringWithMap(tablesMap);
2572
- const getValuesJson = () => jsonStringWithMap(valuesMap);
2573
- const getJson = () => jsonStringWithMap([tablesMap, valuesMap]);
2574
- const getTablesSchemaJson = () => jsonStringWithMap(tablesSchemaMap);
2575
- const getValuesSchemaJson = () => jsonStringWithMap(valuesSchemaMap);
2576
- const getSchemaJson = () =>
2577
- jsonStringWithMap([tablesSchemaMap, valuesSchemaMap]);
2578
- const setContent = (content) =>
2579
- fluentTransaction(() => {
2580
- const content2 = isFunction(content) ? content() : content;
2581
- if (validateContent(content2)) {
2582
- setValidContent(content2);
2583
- }
2584
- });
2585
- const setTables = (tables) =>
2586
- fluentTransaction(() =>
2587
- validateTables(tables) ? setValidTables(tables) : 0,
2588
- );
2589
- const setTable = (tableId, table) =>
2590
- fluentTransaction(
2591
- (tableId2) =>
2592
- validateTable(table, tableId2) ? setValidTable(tableId2, table) : 0,
2593
- tableId,
2594
- );
2595
- const setRow = (tableId, rowId, row) =>
2596
- fluentTransaction(
2597
- (tableId2, rowId2) =>
2598
- validateRow(tableId2, rowId2, row)
2599
- ? setValidRow(tableId2, getOrCreateTable(tableId2), rowId2, row)
2600
- : 0,
2601
- tableId,
2602
- rowId,
2603
- );
2604
- const addRow = (tableId, row, reuseRowIds = true) =>
2605
- transaction(() => {
2606
- let rowId = void 0;
2607
- if (validateRow(tableId, rowId, row)) {
2608
- tableId = id(tableId);
2609
- setValidRow(
2610
- tableId,
2611
- getOrCreateTable(tableId),
2612
- (rowId = getNewRowId(tableId, reuseRowIds ? 1 : 0)),
2613
- row,
2614
- );
2615
- }
2616
- return rowId;
2617
- });
2618
- const setPartialRow = (tableId, rowId, partialRow) =>
2619
- fluentTransaction(
2620
- (tableId2, rowId2) => {
2621
- if (validateRow(tableId2, rowId2, partialRow, 1)) {
2622
- const table = getOrCreateTable(tableId2);
2623
- objMap(partialRow, (cell, cellId) =>
2624
- setCellIntoDefaultRow(tableId2, table, rowId2, cellId, cell),
2625
- );
2626
- }
2627
- },
2628
- tableId,
2629
- rowId,
2630
- );
2631
- const setCell = (tableId, rowId, cellId, cell) =>
2632
- fluentTransaction(
2633
- (tableId2, rowId2, cellId2) =>
2634
- ifNotUndefined(
2635
- getValidatedCell(
2636
- tableId2,
2637
- rowId2,
2638
- cellId2,
2639
- isFunction(cell) ? cell(getCell(tableId2, rowId2, cellId2)) : cell,
2640
- ),
2641
- (validCell) =>
2642
- setCellIntoDefaultRow(
2643
- tableId2,
2644
- getOrCreateTable(tableId2),
2645
- rowId2,
2646
- cellId2,
2647
- validCell,
2648
- ),
2649
- ),
2650
- tableId,
2651
- rowId,
2652
- cellId,
2653
- );
2654
- const setValues = (values) =>
2655
- fluentTransaction(() =>
2656
- validateValues(values) ? setValidValues(values) : 0,
2657
- );
2658
- const setPartialValues = (partialValues) =>
2659
- fluentTransaction(() =>
2660
- validateValues(partialValues, 1)
2661
- ? objMap(partialValues, (value, valueId) =>
2662
- setValidValue(valueId, value),
2663
- )
2664
- : 0,
2665
- );
2666
- const setValue = (valueId, value) =>
2667
- fluentTransaction(
2668
- (valueId2) =>
2669
- ifNotUndefined(
2670
- getValidatedValue(
2671
- valueId2,
2672
- isFunction(value) ? value(getValue(valueId2)) : value,
2673
- ),
2674
- (validValue) => setValidValue(valueId2, validValue),
2675
- ),
2676
- valueId,
2677
- );
2678
- const applyChanges = (changes) =>
2679
- fluentTransaction(() => {
2680
- objMap(changes[0], (table, tableId) =>
2681
- isUndefined(table)
2682
- ? delTable(tableId)
2683
- : objMap(table, (row, rowId) =>
2684
- isUndefined(row)
2685
- ? delRow(tableId, rowId)
2686
- : objMap(row, (cell, cellId) =>
2687
- setOrDelCell(store, tableId, rowId, cellId, cell),
2688
- ),
2689
- ),
2690
- );
2691
- objMap(changes[1], (value, valueId) =>
2692
- setOrDelValue(store, valueId, value),
2693
- );
2694
- });
2695
- const setTablesJson = (tablesJson) => {
2696
- try {
2697
- setOrDelTables(jsonParse(tablesJson));
2698
- } catch {}
2699
- return store;
2700
- };
2701
- const setValuesJson = (valuesJson) => {
2702
- try {
2703
- setOrDelValues(jsonParse(valuesJson));
2704
- } catch {}
2705
- return store;
2706
- };
2707
- const setJson = (tablesAndValuesJson) =>
2708
- fluentTransaction(() => {
2709
- try {
2710
- const [tables, values] = jsonParse(tablesAndValuesJson);
2711
- setOrDelTables(tables);
2712
- setOrDelValues(values);
2713
- } catch {
2714
- setTablesJson(tablesAndValuesJson);
2715
- }
2716
- });
2717
- const setTablesSchema = (tablesSchema) =>
2718
- fluentTransaction(() => {
2719
- if ((hasTablesSchema = validateTablesSchema(tablesSchema))) {
2720
- setValidTablesSchema(tablesSchema);
2721
- if (!collIsEmpty(tablesMap)) {
2722
- const tables = getTables();
2723
- delTables();
2724
- setTables(tables);
2725
- }
2726
- }
2727
- });
2728
- const setValuesSchema = (valuesSchema) =>
2729
- fluentTransaction(() => {
2730
- if ((hasValuesSchema = validateValuesSchema(valuesSchema))) {
2731
- const values = getValues();
2732
- delValuesSchema();
2733
- delValues();
2734
- hasValuesSchema = true;
2735
- setValidValuesSchema(valuesSchema);
2736
- setValues(values);
2737
- }
2738
- });
2739
- const setSchema = (tablesSchema, valuesSchema) =>
2740
- fluentTransaction(() => {
2741
- setTablesSchema(tablesSchema);
2742
- setValuesSchema(valuesSchema);
2743
- });
2744
- const delTables = () => fluentTransaction(() => setValidTables({}));
2745
- const delTable = (tableId) =>
2746
- fluentTransaction(
2747
- (tableId2) =>
2748
- collHas(tablesMap, tableId2) ? delValidTable(tableId2) : 0,
2749
- tableId,
2750
- );
2751
- const delRow = (tableId, rowId) =>
2752
- fluentTransaction(
2753
- (tableId2, rowId2) =>
2754
- ifNotUndefined(mapGet(tablesMap, tableId2), (tableMap) =>
2755
- collHas(tableMap, rowId2)
2756
- ? delValidRow(tableId2, tableMap, rowId2)
2757
- : 0,
2758
- ),
2759
- tableId,
2760
- rowId,
2761
- );
2762
- const delCell = (tableId, rowId, cellId, forceDel) =>
2763
- fluentTransaction(
2764
- (tableId2, rowId2, cellId2) =>
2765
- ifNotUndefined(mapGet(tablesMap, tableId2), (tableMap) =>
2766
- ifNotUndefined(mapGet(tableMap, rowId2), (rowMap) =>
2767
- collHas(rowMap, cellId2)
2768
- ? delValidCell(
2769
- tableId2,
2770
- tableMap,
2771
- rowId2,
2772
- rowMap,
2773
- cellId2,
2774
- forceDel,
2775
- )
2776
- : 0,
2777
- ),
2778
- ),
2779
- tableId,
2780
- rowId,
2781
- cellId,
2782
- );
2783
- const delValues = () => fluentTransaction(() => setValidValues({}));
2784
- const delValue = (valueId) =>
2785
- fluentTransaction(
2786
- (valueId2) =>
2787
- collHas(valuesMap, valueId2) ? delValidValue(valueId2) : 0,
2788
- valueId,
2789
- );
2790
- const delTablesSchema = () =>
2791
- fluentTransaction(() => {
2792
- setValidTablesSchema({});
2793
- hasTablesSchema = false;
2794
- });
2795
- const delValuesSchema = () =>
2796
- fluentTransaction(() => {
2797
- setValidValuesSchema({});
2798
- hasValuesSchema = false;
2799
- });
2800
- const delSchema = () =>
2801
- fluentTransaction(() => {
2802
- delTablesSchema();
2803
- delValuesSchema();
2804
- });
2805
- const transaction = (actions, doRollback) => {
2806
- if (transactions != -1) {
2807
- startTransaction();
2808
- const result = actions();
2809
- finishTransaction(doRollback);
2810
- return result;
2811
- }
2812
- };
2813
- const startTransaction = () => {
2814
- if (transactions != -1) {
2815
- transactions++;
2816
- }
2817
- if (transactions == 1) {
2818
- internalListeners[0]?.();
2819
- callListeners(startTransactionListeners);
2820
- }
2821
- return store;
2822
- };
2823
- const getTransactionChanges = () => [
2824
- mapToObj(
2825
- changedCells,
2826
- (table, tableId) =>
2827
- mapGet(changedTableIds, tableId) === -1
2828
- ? void 0
2829
- : mapToObj(
2830
- table,
2831
- (row, rowId) =>
2832
- mapGet(mapGet(changedRowIds, tableId), rowId) === -1
2833
- ? void 0
2834
- : mapToObj(
2835
- row,
2836
- ([, newCell]) => newCell,
2837
- (changedCell) => pairIsEqual(changedCell),
2838
- ),
2839
- collIsEmpty,
2840
- objIsEmpty,
2841
- ),
2842
- collIsEmpty,
2843
- objIsEmpty,
2844
- ),
2845
- mapToObj(
2846
- changedValues,
2847
- ([, newValue]) => newValue,
2848
- (changedValue) => pairIsEqual(changedValue),
2849
- ),
2850
- 1,
2851
- ];
2852
- const getTransactionLog = () => [
2853
- !collIsEmpty(changedCells),
2854
- !collIsEmpty(changedValues),
2855
- mapToObj3(changedCells, pairClone, pairIsEqual),
2856
- mapToObj3(invalidCells),
2857
- mapToObj(changedValues, pairClone, pairIsEqual),
2858
- mapToObj(invalidValues),
2859
- mapToObj(changedTableIds),
2860
- mapToObj2(changedRowIds),
2861
- mapToObj3(changedCellIds),
2862
- mapToObj(changedValueIds),
2863
- ];
2864
- const finishTransaction = (doRollback) => {
2865
- if (transactions > 0) {
2866
- transactions--;
2867
- if (transactions == 0) {
2868
- transactions = 1;
2869
- callInvalidCellListeners(1);
2870
- if (!collIsEmpty(changedCells)) {
2871
- callTabularListenersForChanges(1);
2872
- }
2873
- callInvalidValueListeners(1);
2874
- if (!collIsEmpty(changedValues)) {
2875
- callValuesListenersForChanges(1);
2876
- }
2877
- if (doRollback?.(store)) {
2878
- collForEach(changedCells, (table, tableId) =>
2879
- collForEach(table, (row, rowId) =>
2880
- collForEach(row, ([oldCell], cellId) =>
2881
- setOrDelCell(store, tableId, rowId, cellId, oldCell),
2882
- ),
2883
- ),
2884
- );
2885
- collClear(changedCells);
2886
- collForEach(changedValues, ([oldValue], valueId) =>
2887
- setOrDelValue(store, valueId, oldValue),
2888
- );
2889
- collClear(changedValues);
2890
- }
2891
- callListeners(finishTransactionListeners[0], void 0);
2892
- transactions = -1;
2893
- callInvalidCellListeners(0);
2894
- if (!collIsEmpty(changedCells)) {
2895
- callTabularListenersForChanges(0);
2896
- }
2897
- callInvalidValueListeners(0);
2898
- if (!collIsEmpty(changedValues)) {
2899
- callValuesListenersForChanges(0);
2900
- }
2901
- internalListeners[1]?.();
2902
- callListeners(finishTransactionListeners[1], void 0);
2903
- internalListeners[2]?.();
2904
- transactions = 0;
2905
- hadTables = hasTables();
2906
- hadValues = hasValues();
2907
- arrayForEach(
2908
- [
2909
- changedTableIds,
2910
- changedTableCellIds,
2911
- changedRowCount,
2912
- changedRowIds,
2913
- changedCellIds,
2914
- changedCells,
2915
- invalidCells,
2916
- changedValueIds,
2917
- changedValues,
2918
- invalidValues,
2919
- ],
2920
- collClear,
2921
- );
2922
- }
2923
- }
2924
- return store;
2925
- };
2926
- const forEachTable = (tableCallback) =>
2927
- collForEach(tablesMap, (tableMap, tableId) =>
2928
- tableCallback(tableId, (rowCallback) =>
2929
- collForEach(tableMap, (rowMap, rowId) =>
2930
- rowCallback(rowId, (cellCallback) =>
2931
- mapForEach(rowMap, cellCallback),
2932
- ),
2933
- ),
2934
- ),
2935
- );
2936
- const forEachTableCell = (tableId, tableCellCallback) =>
2937
- mapForEach(mapGet(tableCellIds, id(tableId)), tableCellCallback);
2938
- const forEachRow = (tableId, rowCallback) =>
2939
- collForEach(mapGet(tablesMap, id(tableId)), (rowMap, rowId) =>
2940
- rowCallback(rowId, (cellCallback) => mapForEach(rowMap, cellCallback)),
2941
- );
2942
- const forEachCell = (tableId, rowId, cellCallback) =>
2943
- mapForEach(mapGet(mapGet(tablesMap, id(tableId)), id(rowId)), cellCallback);
2944
- const forEachValue = (valueCallback) => mapForEach(valuesMap, valueCallback);
2945
- const addSortedRowIdsListener = (
2946
- tableId,
2947
- cellId,
2948
- descending,
2949
- offset,
2950
- limit,
2951
- listener,
2952
- mutator,
2953
- ) => {
2954
- let sortedRowIds = getSortedRowIds(
2955
- tableId,
2956
- cellId,
2957
- descending,
2958
- offset,
2959
- limit,
2960
- );
2961
- return addListener(
2962
- () => {
2963
- const newSortedRowIds = getSortedRowIds(
2964
- tableId,
2965
- cellId,
2966
- descending,
2967
- offset,
2968
- limit,
2969
- );
2970
- if (!arrayIsEqual(newSortedRowIds, sortedRowIds)) {
2971
- sortedRowIds = newSortedRowIds;
2972
- listener(
2973
- store,
2974
- tableId,
2975
- cellId,
2976
- descending,
2977
- offset,
2978
- limit,
2979
- sortedRowIds,
2980
- );
2981
- }
2982
- },
2983
- sortedRowIdsListeners[mutator ? 1 : 0],
2984
- [tableId, cellId],
2985
- [getTableIds],
2986
- );
2987
- };
2988
- const addStartTransactionListener = (listener) =>
2989
- addListener(listener, startTransactionListeners);
2990
- const addWillFinishTransactionListener = (listener) =>
2991
- addListener(listener, finishTransactionListeners[0]);
2992
- const addDidFinishTransactionListener = (listener) =>
2993
- addListener(listener, finishTransactionListeners[1]);
2994
- const callListener = (listenerId) => {
2995
- callListenerImpl(listenerId);
2996
- return store;
2997
- };
2998
- const delListener = (listenerId) => {
2999
- delListenerImpl(listenerId);
3000
- return store;
3001
- };
3002
- const getListenerStats = () => ({
3003
- hasTables: pairCollSize2(hasTablesListeners),
3004
- tables: pairCollSize2(tablesListeners),
3005
- tableIds: pairCollSize2(tableIdsListeners),
3006
- hasTable: pairCollSize2(hasTableListeners),
3007
- table: pairCollSize2(tableListeners),
3008
- tableCellIds: pairCollSize2(tableCellIdsListeners),
3009
- hasTableCell: pairCollSize2(hasTableCellListeners, collSize3),
3010
- rowCount: pairCollSize2(rowCountListeners),
3011
- rowIds: pairCollSize2(rowIdsListeners),
3012
- sortedRowIds: pairCollSize2(sortedRowIdsListeners),
3013
- hasRow: pairCollSize2(hasRowListeners, collSize3),
3014
- row: pairCollSize2(rowListeners, collSize3),
3015
- cellIds: pairCollSize2(cellIdsListeners, collSize3),
3016
- hasCell: pairCollSize2(hasCellListeners, collSize4),
3017
- cell: pairCollSize2(cellListeners, collSize4),
3018
- invalidCell: pairCollSize2(invalidCellListeners, collSize4),
3019
- hasValues: pairCollSize2(hasValuesListeners),
3020
- values: pairCollSize2(valuesListeners),
3021
- valueIds: pairCollSize2(valueIdsListeners),
3022
- hasValue: pairCollSize2(hasValueListeners),
3023
- value: pairCollSize2(valueListeners),
3024
- invalidValue: pairCollSize2(invalidValueListeners),
3025
- transaction:
3026
- collSize2(startTransactionListeners) +
3027
- pairCollSize2(finishTransactionListeners),
3028
- });
3029
- const setInternalListeners = (
3030
- preStartTransaction,
3031
- preFinishTransaction,
3032
- postFinishTransaction,
3033
- cellChanged2,
3034
- valueChanged2,
3035
- ) =>
3036
- (internalListeners = [
3037
- preStartTransaction,
3038
- preFinishTransaction,
3039
- postFinishTransaction,
3040
- cellChanged2,
3041
- valueChanged2,
3042
- ]);
3043
- const store = {
3044
- getContent,
3045
- getTables,
3046
- getTableIds,
3047
- getTable,
3048
- getTableCellIds,
3049
- getRowCount,
3050
- getRowIds,
3051
- getSortedRowIds,
3052
- getRow,
3053
- getCellIds,
3054
- getCell,
3055
- getValues,
3056
- getValueIds,
3057
- getValue,
3058
- hasTables,
3059
- hasTable,
3060
- hasTableCell,
3061
- hasRow,
3062
- hasCell,
3063
- hasValues,
3064
- hasValue,
3065
- getTablesJson,
3066
- getValuesJson,
3067
- getJson,
3068
- getTablesSchemaJson,
3069
- getValuesSchemaJson,
3070
- getSchemaJson,
3071
- hasTablesSchema: () => hasTablesSchema,
3072
- hasValuesSchema: () => hasValuesSchema,
3073
- setContent,
3074
- setTables,
3075
- setTable,
3076
- setRow,
3077
- addRow,
3078
- setPartialRow,
3079
- setCell,
3080
- setValues,
3081
- setPartialValues,
3082
- setValue,
3083
- applyChanges,
3084
- setTablesJson,
3085
- setValuesJson,
3086
- setJson,
3087
- setTablesSchema,
3088
- setValuesSchema,
3089
- setSchema,
3090
- delTables,
3091
- delTable,
3092
- delRow,
3093
- delCell,
3094
- delValues,
3095
- delValue,
3096
- delTablesSchema,
3097
- delValuesSchema,
3098
- delSchema,
3099
- transaction,
3100
- startTransaction,
3101
- getTransactionChanges,
3102
- getTransactionLog,
3103
- finishTransaction,
3104
- forEachTable,
3105
- forEachTableCell,
3106
- forEachRow,
3107
- forEachCell,
3108
- forEachValue,
3109
- addSortedRowIdsListener,
3110
- addStartTransactionListener,
3111
- addWillFinishTransactionListener,
3112
- addDidFinishTransactionListener,
3113
- callListener,
3114
- delListener,
3115
- getListenerStats,
3116
- isMergeable: () => false,
3117
- // only used internally by other modules
3118
- createStore,
3119
- addListener,
3120
- callListeners,
3121
- setInternalListeners,
3122
- };
3123
- objMap(
3124
- {
3125
- [HAS + TABLES]: [0, hasTablesListeners, [], () => [hasTables()]],
3126
- [TABLES]: [0, tablesListeners],
3127
- [TABLE_IDS]: [0, tableIdsListeners],
3128
- [HAS + TABLE]: [
3129
- 1,
3130
- hasTableListeners,
3131
- [getTableIds],
3132
- (ids) => [hasTable(...ids)],
3133
- ],
3134
- [TABLE]: [1, tableListeners, [getTableIds]],
3135
- [TABLE + CELL_IDS]: [1, tableCellIdsListeners, [getTableIds]],
3136
- [HAS + TABLE + CELL]: [
3137
- 2,
3138
- hasTableCellListeners,
3139
- [getTableIds, getTableCellIds],
3140
- (ids) => [hasTableCell(...ids)],
3141
- ],
3142
- [ROW_COUNT]: [1, rowCountListeners, [getTableIds]],
3143
- [ROW_IDS]: [1, rowIdsListeners, [getTableIds]],
3144
- [HAS + ROW]: [
3145
- 2,
3146
- hasRowListeners,
3147
- [getTableIds, getRowIds],
3148
- (ids) => [hasRow(...ids)],
3149
- ],
3150
- [ROW]: [2, rowListeners, [getTableIds, getRowIds]],
3151
- [CELL_IDS]: [2, cellIdsListeners, [getTableIds, getRowIds]],
3152
- [HAS + CELL]: [
3153
- 3,
3154
- hasCellListeners,
3155
- [getTableIds, getRowIds, getCellIds],
3156
- (ids) => [hasCell(...ids)],
3157
- ],
3158
- [CELL]: [
3159
- 3,
3160
- cellListeners,
3161
- [getTableIds, getRowIds, getCellIds],
3162
- (ids) => pairNew(getCell(...ids)),
3163
- ],
3164
- InvalidCell: [3, invalidCellListeners],
3165
- [HAS + VALUES]: [0, hasValuesListeners, [], () => [hasValues()]],
3166
- [VALUES]: [0, valuesListeners],
3167
- [VALUE_IDS]: [0, valueIdsListeners],
3168
- [HAS + VALUE]: [
3169
- 1,
3170
- hasValueListeners,
3171
- [getValueIds],
3172
- (ids) => [hasValue(...ids)],
3173
- ],
3174
- [VALUE]: [
3175
- 1,
3176
- valueListeners,
3177
- [getValueIds],
3178
- (ids) => pairNew(getValue(ids[0])),
3179
- ],
3180
- InvalidValue: [1, invalidValueListeners],
3181
- },
3182
- ([argumentCount, idSetNode, pathGetters, extraArgsGetter], listenable) => {
3183
- store[ADD + listenable + LISTENER] = (...args) =>
3184
- addListener(
3185
- args[argumentCount],
3186
- idSetNode[args[argumentCount + 1] ? 1 : 0],
3187
- argumentCount > 0 ? slice(args, 0, argumentCount) : void 0,
3188
- pathGetters,
3189
- extraArgsGetter,
3190
- );
3191
- },
3192
- );
3193
- return objFreeze(store);
3194
- };
3195
-
3196
- const SHIFT36 = 2 ** 36;
3197
- const SHIFT30 = 2 ** 30;
3198
- const SHIFT24 = 2 ** 24;
3199
- const SHIFT18 = 2 ** 18;
3200
- const SHIFT12 = 2 ** 12;
3201
- const SHIFT6 = 2 ** 6;
3202
- const encodeTimeAndCounter = (logicalTime42, counter24) =>
3203
- encode(logicalTime42 / SHIFT36) +
3204
- encode(logicalTime42 / SHIFT30) +
3205
- encode(logicalTime42 / SHIFT24) +
3206
- encode(logicalTime42 / SHIFT18) +
3207
- encode(logicalTime42 / SHIFT12) +
3208
- encode(logicalTime42 / SHIFT6) +
3209
- encode(logicalTime42) +
3210
- encode(counter24 / SHIFT18) +
3211
- encode(counter24 / SHIFT12) +
3212
- encode(counter24 / SHIFT6) +
3213
- encode(counter24);
3214
- const decodeTimeAndCounter = (hlc16) => [
3215
- decode(hlc16, 0) * SHIFT36 +
3216
- decode(hlc16, 1) * SHIFT30 +
3217
- decode(hlc16, 2) * SHIFT24 +
3218
- decode(hlc16, 3) * SHIFT18 +
3219
- decode(hlc16, 4) * SHIFT12 +
3220
- decode(hlc16, 5) * SHIFT6 +
3221
- decode(hlc16, 6),
3222
- decode(hlc16, 7) * SHIFT18 +
3223
- decode(hlc16, 8) * SHIFT12 +
3224
- decode(hlc16, 9) * SHIFT6 +
3225
- decode(hlc16, 10),
3226
- ];
3227
- const getHlcFunctions = (uniqueId) => {
3228
- let logicalTime = 0;
3229
- let lastCounter = -1;
3230
- const clientPart = ifNotUndefined(
3231
- uniqueId,
3232
- (uniqueId2) => {
3233
- const clientHash30 = getHash(uniqueId2);
3234
- return (
3235
- encode(clientHash30 / SHIFT24) +
3236
- encode(clientHash30 / SHIFT18) +
3237
- encode(clientHash30 / SHIFT12) +
3238
- encode(clientHash30 / SHIFT6) +
3239
- encode(clientHash30)
3240
- );
3241
- },
3242
- () => getUniqueId(5),
3243
- );
3244
- const getHlc = () => {
3245
- seenHlc();
3246
- return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
3247
- };
3248
- const seenHlc = (hlc) => {
3249
- const previousLogicalTime = logicalTime;
3250
- const [remoteLogicalTime, remoteCounter] =
3251
- isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
3252
- logicalTime = mathMax(
3253
- previousLogicalTime,
3254
- remoteLogicalTime,
3255
- GLOBAL.HLC_TIME ?? Date.now(),
3256
- );
3257
- lastCounter =
3258
- logicalTime == previousLogicalTime
3259
- ? logicalTime == remoteLogicalTime
3260
- ? mathMax(lastCounter, remoteCounter)
3261
- : lastCounter
3262
- : logicalTime == remoteLogicalTime
3263
- ? remoteCounter
3264
- : -1;
3265
- };
3266
- return [getHlc, seenHlc];
3267
- };
3268
-
3269
- const LISTENER_ARGS = {
3270
- HasTable: 1,
3271
- Table: 1,
3272
- TableCellIds: 1,
3273
- HasTableCell: 2,
3274
- RowCount: 1,
3275
- RowIds: 1,
3276
- SortedRowIds: 5,
3277
- HasRow: 2,
3278
- Row: 2,
3279
- CellIds: 2,
3280
- HasCell: 3,
3281
- Cell: 3,
3282
- HasValue: 1,
3283
- Value: 1,
3284
- InvalidCell: 3,
3285
- InvalidValue: 1,
3286
- };
3287
- const newContentStampMap = (time = EMPTY_STRING) => [
3288
- stampNewMap(time),
3289
- stampNewMap(time),
3290
- ];
3291
- const validateMergeableContent = (mergeableContent) =>
3292
- isArray(mergeableContent) &&
3293
- size(mergeableContent) == 2 &&
3294
- stampValidate(mergeableContent[0], (tableStamps) =>
3295
- objValidate(
3296
- tableStamps,
3297
- (tableStamp) =>
3298
- stampValidate(tableStamp, (rowStamps) =>
3299
- objValidate(
3300
- rowStamps,
3301
- (rowStamp) =>
3302
- stampValidate(rowStamp, (cellStamps) =>
3303
- objValidate(
3304
- cellStamps,
3305
- (cellStamp) =>
3306
- stampValidate(cellStamp, isCellOrValueOrNullOrUndefined),
3307
- void 0,
3308
- 1,
3309
- ),
3310
- ),
3311
- void 0,
3312
- 1,
3313
- ),
3314
- ),
3315
- void 0,
3316
- 1,
3317
- ),
3318
- ) &&
3319
- stampValidate(mergeableContent[1], (values) =>
3320
- objValidate(
3321
- values,
3322
- (value) => stampValidate(value, isCellOrValueOrNullOrUndefined),
3323
- void 0,
3324
- 1,
3325
- ),
3326
- );
3327
- const createMergeableStore = (uniqueId) => {
3328
- let listeningToRawStoreChanges = 1;
3329
- let contentStampMap = newContentStampMap();
3330
- let defaultingContent = 0;
3331
- const touchedCells = mapNew();
3332
- const touchedValues = setNew();
3333
- const [getHlc, seenHlc] = getHlcFunctions(uniqueId);
3334
- const store = createStore();
3335
- const disableListeningToRawStoreChanges = (actions) => {
3336
- const wasListening = listeningToRawStoreChanges;
3337
- listeningToRawStoreChanges = 0;
3338
- actions();
3339
- listeningToRawStoreChanges = wasListening;
3340
- return mergeableStore;
3341
- };
3342
- const mergeContentOrChanges = (contentOrChanges, isContent = 0) => {
3343
- const tablesChanges = {};
3344
- const valuesChanges = {};
3345
- const [
3346
- [tablesObj, incomingTablesTime = EMPTY_STRING, incomingTablesHash = 0],
3347
- values,
3348
- ] = contentOrChanges;
3349
- const [tablesStampMap, valuesStampMap] = contentStampMap;
3350
- const [tableStampMaps, oldTablesTime, oldTablesHash] = tablesStampMap;
3351
- let tablesHash = isContent ? incomingTablesHash : oldTablesHash;
3352
- let tablesTime = incomingTablesTime;
3353
- objForEach(
3354
- tablesObj,
3355
- (
3356
- [rowsObj, incomingTableTime = EMPTY_STRING, incomingTableHash = 0],
3357
- tableId,
3358
- ) => {
3359
- const tableStampMap = mapEnsure(tableStampMaps, tableId, stampNewMap);
3360
- const [rowStampMaps, oldTableTime, oldTableHash] = tableStampMap;
3361
- let tableHash = isContent ? incomingTableHash : oldTableHash;
3362
- let tableTime = incomingTableTime;
3363
- objForEach(rowsObj, (row, rowId) => {
3364
- const [rowTime, oldRowHash, rowHash] = mergeCellsOrValues(
3365
- row,
3366
- mapEnsure(rowStampMaps, rowId, stampNewMap),
3367
- objEnsure(objEnsure(tablesChanges, tableId, objNew), rowId, objNew),
3368
- isContent,
3369
- );
3370
- tableHash ^= isContent
3371
- ? 0
3372
- : (oldRowHash ? hashIdAndHash(rowId, oldRowHash) : 0) ^
3373
- hashIdAndHash(rowId, rowHash);
3374
- tableTime = getLatestTime(tableTime, rowTime);
3375
- });
3376
- tableHash ^= isContent
3377
- ? 0
3378
- : replaceTimeHash(oldTableTime, incomingTableTime);
3379
- stampUpdate(tableStampMap, incomingTableTime, tableHash);
3380
- tablesHash ^= isContent
3381
- ? 0
3382
- : (oldTableHash ? hashIdAndHash(tableId, oldTableHash) : 0) ^
3383
- hashIdAndHash(tableId, tableStampMap[2]);
3384
- tablesTime = getLatestTime(tablesTime, tableTime);
3385
- },
3386
- );
3387
- tablesHash ^= isContent
3388
- ? 0
3389
- : replaceTimeHash(oldTablesTime, incomingTablesTime);
3390
- stampUpdate(tablesStampMap, incomingTablesTime, tablesHash);
3391
- const [valuesTime] = mergeCellsOrValues(
3392
- values,
3393
- valuesStampMap,
3394
- valuesChanges,
3395
- isContent,
3396
- );
3397
- seenHlc(getLatestTime(tablesTime, valuesTime));
3398
- return [tablesChanges, valuesChanges, 1];
3399
- };
3400
- const mergeCellsOrValues = (
3401
- things,
3402
- thingsStampMap,
3403
- thingsChanges,
3404
- isContent,
3405
- ) => {
3406
- const [
3407
- thingsObj,
3408
- incomingThingsTime = EMPTY_STRING,
3409
- incomingThingsHash = 0,
3410
- ] = things;
3411
- const [thingStampMaps, oldThingsTime, oldThingsHash] = thingsStampMap;
3412
- let thingsTime = incomingThingsTime;
3413
- let thingsHash = isContent ? incomingThingsHash : oldThingsHash;
3414
- objForEach(
3415
- thingsObj,
3416
- ([thing, thingTime, incomingThingHash = 0], thingId) => {
3417
- const thingStampMap = mapEnsure(thingStampMaps, thingId, () => [
3418
- void 0,
3419
- EMPTY_STRING,
3420
- 0,
3421
- ]);
3422
- const [, oldThingTime, oldThingHash] = thingStampMap;
3423
- if (!oldThingTime || thingTime > oldThingTime) {
3424
- stampUpdate(
3425
- thingStampMap,
3426
- thingTime,
3427
- isContent
3428
- ? incomingThingHash
3429
- : getHash(jsonStringWithMap(thing ?? null) + ':' + thingTime),
3430
- );
3431
- thingStampMap[0] = thing;
3432
- thingsChanges[thingId] = thing;
3433
- thingsHash ^= isContent
3434
- ? 0
3435
- : hashIdAndHash(thingId, oldThingHash) ^
3436
- hashIdAndHash(thingId, thingStampMap[2]);
3437
- thingsTime = getLatestTime(thingsTime, thingTime);
3438
- }
3439
- },
3440
- );
3441
- thingsHash ^= isContent
3442
- ? 0
3443
- : replaceTimeHash(oldThingsTime, incomingThingsTime);
3444
- stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
3445
- return [thingsTime, oldThingsHash, thingsStampMap[2]];
3446
- };
3447
- const preStartTransaction = () => {};
3448
- const preFinishTransaction = () => {};
3449
- const postFinishTransaction = () => {
3450
- collClear(touchedCells);
3451
- collClear(touchedValues);
3452
- };
3453
- const cellChanged = (tableId, rowId, cellId, newCell) => {
3454
- setAdd(
3455
- mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
3456
- cellId,
3457
- );
3458
- if (listeningToRawStoreChanges) {
3459
- mergeContentOrChanges([
3460
- [
3461
- {
3462
- [tableId]: [
3463
- {
3464
- [rowId]: [
3465
- {
3466
- [cellId]: [
3467
- newCell,
3468
- defaultingContent ? EMPTY_STRING : getHlc(),
3469
- ],
3470
- },
3471
- ],
3472
- },
3473
- ],
3474
- },
3475
- ],
3476
- [{}],
3477
- 1,
3478
- ]);
3479
- }
3480
- };
3481
- const valueChanged = (valueId, newValue) => {
3482
- setAdd(touchedValues, valueId);
3483
- if (listeningToRawStoreChanges) {
3484
- mergeContentOrChanges([
3485
- [{}],
3486
- [{[valueId]: [newValue, defaultingContent ? EMPTY_STRING : getHlc()]}],
3487
- 1,
3488
- ]);
3489
- }
3490
- };
3491
- const getMergeableContent = () => [
3492
- stampMapToObjWithHash(contentStampMap[0], (tableStampMap) =>
3493
- stampMapToObjWithHash(tableStampMap, (rowStampMap) =>
3494
- stampMapToObjWithHash(rowStampMap),
3495
- ),
3496
- ),
3497
- stampMapToObjWithHash(contentStampMap[1]),
3498
- ];
3499
- const getMergeableContentHashes = () => [
3500
- contentStampMap[0][2],
3501
- contentStampMap[1][2],
3502
- ];
3503
- const getMergeableTableHashes = () =>
3504
- mapToObj(contentStampMap[0][0], getStampHash);
3505
- const getMergeableTableDiff = (otherTableHashes) => {
3506
- const newTables = stampNewObj(contentStampMap[0][1]);
3507
- const differingTableHashes = {};
3508
- mapForEach(
3509
- contentStampMap[0][0],
3510
- (tableId, [tableStampMap, tableTime, hash]) =>
3511
- objHas(otherTableHashes, tableId)
3512
- ? hash != otherTableHashes[tableId]
3513
- ? (differingTableHashes[tableId] = hash)
3514
- : 0
3515
- : (newTables[0][tableId] = stampMapToObjWithoutHash(
3516
- [tableStampMap, tableTime],
3517
- (rowStampMap) => stampMapToObjWithoutHash(rowStampMap),
3518
- )),
3519
- );
3520
- return [newTables, differingTableHashes];
3521
- };
3522
- const getMergeableRowHashes = (otherTableHashes) => {
3523
- const rowHashes = {};
3524
- objForEach(otherTableHashes, (otherTableHash, tableId) =>
3525
- ifNotUndefined(
3526
- mapGet(contentStampMap[0][0], tableId),
3527
- ([rowStampMaps, , tableHash]) =>
3528
- tableHash != otherTableHash
3529
- ? mapForEach(
3530
- rowStampMaps,
3531
- (rowId, [, , rowHash]) =>
3532
- (objEnsure(rowHashes, tableId, objNew)[rowId] = rowHash),
3533
- )
3534
- : 0,
3535
- ),
3536
- );
3537
- return rowHashes;
3538
- };
3539
- const getMergeableRowDiff = (otherTableRowHashes) => {
3540
- const newRows = stampNewObj(contentStampMap[0][1]);
3541
- const differingRowHashes = {};
3542
- objForEach(otherTableRowHashes, (otherRowHashes, tableId) =>
3543
- mapForEach(
3544
- mapGet(contentStampMap[0][0], tableId)?.[0],
3545
- (rowId, [rowStampMap, rowTime, hash]) =>
3546
- objHas(otherRowHashes, rowId)
3547
- ? hash !== otherRowHashes[rowId]
3548
- ? (objEnsure(differingRowHashes, tableId, objNew)[rowId] = hash)
3549
- : 0
3550
- : (objEnsure(newRows[0], tableId, stampNewObj)[0][rowId] =
3551
- stampMapToObjWithoutHash([rowStampMap, rowTime])),
3552
- ),
3553
- );
3554
- return [newRows, differingRowHashes];
3555
- };
3556
- const getMergeableCellHashes = (otherTableRowHashes) => {
3557
- const cellHashes = {};
3558
- objForEach(otherTableRowHashes, (otherRowHashes, tableId) =>
3559
- ifNotUndefined(mapGet(contentStampMap[0][0], tableId), ([rowStampMaps]) =>
3560
- objForEach(otherRowHashes, (otherRowHash, rowId) =>
3561
- ifNotUndefined(
3562
- mapGet(rowStampMaps, rowId),
3563
- ([cellStampMaps, , rowHash]) =>
3564
- rowHash !== otherRowHash
3565
- ? mapForEach(
3566
- cellStampMaps,
3567
- (cellId, [, , cellHash]) =>
3568
- (objEnsure(
3569
- objEnsure(cellHashes, tableId, objNew),
3570
- rowId,
3571
- objNew,
3572
- )[cellId] = cellHash),
3573
- )
3574
- : 0,
3575
- ),
3576
- ),
3577
- ),
3578
- );
3579
- return cellHashes;
3580
- };
3581
- const getMergeableCellDiff = (otherTableRowCellHashes) => {
3582
- const [[tableStampMaps, tablesTime]] = contentStampMap;
3583
- const tablesObj = {};
3584
- objForEach(otherTableRowCellHashes, (otherRowCellHashes, tableId) =>
3585
- objForEach(otherRowCellHashes, (otherCellHashes, rowId) =>
3586
- ifNotUndefined(
3587
- mapGet(tableStampMaps, tableId),
3588
- ([rowStampMaps, tableTime]) =>
3589
- ifNotUndefined(
3590
- mapGet(rowStampMaps, rowId),
3591
- ([cellStampMaps, rowTime]) =>
3592
- mapForEach(cellStampMaps, (cellId, [cell, cellTime, hash]) =>
3593
- hash !== otherCellHashes[cellId]
3594
- ? (objEnsure(
3595
- objEnsure(tablesObj, tableId, () =>
3596
- stampNewObj(tableTime),
3597
- )[0],
3598
- rowId,
3599
- () => stampNewObj(rowTime),
3600
- )[0][cellId] = [cell, cellTime])
3601
- : 0,
3602
- ),
3603
- ),
3604
- ),
3605
- ),
3606
- );
3607
- return stampNew(tablesObj, tablesTime);
3608
- };
3609
- const getMergeableValueHashes = () =>
3610
- mapToObj(contentStampMap[1][0], getStampHash);
3611
- const getMergeableValueDiff = (otherValueHashes) => {
3612
- const [, [valueStampMaps, valuesTime]] = contentStampMap;
3613
- const values = mapToObj(
3614
- valueStampMaps,
3615
- stampClone,
3616
- ([, , hash], valueId) => hash == otherValueHashes?.[valueId],
3617
- );
3618
- return stampNew(values, valuesTime);
3619
- };
3620
- const setMergeableContent = (mergeableContent) =>
3621
- disableListeningToRawStoreChanges(() =>
3622
- validateMergeableContent(mergeableContent)
3623
- ? store.transaction(() => {
3624
- store.delTables().delValues();
3625
- contentStampMap = newContentStampMap();
3626
- store.applyChanges(mergeContentOrChanges(mergeableContent, 1));
3627
- })
3628
- : 0,
3629
- );
3630
- const setDefaultContent = (content) => {
3631
- store.transaction(() => {
3632
- defaultingContent = 1;
3633
- store.setContent(content);
3634
- defaultingContent = 0;
3635
- });
3636
- return mergeableStore;
3637
- };
3638
- const getTransactionMergeableChanges = (withHashes = false) => {
3639
- const [
3640
- [tableStampMaps, tablesTime, tablesHash],
3641
- [valueStampMaps, valuesTime, valuesHash],
3642
- ] = contentStampMap;
3643
- const newStamp = withHashes ? stampNewWithHash : stampNew;
3644
- const tablesObj = {};
3645
- collForEach(touchedCells, (touchedTable, tableId) =>
3646
- ifNotUndefined(
3647
- mapGet(tableStampMaps, tableId),
3648
- ([rowStampMaps, tableTime, tableHash]) => {
3649
- const tableObj = {};
3650
- collForEach(touchedTable, (touchedRow, rowId) =>
3651
- ifNotUndefined(
3652
- mapGet(rowStampMaps, rowId),
3653
- ([cellStampMaps, rowTime, rowHash]) => {
3654
- const rowObj = {};
3655
- collForEach(touchedRow, (cellId) => {
3656
- ifNotUndefined(
3657
- mapGet(cellStampMaps, cellId),
3658
- ([cell, time, hash]) =>
3659
- (rowObj[cellId] = newStamp(cell, time, hash)),
3660
- );
3661
- });
3662
- tableObj[rowId] = newStamp(rowObj, rowTime, rowHash);
3663
- },
3664
- ),
3665
- );
3666
- tablesObj[tableId] = newStamp(tableObj, tableTime, tableHash);
3667
- },
3668
- ),
3669
- );
3670
- const valuesObj = {};
3671
- collForEach(touchedValues, (valueId) =>
3672
- ifNotUndefined(
3673
- mapGet(valueStampMaps, valueId),
3674
- ([value, time, hash]) =>
3675
- (valuesObj[valueId] = newStamp(value, time, hash)),
3676
- ),
3677
- );
3678
- return [
3679
- newStamp(tablesObj, tablesTime, tablesHash),
3680
- newStamp(valuesObj, valuesTime, valuesHash),
3681
- 1,
3682
- ];
3683
- };
3684
- const applyMergeableChanges = (mergeableChanges) =>
3685
- disableListeningToRawStoreChanges(() =>
3686
- store.applyChanges(mergeContentOrChanges(mergeableChanges)),
3687
- );
3688
- const merge = (mergeableStore2) => {
3689
- const mergeableChanges = getMergeableContent();
3690
- const mergeableChanges2 = mergeableStore2.getMergeableContent();
3691
- mergeableStore2.applyMergeableChanges(mergeableChanges);
3692
- return applyMergeableChanges(mergeableChanges2);
3693
- };
3694
- const mergeableStore = {
3695
- getMergeableContent,
3696
- getMergeableContentHashes,
3697
- getMergeableTableHashes,
3698
- getMergeableTableDiff,
3699
- getMergeableRowHashes,
3700
- getMergeableRowDiff,
3701
- getMergeableCellHashes,
3702
- getMergeableCellDiff,
3703
- getMergeableValueHashes,
3704
- getMergeableValueDiff,
3705
- setMergeableContent,
3706
- setDefaultContent,
3707
- getTransactionMergeableChanges,
3708
- applyMergeableChanges,
3709
- merge,
3710
- };
3711
- store.setInternalListeners(
3712
- preStartTransaction,
3713
- preFinishTransaction,
3714
- postFinishTransaction,
3715
- cellChanged,
3716
- valueChanged,
3717
- );
3718
- objMap(
3719
- store,
3720
- (method, name) =>
3721
- (mergeableStore[name] = // fluent methods
3722
- strStartsWith(name, SET) ||
3723
- strStartsWith(name, DEL) ||
3724
- strStartsWith(name, 'apply') ||
3725
- strEndsWith(name, TRANSACTION) ||
3726
- name == 'call' + LISTENER
3727
- ? (...args) => {
3728
- method(...args);
3729
- return mergeableStore;
3730
- }
3731
- : strStartsWith(name, ADD) && strEndsWith(name, LISTENER)
3732
- ? (...args) => {
3733
- const listenerArg = LISTENER_ARGS[slice(name, 3, -8)] ?? 0;
3734
- const listener = args[listenerArg];
3735
- args[listenerArg] = (_store, ...args2) =>
3736
- listener(mergeableStore, ...args2);
3737
- return method(...args);
3738
- }
3739
- : name == 'isMergeable'
3740
- ? () => true
3741
- : method),
3742
- );
3743
- return objFreeze(mergeableStore);
3744
- };
3745
-
3746
- exports.createCheckpoints = createCheckpoints;
3747
- exports.createIndexes = createIndexes;
3748
- exports.createMergeableStore = createMergeableStore;
3749
- exports.createMetrics = createMetrics;
3750
- exports.createQueries = createQueries;
3751
- exports.createRelationships = createRelationships;
3752
- exports.createStore = createStore;
3753
- exports.defaultSorter = defaultSorter;
3754
- exports.getUniqueId = getUniqueId;