tinybase 6.0.0-beta.2 → 6.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 (375) hide show
  1. package/@types/_internal/queries/with-schemas/index.d.cts +6 -6
  2. package/@types/_internal/queries/with-schemas/index.d.ts +6 -6
  3. package/@types/_internal/store/with-schemas/index.d.cts +1 -1
  4. package/@types/_internal/store/with-schemas/index.d.ts +1 -1
  5. package/@types/_internal/ui-react/with-schemas/index.d.cts +13 -13
  6. package/@types/_internal/ui-react/with-schemas/index.d.ts +13 -13
  7. package/@types/checkpoints/index.d.cts +0 -1
  8. package/@types/checkpoints/index.d.ts +0 -1
  9. package/@types/checkpoints/with-schemas/index.d.cts +0 -1
  10. package/@types/checkpoints/with-schemas/index.d.ts +0 -1
  11. package/@types/indexes/index.d.cts +1 -2
  12. package/@types/indexes/index.d.ts +1 -2
  13. package/@types/indexes/with-schemas/index.d.cts +6 -7
  14. package/@types/indexes/with-schemas/index.d.ts +6 -7
  15. package/@types/mergeable-store/index.d.cts +1 -2
  16. package/@types/mergeable-store/index.d.ts +1 -2
  17. package/@types/mergeable-store/with-schemas/index.d.cts +1 -2
  18. package/@types/mergeable-store/with-schemas/index.d.ts +1 -2
  19. package/@types/metrics/index.d.cts +1 -2
  20. package/@types/metrics/index.d.ts +1 -2
  21. package/@types/metrics/with-schemas/index.d.cts +1 -2
  22. package/@types/metrics/with-schemas/index.d.ts +1 -2
  23. package/@types/persisters/index.d.cts +22 -23
  24. package/@types/persisters/index.d.ts +22 -23
  25. package/@types/persisters/persister-automerge/index.d.cts +6 -7
  26. package/@types/persisters/persister-automerge/index.d.ts +6 -7
  27. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +5 -6
  28. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +5 -6
  29. package/@types/persisters/persister-browser/index.d.cts +5 -6
  30. package/@types/persisters/persister-browser/index.d.ts +5 -6
  31. package/@types/persisters/persister-browser/with-schemas/index.d.cts +5 -6
  32. package/@types/persisters/persister-browser/with-schemas/index.d.ts +5 -6
  33. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +7 -8
  34. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +7 -8
  35. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -11
  36. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -11
  37. package/@types/persisters/persister-durable-object-storage/index.d.cts +5 -6
  38. package/@types/persisters/persister-durable-object-storage/index.d.ts +5 -6
  39. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +5 -6
  40. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +5 -6
  41. package/@types/persisters/persister-electric-sql/index.d.cts +7 -8
  42. package/@types/persisters/persister-electric-sql/index.d.ts +7 -8
  43. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -11
  44. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -11
  45. package/@types/persisters/persister-expo-sqlite/index.d.cts +8 -9
  46. package/@types/persisters/persister-expo-sqlite/index.d.ts +8 -9
  47. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +11 -12
  48. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +11 -12
  49. package/@types/persisters/persister-file/index.d.cts +3 -4
  50. package/@types/persisters/persister-file/index.d.ts +3 -4
  51. package/@types/persisters/persister-file/with-schemas/index.d.cts +3 -4
  52. package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -4
  53. package/@types/persisters/persister-indexed-db/index.d.cts +3 -4
  54. package/@types/persisters/persister-indexed-db/index.d.ts +3 -4
  55. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +2 -3
  56. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -3
  57. package/@types/persisters/persister-libsql/index.d.cts +4 -5
  58. package/@types/persisters/persister-libsql/index.d.ts +4 -5
  59. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +7 -8
  60. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -8
  61. package/@types/persisters/persister-partykit-client/index.d.cts +4 -5
  62. package/@types/persisters/persister-partykit-client/index.d.ts +4 -5
  63. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +3 -4
  64. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -4
  65. package/@types/persisters/persister-partykit-server/index.d.cts +1 -2
  66. package/@types/persisters/persister-partykit-server/index.d.ts +1 -2
  67. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +1 -2
  68. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +1 -2
  69. package/@types/persisters/persister-pglite/index.d.cts +5 -6
  70. package/@types/persisters/persister-pglite/index.d.ts +5 -6
  71. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +8 -9
  72. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +8 -9
  73. package/@types/persisters/persister-postgres/index.d.cts +8 -9
  74. package/@types/persisters/persister-postgres/index.d.ts +8 -9
  75. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +11 -12
  76. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +11 -12
  77. package/@types/persisters/persister-powersync/index.d.cts +7 -8
  78. package/@types/persisters/persister-powersync/index.d.ts +7 -8
  79. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +10 -11
  80. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +10 -11
  81. package/@types/persisters/persister-remote/index.d.cts +3 -4
  82. package/@types/persisters/persister-remote/index.d.ts +3 -4
  83. package/@types/persisters/persister-remote/with-schemas/index.d.cts +2 -3
  84. package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -3
  85. package/@types/persisters/persister-sqlite-wasm/index.d.cts +7 -8
  86. package/@types/persisters/persister-sqlite-wasm/index.d.ts +7 -8
  87. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +11 -12
  88. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +11 -12
  89. package/@types/persisters/persister-sqlite3/index.d.cts +5 -6
  90. package/@types/persisters/persister-sqlite3/index.d.ts +5 -6
  91. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +8 -9
  92. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +8 -9
  93. package/@types/persisters/persister-yjs/index.d.cts +4 -5
  94. package/@types/persisters/persister-yjs/index.d.ts +4 -5
  95. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +3 -4
  96. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -4
  97. package/@types/persisters/with-schemas/index.d.cts +26 -27
  98. package/@types/persisters/with-schemas/index.d.ts +26 -27
  99. package/@types/queries/index.d.cts +1 -2
  100. package/@types/queries/index.d.ts +1 -2
  101. package/@types/queries/with-schemas/index.d.cts +10 -11
  102. package/@types/queries/with-schemas/index.d.ts +10 -11
  103. package/@types/relationships/index.d.cts +25 -2
  104. package/@types/relationships/index.d.ts +25 -2
  105. package/@types/relationships/with-schemas/index.d.cts +25 -2
  106. package/@types/relationships/with-schemas/index.d.ts +25 -2
  107. package/@types/store/index.d.cts +1 -2
  108. package/@types/store/index.d.ts +1 -2
  109. package/@types/store/with-schemas/index.d.cts +0 -1
  110. package/@types/store/with-schemas/index.d.ts +0 -1
  111. package/@types/synchronizers/index.d.cts +6 -7
  112. package/@types/synchronizers/index.d.ts +6 -7
  113. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +3 -4
  114. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -4
  115. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +3 -4
  116. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -4
  117. package/@types/synchronizers/synchronizer-local/index.d.cts +2 -3
  118. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -3
  119. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +2 -3
  120. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -3
  121. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +5 -6
  122. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -6
  123. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +5 -6
  124. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -6
  125. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +29 -30
  126. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +29 -30
  127. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +33 -34
  128. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +33 -34
  129. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +4 -5
  130. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +4 -5
  131. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +8 -9
  132. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +8 -9
  133. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.cts +4 -5
  134. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +4 -5
  135. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.cts +4 -5
  136. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +4 -5
  137. package/@types/synchronizers/with-schemas/index.d.cts +10 -11
  138. package/@types/synchronizers/with-schemas/index.d.ts +10 -11
  139. package/@types/ui-react/index.d.cts +489 -490
  140. package/@types/ui-react/index.d.ts +489 -490
  141. package/@types/ui-react/with-schemas/index.d.cts +494 -495
  142. package/@types/ui-react/with-schemas/index.d.ts +494 -495
  143. package/@types/ui-react-dom/index.d.cts +39 -40
  144. package/@types/ui-react-dom/index.d.ts +39 -40
  145. package/@types/ui-react-dom/with-schemas/index.d.cts +39 -40
  146. package/@types/ui-react-dom/with-schemas/index.d.ts +39 -40
  147. package/@types/ui-react-inspector/index.d.cts +2 -3
  148. package/@types/ui-react-inspector/index.d.ts +2 -3
  149. package/@types/ui-react-inspector/with-schemas/index.d.cts +41 -42
  150. package/@types/ui-react-inspector/with-schemas/index.d.ts +41 -42
  151. package/checkpoints/index.js +9 -9
  152. package/checkpoints/with-schemas/index.js +9 -9
  153. package/index.js +110 -110
  154. package/indexes/index.js +3 -3
  155. package/indexes/with-schemas/index.js +3 -3
  156. package/mergeable-store/index.js +150 -150
  157. package/mergeable-store/with-schemas/index.js +150 -150
  158. package/metrics/index.js +3 -3
  159. package/metrics/with-schemas/index.js +3 -3
  160. package/min/checkpoints/index.js +1 -1
  161. package/min/checkpoints/index.js.gz +0 -0
  162. package/min/checkpoints/with-schemas/index.js +1 -1
  163. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  164. package/min/index.js +1 -1
  165. package/min/index.js.gz +0 -0
  166. package/min/indexes/index.js +1 -1
  167. package/min/indexes/index.js.gz +0 -0
  168. package/min/indexes/with-schemas/index.js +1 -1
  169. package/min/indexes/with-schemas/index.js.gz +0 -0
  170. package/min/mergeable-store/index.js +1 -1
  171. package/min/mergeable-store/index.js.gz +0 -0
  172. package/min/mergeable-store/with-schemas/index.js +1 -1
  173. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  174. package/min/metrics/index.js +1 -1
  175. package/min/metrics/index.js.gz +0 -0
  176. package/min/metrics/with-schemas/index.js +1 -1
  177. package/min/metrics/with-schemas/index.js.gz +0 -0
  178. package/min/persisters/index.js +1 -1
  179. package/min/persisters/index.js.gz +0 -0
  180. package/min/persisters/persister-automerge/index.js +1 -1
  181. package/min/persisters/persister-automerge/index.js.gz +0 -0
  182. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  183. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  184. package/min/persisters/persister-browser/index.js +1 -1
  185. package/min/persisters/persister-browser/index.js.gz +0 -0
  186. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  187. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  188. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  189. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  190. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  191. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  192. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  193. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  194. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  195. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  196. package/min/persisters/persister-electric-sql/index.js +1 -1
  197. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  198. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  199. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  200. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  201. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  202. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  203. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  204. package/min/persisters/persister-file/index.js +1 -1
  205. package/min/persisters/persister-file/index.js.gz +0 -0
  206. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  207. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  208. package/min/persisters/persister-indexed-db/index.js +1 -1
  209. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  210. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  211. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  212. package/min/persisters/persister-libsql/index.js +1 -1
  213. package/min/persisters/persister-libsql/index.js.gz +0 -0
  214. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  215. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  216. package/min/persisters/persister-partykit-client/index.js +1 -1
  217. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  218. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  219. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  220. package/min/persisters/persister-partykit-server/index.js +1 -1
  221. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  222. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  223. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  224. package/min/persisters/persister-pglite/index.js +1 -1
  225. package/min/persisters/persister-pglite/index.js.gz +0 -0
  226. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  227. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  228. package/min/persisters/persister-postgres/index.js +1 -1
  229. package/min/persisters/persister-postgres/index.js.gz +0 -0
  230. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  231. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  232. package/min/persisters/persister-powersync/index.js +1 -1
  233. package/min/persisters/persister-powersync/index.js.gz +0 -0
  234. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  235. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  236. package/min/persisters/persister-remote/index.js +1 -1
  237. package/min/persisters/persister-remote/index.js.gz +0 -0
  238. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  239. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  240. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  241. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  242. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  243. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  244. package/min/persisters/persister-sqlite3/index.js +1 -1
  245. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  246. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  247. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  248. package/min/persisters/persister-yjs/index.js +1 -1
  249. package/min/persisters/persister-yjs/index.js.gz +0 -0
  250. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  251. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  252. package/min/persisters/with-schemas/index.js +1 -1
  253. package/min/persisters/with-schemas/index.js.gz +0 -0
  254. package/min/queries/index.js +1 -1
  255. package/min/queries/index.js.gz +0 -0
  256. package/min/queries/with-schemas/index.js +1 -1
  257. package/min/queries/with-schemas/index.js.gz +0 -0
  258. package/min/relationships/index.js +1 -1
  259. package/min/relationships/index.js.gz +0 -0
  260. package/min/relationships/with-schemas/index.js +1 -1
  261. package/min/relationships/with-schemas/index.js.gz +0 -0
  262. package/min/store/index.js +1 -1
  263. package/min/store/index.js.gz +0 -0
  264. package/min/store/with-schemas/index.js +1 -1
  265. package/min/store/with-schemas/index.js.gz +0 -0
  266. package/min/synchronizers/index.js +1 -1
  267. package/min/synchronizers/index.js.gz +0 -0
  268. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  269. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  270. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  271. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  272. package/min/synchronizers/synchronizer-local/index.js +1 -1
  273. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  274. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  275. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  276. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  277. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  278. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  279. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  280. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  281. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  282. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  283. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  284. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  285. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  286. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  287. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  288. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  289. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  290. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  291. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  292. package/min/synchronizers/with-schemas/index.js +1 -1
  293. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  294. package/min/ui-react/index.js +1 -1
  295. package/min/ui-react/index.js.gz +0 -0
  296. package/min/ui-react/with-schemas/index.js +1 -1
  297. package/min/ui-react/with-schemas/index.js.gz +0 -0
  298. package/min/ui-react-dom/index.js +1 -1
  299. package/min/ui-react-dom/index.js.gz +0 -0
  300. package/min/ui-react-dom/with-schemas/index.js +1 -1
  301. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  302. package/min/ui-react-inspector/index.js +1 -1
  303. package/min/ui-react-inspector/index.js.gz +0 -0
  304. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  305. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  306. package/min/with-schemas/index.js +1 -1
  307. package/min/with-schemas/index.js.gz +0 -0
  308. package/package.json +6 -6
  309. package/persisters/index.js +120 -120
  310. package/persisters/persister-automerge/index.js +8 -8
  311. package/persisters/persister-automerge/with-schemas/index.js +8 -8
  312. package/persisters/persister-browser/index.js +8 -8
  313. package/persisters/persister-browser/with-schemas/index.js +8 -8
  314. package/persisters/persister-cr-sqlite-wasm/index.js +119 -119
  315. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +119 -119
  316. package/persisters/persister-durable-object-storage/index.js +12 -12
  317. package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -12
  318. package/persisters/persister-electric-sql/index.js +119 -119
  319. package/persisters/persister-electric-sql/with-schemas/index.js +119 -119
  320. package/persisters/persister-expo-sqlite/index.js +119 -119
  321. package/persisters/persister-expo-sqlite/with-schemas/index.js +119 -119
  322. package/persisters/persister-file/index.js +10 -10
  323. package/persisters/persister-file/with-schemas/index.js +10 -10
  324. package/persisters/persister-indexed-db/index.js +8 -8
  325. package/persisters/persister-indexed-db/with-schemas/index.js +8 -8
  326. package/persisters/persister-libsql/index.js +119 -119
  327. package/persisters/persister-libsql/with-schemas/index.js +119 -119
  328. package/persisters/persister-partykit-client/index.js +23 -23
  329. package/persisters/persister-partykit-client/with-schemas/index.js +23 -23
  330. package/persisters/persister-partykit-server/index.js +13 -9
  331. package/persisters/persister-partykit-server/with-schemas/index.js +13 -9
  332. package/persisters/persister-pglite/index.js +128 -128
  333. package/persisters/persister-pglite/with-schemas/index.js +128 -128
  334. package/persisters/persister-postgres/index.js +128 -128
  335. package/persisters/persister-postgres/with-schemas/index.js +128 -128
  336. package/persisters/persister-powersync/index.js +119 -119
  337. package/persisters/persister-powersync/with-schemas/index.js +119 -119
  338. package/persisters/persister-remote/index.js +8 -8
  339. package/persisters/persister-remote/with-schemas/index.js +8 -8
  340. package/persisters/persister-sqlite-wasm/index.js +119 -119
  341. package/persisters/persister-sqlite-wasm/with-schemas/index.js +119 -119
  342. package/persisters/persister-sqlite3/index.js +119 -119
  343. package/persisters/persister-sqlite3/with-schemas/index.js +119 -119
  344. package/persisters/persister-yjs/index.js +14 -14
  345. package/persisters/persister-yjs/with-schemas/index.js +14 -14
  346. package/persisters/with-schemas/index.js +120 -120
  347. package/queries/index.js +16 -16
  348. package/queries/with-schemas/index.js +16 -16
  349. package/readme.md +13 -32
  350. package/relationships/index.js +3 -3
  351. package/relationships/with-schemas/index.js +3 -3
  352. package/releases.md +35 -34
  353. package/store/index.js +43 -43
  354. package/store/with-schemas/index.js +43 -43
  355. package/synchronizers/index.js +31 -31
  356. package/synchronizers/synchronizer-broadcast-channel/index.js +31 -31
  357. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +31 -31
  358. package/synchronizers/synchronizer-local/index.js +31 -31
  359. package/synchronizers/synchronizer-local/with-schemas/index.js +31 -31
  360. package/synchronizers/synchronizer-ws-client/index.js +25 -25
  361. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +25 -25
  362. package/synchronizers/synchronizer-ws-server/index.js +65 -65
  363. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +65 -65
  364. package/synchronizers/synchronizer-ws-server-durable-object/index.js +25 -25
  365. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +25 -25
  366. package/synchronizers/synchronizer-ws-server-simple/index.js +3 -3
  367. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +3 -3
  368. package/synchronizers/with-schemas/index.js +31 -31
  369. package/ui-react/index.js +31 -34
  370. package/ui-react/with-schemas/index.js +31 -34
  371. package/ui-react-dom/index.js +24 -24
  372. package/ui-react-dom/with-schemas/index.js +24 -24
  373. package/ui-react-inspector/index.js +3066 -3067
  374. package/ui-react-inspector/with-schemas/index.js +3066 -3067
  375. package/with-schemas/index.js +110 -110
package/index.js CHANGED
@@ -78,6 +78,35 @@ const arrayPop = (array) => array.pop();
78
78
  const arrayUnshift = (array, ...values) => array.unshift(...values);
79
79
  const arrayShift = (array) => array.shift();
80
80
 
81
+ const getCellOrValueType = (cellOrValue) => {
82
+ const type = getTypeOf(cellOrValue);
83
+ return isTypeStringOrBoolean(type) ||
84
+ (type == NUMBER && isFiniteNumber(cellOrValue))
85
+ ? type
86
+ : void 0;
87
+ };
88
+ const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
89
+ isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
90
+ const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
91
+ isUndefined(cell)
92
+ ? store.delCell(tableId, rowId, cellId, true)
93
+ : store.setCell(tableId, rowId, cellId, cell);
94
+ const setOrDelValue = (store, valueId, value) =>
95
+ isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
96
+
97
+ const collSizeN = (collSizer) => (coll) =>
98
+ arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
99
+ const collSize = (coll) => coll?.size ?? 0;
100
+ const collSize2 = collSizeN(collSize);
101
+ const collSize3 = collSizeN(collSize2);
102
+ const collSize4 = collSizeN(collSize3);
103
+ const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
104
+ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
105
+ const collValues = (coll) => [...(coll?.values() ?? [])];
106
+ const collClear = (coll) => coll.clear();
107
+ const collForEach = (coll, cb) => coll?.forEach(cb);
108
+ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
109
+
81
110
  const object = Object;
82
111
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
83
112
  const objEntries = object.entries;
@@ -133,19 +162,6 @@ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
133
162
  return emptyIsValid ? true : !objIsEmpty(obj);
134
163
  };
135
164
 
136
- const collSizeN = (collSizer) => (coll) =>
137
- arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
138
- const collSize = (coll) => coll?.size ?? 0;
139
- const collSize2 = collSizeN(collSize);
140
- const collSize3 = collSizeN(collSize2);
141
- const collSize4 = collSizeN(collSize3);
142
- const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
143
- const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
144
- const collValues = (coll) => [...(coll?.values() ?? [])];
145
- const collClear = (coll) => coll.clear();
146
- const collForEach = (coll, cb) => coll?.forEach(cb);
147
- const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
148
-
149
165
  const mapNew = (entries) => new Map(entries);
150
166
  const mapKeys = (map) => [...(map?.keys() ?? [])];
151
167
  const mapGet = (map, key) => map?.get(key);
@@ -223,22 +239,6 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
223
239
  },
224
240
  );
225
241
 
226
- const getCellOrValueType = (cellOrValue) => {
227
- const type = getTypeOf(cellOrValue);
228
- return isTypeStringOrBoolean(type) ||
229
- (type == NUMBER && isFiniteNumber(cellOrValue))
230
- ? type
231
- : void 0;
232
- };
233
- const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
234
- isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
235
- const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
236
- isUndefined(cell)
237
- ? store.delCell(tableId, rowId, cellId, true)
238
- : store.setCell(tableId, rowId, cellId, cell);
239
- const setOrDelValue = (store, valueId, value) =>
240
- isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
241
-
242
242
  const setNew = (entryOrEntries) =>
243
243
  new Set(
244
244
  isArray(entryOrEntries) || isUndefined(entryOrEntries)
@@ -1809,6 +1809,86 @@ const getHash = (value) => {
1809
1809
  return hash >>> 0;
1810
1810
  };
1811
1811
 
1812
+ const SHIFT36 = 2 ** 36;
1813
+ const SHIFT30 = 2 ** 30;
1814
+ const SHIFT24 = 2 ** 24;
1815
+ const SHIFT18 = 2 ** 18;
1816
+ const SHIFT12 = 2 ** 12;
1817
+ const SHIFT6 = 2 ** 6;
1818
+ const encodeTimeAndCounter = (logicalTime42, counter24) =>
1819
+ encode(logicalTime42 / SHIFT36) +
1820
+ encode(logicalTime42 / SHIFT30) +
1821
+ encode(logicalTime42 / SHIFT24) +
1822
+ encode(logicalTime42 / SHIFT18) +
1823
+ encode(logicalTime42 / SHIFT12) +
1824
+ encode(logicalTime42 / SHIFT6) +
1825
+ encode(logicalTime42) +
1826
+ encode(counter24 / SHIFT18) +
1827
+ encode(counter24 / SHIFT12) +
1828
+ encode(counter24 / SHIFT6) +
1829
+ encode(counter24);
1830
+ const decodeTimeAndCounter = (hlc16) => [
1831
+ decode(hlc16, 0) * SHIFT36 +
1832
+ decode(hlc16, 1) * SHIFT30 +
1833
+ decode(hlc16, 2) * SHIFT24 +
1834
+ decode(hlc16, 3) * SHIFT18 +
1835
+ decode(hlc16, 4) * SHIFT12 +
1836
+ decode(hlc16, 5) * SHIFT6 +
1837
+ decode(hlc16, 6),
1838
+ decode(hlc16, 7) * SHIFT18 +
1839
+ decode(hlc16, 8) * SHIFT12 +
1840
+ decode(hlc16, 9) * SHIFT6 +
1841
+ decode(hlc16, 10),
1842
+ ];
1843
+ const getHlcFunctions = (uniqueId) => {
1844
+ let logicalTime = 0;
1845
+ let lastCounter = -1;
1846
+ const clientPart = ifNotUndefined(
1847
+ uniqueId,
1848
+ (uniqueId2) => {
1849
+ const clientHash30 = getHash(uniqueId2);
1850
+ return (
1851
+ encode(clientHash30 / SHIFT24) +
1852
+ encode(clientHash30 / SHIFT18) +
1853
+ encode(clientHash30 / SHIFT12) +
1854
+ encode(clientHash30 / SHIFT6) +
1855
+ encode(clientHash30)
1856
+ );
1857
+ },
1858
+ () => getUniqueId(5),
1859
+ );
1860
+ const getHlc = () => {
1861
+ seenHlc();
1862
+ return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
1863
+ };
1864
+ const seenHlc = (hlc) => {
1865
+ const previousLogicalTime = logicalTime;
1866
+ const [remoteLogicalTime, remoteCounter] =
1867
+ isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
1868
+ logicalTime = mathMax(
1869
+ previousLogicalTime,
1870
+ remoteLogicalTime,
1871
+ GLOBAL.HLC_TIME ?? Date.now(),
1872
+ );
1873
+ lastCounter =
1874
+ logicalTime == previousLogicalTime
1875
+ ? logicalTime == remoteLogicalTime
1876
+ ? mathMax(lastCounter, remoteCounter)
1877
+ : lastCounter
1878
+ : logicalTime == remoteLogicalTime
1879
+ ? remoteCounter
1880
+ : -1;
1881
+ };
1882
+ return [getHlc, seenHlc];
1883
+ };
1884
+
1885
+ const jsonString = JSON.stringify;
1886
+ const jsonParse = JSON.parse;
1887
+ const jsonStringWithMap = (obj) =>
1888
+ jsonString(obj, (_key, value) =>
1889
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
1890
+ );
1891
+
1812
1892
  const stampClone = ([value, time]) => stampNew(value, time);
1813
1893
  const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
1814
1894
  const stampNew = (value, time) => (time ? [value, time] : [value]);
@@ -1848,13 +1928,6 @@ const pairNewMap = () => [mapNew(), mapNew()];
1848
1928
  const pairClone = (array) => [...array];
1849
1929
  const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
1850
1930
 
1851
- const jsonString = JSON.stringify;
1852
- const jsonParse = JSON.parse;
1853
- const jsonStringWithMap = (obj) =>
1854
- jsonString(obj, (_key, value) =>
1855
- isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
1856
- );
1857
-
1858
1931
  const idsChanged = (changedIds, id2, addedOrRemoved) =>
1859
1932
  mapSet(
1860
1933
  changedIds,
@@ -3191,79 +3264,6 @@ const createStore = () => {
3191
3264
  return objFreeze(store);
3192
3265
  };
3193
3266
 
3194
- const SHIFT36 = 2 ** 36;
3195
- const SHIFT30 = 2 ** 30;
3196
- const SHIFT24 = 2 ** 24;
3197
- const SHIFT18 = 2 ** 18;
3198
- const SHIFT12 = 2 ** 12;
3199
- const SHIFT6 = 2 ** 6;
3200
- const encodeTimeAndCounter = (logicalTime42, counter24) =>
3201
- encode(logicalTime42 / SHIFT36) +
3202
- encode(logicalTime42 / SHIFT30) +
3203
- encode(logicalTime42 / SHIFT24) +
3204
- encode(logicalTime42 / SHIFT18) +
3205
- encode(logicalTime42 / SHIFT12) +
3206
- encode(logicalTime42 / SHIFT6) +
3207
- encode(logicalTime42) +
3208
- encode(counter24 / SHIFT18) +
3209
- encode(counter24 / SHIFT12) +
3210
- encode(counter24 / SHIFT6) +
3211
- encode(counter24);
3212
- const decodeTimeAndCounter = (hlc16) => [
3213
- decode(hlc16, 0) * SHIFT36 +
3214
- decode(hlc16, 1) * SHIFT30 +
3215
- decode(hlc16, 2) * SHIFT24 +
3216
- decode(hlc16, 3) * SHIFT18 +
3217
- decode(hlc16, 4) * SHIFT12 +
3218
- decode(hlc16, 5) * SHIFT6 +
3219
- decode(hlc16, 6),
3220
- decode(hlc16, 7) * SHIFT18 +
3221
- decode(hlc16, 8) * SHIFT12 +
3222
- decode(hlc16, 9) * SHIFT6 +
3223
- decode(hlc16, 10),
3224
- ];
3225
- const getHlcFunctions = (uniqueId) => {
3226
- let logicalTime = 0;
3227
- let lastCounter = -1;
3228
- const clientPart = ifNotUndefined(
3229
- uniqueId,
3230
- (uniqueId2) => {
3231
- const clientHash30 = getHash(uniqueId2);
3232
- return (
3233
- encode(clientHash30 / SHIFT24) +
3234
- encode(clientHash30 / SHIFT18) +
3235
- encode(clientHash30 / SHIFT12) +
3236
- encode(clientHash30 / SHIFT6) +
3237
- encode(clientHash30)
3238
- );
3239
- },
3240
- () => getUniqueId(5),
3241
- );
3242
- const getHlc = () => {
3243
- seenHlc();
3244
- return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
3245
- };
3246
- const seenHlc = (hlc) => {
3247
- const previousLogicalTime = logicalTime;
3248
- const [remoteLogicalTime, remoteCounter] =
3249
- isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
3250
- logicalTime = mathMax(
3251
- previousLogicalTime,
3252
- remoteLogicalTime,
3253
- GLOBAL.HLC_TIME ?? Date.now(),
3254
- );
3255
- lastCounter =
3256
- logicalTime == previousLogicalTime
3257
- ? logicalTime == remoteLogicalTime
3258
- ? mathMax(lastCounter, remoteCounter)
3259
- : lastCounter
3260
- : logicalTime == remoteLogicalTime
3261
- ? remoteCounter
3262
- : -1;
3263
- };
3264
- return [getHlc, seenHlc];
3265
- };
3266
-
3267
3267
  const LISTENER_ARGS = {
3268
3268
  HasTable: 1,
3269
3269
  Table: 1,
@@ -3411,7 +3411,7 @@ const createMergeableStore = (uniqueId) => {
3411
3411
  let thingsHash = isContent ? incomingThingsHash : oldThingsHash;
3412
3412
  objForEach(
3413
3413
  thingsObj,
3414
- ([thing, thingTime, incomingThingHash = 0], thingId) => {
3414
+ ([thing, thingTime = EMPTY_STRING, incomingThingHash = 0], thingId) => {
3415
3415
  const thingStampMap = mapEnsure(thingStampMaps, thingId, () => [
3416
3416
  void 0,
3417
3417
  EMPTY_STRING,
package/indexes/index.js CHANGED
@@ -28,9 +28,6 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
28
28
  const arrayPush = (array, ...values) => array.push(...values);
29
29
  const arrayShift = (array) => array.shift();
30
30
 
31
- const object = Object;
32
- const objFreeze = object.freeze;
33
-
34
31
  const collSizeN = (collSizer) => (coll) =>
35
32
  arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
36
33
  const collSize = (coll) => coll?.size ?? 0;
@@ -43,6 +40,9 @@ const collClear = (coll) => coll.clear();
43
40
  const collForEach = (coll, cb) => coll?.forEach(cb);
44
41
  const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
45
42
 
43
+ const object = Object;
44
+ const objFreeze = object.freeze;
45
+
46
46
  const mapNew = (entries) => new Map(entries);
47
47
  const mapKeys = (map) => [...(map?.keys() ?? [])];
48
48
  const mapGet = (map, key) => map?.get(key);
@@ -28,9 +28,6 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
28
28
  const arrayPush = (array, ...values) => array.push(...values);
29
29
  const arrayShift = (array) => array.shift();
30
30
 
31
- const object = Object;
32
- const objFreeze = object.freeze;
33
-
34
31
  const collSizeN = (collSizer) => (coll) =>
35
32
  arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
36
33
  const collSize = (coll) => coll?.size ?? 0;
@@ -43,6 +40,9 @@ const collClear = (coll) => coll.clear();
43
40
  const collForEach = (coll, cb) => coll?.forEach(cb);
44
41
  const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
45
42
 
43
+ const object = Object;
44
+ const objFreeze = object.freeze;
45
+
46
46
  const mapNew = (entries) => new Map(entries);
47
47
  const mapKeys = (map) => [...(map?.keys() ?? [])];
48
48
  const mapGet = (map, key) => map?.get(key);
@@ -47,6 +47,22 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
47
47
  const size = (arrayOrString) => arrayOrString.length;
48
48
  const test = (regex, subject) => regex.test(subject);
49
49
 
50
+ const getCellOrValueType = (cellOrValue) => {
51
+ const type = getTypeOf(cellOrValue);
52
+ return isTypeStringOrBoolean(type) ||
53
+ (type == NUMBER && isFiniteNumber(cellOrValue))
54
+ ? type
55
+ : void 0;
56
+ };
57
+ const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
58
+ isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
59
+ const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
60
+ isUndefined(cell)
61
+ ? store.delCell(tableId, rowId, cellId, true)
62
+ : store.setCell(tableId, rowId, cellId, cell);
63
+ const setOrDelValue = (store, valueId, value) =>
64
+ isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
65
+
50
66
  const arrayHas = (array, value) => array.includes(value);
51
67
  const arrayEvery = (array, cb) => array.every(cb);
52
68
  const arrayIsEqual = (array1, array2) =>
@@ -59,6 +75,30 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
59
75
  const arrayPush = (array, ...values) => array.push(...values);
60
76
  const arrayShift = (array) => array.shift();
61
77
 
78
+ const collSizeN = (collSizer) => (coll) =>
79
+ arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
80
+ const collSize = (coll) => coll?.size ?? 0;
81
+ const collSize2 = collSizeN(collSize);
82
+ const collSize3 = collSizeN(collSize2);
83
+ const collSize4 = collSizeN(collSize3);
84
+ const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
85
+ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
86
+ const collValues = (coll) => [...(coll?.values() ?? [])];
87
+ const collClear = (coll) => coll.clear();
88
+ const collForEach = (coll, cb) => coll?.forEach(cb);
89
+ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
90
+
91
+ const textEncoder = /* @__PURE__ */ new GLOBAL.TextEncoder();
92
+ const getHash = (value) => {
93
+ let hash = 2166136261;
94
+ arrayForEach(textEncoder.encode(value), (char) => {
95
+ hash ^= char;
96
+ hash +=
97
+ (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
98
+ });
99
+ return hash >>> 0;
100
+ };
101
+
62
102
  const object = Object;
63
103
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
64
104
  const objEntries = object.entries;
@@ -114,27 +154,6 @@ const objValidate = (obj, validateChild, onInvalidObj, emptyIsValid = 0) => {
114
154
  return emptyIsValid ? true : !objIsEmpty(obj);
115
155
  };
116
156
 
117
- const setNew = (entryOrEntries) =>
118
- new Set(
119
- isArray(entryOrEntries) || isUndefined(entryOrEntries)
120
- ? entryOrEntries
121
- : [entryOrEntries],
122
- );
123
- const setAdd = (set, value) => set?.add(value);
124
-
125
- const collSizeN = (collSizer) => (coll) =>
126
- arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
127
- const collSize = (coll) => coll?.size ?? 0;
128
- const collSize2 = collSizeN(collSize);
129
- const collSize3 = collSizeN(collSize2);
130
- const collSize4 = collSizeN(collSize3);
131
- const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
132
- const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
133
- const collValues = (coll) => [...(coll?.values() ?? [])];
134
- const collClear = (coll) => coll.clear();
135
- const collForEach = (coll, cb) => coll?.forEach(cb);
136
- const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
137
-
138
157
  const mapNew = (entries) => new Map(entries);
139
158
  const mapKeys = (map) => [...(map?.keys() ?? [])];
140
159
  const mapGet = (map, key) => map?.get(key);
@@ -212,17 +231,117 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
212
231
  },
213
232
  );
214
233
 
215
- const textEncoder = /* @__PURE__ */ new GLOBAL.TextEncoder();
216
- const getHash = (value) => {
217
- let hash = 2166136261;
218
- arrayForEach(textEncoder.encode(value), (char) => {
219
- hash ^= char;
220
- hash +=
221
- (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
222
- });
223
- return hash >>> 0;
234
+ const MASK6 = 63;
235
+ const ENCODE = /* @__PURE__ */ strSplit(
236
+ '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
237
+ );
238
+ const DECODE = /* @__PURE__ */ mapNew(
239
+ /* @__PURE__ */ arrayMap(ENCODE, (char, index) => [char, index]),
240
+ );
241
+ const encode = (num) => ENCODE[num & MASK6];
242
+ const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
243
+
244
+ const getRandomValues = GLOBAL.crypto
245
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
246
+ : /* istanbul ignore next */
247
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
248
+ const defaultSorter = (sortKey1, sortKey2) =>
249
+ (sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
250
+ const getUniqueId = (length = 16) =>
251
+ arrayReduce(
252
+ getRandomValues(new Uint8Array(length)),
253
+ (uniqueId, number) => uniqueId + encode(number),
254
+ '',
255
+ );
256
+
257
+ const SHIFT36 = 2 ** 36;
258
+ const SHIFT30 = 2 ** 30;
259
+ const SHIFT24 = 2 ** 24;
260
+ const SHIFT18 = 2 ** 18;
261
+ const SHIFT12 = 2 ** 12;
262
+ const SHIFT6 = 2 ** 6;
263
+ const encodeTimeAndCounter = (logicalTime42, counter24) =>
264
+ encode(logicalTime42 / SHIFT36) +
265
+ encode(logicalTime42 / SHIFT30) +
266
+ encode(logicalTime42 / SHIFT24) +
267
+ encode(logicalTime42 / SHIFT18) +
268
+ encode(logicalTime42 / SHIFT12) +
269
+ encode(logicalTime42 / SHIFT6) +
270
+ encode(logicalTime42) +
271
+ encode(counter24 / SHIFT18) +
272
+ encode(counter24 / SHIFT12) +
273
+ encode(counter24 / SHIFT6) +
274
+ encode(counter24);
275
+ const decodeTimeAndCounter = (hlc16) => [
276
+ decode(hlc16, 0) * SHIFT36 +
277
+ decode(hlc16, 1) * SHIFT30 +
278
+ decode(hlc16, 2) * SHIFT24 +
279
+ decode(hlc16, 3) * SHIFT18 +
280
+ decode(hlc16, 4) * SHIFT12 +
281
+ decode(hlc16, 5) * SHIFT6 +
282
+ decode(hlc16, 6),
283
+ decode(hlc16, 7) * SHIFT18 +
284
+ decode(hlc16, 8) * SHIFT12 +
285
+ decode(hlc16, 9) * SHIFT6 +
286
+ decode(hlc16, 10),
287
+ ];
288
+ const getHlcFunctions = (uniqueId) => {
289
+ let logicalTime = 0;
290
+ let lastCounter = -1;
291
+ const clientPart = ifNotUndefined(
292
+ uniqueId,
293
+ (uniqueId2) => {
294
+ const clientHash30 = getHash(uniqueId2);
295
+ return (
296
+ encode(clientHash30 / SHIFT24) +
297
+ encode(clientHash30 / SHIFT18) +
298
+ encode(clientHash30 / SHIFT12) +
299
+ encode(clientHash30 / SHIFT6) +
300
+ encode(clientHash30)
301
+ );
302
+ },
303
+ () => getUniqueId(5),
304
+ );
305
+ const getHlc = () => {
306
+ seenHlc();
307
+ return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
308
+ };
309
+ const seenHlc = (hlc) => {
310
+ const previousLogicalTime = logicalTime;
311
+ const [remoteLogicalTime, remoteCounter] =
312
+ isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
313
+ logicalTime = mathMax(
314
+ previousLogicalTime,
315
+ remoteLogicalTime,
316
+ GLOBAL.HLC_TIME ?? Date.now(),
317
+ );
318
+ lastCounter =
319
+ logicalTime == previousLogicalTime
320
+ ? logicalTime == remoteLogicalTime
321
+ ? mathMax(lastCounter, remoteCounter)
322
+ : lastCounter
323
+ : logicalTime == remoteLogicalTime
324
+ ? remoteCounter
325
+ : -1;
326
+ };
327
+ return [getHlc, seenHlc];
224
328
  };
225
329
 
330
+ const jsonString = JSON.stringify;
331
+ const jsonParse = JSON.parse;
332
+ const jsonStringWithMap = (obj) =>
333
+ jsonString(obj, (_key, value) =>
334
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
335
+ );
336
+
337
+ const setNew = (entryOrEntries) =>
338
+ new Set(
339
+ isArray(entryOrEntries) || isUndefined(entryOrEntries)
340
+ ? entryOrEntries
341
+ : [entryOrEntries],
342
+ );
343
+ const setAdd = (set, value) => set?.add(value);
344
+
226
345
  const stampClone = ([value, time]) => stampNew(value, time);
227
346
  const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
228
347
  const stampNew = (value, time) => (time ? [value, time] : [value]);
@@ -348,52 +467,6 @@ const pairNewMap = () => [mapNew(), mapNew()];
348
467
  const pairClone = (array) => [...array];
349
468
  const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
350
469
 
351
- const getCellOrValueType = (cellOrValue) => {
352
- const type = getTypeOf(cellOrValue);
353
- return isTypeStringOrBoolean(type) ||
354
- (type == NUMBER && isFiniteNumber(cellOrValue))
355
- ? type
356
- : void 0;
357
- };
358
- const isCellOrValueOrNullOrUndefined = (cellOrValue) =>
359
- isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
360
- const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
361
- isUndefined(cell)
362
- ? store.delCell(tableId, rowId, cellId, true)
363
- : store.setCell(tableId, rowId, cellId, cell);
364
- const setOrDelValue = (store, valueId, value) =>
365
- isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
366
-
367
- const jsonString = JSON.stringify;
368
- const jsonParse = JSON.parse;
369
- const jsonStringWithMap = (obj) =>
370
- jsonString(obj, (_key, value) =>
371
- isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
372
- );
373
-
374
- const MASK6 = 63;
375
- const ENCODE = /* @__PURE__ */ strSplit(
376
- '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
377
- );
378
- const DECODE = /* @__PURE__ */ mapNew(
379
- /* @__PURE__ */ arrayMap(ENCODE, (char, index) => [char, index]),
380
- );
381
- const encode = (num) => ENCODE[num & MASK6];
382
- const decode = (str, pos) => mapGet(DECODE, str[pos]) ?? 0;
383
-
384
- const getRandomValues = GLOBAL.crypto
385
- ? (array) => GLOBAL.crypto.getRandomValues(array)
386
- : /* istanbul ignore next */
387
- (array) => arrayMap(array, () => mathFloor(math.random() * 256));
388
- const defaultSorter = (sortKey1, sortKey2) =>
389
- (sortKey1 ?? 0) < (sortKey2 ?? 0) ? -1 : 1;
390
- const getUniqueId = (length = 16) =>
391
- arrayReduce(
392
- getRandomValues(new Uint8Array(length)),
393
- (uniqueId, number) => uniqueId + encode(number),
394
- '',
395
- );
396
-
397
470
  const idsChanged = (changedIds, id2, addedOrRemoved) =>
398
471
  mapSet(
399
472
  changedIds,
@@ -1730,79 +1803,6 @@ const createStore = () => {
1730
1803
  return objFreeze(store);
1731
1804
  };
1732
1805
 
1733
- const SHIFT36 = 2 ** 36;
1734
- const SHIFT30 = 2 ** 30;
1735
- const SHIFT24 = 2 ** 24;
1736
- const SHIFT18 = 2 ** 18;
1737
- const SHIFT12 = 2 ** 12;
1738
- const SHIFT6 = 2 ** 6;
1739
- const encodeTimeAndCounter = (logicalTime42, counter24) =>
1740
- encode(logicalTime42 / SHIFT36) +
1741
- encode(logicalTime42 / SHIFT30) +
1742
- encode(logicalTime42 / SHIFT24) +
1743
- encode(logicalTime42 / SHIFT18) +
1744
- encode(logicalTime42 / SHIFT12) +
1745
- encode(logicalTime42 / SHIFT6) +
1746
- encode(logicalTime42) +
1747
- encode(counter24 / SHIFT18) +
1748
- encode(counter24 / SHIFT12) +
1749
- encode(counter24 / SHIFT6) +
1750
- encode(counter24);
1751
- const decodeTimeAndCounter = (hlc16) => [
1752
- decode(hlc16, 0) * SHIFT36 +
1753
- decode(hlc16, 1) * SHIFT30 +
1754
- decode(hlc16, 2) * SHIFT24 +
1755
- decode(hlc16, 3) * SHIFT18 +
1756
- decode(hlc16, 4) * SHIFT12 +
1757
- decode(hlc16, 5) * SHIFT6 +
1758
- decode(hlc16, 6),
1759
- decode(hlc16, 7) * SHIFT18 +
1760
- decode(hlc16, 8) * SHIFT12 +
1761
- decode(hlc16, 9) * SHIFT6 +
1762
- decode(hlc16, 10),
1763
- ];
1764
- const getHlcFunctions = (uniqueId) => {
1765
- let logicalTime = 0;
1766
- let lastCounter = -1;
1767
- const clientPart = ifNotUndefined(
1768
- uniqueId,
1769
- (uniqueId2) => {
1770
- const clientHash30 = getHash(uniqueId2);
1771
- return (
1772
- encode(clientHash30 / SHIFT24) +
1773
- encode(clientHash30 / SHIFT18) +
1774
- encode(clientHash30 / SHIFT12) +
1775
- encode(clientHash30 / SHIFT6) +
1776
- encode(clientHash30)
1777
- );
1778
- },
1779
- () => getUniqueId(5),
1780
- );
1781
- const getHlc = () => {
1782
- seenHlc();
1783
- return encodeTimeAndCounter(logicalTime, ++lastCounter) + clientPart;
1784
- };
1785
- const seenHlc = (hlc) => {
1786
- const previousLogicalTime = logicalTime;
1787
- const [remoteLogicalTime, remoteCounter] =
1788
- isUndefined(hlc) || hlc == '' ? [0, 0] : decodeTimeAndCounter(hlc);
1789
- logicalTime = mathMax(
1790
- previousLogicalTime,
1791
- remoteLogicalTime,
1792
- GLOBAL.HLC_TIME ?? Date.now(),
1793
- );
1794
- lastCounter =
1795
- logicalTime == previousLogicalTime
1796
- ? logicalTime == remoteLogicalTime
1797
- ? mathMax(lastCounter, remoteCounter)
1798
- : lastCounter
1799
- : logicalTime == remoteLogicalTime
1800
- ? remoteCounter
1801
- : -1;
1802
- };
1803
- return [getHlc, seenHlc];
1804
- };
1805
-
1806
1806
  const LISTENER_ARGS = {
1807
1807
  HasTable: 1,
1808
1808
  Table: 1,
@@ -1950,7 +1950,7 @@ const createMergeableStore = (uniqueId) => {
1950
1950
  let thingsHash = isContent ? incomingThingsHash : oldThingsHash;
1951
1951
  objForEach(
1952
1952
  thingsObj,
1953
- ([thing, thingTime, incomingThingHash = 0], thingId) => {
1953
+ ([thing, thingTime = EMPTY_STRING, incomingThingHash = 0], thingId) => {
1954
1954
  const thingStampMap = mapEnsure(thingStampMaps, thingId, () => [
1955
1955
  void 0,
1956
1956
  EMPTY_STRING,