tinybase 5.0.0-beta.9 → 5.0.0

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