tinybase 5.4.0-beta.2 → 5.4.0-beta.4

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 (1015) hide show
  1. package/@types/mergeable-store/index.d.cts +12 -9
  2. package/@types/mergeable-store/index.d.ts +12 -9
  3. package/@types/mergeable-store/with-schemas/index.d.cts +21 -13
  4. package/@types/mergeable-store/with-schemas/index.d.ts +21 -13
  5. package/@types/persisters/index.d.cts +15 -10
  6. package/@types/persisters/index.d.ts +15 -10
  7. package/@types/persisters/persister-durable-object-storage/index.d.cts +116 -0
  8. package/@types/persisters/persister-durable-object-storage/index.d.ts +116 -0
  9. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.cts +130 -0
  10. package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +130 -0
  11. package/@types/persisters/persister-partykit-server/index.d.cts +12 -0
  12. package/@types/persisters/persister-partykit-server/index.d.ts +12 -0
  13. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +15 -0
  14. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +15 -0
  15. package/@types/persisters/with-schemas/index.d.cts +15 -10
  16. package/@types/persisters/with-schemas/index.d.ts +15 -10
  17. package/@types/store/index.d.cts +10 -8
  18. package/@types/store/index.d.ts +10 -8
  19. package/@types/store/with-schemas/index.d.cts +10 -8
  20. package/@types/store/with-schemas/index.d.ts +10 -8
  21. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +4 -0
  22. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +4 -0
  23. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -0
  24. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -0
  25. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.cts +243 -8
  26. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +243 -8
  27. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.cts +285 -12
  28. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +285 -12
  29. package/cjs/es6/index.cjs +31 -27
  30. package/cjs/es6/mergeable-store/index.cjs +31 -27
  31. package/cjs/es6/mergeable-store/with-schemas/index.cjs +31 -27
  32. package/cjs/es6/min/index.cjs +1 -1
  33. package/cjs/es6/min/index.cjs.gz +0 -0
  34. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  35. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  36. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs +1 -0
  53. package/cjs/es6/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -0
  55. package/cjs/es6/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  101. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  102. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  105. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  106. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  112. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  113. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  114. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  117. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  118. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  121. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  122. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  123. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  124. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  125. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  126. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  127. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  128. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
  129. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  130. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
  131. package/cjs/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  132. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  133. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  134. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  135. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  136. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  137. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  138. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  139. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/es6/persisters/index.cjs +21 -9
  141. package/cjs/es6/persisters/persister-automerge/index.cjs +17 -8
  142. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +17 -8
  143. package/cjs/es6/persisters/persister-browser/index.cjs +17 -8
  144. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +17 -8
  145. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +21 -9
  146. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +21 -9
  147. package/cjs/es6/persisters/persister-durable-object-storage/index.cjs +687 -0
  148. package/cjs/es6/persisters/persister-durable-object-storage/with-schemas/index.cjs +687 -0
  149. package/cjs/es6/persisters/persister-electric-sql/index.cjs +21 -9
  150. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +21 -9
  151. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +21 -9
  152. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +21 -9
  153. package/cjs/es6/persisters/persister-file/index.cjs +17 -8
  154. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +17 -8
  155. package/cjs/es6/persisters/persister-indexed-db/index.cjs +19 -9
  156. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +19 -9
  157. package/cjs/es6/persisters/persister-libsql/index.cjs +21 -9
  158. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +21 -9
  159. package/cjs/es6/persisters/persister-partykit-client/index.cjs +18 -9
  160. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +18 -9
  161. package/cjs/es6/persisters/persister-pglite/index.cjs +19 -8
  162. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +19 -8
  163. package/cjs/es6/persisters/persister-postgres/index.cjs +19 -8
  164. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +19 -8
  165. package/cjs/es6/persisters/persister-powersync/index.cjs +21 -9
  166. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +21 -9
  167. package/cjs/es6/persisters/persister-remote/index.cjs +19 -9
  168. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +19 -9
  169. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +21 -9
  170. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +21 -9
  171. package/cjs/es6/persisters/persister-sqlite3/index.cjs +21 -9
  172. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +21 -9
  173. package/cjs/es6/persisters/persister-yjs/index.cjs +17 -8
  174. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +17 -8
  175. package/cjs/es6/persisters/with-schemas/index.cjs +21 -9
  176. package/cjs/es6/synchronizers/index.cjs +142 -93
  177. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +142 -93
  178. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +142 -93
  179. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +145 -97
  180. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +145 -97
  181. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +160 -98
  182. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +160 -98
  183. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +171 -97
  184. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +171 -97
  185. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/index.cjs +981 -21
  186. package/cjs/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +981 -21
  187. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/index.cjs +2 -1
  188. package/cjs/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +2 -1
  189. package/cjs/es6/synchronizers/with-schemas/index.cjs +142 -93
  190. package/cjs/es6/ui-react-inspector/index.cjs +17 -8
  191. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +17 -8
  192. package/cjs/es6/with-schemas/index.cjs +31 -27
  193. package/cjs/index.cjs +31 -27
  194. package/cjs/mergeable-store/index.cjs +31 -27
  195. package/cjs/mergeable-store/with-schemas/index.cjs +31 -27
  196. package/cjs/min/index.cjs +1 -1
  197. package/cjs/min/index.cjs.gz +0 -0
  198. package/cjs/min/mergeable-store/index.cjs +1 -1
  199. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  200. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  201. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/index.cjs +1 -1
  203. package/cjs/min/persisters/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-durable-object-storage/index.cjs +1 -0
  217. package/cjs/min/persisters/persister-durable-object-storage/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs +1 -0
  219. package/cjs/min/persisters/persister-durable-object-storage/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
  245. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  251. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  253. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  254. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  255. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  257. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  258. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  259. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  261. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  263. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  273. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/min/synchronizers/index.cjs +1 -1
  275. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  276. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  277. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  278. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  279. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  280. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  281. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  282. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  283. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  285. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  286. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  287. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  289. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  290. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  291. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  292. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs +1 -1
  293. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/index.cjs.gz +0 -0
  294. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +1 -1
  295. package/cjs/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  297. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  298. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  299. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  300. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  301. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  302. package/cjs/min/with-schemas/index.cjs +1 -1
  303. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  304. package/cjs/persisters/index.cjs +21 -9
  305. package/cjs/persisters/persister-automerge/index.cjs +17 -8
  306. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +17 -8
  307. package/cjs/persisters/persister-browser/index.cjs +17 -8
  308. package/cjs/persisters/persister-browser/with-schemas/index.cjs +17 -8
  309. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +21 -9
  310. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +21 -9
  311. package/cjs/persisters/persister-durable-object-storage/index.cjs +542 -0
  312. package/cjs/persisters/persister-durable-object-storage/with-schemas/index.cjs +542 -0
  313. package/cjs/persisters/persister-electric-sql/index.cjs +21 -9
  314. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +21 -9
  315. package/cjs/persisters/persister-expo-sqlite/index.cjs +21 -9
  316. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +21 -9
  317. package/cjs/persisters/persister-file/index.cjs +17 -8
  318. package/cjs/persisters/persister-file/with-schemas/index.cjs +17 -8
  319. package/cjs/persisters/persister-indexed-db/index.cjs +19 -9
  320. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +19 -9
  321. package/cjs/persisters/persister-libsql/index.cjs +21 -9
  322. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +21 -9
  323. package/cjs/persisters/persister-partykit-client/index.cjs +20 -14
  324. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +20 -14
  325. package/cjs/persisters/persister-pglite/index.cjs +19 -8
  326. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +19 -8
  327. package/cjs/persisters/persister-postgres/index.cjs +19 -8
  328. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +19 -8
  329. package/cjs/persisters/persister-powersync/index.cjs +21 -9
  330. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +21 -9
  331. package/cjs/persisters/persister-remote/index.cjs +19 -9
  332. package/cjs/persisters/persister-remote/with-schemas/index.cjs +19 -9
  333. package/cjs/persisters/persister-sqlite-wasm/index.cjs +21 -9
  334. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +21 -9
  335. package/cjs/persisters/persister-sqlite3/index.cjs +21 -9
  336. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +21 -9
  337. package/cjs/persisters/persister-yjs/index.cjs +17 -8
  338. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +17 -8
  339. package/cjs/persisters/with-schemas/index.cjs +21 -9
  340. package/cjs/synchronizers/index.cjs +119 -73
  341. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +119 -73
  342. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +119 -73
  343. package/cjs/synchronizers/synchronizer-local/index.cjs +128 -85
  344. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +128 -85
  345. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +137 -78
  346. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +137 -78
  347. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +148 -77
  348. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +148 -77
  349. package/cjs/synchronizers/synchronizer-ws-server-durable-object/index.cjs +713 -18
  350. package/cjs/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.cjs +713 -18
  351. package/cjs/synchronizers/synchronizer-ws-server-simple/index.cjs +2 -1
  352. package/cjs/synchronizers/synchronizer-ws-server-simple/with-schemas/index.cjs +2 -1
  353. package/cjs/synchronizers/with-schemas/index.cjs +119 -73
  354. package/cjs/ui-react-inspector/index.cjs +17 -8
  355. package/cjs/ui-react-inspector/with-schemas/index.cjs +17 -8
  356. package/cjs/with-schemas/index.cjs +31 -27
  357. package/es6/index.js +31 -27
  358. package/es6/mergeable-store/index.js +31 -27
  359. package/es6/mergeable-store/with-schemas/index.js +31 -27
  360. package/es6/min/index.js +1 -1
  361. package/es6/min/index.js.gz +0 -0
  362. package/es6/min/mergeable-store/index.js +1 -1
  363. package/es6/min/mergeable-store/index.js.gz +0 -0
  364. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  365. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/index.js +1 -1
  367. package/es6/min/persisters/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-automerge/index.js +1 -1
  369. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  371. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-browser/index.js +1 -1
  373. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  377. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  379. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-durable-object-storage/index.js +1 -0
  381. package/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  383. package/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  384. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  385. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  386. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  387. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  388. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  389. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  390. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  391. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  392. package/es6/min/persisters/persister-file/index.js +1 -1
  393. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  394. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  395. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  396. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  397. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  398. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  399. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  400. package/es6/min/persisters/persister-libsql/index.js +1 -1
  401. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  402. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  403. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  404. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  405. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  406. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  407. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  408. package/es6/min/persisters/persister-pglite/index.js +1 -1
  409. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  410. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  411. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  412. package/es6/min/persisters/persister-postgres/index.js +1 -1
  413. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  414. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  415. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  416. package/es6/min/persisters/persister-powersync/index.js +1 -1
  417. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  418. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  419. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  420. package/es6/min/persisters/persister-remote/index.js +1 -1
  421. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  422. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  423. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  424. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  425. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  426. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  427. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  428. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  429. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  430. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  431. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  432. package/es6/min/persisters/persister-yjs/index.js +1 -1
  433. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  434. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  435. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  436. package/es6/min/persisters/with-schemas/index.js +1 -1
  437. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  438. package/es6/min/synchronizers/index.js +1 -1
  439. package/es6/min/synchronizers/index.js.gz +0 -0
  440. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  441. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  442. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  443. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  444. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  445. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  446. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  447. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  448. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  449. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  450. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  451. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  452. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  453. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  454. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  455. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  456. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  457. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  458. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  459. package/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  460. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  461. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  462. package/es6/min/ui-react-inspector/index.js +1 -1
  463. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  464. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  465. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  466. package/es6/min/with-schemas/index.js +1 -1
  467. package/es6/min/with-schemas/index.js.gz +0 -0
  468. package/es6/persisters/index.js +21 -9
  469. package/es6/persisters/persister-automerge/index.js +17 -8
  470. package/es6/persisters/persister-automerge/with-schemas/index.js +17 -8
  471. package/es6/persisters/persister-browser/index.js +17 -8
  472. package/es6/persisters/persister-browser/with-schemas/index.js +17 -8
  473. package/es6/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  474. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  475. package/es6/persisters/persister-durable-object-storage/index.js +684 -0
  476. package/es6/persisters/persister-durable-object-storage/with-schemas/index.js +684 -0
  477. package/es6/persisters/persister-electric-sql/index.js +21 -9
  478. package/es6/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  479. package/es6/persisters/persister-expo-sqlite/index.js +21 -9
  480. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  481. package/es6/persisters/persister-file/index.js +17 -8
  482. package/es6/persisters/persister-file/with-schemas/index.js +17 -8
  483. package/es6/persisters/persister-indexed-db/index.js +19 -9
  484. package/es6/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  485. package/es6/persisters/persister-libsql/index.js +21 -9
  486. package/es6/persisters/persister-libsql/with-schemas/index.js +21 -9
  487. package/es6/persisters/persister-partykit-client/index.js +18 -9
  488. package/es6/persisters/persister-partykit-client/with-schemas/index.js +18 -9
  489. package/es6/persisters/persister-pglite/index.js +19 -8
  490. package/es6/persisters/persister-pglite/with-schemas/index.js +19 -8
  491. package/es6/persisters/persister-postgres/index.js +19 -8
  492. package/es6/persisters/persister-postgres/with-schemas/index.js +19 -8
  493. package/es6/persisters/persister-powersync/index.js +21 -9
  494. package/es6/persisters/persister-powersync/with-schemas/index.js +21 -9
  495. package/es6/persisters/persister-remote/index.js +19 -9
  496. package/es6/persisters/persister-remote/with-schemas/index.js +19 -9
  497. package/es6/persisters/persister-sqlite-wasm/index.js +21 -9
  498. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  499. package/es6/persisters/persister-sqlite3/index.js +21 -9
  500. package/es6/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  501. package/es6/persisters/persister-yjs/index.js +17 -8
  502. package/es6/persisters/persister-yjs/with-schemas/index.js +17 -8
  503. package/es6/persisters/with-schemas/index.js +21 -9
  504. package/es6/synchronizers/index.js +142 -93
  505. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +142 -93
  506. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +142 -93
  507. package/es6/synchronizers/synchronizer-local/index.js +145 -97
  508. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +145 -97
  509. package/es6/synchronizers/synchronizer-ws-client/index.js +160 -98
  510. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +160 -98
  511. package/es6/synchronizers/synchronizer-ws-server/index.js +171 -97
  512. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +171 -97
  513. package/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +981 -21
  514. package/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +981 -21
  515. package/es6/synchronizers/synchronizer-ws-server-simple/index.js +2 -1
  516. package/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +2 -1
  517. package/es6/synchronizers/with-schemas/index.js +142 -93
  518. package/es6/ui-react-inspector/index.js +17 -8
  519. package/es6/ui-react-inspector/with-schemas/index.js +17 -8
  520. package/es6/with-schemas/index.js +31 -27
  521. package/index.js +31 -27
  522. package/mergeable-store/index.js +31 -27
  523. package/mergeable-store/with-schemas/index.js +31 -27
  524. package/min/index.js +1 -1
  525. package/min/index.js.gz +0 -0
  526. package/min/mergeable-store/index.js +1 -1
  527. package/min/mergeable-store/index.js.gz +0 -0
  528. package/min/mergeable-store/with-schemas/index.js +1 -1
  529. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  530. package/min/persisters/index.js +1 -1
  531. package/min/persisters/index.js.gz +0 -0
  532. package/min/persisters/persister-automerge/index.js +1 -1
  533. package/min/persisters/persister-automerge/index.js.gz +0 -0
  534. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  535. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  536. package/min/persisters/persister-browser/index.js +1 -1
  537. package/min/persisters/persister-browser/index.js.gz +0 -0
  538. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  539. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  540. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  541. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  542. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  543. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  544. package/min/persisters/persister-durable-object-storage/index.js +1 -0
  545. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  546. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  547. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  548. package/min/persisters/persister-electric-sql/index.js +1 -1
  549. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  550. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  551. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  552. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  553. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  554. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  555. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  556. package/min/persisters/persister-file/index.js +1 -1
  557. package/min/persisters/persister-file/index.js.gz +0 -0
  558. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  559. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  560. package/min/persisters/persister-indexed-db/index.js +1 -1
  561. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  562. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  563. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  564. package/min/persisters/persister-libsql/index.js +1 -1
  565. package/min/persisters/persister-libsql/index.js.gz +0 -0
  566. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  567. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  568. package/min/persisters/persister-partykit-client/index.js +1 -1
  569. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  570. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  571. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  572. package/min/persisters/persister-pglite/index.js +1 -1
  573. package/min/persisters/persister-pglite/index.js.gz +0 -0
  574. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  575. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  576. package/min/persisters/persister-postgres/index.js +1 -1
  577. package/min/persisters/persister-postgres/index.js.gz +0 -0
  578. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  579. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  580. package/min/persisters/persister-powersync/index.js +1 -1
  581. package/min/persisters/persister-powersync/index.js.gz +0 -0
  582. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  583. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  584. package/min/persisters/persister-remote/index.js +1 -1
  585. package/min/persisters/persister-remote/index.js.gz +0 -0
  586. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  587. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  588. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  589. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  590. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  591. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  592. package/min/persisters/persister-sqlite3/index.js +1 -1
  593. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  594. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  595. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  596. package/min/persisters/persister-yjs/index.js +1 -1
  597. package/min/persisters/persister-yjs/index.js.gz +0 -0
  598. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  599. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  600. package/min/persisters/with-schemas/index.js +1 -1
  601. package/min/persisters/with-schemas/index.js.gz +0 -0
  602. package/min/synchronizers/index.js +1 -1
  603. package/min/synchronizers/index.js.gz +0 -0
  604. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  605. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  606. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  607. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  608. package/min/synchronizers/synchronizer-local/index.js +1 -1
  609. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  610. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  611. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  612. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  613. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  614. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  615. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  616. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  617. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  618. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  619. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  620. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  621. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  622. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  623. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  624. package/min/synchronizers/with-schemas/index.js +1 -1
  625. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  626. package/min/ui-react-inspector/index.js +1 -1
  627. package/min/ui-react-inspector/index.js.gz +0 -0
  628. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  629. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  630. package/min/with-schemas/index.js +1 -1
  631. package/min/with-schemas/index.js.gz +0 -0
  632. package/package.json +112 -8
  633. package/persisters/index.js +21 -9
  634. package/persisters/persister-automerge/index.js +17 -8
  635. package/persisters/persister-automerge/with-schemas/index.js +17 -8
  636. package/persisters/persister-browser/index.js +17 -8
  637. package/persisters/persister-browser/with-schemas/index.js +17 -8
  638. package/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  639. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  640. package/persisters/persister-durable-object-storage/index.js +539 -0
  641. package/persisters/persister-durable-object-storage/with-schemas/index.js +539 -0
  642. package/persisters/persister-electric-sql/index.js +21 -9
  643. package/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  644. package/persisters/persister-expo-sqlite/index.js +21 -9
  645. package/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  646. package/persisters/persister-file/index.js +17 -8
  647. package/persisters/persister-file/with-schemas/index.js +17 -8
  648. package/persisters/persister-indexed-db/index.js +19 -9
  649. package/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  650. package/persisters/persister-libsql/index.js +21 -9
  651. package/persisters/persister-libsql/with-schemas/index.js +21 -9
  652. package/persisters/persister-partykit-client/index.js +20 -14
  653. package/persisters/persister-partykit-client/with-schemas/index.js +20 -14
  654. package/persisters/persister-pglite/index.js +19 -8
  655. package/persisters/persister-pglite/with-schemas/index.js +19 -8
  656. package/persisters/persister-postgres/index.js +19 -8
  657. package/persisters/persister-postgres/with-schemas/index.js +19 -8
  658. package/persisters/persister-powersync/index.js +21 -9
  659. package/persisters/persister-powersync/with-schemas/index.js +21 -9
  660. package/persisters/persister-remote/index.js +19 -9
  661. package/persisters/persister-remote/with-schemas/index.js +19 -9
  662. package/persisters/persister-sqlite-wasm/index.js +21 -9
  663. package/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  664. package/persisters/persister-sqlite3/index.js +21 -9
  665. package/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  666. package/persisters/persister-yjs/index.js +17 -8
  667. package/persisters/persister-yjs/with-schemas/index.js +17 -8
  668. package/persisters/with-schemas/index.js +21 -9
  669. package/readme.md +2 -2
  670. package/releases.md +23 -1
  671. package/synchronizers/index.js +119 -73
  672. package/synchronizers/synchronizer-broadcast-channel/index.js +119 -73
  673. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +119 -73
  674. package/synchronizers/synchronizer-local/index.js +128 -85
  675. package/synchronizers/synchronizer-local/with-schemas/index.js +128 -85
  676. package/synchronizers/synchronizer-ws-client/index.js +137 -78
  677. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +137 -78
  678. package/synchronizers/synchronizer-ws-server/index.js +148 -77
  679. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +148 -77
  680. package/synchronizers/synchronizer-ws-server-durable-object/index.js +713 -18
  681. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +713 -18
  682. package/synchronizers/synchronizer-ws-server-simple/index.js +2 -1
  683. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +2 -1
  684. package/synchronizers/with-schemas/index.js +119 -73
  685. package/ui-react-inspector/index.js +17 -8
  686. package/ui-react-inspector/with-schemas/index.js +17 -8
  687. package/umd/es6/index.js +31 -27
  688. package/umd/es6/mergeable-store/index.js +31 -27
  689. package/umd/es6/mergeable-store/with-schemas/index.js +31 -27
  690. package/umd/es6/min/index.js +1 -1
  691. package/umd/es6/min/index.js.gz +0 -0
  692. package/umd/es6/min/mergeable-store/index.js +1 -1
  693. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  694. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  695. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  696. package/umd/es6/min/persisters/index.js +1 -1
  697. package/umd/es6/min/persisters/index.js.gz +0 -0
  698. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  699. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  700. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  701. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  702. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  703. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  704. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  705. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  706. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  707. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  708. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  709. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  710. package/umd/es6/min/persisters/persister-durable-object-storage/index.js +1 -0
  711. package/umd/es6/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  712. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  713. package/umd/es6/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  714. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  715. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  716. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  717. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  718. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  719. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  720. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  721. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  722. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  723. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  724. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  725. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  726. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  727. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  728. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  729. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  730. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  731. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  732. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  733. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  734. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  735. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  736. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  737. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  738. package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
  739. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  740. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  741. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  742. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  743. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  744. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  745. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  746. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  747. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  748. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  749. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  750. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  751. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  752. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  753. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  754. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  755. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  756. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  757. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  758. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  759. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  760. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  761. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  762. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  763. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  764. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  765. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  766. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  767. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  768. package/umd/es6/min/synchronizers/index.js +1 -1
  769. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  770. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  771. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  772. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  773. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  774. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  775. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  776. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  777. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  778. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  779. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  780. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  781. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  782. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  783. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  784. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  785. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  786. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  787. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  788. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  789. package/umd/es6/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  790. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  791. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  792. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  793. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  794. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  795. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  796. package/umd/es6/min/with-schemas/index.js +1 -1
  797. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  798. package/umd/es6/persisters/index.js +21 -9
  799. package/umd/es6/persisters/persister-automerge/index.js +17 -8
  800. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +17 -8
  801. package/umd/es6/persisters/persister-browser/index.js +17 -8
  802. package/umd/es6/persisters/persister-browser/with-schemas/index.js +17 -8
  803. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  804. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  805. package/umd/es6/persisters/persister-durable-object-storage/index.js +707 -0
  806. package/umd/es6/persisters/persister-durable-object-storage/with-schemas/index.js +707 -0
  807. package/umd/es6/persisters/persister-electric-sql/index.js +21 -9
  808. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  809. package/umd/es6/persisters/persister-expo-sqlite/index.js +21 -9
  810. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  811. package/umd/es6/persisters/persister-file/index.js +17 -8
  812. package/umd/es6/persisters/persister-file/with-schemas/index.js +17 -8
  813. package/umd/es6/persisters/persister-indexed-db/index.js +19 -9
  814. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  815. package/umd/es6/persisters/persister-libsql/index.js +21 -9
  816. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +21 -9
  817. package/umd/es6/persisters/persister-partykit-client/index.js +18 -9
  818. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +18 -9
  819. package/umd/es6/persisters/persister-pglite/index.js +19 -8
  820. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +19 -8
  821. package/umd/es6/persisters/persister-postgres/index.js +19 -8
  822. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +19 -8
  823. package/umd/es6/persisters/persister-powersync/index.js +21 -9
  824. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +21 -9
  825. package/umd/es6/persisters/persister-remote/index.js +19 -9
  826. package/umd/es6/persisters/persister-remote/with-schemas/index.js +19 -9
  827. package/umd/es6/persisters/persister-sqlite-wasm/index.js +21 -9
  828. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  829. package/umd/es6/persisters/persister-sqlite3/index.js +21 -9
  830. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  831. package/umd/es6/persisters/persister-yjs/index.js +17 -8
  832. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +17 -8
  833. package/umd/es6/persisters/with-schemas/index.js +21 -9
  834. package/umd/es6/synchronizers/index.js +143 -101
  835. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +143 -101
  836. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +143 -101
  837. package/umd/es6/synchronizers/synchronizer-local/index.js +146 -105
  838. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +146 -105
  839. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +161 -106
  840. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +161 -106
  841. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +172 -105
  842. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +172 -105
  843. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/index.js +990 -22
  844. package/umd/es6/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +990 -22
  845. package/umd/es6/synchronizers/synchronizer-ws-server-simple/index.js +2 -1
  846. package/umd/es6/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +2 -1
  847. package/umd/es6/synchronizers/with-schemas/index.js +143 -101
  848. package/umd/es6/ui-react-inspector/index.js +17 -8
  849. package/umd/es6/ui-react-inspector/with-schemas/index.js +17 -8
  850. package/umd/es6/with-schemas/index.js +31 -27
  851. package/umd/index.js +31 -27
  852. package/umd/mergeable-store/index.js +31 -27
  853. package/umd/mergeable-store/with-schemas/index.js +31 -27
  854. package/umd/min/index.js +1 -1
  855. package/umd/min/index.js.gz +0 -0
  856. package/umd/min/mergeable-store/index.js +1 -1
  857. package/umd/min/mergeable-store/index.js.gz +0 -0
  858. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  859. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  860. package/umd/min/persisters/index.js +1 -1
  861. package/umd/min/persisters/index.js.gz +0 -0
  862. package/umd/min/persisters/persister-automerge/index.js +1 -1
  863. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  864. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  865. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  866. package/umd/min/persisters/persister-browser/index.js +1 -1
  867. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  868. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  869. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  870. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  871. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  872. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  873. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  874. package/umd/min/persisters/persister-durable-object-storage/index.js +1 -0
  875. package/umd/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  876. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -0
  877. package/umd/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  878. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  879. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  880. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  881. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  882. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  883. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  884. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  885. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  886. package/umd/min/persisters/persister-file/index.js +1 -1
  887. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  888. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  889. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  890. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  891. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  892. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  893. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  894. package/umd/min/persisters/persister-libsql/index.js +1 -1
  895. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  896. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  897. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  898. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  899. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  900. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  901. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  902. package/umd/min/persisters/persister-pglite/index.js +1 -1
  903. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  904. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  905. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  906. package/umd/min/persisters/persister-postgres/index.js +1 -1
  907. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  908. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  909. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  910. package/umd/min/persisters/persister-powersync/index.js +1 -1
  911. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  912. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  913. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  914. package/umd/min/persisters/persister-remote/index.js +1 -1
  915. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  916. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  917. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  918. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  919. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  920. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  921. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  922. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  923. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  924. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  925. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  926. package/umd/min/persisters/persister-yjs/index.js +1 -1
  927. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  928. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  929. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  930. package/umd/min/persisters/with-schemas/index.js +1 -1
  931. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  932. package/umd/min/synchronizers/index.js +1 -1
  933. package/umd/min/synchronizers/index.js.gz +0 -0
  934. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  935. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  936. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  937. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  938. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  939. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  940. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  941. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  942. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  943. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  944. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  945. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  946. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  947. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  948. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  949. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  950. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  951. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  952. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  953. package/umd/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  954. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  955. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  956. package/umd/min/ui-react-inspector/index.js +1 -1
  957. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  958. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  959. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  960. package/umd/min/with-schemas/index.js +1 -1
  961. package/umd/min/with-schemas/index.js.gz +0 -0
  962. package/umd/persisters/index.js +21 -9
  963. package/umd/persisters/persister-automerge/index.js +17 -8
  964. package/umd/persisters/persister-automerge/with-schemas/index.js +17 -8
  965. package/umd/persisters/persister-browser/index.js +17 -8
  966. package/umd/persisters/persister-browser/with-schemas/index.js +17 -8
  967. package/umd/persisters/persister-cr-sqlite-wasm/index.js +21 -9
  968. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +21 -9
  969. package/umd/persisters/persister-durable-object-storage/index.js +562 -0
  970. package/umd/persisters/persister-durable-object-storage/with-schemas/index.js +562 -0
  971. package/umd/persisters/persister-electric-sql/index.js +21 -9
  972. package/umd/persisters/persister-electric-sql/with-schemas/index.js +21 -9
  973. package/umd/persisters/persister-expo-sqlite/index.js +21 -9
  974. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +21 -9
  975. package/umd/persisters/persister-file/index.js +17 -8
  976. package/umd/persisters/persister-file/with-schemas/index.js +17 -8
  977. package/umd/persisters/persister-indexed-db/index.js +19 -9
  978. package/umd/persisters/persister-indexed-db/with-schemas/index.js +19 -9
  979. package/umd/persisters/persister-libsql/index.js +21 -9
  980. package/umd/persisters/persister-libsql/with-schemas/index.js +21 -9
  981. package/umd/persisters/persister-partykit-client/index.js +20 -14
  982. package/umd/persisters/persister-partykit-client/with-schemas/index.js +20 -14
  983. package/umd/persisters/persister-pglite/index.js +19 -8
  984. package/umd/persisters/persister-pglite/with-schemas/index.js +19 -8
  985. package/umd/persisters/persister-postgres/index.js +19 -8
  986. package/umd/persisters/persister-postgres/with-schemas/index.js +19 -8
  987. package/umd/persisters/persister-powersync/index.js +21 -9
  988. package/umd/persisters/persister-powersync/with-schemas/index.js +21 -9
  989. package/umd/persisters/persister-remote/index.js +19 -9
  990. package/umd/persisters/persister-remote/with-schemas/index.js +19 -9
  991. package/umd/persisters/persister-sqlite-wasm/index.js +21 -9
  992. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +21 -9
  993. package/umd/persisters/persister-sqlite3/index.js +21 -9
  994. package/umd/persisters/persister-sqlite3/with-schemas/index.js +21 -9
  995. package/umd/persisters/persister-yjs/index.js +17 -8
  996. package/umd/persisters/persister-yjs/with-schemas/index.js +17 -8
  997. package/umd/persisters/with-schemas/index.js +21 -9
  998. package/umd/synchronizers/index.js +120 -76
  999. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +120 -76
  1000. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +120 -76
  1001. package/umd/synchronizers/synchronizer-local/index.js +129 -88
  1002. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +129 -88
  1003. package/umd/synchronizers/synchronizer-ws-client/index.js +138 -81
  1004. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +138 -81
  1005. package/umd/synchronizers/synchronizer-ws-server/index.js +149 -80
  1006. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +149 -80
  1007. package/umd/synchronizers/synchronizer-ws-server-durable-object/index.js +721 -19
  1008. package/umd/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +721 -19
  1009. package/umd/synchronizers/synchronizer-ws-server-simple/index.js +2 -1
  1010. package/umd/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +2 -1
  1011. package/umd/synchronizers/with-schemas/index.js +120 -76
  1012. package/umd/ui-react-inspector/index.js +17 -8
  1013. package/umd/ui-react-inspector/with-schemas/index.js +17 -8
  1014. package/umd/with-schemas/index.js +31 -27
  1015. package/with-schemas/index.js +31 -27
@@ -9,7 +9,16 @@
9
9
  * @since v5.4.0
10
10
  */
11
11
 
12
- import type {Id, IdAddedOrRemoved, Ids} from '../../../with-schemas/index.d.ts';
12
+ import type {
13
+ Id,
14
+ IdAddedOrRemoved,
15
+ Ids,
16
+ OptionalSchemas,
17
+ } from '../../../with-schemas/index.d.ts';
18
+ import type {
19
+ Persister,
20
+ Persists,
21
+ } from '../../../persisters/with-schemas/index.d.ts';
13
22
  import {DurableObject} from 'cloudflare:workers';
14
23
 
15
24
  /**
@@ -19,19 +28,152 @@ import {DurableObject} from 'cloudflare:workers';
19
28
  * @category Creation
20
29
  * @since v5.4.0
21
30
  */
22
- export class WsServerDurableObject<Env = unknown> extends DurableObject<Env> {
31
+ export class WsServerDurableObject<
32
+ Schemas extends OptionalSchemas,
33
+ Env = unknown,
34
+ > extends DurableObject<Env> {
35
+ /**
36
+ * The constructor is used to create the Durable Object that will synchronize
37
+ * the TinyBase clients.
38
+ *
39
+ * For basic TinyBase synchronization and persistence, you don't need to
40
+ * override this method, but if you do, ensure you call the super constructor.
41
+ * @returns A new instance of the WsServerDurableObject.
42
+ * @category Creation
43
+ * @since v5.4.0
44
+ */
45
+ constructor();
46
+
47
+ /**
48
+ * The createPersister method is used to return a persister for the Durable
49
+ * Object to preserve Store data when clients are not connected.
50
+ *
51
+ * This has schema-based typing. The following is a simplified representation:
52
+ *
53
+ * ```ts override
54
+ * createPersister():
55
+ * | Persister<Persists.MergeableStoreOnly>
56
+ * | Promise<Persister<Persists.MergeableStoreOnly>>
57
+ * | undefined;
58
+ * ```
59
+ *
60
+ * In other words, override this method to enable persistence of the Store
61
+ * data that the Durable Object is synchronizing between clients.
62
+ *
63
+ * This should almost certainly return a DurableObjectStoragePersister,
64
+ * created with the createDurableObjectStoragePersister function. This will
65
+ * ensure that the Store is serialized to the Durable Object KV-based storage.
66
+ *
67
+ * Returning `undefined` from this method will disable persistence.
68
+ * @example
69
+ * This example enables Durable Object persistence by creating a Persister
70
+ * object within the createPersister method of a WsServerDurableObject.
71
+ *
72
+ * ```js yolo
73
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
74
+ * import {createDurableObjectStoragePersister} from 'tinybase/persisters/persister-durable-object-storage';
75
+ * import {createMergeableStore} from 'tinybase';
76
+ *
77
+ * export class MyDurableObject extends WsServerDurableObject {
78
+ * createPersister() {
79
+ * const store = createMergeableStore();
80
+ * const persister = createDurableObjectStoragePersister(
81
+ * store,
82
+ * this.ctx.storage,
83
+ * );
84
+ * return persister;
85
+ * }
86
+ * }
87
+ * ```
88
+ * @returns A new instance of a DurableObjectStoragePersister (or a promise to
89
+ * resolve one) that will be used to persist data to the Durable Object.
90
+ * Return `undefined` if that functionality is not required.
91
+ * @category Creation
92
+ * @since v5.4.0
93
+ */
94
+ createPersister():
95
+ | Persister<Schemas, Persists.MergeableStoreOnly>
96
+ | Promise<Persister<Schemas, Persists.MergeableStoreOnly>>
97
+ | undefined;
98
+
99
+ /**
100
+ * The getPathId method is used to get the Id of the path that is being
101
+ * served.
102
+ *
103
+ * This is useful for when you want to know which path the current Durable
104
+ * Object is serving - for the purposes of logging, for example.
105
+ * @returns The Id of the path being served by the Durable Object.
106
+ * @example
107
+ * This example logs the path being served by the Durable Object every time a
108
+ * synchronization method is handled.
109
+ *
110
+ * ```js yolo
111
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
112
+ *
113
+ * export class MyDurableObject extends WsServerDurableObject {
114
+ * onMessage() {
115
+ * console.info('Message received on path: ', this.getPathId());
116
+ * }
117
+ * }
118
+ * ```
119
+ * @category Getter
120
+ * @since v5.4.0
121
+ */
122
+ getPathId(): Id;
123
+
23
124
  /**
24
125
  * The getClientIds method is used to access a list of all the connected
25
- * clients on a given path.
26
- * @category Getters
126
+ * clients on the path.
127
+ *
128
+ * Note that if you call this method from within the onClientId method as a
129
+ * client is getting removed, it will still be returned in the list of client
130
+ * Ids.
131
+ * @returns The Ids of the clients being served by the Durable Object.
132
+ * @example
133
+ * This example logs the list of clients being served by the Durable Object
134
+ * every time a synchronization method is handled.
135
+ *
136
+ * ```js yolo
137
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
138
+ *
139
+ * export class MyDurableObject extends WsServerDurableObject {
140
+ * onMessage() {
141
+ * console.info('Clients on path: ', this.getClientIds());
142
+ * }
143
+ * }
144
+ * ```
145
+ * @category Getter
27
146
  * @since v5.4.0
28
147
  */
29
- getClientIds(pathId: Id): Ids;
148
+ getClientIds(): Ids;
30
149
 
31
150
  /**
32
151
  * The onPathId method is called when the first client connects to, or the
33
152
  * last client disconnects from, the server with a given path Id.
34
- * @category Events
153
+ *
154
+ * This method is called with the path Id and an IdAddedOrRemoved flag
155
+ * indicating whether it this is being triggered by the first client joining
156
+ * (`1`) or the last client leaving (`-1`).
157
+ * @param pathId The Id of the path being served by the Durable Object.
158
+ * @param addedOrRemoved Whether the path had the first joiner, or the last
159
+ * leaver.
160
+ * @example
161
+ * This example logs the Id of the path being served by the Durable Object
162
+ * when the first client joins (the path Id is 'added'), and when the last
163
+ * client leaves (the path Id is 'removed').
164
+ *
165
+ * ```js yolo
166
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
167
+ *
168
+ * export class MyDurableObject extends WsServerDurableObject {
169
+ * onPathId(pathId, addedOrRemoved) {
170
+ * console.info(
171
+ * (addedOrRemoved ? 'Added' : 'Removed') + ` path ${pathId}`,
172
+ * );
173
+ * }
174
+ * }
175
+ * ```
176
+ * @category Event
35
177
  * @since v5.4.0
36
178
  */
37
179
  onPathId(pathId: Id, addedOrRemoved: IdAddedOrRemoved): void;
@@ -39,24 +181,155 @@ export class WsServerDurableObject<Env = unknown> extends DurableObject<Env> {
39
181
  /**
40
182
  * The onClientId method is called when a client connects to, or disconnects
41
183
  * from, the server.
42
- * @category Events
184
+ *
185
+ * This method is called with the path Id, the client Id, and an
186
+ * IdAddedOrRemoved flag indicating whether it this is being triggered by
187
+ * the client joining (`1`) or the client leaving (`-1`).
188
+ *
189
+ * Note that if you call the getClientIds method from within this method as a
190
+ * client is getting removed, it will still be returned in the list of client
191
+ * Ids.
192
+ * @param pathId The Id of the path being served by the Durable Object.
193
+ * @param clientId The Id of the client joining or leaving.
194
+ * @param addedOrRemoved Whether the client is joining or leaving.
195
+ * @example
196
+ * This example logs every client that joins (the client Id is 'added') or
197
+ * leaves (the client Id is 'removed') on the path being served by the Durable
198
+ * Object.
199
+ *
200
+ * ```js yolo
201
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
202
+ *
203
+ * export class MyDurableObject extends WsServerDurableObject {
204
+ * onClientId(pathId, clientId, addedOrRemoved) {
205
+ * console.info(
206
+ * (addedOrRemoved ? 'Added' : 'Removed') +
207
+ * ` client ${clientId} on path ${pathId}`,
208
+ * );
209
+ * }
210
+ * }
211
+ * ```
212
+ * @category Event
43
213
  * @since v5.4.0
44
214
  */
45
215
  onClientId(pathId: Id, clientId: Id, addedOrRemoved: IdAddedOrRemoved): void;
216
+
217
+ /**
218
+ * The onMessage method is called when a message is handled by the server.
219
+ *
220
+ * This is useful if you want to debug the synchronization process, though be
221
+ * aware that this method is called very frequently. It is called with the Id
222
+ * of the client the message came _from_, the the Id of the client the message
223
+ * is to be forwarded _to_, and the remainder of the message itself.
224
+ *
225
+ * Since this method is called often, it should be performant. The path Id is
226
+ * not passed as an argument, since it has a small cost to provide by default.
227
+ * You can use the getPathId method yourself if that information is needed.
228
+ * @param fromClientId The Id of the client that send the message.
229
+ * @param toClientId The Id of the client to receive the message (or empty for
230
+ * a broadcast).
231
+ * @param remainder The remainder of the body of the message.
232
+ * @example
233
+ * This example logs every message routed by the Durable Object between
234
+ * clients.
235
+ *
236
+ * ```js yolo
237
+ * import {WsServerDurableObject} from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
238
+ *
239
+ * export class MyDurableObject extends WsServerDurableObject {
240
+ * onMessage(fromClientId, toClientId, remainder) {
241
+ * console.info(
242
+ * `Message from '${fromClientId}' to '${toClientId}': ${remainder}`,
243
+ * );
244
+ * }
245
+ * }
246
+ * ```
247
+ * @category Event
248
+ * @since v5.4.0
249
+ */
250
+ onMessage(fromClientId: Id, toClientId: Id, remainder: string): void;
46
251
  }
47
252
 
48
253
  /**
49
- * The getWsServerDurableObjectFetch function returns a convenient fetch handler
50
- * for a Cloudflare worker to route requests to a WsServerDurableObject for the
51
- * given namespace.
254
+ * The getWsServerDurableObjectFetch function returns a convenient handler for a
255
+ * Cloudflare worker to route requests to the fetch handler of a
256
+ * WsServerDurableObject for the given namespace.
257
+ *
258
+ * This has schema-based typing. The following is a simplified representation:
259
+ *
260
+ * ```ts override
261
+ * getWsServerDurableObjectFetch<Namespace extends string>(
262
+ * namespace: Namespace,
263
+ * ): (
264
+ * request: Request,
265
+ * env: {
266
+ * [namespace in Namespace]: DurableObjectNamespace<WsServerDurableObject>;
267
+ * },
268
+ * ) => Response;
269
+ * ```
270
+ *
271
+ * The implementation of the function that this returns requires the request to
272
+ * be a WebSocket 'Upgrade' request, and for the client to have provided a
273
+ * `sec-websocket-key` header that the server can use as a unique key for the
274
+ * client.
275
+ *
276
+ * It then takes the path of the HTTP request and routes the upgrade request to
277
+ * a Durable Object (in the given namespace) for that path. From then on, the
278
+ * Durable Object handles all the WebSocket communication.
279
+ *
280
+ * Note that you'll need to have a Wrangler configuration that connects your
281
+ * Durable Object class to the namespace. In other words, you'll have something
282
+ * like this in your `wrangler.toml` file.
283
+ *
284
+ * ```toml
285
+ * [[durable_objects.bindings]]
286
+ * name = "MyDurableObjects"
287
+ * class_name = "MyDurableObject"
288
+ * ```
289
+ *
290
+ * Note that it is not required to use this handler to route TinyBase client
291
+ * requests in your Cloudflare app. If you have your own custom routing logic,
292
+ * path scheme, or authentication, for example, you can easily implement that in
293
+ * the worker's fetch method yourself. See the [Durable Objects
294
+ * documentation](https://developers.cloudflare.com/durable-objects/best-practices/create-durable-object-stubs-and-send-requests/#invoking-the-fetch-handler)
295
+ * for examples.
296
+ *
297
+ * You can also pass a newly created request to the Durable Object's `fetch`
298
+ * method. For example, you can overwrite the 'path' that the Durable Object
299
+ * thinks it is serving, perhaps to inject a unique authenticated user Id that
300
+ * wasn't actually provided by the client WebSocket.
301
+ * @param namespace A string for the namespace of the Durable Objects that you
302
+ * want this worker to route requests to.
303
+ * @returns A fetch handler that routes WebSocket upgrade requests to a Durable
304
+ * Object.
305
+ * @example
306
+ * This example sets up default routing of the WebSocket upgrade request to a
307
+ * Durable Object in the `MyDurableObjects` namespace. This would require the
308
+ * `wrangler.toml` configuration shown above.
309
+ *
310
+ * ```js yolo
311
+ * import {
312
+ * WsServerDurableObject,
313
+ * getWsServerDurableObjectFetch,
314
+ * } from 'tinybase/synchronizers/synchronizer-ws-server-durable-object';
315
+ *
316
+ * export class MyDurableObject extends WsServerDurableObject {}
317
+ *
318
+ * export default {fetch: getWsServerDurableObjectFetch('MyDurableObjects')};
319
+ * ```
52
320
  * @category Creation
53
321
  * @since v5.4.0
54
322
  */
55
- export function getWsServerDurableObjectFetch<Namespace extends string>(
323
+ export function getWsServerDurableObjectFetch<
324
+ Schemas extends OptionalSchemas,
325
+ Namespace extends string,
326
+ >(
56
327
  namespace: Namespace,
57
328
  ): (
58
329
  request: Request,
59
330
  env: {
60
- [namespace in Namespace]: DurableObjectNamespace<WsServerDurableObject>;
331
+ [namespace in Namespace]: DurableObjectNamespace<
332
+ WsServerDurableObject<Schemas>
333
+ >;
61
334
  },
62
335
  ) => Response;
package/cjs/es6/index.cjs CHANGED
@@ -1913,9 +1913,10 @@ const getHash = (value) => {
1913
1913
  return hash >>> 0;
1914
1914
  };
1915
1915
 
1916
+ const stampClone = ([value, time]) => stampNew(value, time);
1916
1917
  const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
1917
- const stampCloneWithoutHash = ([value, time]) => newStamp(value, time);
1918
- const newStamp = (value, time) => (time ? [value, time] : [value]);
1918
+ const stampNew = (value, time) => (time ? [value, time] : [value]);
1919
+ const stampNewWithHash = (value, time, hash) => [value, time, hash];
1919
1920
  const getStampHash = (stamp) => stamp[2];
1920
1921
  const hashIdAndHash = (id, hash) => getHash(id + ':' + hash);
1921
1922
  const replaceTimeHash = (oldTime, newTime) =>
@@ -1932,22 +1933,20 @@ const getLatestTime = (time1, time2) => {
1932
1933
  : ''
1933
1934
  );
1934
1935
  };
1935
- const stampUpdate = (stamp, hash, time) => {
1936
- stamp[2] = hash >>> 0;
1936
+ const stampUpdate = (stamp, time, hash) => {
1937
1937
  if (time > stamp[1]) {
1938
1938
  stamp[1] = time;
1939
1939
  }
1940
+ stamp[2] = hash >>> 0;
1940
1941
  };
1941
- const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
1942
+ const stampNewObj = (time = EMPTY_STRING) => stampNew(objNew(), time);
1942
1943
  const stampNewMap = (time = EMPTY_STRING) => [mapNew(), time, 0];
1943
1944
  const stampMapToObjWithHash = (
1944
1945
  [map, time, hash],
1945
1946
  mapper = stampCloneWithHash,
1946
1947
  ) => [mapToObj(map, mapper), time, hash];
1947
- const stampMapToObjWithoutHash = (
1948
- [map, time],
1949
- mapper = stampCloneWithoutHash,
1950
- ) => newStamp(mapToObj(map, mapper), time);
1948
+ const stampMapToObjWithoutHash = ([map, time], mapper = stampClone) =>
1949
+ stampNew(mapToObj(map, mapper), time);
1951
1950
  const stampValidate = (stamp, validateThing) =>
1952
1951
  isArray(stamp) &&
1953
1952
  size(stamp) == 3 &&
@@ -3509,7 +3508,7 @@ const createMergeableStore = (uniqueId) => {
3509
3508
  tableHash ^= isContent
3510
3509
  ? 0
3511
3510
  : replaceTimeHash(oldTableTime, incomingTableTime);
3512
- stampUpdate(tableStampMap, tableHash, incomingTableTime);
3511
+ stampUpdate(tableStampMap, incomingTableTime, tableHash);
3513
3512
  tablesHash ^= isContent
3514
3513
  ? 0
3515
3514
  : (oldTableHash ? hashIdAndHash(tableId, oldTableHash) : 0) ^
@@ -3520,7 +3519,7 @@ const createMergeableStore = (uniqueId) => {
3520
3519
  tablesHash ^= isContent
3521
3520
  ? 0
3522
3521
  : replaceTimeHash(oldTablesTime, incomingTablesTime);
3523
- stampUpdate(tablesStampMap, tablesHash, incomingTablesTime);
3522
+ stampUpdate(tablesStampMap, incomingTablesTime, tablesHash);
3524
3523
  const [valuesTime] = mergeCellsOrValues(
3525
3524
  values,
3526
3525
  valuesStampMap,
@@ -3556,6 +3555,7 @@ const createMergeableStore = (uniqueId) => {
3556
3555
  if (!oldThingTime || thingTime > oldThingTime) {
3557
3556
  stampUpdate(
3558
3557
  thingStampMap,
3558
+ thingTime,
3559
3559
  isContent
3560
3560
  ? incomingThingHash
3561
3561
  : getHash(
@@ -3563,7 +3563,6 @@ const createMergeableStore = (uniqueId) => {
3563
3563
  ':' +
3564
3564
  thingTime,
3565
3565
  ),
3566
- thingTime,
3567
3566
  );
3568
3567
  thingStampMap[0] = thing;
3569
3568
  thingsChanges[thingId] = thing;
@@ -3578,7 +3577,7 @@ const createMergeableStore = (uniqueId) => {
3578
3577
  thingsHash ^= isContent
3579
3578
  ? 0
3580
3579
  : replaceTimeHash(oldThingsTime, incomingThingsTime);
3581
- stampUpdate(thingsStampMap, thingsHash, incomingThingsTime);
3580
+ stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
3582
3581
  return [thingsTime, oldThingsHash, thingsStampMap[2]];
3583
3582
  };
3584
3583
  const preStartTransaction = () => {};
@@ -3742,7 +3741,7 @@ const createMergeableStore = (uniqueId) => {
3742
3741
  ),
3743
3742
  ),
3744
3743
  );
3745
- return newStamp(tablesObj, tablesTime);
3744
+ return stampNew(tablesObj, tablesTime);
3746
3745
  };
3747
3746
  const getMergeableValueHashes = () =>
3748
3747
  mapToObj(contentStampMap[1][0], getStampHash);
@@ -3750,11 +3749,11 @@ const createMergeableStore = (uniqueId) => {
3750
3749
  const [, [valueStampMaps, valuesTime]] = contentStampMap;
3751
3750
  const values = mapToObj(
3752
3751
  valueStampMaps,
3753
- stampCloneWithoutHash,
3752
+ stampClone,
3754
3753
  ([, , hash], valueId) =>
3755
3754
  hash == (otherValueHashes == null ? void 0 : otherValueHashes[valueId]),
3756
3755
  );
3757
- return newStamp(values, valuesTime);
3756
+ return stampNew(values, valuesTime);
3758
3757
  };
3759
3758
  const setMergeableContent = (mergeableContent) =>
3760
3759
  disableListeningToRawStoreChanges(() =>
@@ -3774,31 +3773,35 @@ const createMergeableStore = (uniqueId) => {
3774
3773
  });
3775
3774
  return mergeableStore;
3776
3775
  };
3777
- const getTransactionMergeableChanges = () => {
3778
- const [[tableStampMaps, tablesTime], [valueStampMaps, valuesTime]] =
3779
- contentStampMap;
3776
+ const getTransactionMergeableChanges = (withHashes = false) => {
3777
+ const [
3778
+ [tableStampMaps, tablesTime, tablesHash],
3779
+ [valueStampMaps, valuesTime, valuesHash],
3780
+ ] = contentStampMap;
3781
+ const newStamp = withHashes ? stampNewWithHash : stampNew;
3780
3782
  const tablesObj = {};
3781
3783
  collForEach(touchedCells, (touchedTable, tableId) =>
3782
3784
  ifNotUndefined(
3783
3785
  mapGet(tableStampMaps, tableId),
3784
- ([rowStampMaps, tableTime]) => {
3786
+ ([rowStampMaps, tableTime, tableHash]) => {
3785
3787
  const tableObj = {};
3786
3788
  collForEach(touchedTable, (touchedRow, rowId) =>
3787
3789
  ifNotUndefined(
3788
3790
  mapGet(rowStampMaps, rowId),
3789
- ([cellStampMaps, rowTime]) => {
3791
+ ([cellStampMaps, rowTime, rowHash]) => {
3790
3792
  const rowObj = {};
3791
3793
  collForEach(touchedRow, (cellId) => {
3792
3794
  ifNotUndefined(
3793
3795
  mapGet(cellStampMaps, cellId),
3794
- ([cell, time]) => (rowObj[cellId] = newStamp(cell, time)),
3796
+ ([cell, time, hash]) =>
3797
+ (rowObj[cellId] = newStamp(cell, time, hash)),
3795
3798
  );
3796
3799
  });
3797
- tableObj[rowId] = newStamp(rowObj, rowTime);
3800
+ tableObj[rowId] = newStamp(rowObj, rowTime, rowHash);
3798
3801
  },
3799
3802
  ),
3800
3803
  );
3801
- tablesObj[tableId] = newStamp(tableObj, tableTime);
3804
+ tablesObj[tableId] = newStamp(tableObj, tableTime, tableHash);
3802
3805
  },
3803
3806
  ),
3804
3807
  );
@@ -3806,12 +3809,13 @@ const createMergeableStore = (uniqueId) => {
3806
3809
  collForEach(touchedValues, (valueId) =>
3807
3810
  ifNotUndefined(
3808
3811
  mapGet(valueStampMaps, valueId),
3809
- ([value, time]) => (valuesObj[valueId] = newStamp(value, time)),
3812
+ ([value, time, hash]) =>
3813
+ (valuesObj[valueId] = newStamp(value, time, hash)),
3810
3814
  ),
3811
3815
  );
3812
3816
  return [
3813
- newStamp(tablesObj, tablesTime),
3814
- newStamp(valuesObj, valuesTime),
3817
+ newStamp(tablesObj, tablesTime, tablesHash),
3818
+ newStamp(valuesObj, valuesTime, valuesHash),
3815
3819
  1,
3816
3820
  ];
3817
3821
  };
@@ -253,9 +253,10 @@ const getHash = (value) => {
253
253
  return hash >>> 0;
254
254
  };
255
255
 
256
+ const stampClone = ([value, time]) => stampNew(value, time);
256
257
  const stampCloneWithHash = ([value, time, hash]) => [value, time, hash];
257
- const stampCloneWithoutHash = ([value, time]) => newStamp(value, time);
258
- const newStamp = (value, time) => (time ? [value, time] : [value]);
258
+ const stampNew = (value, time) => (time ? [value, time] : [value]);
259
+ const stampNewWithHash = (value, time, hash) => [value, time, hash];
259
260
  const getStampHash = (stamp) => stamp[2];
260
261
  const hashIdAndHash = (id, hash) => getHash(id + ':' + hash);
261
262
  const replaceTimeHash = (oldTime, newTime) =>
@@ -272,22 +273,20 @@ const getLatestTime = (time1, time2) => {
272
273
  : ''
273
274
  );
274
275
  };
275
- const stampUpdate = (stamp, hash, time) => {
276
- stamp[2] = hash >>> 0;
276
+ const stampUpdate = (stamp, time, hash) => {
277
277
  if (time > stamp[1]) {
278
278
  stamp[1] = time;
279
279
  }
280
+ stamp[2] = hash >>> 0;
280
281
  };
281
- const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
282
+ const stampNewObj = (time = EMPTY_STRING) => stampNew(objNew(), time);
282
283
  const stampNewMap = (time = EMPTY_STRING) => [mapNew(), time, 0];
283
284
  const stampMapToObjWithHash = (
284
285
  [map, time, hash],
285
286
  mapper = stampCloneWithHash,
286
287
  ) => [mapToObj(map, mapper), time, hash];
287
- const stampMapToObjWithoutHash = (
288
- [map, time],
289
- mapper = stampCloneWithoutHash,
290
- ) => newStamp(mapToObj(map, mapper), time);
288
+ const stampMapToObjWithoutHash = ([map, time], mapper = stampClone) =>
289
+ stampNew(mapToObj(map, mapper), time);
291
290
  const stampValidate = (stamp, validateThing) =>
292
291
  isArray(stamp) &&
293
292
  size(stamp) == 3 &&
@@ -2003,7 +2002,7 @@ const createMergeableStore = (uniqueId) => {
2003
2002
  tableHash ^= isContent
2004
2003
  ? 0
2005
2004
  : replaceTimeHash(oldTableTime, incomingTableTime);
2006
- stampUpdate(tableStampMap, tableHash, incomingTableTime);
2005
+ stampUpdate(tableStampMap, incomingTableTime, tableHash);
2007
2006
  tablesHash ^= isContent
2008
2007
  ? 0
2009
2008
  : (oldTableHash ? hashIdAndHash(tableId, oldTableHash) : 0) ^
@@ -2014,7 +2013,7 @@ const createMergeableStore = (uniqueId) => {
2014
2013
  tablesHash ^= isContent
2015
2014
  ? 0
2016
2015
  : replaceTimeHash(oldTablesTime, incomingTablesTime);
2017
- stampUpdate(tablesStampMap, tablesHash, incomingTablesTime);
2016
+ stampUpdate(tablesStampMap, incomingTablesTime, tablesHash);
2018
2017
  const [valuesTime] = mergeCellsOrValues(
2019
2018
  values,
2020
2019
  valuesStampMap,
@@ -2050,6 +2049,7 @@ const createMergeableStore = (uniqueId) => {
2050
2049
  if (!oldThingTime || thingTime > oldThingTime) {
2051
2050
  stampUpdate(
2052
2051
  thingStampMap,
2052
+ thingTime,
2053
2053
  isContent
2054
2054
  ? incomingThingHash
2055
2055
  : getHash(
@@ -2057,7 +2057,6 @@ const createMergeableStore = (uniqueId) => {
2057
2057
  ':' +
2058
2058
  thingTime,
2059
2059
  ),
2060
- thingTime,
2061
2060
  );
2062
2061
  thingStampMap[0] = thing;
2063
2062
  thingsChanges[thingId] = thing;
@@ -2072,7 +2071,7 @@ const createMergeableStore = (uniqueId) => {
2072
2071
  thingsHash ^= isContent
2073
2072
  ? 0
2074
2073
  : replaceTimeHash(oldThingsTime, incomingThingsTime);
2075
- stampUpdate(thingsStampMap, thingsHash, incomingThingsTime);
2074
+ stampUpdate(thingsStampMap, incomingThingsTime, thingsHash);
2076
2075
  return [thingsTime, oldThingsHash, thingsStampMap[2]];
2077
2076
  };
2078
2077
  const preStartTransaction = () => {};
@@ -2236,7 +2235,7 @@ const createMergeableStore = (uniqueId) => {
2236
2235
  ),
2237
2236
  ),
2238
2237
  );
2239
- return newStamp(tablesObj, tablesTime);
2238
+ return stampNew(tablesObj, tablesTime);
2240
2239
  };
2241
2240
  const getMergeableValueHashes = () =>
2242
2241
  mapToObj(contentStampMap[1][0], getStampHash);
@@ -2244,11 +2243,11 @@ const createMergeableStore = (uniqueId) => {
2244
2243
  const [, [valueStampMaps, valuesTime]] = contentStampMap;
2245
2244
  const values = mapToObj(
2246
2245
  valueStampMaps,
2247
- stampCloneWithoutHash,
2246
+ stampClone,
2248
2247
  ([, , hash], valueId) =>
2249
2248
  hash == (otherValueHashes == null ? void 0 : otherValueHashes[valueId]),
2250
2249
  );
2251
- return newStamp(values, valuesTime);
2250
+ return stampNew(values, valuesTime);
2252
2251
  };
2253
2252
  const setMergeableContent = (mergeableContent) =>
2254
2253
  disableListeningToRawStoreChanges(() =>
@@ -2268,31 +2267,35 @@ const createMergeableStore = (uniqueId) => {
2268
2267
  });
2269
2268
  return mergeableStore;
2270
2269
  };
2271
- const getTransactionMergeableChanges = () => {
2272
- const [[tableStampMaps, tablesTime], [valueStampMaps, valuesTime]] =
2273
- contentStampMap;
2270
+ const getTransactionMergeableChanges = (withHashes = false) => {
2271
+ const [
2272
+ [tableStampMaps, tablesTime, tablesHash],
2273
+ [valueStampMaps, valuesTime, valuesHash],
2274
+ ] = contentStampMap;
2275
+ const newStamp = withHashes ? stampNewWithHash : stampNew;
2274
2276
  const tablesObj = {};
2275
2277
  collForEach(touchedCells, (touchedTable, tableId) =>
2276
2278
  ifNotUndefined(
2277
2279
  mapGet(tableStampMaps, tableId),
2278
- ([rowStampMaps, tableTime]) => {
2280
+ ([rowStampMaps, tableTime, tableHash]) => {
2279
2281
  const tableObj = {};
2280
2282
  collForEach(touchedTable, (touchedRow, rowId) =>
2281
2283
  ifNotUndefined(
2282
2284
  mapGet(rowStampMaps, rowId),
2283
- ([cellStampMaps, rowTime]) => {
2285
+ ([cellStampMaps, rowTime, rowHash]) => {
2284
2286
  const rowObj = {};
2285
2287
  collForEach(touchedRow, (cellId) => {
2286
2288
  ifNotUndefined(
2287
2289
  mapGet(cellStampMaps, cellId),
2288
- ([cell, time]) => (rowObj[cellId] = newStamp(cell, time)),
2290
+ ([cell, time, hash]) =>
2291
+ (rowObj[cellId] = newStamp(cell, time, hash)),
2289
2292
  );
2290
2293
  });
2291
- tableObj[rowId] = newStamp(rowObj, rowTime);
2294
+ tableObj[rowId] = newStamp(rowObj, rowTime, rowHash);
2292
2295
  },
2293
2296
  ),
2294
2297
  );
2295
- tablesObj[tableId] = newStamp(tableObj, tableTime);
2298
+ tablesObj[tableId] = newStamp(tableObj, tableTime, tableHash);
2296
2299
  },
2297
2300
  ),
2298
2301
  );
@@ -2300,12 +2303,13 @@ const createMergeableStore = (uniqueId) => {
2300
2303
  collForEach(touchedValues, (valueId) =>
2301
2304
  ifNotUndefined(
2302
2305
  mapGet(valueStampMaps, valueId),
2303
- ([value, time]) => (valuesObj[valueId] = newStamp(value, time)),
2306
+ ([value, time, hash]) =>
2307
+ (valuesObj[valueId] = newStamp(value, time, hash)),
2304
2308
  ),
2305
2309
  );
2306
2310
  return [
2307
- newStamp(tablesObj, tablesTime),
2308
- newStamp(valuesObj, valuesTime),
2311
+ newStamp(tablesObj, tablesTime, tablesHash),
2312
+ newStamp(valuesObj, valuesTime, valuesHash),
2309
2313
  1,
2310
2314
  ];
2311
2315
  };