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
@@ -1,20 +1,74 @@
1
1
  import {DurableObject} from 'cloudflare:workers';
2
2
 
3
3
  const EMPTY_STRING = '';
4
+ const UNDEFINED = '\uFFFC';
4
5
  const strMatch = (str, regex) => (str == null ? void 0 : str.match(regex));
6
+ const strSplit = (str, separator = EMPTY_STRING, limit) =>
7
+ str.split(separator, limit);
5
8
 
9
+ const promise = Promise;
10
+ const GLOBAL = globalThis;
11
+ const THOUSAND = 1e3;
12
+ const startTimeout = (callback, sec = 0) =>
13
+ setTimeout(callback, sec * THOUSAND);
14
+ const math = Math;
15
+ const mathFloor = math.floor;
6
16
  const isUndefined = (thing) => thing == void 0;
7
17
  const ifNotUndefined = (value, then, otherwise) =>
8
18
  isUndefined(value) ? (otherwise == null ? void 0 : otherwise()) : then(value);
19
+ const isArray = (thing) => Array.isArray(thing);
9
20
  const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
10
21
  const size = (arrayOrString) => arrayOrString.length;
22
+ const test = (regex, subject) => regex.test(subject);
23
+ const promiseNew = (resolver) => new promise(resolver);
24
+ const errorNew = (message) => {
25
+ throw new Error(message);
26
+ };
11
27
 
12
28
  const arrayForEach = (array, cb) => array.forEach(cb);
13
29
  const arrayMap = (array, cb) => array.map(cb);
14
30
  const arrayIsEmpty = (array) => size(array) == 0;
31
+ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
32
+ const arrayClear = (array, to) => array.splice(0, to);
33
+ const arrayPush = (array, ...values) => array.push(...values);
34
+ const arrayShift = (array) => array.shift();
15
35
 
16
36
  const object = Object;
37
+ const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
38
+ const objEntries = object.entries;
39
+ const isObject = (obj) =>
40
+ !isUndefined(obj) &&
41
+ ifNotUndefined(
42
+ getPrototypeOf(obj),
43
+ (objPrototype) =>
44
+ objPrototype == object.prototype ||
45
+ isUndefined(getPrototypeOf(objPrototype)),
46
+
47
+ /* istanbul ignore next */
48
+ () => true,
49
+ );
50
+ const objIds = object.keys;
51
+ const objFreeze = object.freeze;
52
+ const objNew = (entries = []) => object.fromEntries(entries);
53
+ const objHas = (obj, id) => id in obj;
54
+ const objForEach = (obj, cb) =>
55
+ arrayForEach(objEntries(obj), ([id, value]) => cb(value, id));
17
56
  const objValues = (obj) => object.values(obj);
57
+ const objSize = (obj) => size(objIds(obj));
58
+ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
59
+ const objEnsure = (obj, id, getDefaultValue) => {
60
+ if (!objHas(obj, id)) {
61
+ obj[id] = getDefaultValue();
62
+ }
63
+ return obj[id];
64
+ };
65
+
66
+ const jsonString = JSON.stringify;
67
+ const jsonParse = JSON.parse;
68
+ const jsonStringWithUndefined = (obj) =>
69
+ jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
70
+ const jsonParseWithUndefined = (str) =>
71
+ jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
18
72
 
19
73
  const MESSAGE_SEPARATOR = '\n';
20
74
  const ifPayloadValid = (payload, then) => {
@@ -23,10 +77,815 @@ const ifPayloadValid = (payload, then) => {
23
77
  then(slice(payload, 0, splitAt), slice(payload, splitAt + 1));
24
78
  }
25
79
  };
80
+ const receivePayload = (payload, receive) =>
81
+ ifPayloadValid(payload, (fromClientId, remainder) =>
82
+ receive(fromClientId, ...jsonParseWithUndefined(remainder)),
83
+ );
84
+ const createPayload = (toClientId, ...args) =>
85
+ createRawPayload(
86
+ toClientId != null ? toClientId : EMPTY_STRING,
87
+ jsonStringWithUndefined(args),
88
+ );
26
89
  const createRawPayload = (clientId, remainder) =>
27
90
  clientId + MESSAGE_SEPARATOR + remainder;
28
91
 
92
+ const collSize = (coll) => {
93
+ var _a;
94
+ return (_a = coll == null ? void 0 : coll.size) != null ? _a : 0;
95
+ };
96
+ const collHas = (coll, keyOrValue) => {
97
+ var _a;
98
+ return (_a = coll == null ? void 0 : coll.has(keyOrValue)) != null
99
+ ? _a
100
+ : false;
101
+ };
102
+ const collIsEmpty = (coll) => isUndefined(coll) || collSize(coll) == 0;
103
+ const collForEach = (coll, cb) => (coll == null ? void 0 : coll.forEach(cb));
104
+ const collDel = (coll, keyOrValue) =>
105
+ coll == null ? void 0 : coll.delete(keyOrValue);
106
+
107
+ const mapNew = (entries) => new Map(entries);
108
+ const mapGet = (map, key) => (map == null ? void 0 : map.get(key));
109
+ const mapSet = (map, key, value) =>
110
+ isUndefined(value)
111
+ ? (collDel(map, key), map)
112
+ : map == null
113
+ ? void 0
114
+ : map.set(key, value);
115
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
116
+ if (!collHas(map, key)) {
117
+ mapSet(map, key, getDefaultValue());
118
+ } else {
119
+ hadExistingValue == null ? void 0 : hadExistingValue(mapGet(map, key));
120
+ }
121
+ return mapGet(map, key);
122
+ };
123
+ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
124
+ ifNotUndefined(
125
+ (ensureLeaf ? mapEnsure : mapGet)(
126
+ node,
127
+ path[p],
128
+ p > size(path) - 2 ? ensureLeaf : mapNew,
129
+ ),
130
+ (nodeOrLeaf) => {
131
+ if (p > size(path) - 2) {
132
+ if (pruneLeaf == null ? void 0 : pruneLeaf(nodeOrLeaf)) {
133
+ mapSet(node, path[p]);
134
+ }
135
+ return nodeOrLeaf;
136
+ }
137
+ const leaf = visitTree(nodeOrLeaf, path, ensureLeaf, pruneLeaf, p + 1);
138
+ if (collIsEmpty(nodeOrLeaf)) {
139
+ mapSet(node, path[p]);
140
+ }
141
+ return leaf;
142
+ },
143
+ );
144
+
145
+ const stampNew = (value, time) => (time ? [value, time] : [value]);
146
+ const getLatestTime = (time1, time2) => {
147
+ var _a;
148
+ return (
149
+ /* istanbul ignore next */
150
+ (_a =
151
+ (time1 != null ? time1 : '') > (time2 != null ? time2 : '')
152
+ ? time1
153
+ : time2) != null
154
+ ? _a
155
+ : ''
156
+ );
157
+ };
158
+ const stampNewObj = (time = EMPTY_STRING) => stampNew(objNew(), time);
159
+
160
+ const setNew = (entryOrEntries) =>
161
+ new Set(
162
+ isArray(entryOrEntries) || isUndefined(entryOrEntries)
163
+ ? entryOrEntries
164
+ : [entryOrEntries],
165
+ );
166
+ const setAdd = (set, value) => (set == null ? void 0 : set.add(value));
167
+
168
+ const INTEGER = /^\d+$/;
169
+ const getPoolFunctions = () => {
170
+ const pool = [];
171
+ let nextId = 0;
172
+ return [
173
+ (reuse) => {
174
+ var _a;
175
+ return (_a = reuse ? arrayShift(pool) : null) != null
176
+ ? _a
177
+ : EMPTY_STRING + nextId++;
178
+ },
179
+ (id) => {
180
+ if (test(INTEGER, id) && size(pool) < 1e3) {
181
+ arrayPush(pool, id);
182
+ }
183
+ },
184
+ ];
185
+ };
186
+
187
+ const getWildcardedLeaves = (deepIdSet, path = [EMPTY_STRING]) => {
188
+ const leaves = [];
189
+ const deep = (node, p) =>
190
+ p == size(path)
191
+ ? arrayPush(leaves, node)
192
+ : path[p] === null
193
+ ? collForEach(node, (node2) => deep(node2, p + 1))
194
+ : arrayForEach([path[p], null], (id) => deep(mapGet(node, id), p + 1));
195
+ deep(deepIdSet, 0);
196
+ return leaves;
197
+ };
198
+ const getListenerFunctions = (getThing) => {
199
+ let thing;
200
+ const [getId, releaseId] = getPoolFunctions();
201
+ const allListeners = mapNew();
202
+ const addListener = (
203
+ listener,
204
+ idSetNode,
205
+ path,
206
+ pathGetters = [],
207
+ extraArgsGetter = () => [],
208
+ ) => {
209
+ thing != null ? thing : (thing = getThing());
210
+ const id = getId(1);
211
+ mapSet(allListeners, id, [
212
+ listener,
213
+ idSetNode,
214
+ path,
215
+ pathGetters,
216
+ extraArgsGetter,
217
+ ]);
218
+ setAdd(
219
+ visitTree(idSetNode, path != null ? path : [EMPTY_STRING], setNew),
220
+ id,
221
+ );
222
+ return id;
223
+ };
224
+ const callListeners = (idSetNode, ids, ...extraArgs) =>
225
+ arrayForEach(getWildcardedLeaves(idSetNode, ids), (set) =>
226
+ collForEach(set, (id) =>
227
+ mapGet(allListeners, id)[0](
228
+ thing,
229
+ ...(ids != null ? ids : []),
230
+ ...extraArgs,
231
+ ),
232
+ ),
233
+ );
234
+ const delListener = (id) =>
235
+ ifNotUndefined(mapGet(allListeners, id), ([, idSetNode, idOrNulls]) => {
236
+ visitTree(
237
+ idSetNode,
238
+ idOrNulls != null ? idOrNulls : [EMPTY_STRING],
239
+ void 0,
240
+ (idSet) => {
241
+ collDel(idSet, id);
242
+ return collIsEmpty(idSet) ? 1 : 0;
243
+ },
244
+ );
245
+ mapSet(allListeners, id);
246
+ releaseId(id);
247
+ return idOrNulls;
248
+ });
249
+ const callListener = (id) =>
250
+ ifNotUndefined(
251
+ mapGet(allListeners, id),
252
+ ([listener, , path = [], pathGetters, extraArgsGetter]) => {
253
+ const callWithIds = (...ids) => {
254
+ var _a, _b;
255
+ const index = size(ids);
256
+ if (index == size(path)) {
257
+ listener(thing, ...ids, ...extraArgsGetter(ids));
258
+ } else if (isUndefined(path[index])) {
259
+ arrayForEach(
260
+ (_b =
261
+ (_a = pathGetters[index]) == null
262
+ ? void 0
263
+ : _a.call(pathGetters, ...ids)) != null
264
+ ? _b
265
+ : [],
266
+ (id2) => callWithIds(...ids, id2),
267
+ );
268
+ } else {
269
+ callWithIds(...ids, path[index]);
270
+ }
271
+ };
272
+ callWithIds();
273
+ },
274
+ );
275
+ return [addListener, callListeners, delListener, callListener];
276
+ };
277
+
278
+ var __defProp$1 = Object.defineProperty;
279
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
280
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
281
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
282
+ var __defNormalProp$1 = (obj, key, value) =>
283
+ key in obj
284
+ ? __defProp$1(obj, key, {
285
+ enumerable: true,
286
+ configurable: true,
287
+ writable: true,
288
+ value,
289
+ })
290
+ : (obj[key] = value);
291
+ var __spreadValues$1 = (a, b) => {
292
+ for (var prop in b || (b = {}))
293
+ if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
294
+ if (__getOwnPropSymbols$1)
295
+ for (var prop of __getOwnPropSymbols$1(b)) {
296
+ if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
297
+ }
298
+ return a;
299
+ };
300
+ var __async$2 = (__this, __arguments, generator) => {
301
+ return new Promise((resolve, reject) => {
302
+ var fulfilled = (value) => {
303
+ try {
304
+ step(generator.next(value));
305
+ } catch (e) {
306
+ reject(e);
307
+ }
308
+ };
309
+ var rejected = (value) => {
310
+ try {
311
+ step(generator.throw(value));
312
+ } catch (e) {
313
+ reject(e);
314
+ }
315
+ };
316
+ var step = (x) =>
317
+ x.done
318
+ ? resolve(x.value)
319
+ : Promise.resolve(x.value).then(fulfilled, rejected);
320
+ step((generator = generator.apply(__this, __arguments)).next());
321
+ });
322
+ };
323
+ const scheduleRunning = mapNew();
324
+ const scheduleActions = mapNew();
325
+ const getStoreFunctions = (
326
+ persist = 1 /* StoreOnly */,
327
+ store,
328
+ isSynchronizer,
329
+ ) =>
330
+ persist != 1 /* StoreOnly */ && store.isMergeable()
331
+ ? [
332
+ 1,
333
+ store.getMergeableContent,
334
+ () => store.getTransactionMergeableChanges(!isSynchronizer),
335
+ ([[changedTables], [changedValues]]) =>
336
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
337
+ store.setDefaultContent,
338
+ ]
339
+ : persist != 2 /* MergeableStoreOnly */
340
+ ? [
341
+ 0,
342
+ store.getContent,
343
+ store.getTransactionChanges,
344
+ ([changedTables, changedValues]) =>
345
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
346
+ store.setContent,
347
+ ]
348
+ : errorNew('Store type not supported by this Persister');
349
+ const createCustomPersister = (
350
+ store,
351
+ getPersisted,
352
+ setPersisted,
353
+ addPersisterListener,
354
+ delPersisterListener,
355
+ onIgnoredError,
356
+ persist,
357
+ extra = {},
358
+ isSynchronizer = 0,
359
+ scheduleId = [],
360
+ ) => {
361
+ let status = 0; /* Idle */
362
+ let loads = 0;
363
+ let saves = 0;
364
+ let action;
365
+ let autoLoadHandle;
366
+ let autoSaveListenerId;
367
+ mapEnsure(scheduleRunning, scheduleId, () => 0);
368
+ mapEnsure(scheduleActions, scheduleId, () => []);
369
+ const statusListeners = mapNew();
370
+ const [
371
+ isMergeableStore,
372
+ getContent,
373
+ getChanges,
374
+ hasChanges,
375
+ setDefaultContent,
376
+ ] = getStoreFunctions(persist, store, isSynchronizer);
377
+ const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
378
+ () => persister,
379
+ );
380
+ const setStatus = (newStatus) => {
381
+ if (newStatus != status) {
382
+ status = newStatus;
383
+ callListeners(statusListeners, void 0, status);
384
+ }
385
+ };
386
+ const run = () =>
387
+ __async$2(void 0, null, function* () {
388
+ /* istanbul ignore else */
389
+ if (!mapGet(scheduleRunning, scheduleId)) {
390
+ mapSet(scheduleRunning, scheduleId, 1);
391
+ while (
392
+ !isUndefined(
393
+ (action = arrayShift(mapGet(scheduleActions, scheduleId))),
394
+ )
395
+ ) {
396
+ try {
397
+ yield action();
398
+ } catch (error) {}
399
+ }
400
+ mapSet(scheduleRunning, scheduleId, 0);
401
+ }
402
+ });
403
+ const setContentOrChanges = (contentOrChanges) => {
404
+ (isMergeableStore &&
405
+ isArray(contentOrChanges == null ? void 0 : contentOrChanges[0])
406
+ ? (contentOrChanges == null ? void 0 : contentOrChanges[2]) === 1
407
+ ? store.applyMergeableChanges
408
+ : store.setMergeableContent
409
+ : (contentOrChanges == null ? void 0 : contentOrChanges[2]) === 1
410
+ ? store.applyChanges
411
+ : store.setContent)(contentOrChanges);
412
+ };
413
+ const load = (initialContent) =>
414
+ __async$2(void 0, null, function* () {
415
+ /* istanbul ignore else */
416
+ if (status != 2 /* Saving */) {
417
+ setStatus(1 /* Loading */);
418
+ loads++;
419
+ yield schedule(() =>
420
+ __async$2(void 0, null, function* () {
421
+ try {
422
+ const content = yield getPersisted();
423
+ if (isArray(content)) {
424
+ setContentOrChanges(content);
425
+ } else if (initialContent) {
426
+ setDefaultContent(initialContent);
427
+ } else {
428
+ errorNew(`Content is not an array: ${content}`);
429
+ }
430
+ } catch (error) {
431
+ if (initialContent) {
432
+ setDefaultContent(initialContent);
433
+ }
434
+ }
435
+ setStatus(0 /* Idle */);
436
+ }),
437
+ );
438
+ }
439
+ return persister;
440
+ });
441
+ const startAutoLoad = (initialContent) =>
442
+ __async$2(void 0, null, function* () {
443
+ stopAutoLoad();
444
+ yield load(initialContent);
445
+ try {
446
+ autoLoadHandle = yield addPersisterListener((content, changes) =>
447
+ __async$2(void 0, null, function* () {
448
+ if (changes || content) {
449
+ /* istanbul ignore else */
450
+ if (status != 2 /* Saving */) {
451
+ setStatus(1 /* Loading */);
452
+ loads++;
453
+ setContentOrChanges(changes != null ? changes : content);
454
+ setStatus(0 /* Idle */);
455
+ }
456
+ } else {
457
+ yield load();
458
+ }
459
+ }),
460
+ );
461
+ } catch (error) {}
462
+ return persister;
463
+ });
464
+ const stopAutoLoad = () => {
465
+ if (autoLoadHandle) {
466
+ delPersisterListener(autoLoadHandle);
467
+ autoLoadHandle = void 0;
468
+ }
469
+ return persister;
470
+ };
471
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
472
+ const save = (changes) =>
473
+ __async$2(void 0, null, function* () {
474
+ /* istanbul ignore else */
475
+ if (status != 1 /* Loading */) {
476
+ setStatus(2 /* Saving */);
477
+ saves++;
478
+ yield schedule(() =>
479
+ __async$2(void 0, null, function* () {
480
+ try {
481
+ yield setPersisted(getContent, changes);
482
+ } catch (error) {}
483
+ setStatus(0 /* Idle */);
484
+ }),
485
+ );
486
+ }
487
+ return persister;
488
+ });
489
+ const startAutoSave = () =>
490
+ __async$2(void 0, null, function* () {
491
+ stopAutoSave();
492
+ yield save();
493
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
494
+ const changes = getChanges();
495
+ if (hasChanges(changes)) {
496
+ save(changes);
497
+ }
498
+ });
499
+ return persister;
500
+ });
501
+ const stopAutoSave = () => {
502
+ if (autoSaveListenerId) {
503
+ store.delListener(autoSaveListenerId);
504
+ autoSaveListenerId = void 0;
505
+ }
506
+ return persister;
507
+ };
508
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
509
+ const getStatus = () => status;
510
+ const addStatusListener = (listener) =>
511
+ addListener(listener, statusListeners);
512
+ const delListener = (listenerId) => {
513
+ delListenerImpl(listenerId);
514
+ return store;
515
+ };
516
+ const schedule = (...actions) =>
517
+ __async$2(void 0, null, function* () {
518
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
519
+ yield run();
520
+ return persister;
521
+ });
522
+ const getStore = () => store;
523
+ const destroy = () => {
524
+ arrayClear(mapGet(scheduleActions, scheduleId));
525
+ return stopAutoLoad().stopAutoSave();
526
+ };
527
+ const getStats = () => ({loads, saves});
528
+ const persister = __spreadValues$1(
529
+ {
530
+ load,
531
+ startAutoLoad,
532
+ stopAutoLoad,
533
+ isAutoLoading,
534
+ save,
535
+ startAutoSave,
536
+ stopAutoSave,
537
+ isAutoSaving,
538
+ getStatus,
539
+ addStatusListener,
540
+ delListener,
541
+ schedule,
542
+ getStore,
543
+ destroy,
544
+ getStats,
545
+ },
546
+ extra,
547
+ );
548
+ return objFreeze(persister);
549
+ };
550
+
551
+ const MASK6 = 63;
552
+ const ENCODE = /* @__PURE__ */ strSplit(
553
+ '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
554
+ );
555
+ const encode = (num) => ENCODE[num & MASK6];
556
+
557
+ const getRandomValues = GLOBAL.crypto
558
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
559
+ : /* istanbul ignore next */
560
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
561
+ const getUniqueId = (length = 16) =>
562
+ arrayReduce(
563
+ getRandomValues(new Uint8Array(length)),
564
+ (uniqueId, number) => uniqueId + encode(number),
565
+ '',
566
+ );
567
+
568
+ var __defProp = Object.defineProperty;
569
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
570
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
571
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
572
+ var __defNormalProp = (obj, key, value) =>
573
+ key in obj
574
+ ? __defProp(obj, key, {
575
+ enumerable: true,
576
+ configurable: true,
577
+ writable: true,
578
+ value,
579
+ })
580
+ : (obj[key] = value);
581
+ var __spreadValues = (a, b) => {
582
+ for (var prop in b || (b = {}))
583
+ if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
584
+ if (__getOwnPropSymbols)
585
+ for (var prop of __getOwnPropSymbols(b)) {
586
+ if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
587
+ }
588
+ return a;
589
+ };
590
+ var __async$1 = (__this, __arguments, generator) => {
591
+ return new Promise((resolve, reject) => {
592
+ var fulfilled = (value) => {
593
+ try {
594
+ step(generator.next(value));
595
+ } catch (e) {
596
+ reject(e);
597
+ }
598
+ };
599
+ var rejected = (value) => {
600
+ try {
601
+ step(generator.throw(value));
602
+ } catch (e) {
603
+ reject(e);
604
+ }
605
+ };
606
+ var step = (x) =>
607
+ x.done
608
+ ? resolve(x.value)
609
+ : Promise.resolve(x.value).then(fulfilled, rejected);
610
+ step((generator = generator.apply(__this, __arguments)).next());
611
+ });
612
+ };
613
+ const createCustomSynchronizer = (
614
+ store,
615
+ send,
616
+ registerReceive,
617
+ destroyImpl,
618
+ requestTimeoutSeconds,
619
+ onSend,
620
+ onReceive,
621
+ onIgnoredError,
622
+ extra = {},
623
+ ) => {
624
+ let syncing = 0;
625
+ let persisterListener;
626
+ let sends = 0;
627
+ let receives = 0;
628
+ const pendingRequests = mapNew();
629
+ const getTransactionId = () => getUniqueId(11);
630
+ const sendImpl = (toClientId, requestId, message, body) => {
631
+ sends++;
632
+ send(toClientId, requestId, message, body);
633
+ };
634
+ const request = (toClientId, message, body, transactionId) =>
635
+ __async$1(void 0, null, function* () {
636
+ return promiseNew((resolve, reject) => {
637
+ const requestId = transactionId + '.' + getUniqueId(4);
638
+ const timeout = startTimeout(() => {
639
+ collDel(pendingRequests, requestId);
640
+ reject(
641
+ `No response from ${toClientId != null ? toClientId : 'anyone'} to ${requestId}, ` +
642
+ message,
643
+ );
644
+ }, requestTimeoutSeconds);
645
+ mapSet(pendingRequests, requestId, [
646
+ toClientId,
647
+ (response, fromClientId) => {
648
+ clearTimeout(timeout);
649
+ collDel(pendingRequests, requestId);
650
+ resolve([response, fromClientId, transactionId]);
651
+ },
652
+ ]);
653
+ sendImpl(toClientId, requestId, message, body);
654
+ });
655
+ });
656
+ const mergeTablesStamps = (tablesStamp, [tableStamps2, tablesTime2]) => {
657
+ objForEach(tableStamps2, ([rowStamps2, tableTime2], tableId) => {
658
+ const tableStamp = objEnsure(tablesStamp[0], tableId, stampNewObj);
659
+ objForEach(rowStamps2, ([cellStamps2, rowTime2], rowId) => {
660
+ const rowStamp = objEnsure(tableStamp[0], rowId, stampNewObj);
661
+ objForEach(
662
+ cellStamps2,
663
+ ([cell2, cellTime2], cellId) =>
664
+ (rowStamp[0][cellId] = stampNew(cell2, cellTime2)),
665
+ );
666
+ rowStamp[1] = getLatestTime(rowStamp[1], rowTime2);
667
+ });
668
+ tableStamp[1] = getLatestTime(tableStamp[1], tableTime2);
669
+ });
670
+ tablesStamp[1] = getLatestTime(tablesStamp[1], tablesTime2);
671
+ };
672
+ const getChangesFromOtherStore = (..._0) =>
673
+ __async$1(
674
+ void 0,
675
+ [..._0],
676
+ function* (
677
+ otherClientId = null,
678
+ otherContentHashes,
679
+ transactionId = getTransactionId(),
680
+ ) {
681
+ try {
682
+ if (isUndefined(otherContentHashes)) {
683
+ [otherContentHashes, otherClientId, transactionId] = yield request(
684
+ null,
685
+ 1 /* GetContentHashes */,
686
+ EMPTY_STRING,
687
+ transactionId,
688
+ );
689
+ }
690
+ const [otherTablesHash, otherValuesHash] = otherContentHashes;
691
+ const [tablesHash, valuesHash] = store.getMergeableContentHashes();
692
+ let tablesChanges = stampNewObj();
693
+ if (tablesHash != otherTablesHash) {
694
+ const [newTables, differentTableHashes] = (yield request(
695
+ otherClientId,
696
+ 4 /* GetTableDiff */,
697
+ store.getMergeableTableHashes(),
698
+ transactionId,
699
+ ))[0];
700
+ tablesChanges = newTables;
701
+ if (!objIsEmpty(differentTableHashes)) {
702
+ const [newRows, differentRowHashes] = (yield request(
703
+ otherClientId,
704
+ 5 /* GetRowDiff */,
705
+ store.getMergeableRowHashes(differentTableHashes),
706
+ transactionId,
707
+ ))[0];
708
+ mergeTablesStamps(tablesChanges, newRows);
709
+ if (!objIsEmpty(differentRowHashes)) {
710
+ const newCells = (yield request(
711
+ otherClientId,
712
+ 6 /* GetCellDiff */,
713
+ store.getMergeableCellHashes(differentRowHashes),
714
+ transactionId,
715
+ ))[0];
716
+ mergeTablesStamps(tablesChanges, newCells);
717
+ }
718
+ }
719
+ }
720
+ return [
721
+ tablesChanges,
722
+ valuesHash == otherValuesHash
723
+ ? stampNewObj()
724
+ : (yield request(
725
+ otherClientId,
726
+ 7 /* GetValueDiff */,
727
+ store.getMergeableValueHashes(),
728
+ transactionId,
729
+ ))[0],
730
+ 1,
731
+ ];
732
+ } catch (error) {}
733
+ },
734
+ );
735
+ const getPersisted = () =>
736
+ __async$1(void 0, null, function* () {
737
+ const changes = yield getChangesFromOtherStore();
738
+ return changes &&
739
+ (!objIsEmpty(changes[0][0]) || !objIsEmpty(changes[1][0]))
740
+ ? changes
741
+ : void 0;
742
+ });
743
+ const setPersisted = (_getContent, changes) =>
744
+ __async$1(void 0, null, function* () {
745
+ return changes
746
+ ? sendImpl(null, getTransactionId(), 3 /* ContentDiff */, changes)
747
+ : sendImpl(
748
+ null,
749
+ getTransactionId(),
750
+ 2 /* ContentHashes */,
751
+ store.getMergeableContentHashes(),
752
+ );
753
+ });
754
+ const addPersisterListener = (listener) => (persisterListener = listener);
755
+ const delPersisterListener = () => (persisterListener = void 0);
756
+ const startSync = (initialContent) =>
757
+ __async$1(void 0, null, function* () {
758
+ syncing = 1;
759
+ return yield (yield persister.startAutoLoad(
760
+ initialContent,
761
+ )).startAutoSave();
762
+ });
763
+ const stopSync = () => {
764
+ syncing = 0;
765
+ return persister.stopAutoLoad().stopAutoSave();
766
+ };
767
+ const destroy = () => {
768
+ return persister.stopSync();
769
+ };
770
+ const getSynchronizerStats = () => ({sends, receives});
771
+ const persister = createCustomPersister(
772
+ store,
773
+ getPersisted,
774
+ setPersisted,
775
+ addPersisterListener,
776
+ delPersisterListener,
777
+ onIgnoredError,
778
+ 2,
779
+ // MergeableStoreOnly
780
+ __spreadValues({startSync, stopSync, destroy, getSynchronizerStats}, extra),
781
+ 1,
782
+ );
783
+ registerReceive((fromClientId, transactionOrRequestId, message, body) => {
784
+ const isAutoLoading = syncing || persister.isAutoLoading();
785
+ receives++;
786
+ if (message == 0 /* Response */) {
787
+ ifNotUndefined(
788
+ mapGet(pendingRequests, transactionOrRequestId),
789
+ ([toClientId, handleResponse]) =>
790
+ isUndefined(toClientId) || toClientId == fromClientId
791
+ ? handleResponse(body, fromClientId)
792
+ : /* istanbul ignore next */
793
+ 0,
794
+ );
795
+ } else if (message == 2 /* ContentHashes */ && isAutoLoading) {
796
+ getChangesFromOtherStore(
797
+ fromClientId,
798
+ body,
799
+ transactionOrRequestId != null ? transactionOrRequestId : void 0,
800
+ )
801
+ .then((changes) => {
802
+ persisterListener == null
803
+ ? void 0
804
+ : persisterListener(void 0, changes);
805
+ })
806
+ .catch(onIgnoredError);
807
+ } else if (message == 3 /* ContentDiff */ && isAutoLoading) {
808
+ persisterListener == null ? void 0 : persisterListener(void 0, body);
809
+ } else {
810
+ ifNotUndefined(
811
+ message == 1 /* GetContentHashes */ &&
812
+ (syncing || persister.isAutoSaving())
813
+ ? store.getMergeableContentHashes()
814
+ : message == 4 /* GetTableDiff */
815
+ ? store.getMergeableTableDiff(body)
816
+ : message == 5 /* GetRowDiff */
817
+ ? store.getMergeableRowDiff(body)
818
+ : message == 6 /* GetCellDiff */
819
+ ? store.getMergeableCellDiff(body)
820
+ : message == 7 /* GetValueDiff */
821
+ ? store.getMergeableValueDiff(body)
822
+ : void 0,
823
+ (response) => {
824
+ sendImpl(
825
+ fromClientId,
826
+ transactionOrRequestId,
827
+ 0 /* Response */,
828
+ response,
829
+ );
830
+ },
831
+ );
832
+ }
833
+ });
834
+ return persister;
835
+ };
836
+
837
+ var __typeError = (msg) => {
838
+ throw TypeError(msg);
839
+ };
840
+ var __accessCheck = (obj, member, msg) =>
841
+ member.has(obj) || __typeError('Cannot ' + msg);
842
+ var __privateGet = (obj, member, getter) => (
843
+ __accessCheck(obj, member, 'read from private field'),
844
+ getter ? getter.call(obj) : member.get(obj)
845
+ );
846
+ var __privateAdd = (obj, member, value) =>
847
+ member.has(obj)
848
+ ? __typeError('Cannot add the same private member more than once')
849
+ : member instanceof WeakSet
850
+ ? member.add(obj)
851
+ : member.set(obj, value);
852
+ var __privateSet = (obj, member, value, setter) => (
853
+ __accessCheck(obj, member, 'write to private field'),
854
+ member.set(obj, value),
855
+ value
856
+ );
857
+ var __privateMethod = (obj, member, method) => (
858
+ __accessCheck(obj, member, 'access private method'), method
859
+ );
860
+ var __async = (__this, __arguments, generator) => {
861
+ return new Promise((resolve, reject) => {
862
+ var fulfilled = (value) => {
863
+ try {
864
+ step(generator.next(value));
865
+ } catch (e) {
866
+ reject(e);
867
+ }
868
+ };
869
+ var rejected = (value) => {
870
+ try {
871
+ step(generator.throw(value));
872
+ } catch (e) {
873
+ reject(e);
874
+ }
875
+ };
876
+ var step = (x) =>
877
+ x.done
878
+ ? resolve(x.value)
879
+ : Promise.resolve(x.value).then(fulfilled, rejected);
880
+ step((generator = generator.apply(__this, __arguments)).next());
881
+ });
882
+ };
883
+ var _serverClientSend,
884
+ _WsServerDurableObject_instances,
885
+ handleMessage_fn,
886
+ getClients_fn;
29
887
  const PATH_REGEX = /\/([^?]*)/;
888
+ const SERVER_CLIENT_ID = 'S';
30
889
  const getPathId = (request) => {
31
890
  var _a, _b;
32
891
  return (_b =
@@ -51,6 +910,39 @@ const createUpgradeRequiredResponse = () =>
51
910
  class WsServerDurableObject extends DurableObject {
52
911
  constructor(ctx, env) {
53
912
  super(ctx, env);
913
+ __privateAdd(this, _WsServerDurableObject_instances);
914
+ // @ts-expect-error See blockConcurrencyWhile
915
+ __privateAdd(this, _serverClientSend);
916
+ this.ctx.blockConcurrencyWhile(() =>
917
+ __async(this, null, function* () {
918
+ return yield ifNotUndefined(yield this.createPersister(), (persister) =>
919
+ __async(this, null, function* () {
920
+ const synchronizer = createCustomSynchronizer(
921
+ persister.getStore(),
922
+ (toClientId, requestId, message, body) =>
923
+ __privateMethod(
924
+ this,
925
+ _WsServerDurableObject_instances,
926
+ handleMessage_fn,
927
+ ).call(
928
+ this,
929
+ SERVER_CLIENT_ID,
930
+ createPayload(toClientId, requestId, message, body),
931
+ ),
932
+ (receive) =>
933
+ __privateSet(this, _serverClientSend, (payload) =>
934
+ receivePayload(payload, receive),
935
+ ),
936
+ () => {},
937
+ 1,
938
+ );
939
+ yield persister.load();
940
+ yield persister.startAutoSave();
941
+ startTimeout(synchronizer.startSync);
942
+ }),
943
+ );
944
+ }),
945
+ );
54
946
  }
55
947
  fetch(request) {
56
948
  const pathId = getPathId(request);
@@ -58,12 +950,20 @@ class WsServerDurableObject extends DurableObject {
58
950
  getClientId(request),
59
951
  (clientId) => {
60
952
  const [webSocket, client] = objValues(new WebSocketPair());
61
- client.serializeAttachment({pathId});
62
- if (arrayIsEmpty(this.ctx.getWebSockets())) {
953
+ if (
954
+ arrayIsEmpty(
955
+ __privateMethod(
956
+ this,
957
+ _WsServerDurableObject_instances,
958
+ getClients_fn,
959
+ ).call(this),
960
+ )
961
+ ) {
63
962
  this.onPathId(pathId, 1);
64
963
  }
65
- this.ctx.acceptWebSocket(client, [clientId]);
964
+ this.ctx.acceptWebSocket(client, [clientId, pathId]);
66
965
  this.onClientId(pathId, clientId, 1);
966
+ client.send(createPayload(SERVER_CLIENT_ID, null, 1, EMPTY_STRING));
67
967
  return createResponse(101, webSocket);
68
968
  },
69
969
  createUpgradeRequiredResponse,
@@ -71,38 +971,98 @@ class WsServerDurableObject extends DurableObject {
71
971
  }
72
972
  webSocketMessage(client, message) {
73
973
  ifNotUndefined(this.ctx.getTags(client)[0], (clientId) =>
74
- ifPayloadValid(message.toString(), (toClientId, remainder) => {
75
- var _a;
76
- const forwardedPayload = createRawPayload(clientId, remainder);
77
- if (toClientId === EMPTY_STRING) {
78
- arrayForEach(this.ctx.getWebSockets(), (otherClient) =>
79
- otherClient !== client ? otherClient.send(forwardedPayload) : 0,
80
- );
81
- } else {
82
- (_a = this.ctx.getWebSockets(toClientId)[0]) == null
83
- ? void 0
84
- : _a.send(forwardedPayload);
85
- }
86
- }),
974
+ __privateMethod(
975
+ this,
976
+ _WsServerDurableObject_instances,
977
+ handleMessage_fn,
978
+ ).call(this, clientId, message.toString(), client),
87
979
  );
88
980
  }
89
981
  webSocketClose(client) {
90
- const {pathId} = client.deserializeAttachment();
91
- this.onClientId(pathId, this.ctx.getTags(client)[0], -1);
92
- if (size(this.ctx.getWebSockets()) == 1) {
982
+ const [clientId, pathId] = this.ctx.getTags(client);
983
+ this.onClientId(pathId, clientId, -1);
984
+ if (
985
+ size(
986
+ __privateMethod(
987
+ this,
988
+ _WsServerDurableObject_instances,
989
+ getClients_fn,
990
+ ).call(this),
991
+ ) == 1
992
+ ) {
93
993
  this.onPathId(pathId, -1);
94
994
  }
95
995
  }
96
996
  // --
97
- getClientIds(_pathId) {
997
+ createPersister() {
998
+ return void 0;
999
+ }
1000
+ getPathId() {
1001
+ var _a;
1002
+ return (_a = this.ctx.getTags(
1003
+ __privateMethod(
1004
+ this,
1005
+ _WsServerDurableObject_instances,
1006
+ getClients_fn,
1007
+ ).call(this)[0],
1008
+ )) == null
1009
+ ? void 0
1010
+ : _a[1];
1011
+ }
1012
+ getClientIds() {
98
1013
  return arrayMap(
99
- this.ctx.getWebSockets(),
1014
+ __privateMethod(
1015
+ this,
1016
+ _WsServerDurableObject_instances,
1017
+ getClients_fn,
1018
+ ).call(this),
100
1019
  (client) => this.ctx.getTags(client)[0],
101
1020
  );
102
1021
  }
103
1022
  onPathId(_pathId, _addedOrRemoved) {}
104
1023
  onClientId(_pathId, _clientId, _addedOrRemoved) {}
1024
+ onMessage(_fromClientId, _toClientId, _remainder) {}
105
1025
  }
1026
+ _serverClientSend = new WeakMap();
1027
+ _WsServerDurableObject_instances = new WeakSet();
1028
+ // --
1029
+ handleMessage_fn = function (fromClientId, message, fromClient) {
1030
+ ifPayloadValid(message.toString(), (toClientId, remainder) => {
1031
+ var _a;
1032
+ const forwardedPayload = createRawPayload(fromClientId, remainder);
1033
+ this.onMessage(fromClientId, toClientId, remainder);
1034
+ if (toClientId == EMPTY_STRING) {
1035
+ if (fromClientId != SERVER_CLIENT_ID) {
1036
+ __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1037
+ }
1038
+ arrayForEach(
1039
+ __privateMethod(
1040
+ this,
1041
+ _WsServerDurableObject_instances,
1042
+ getClients_fn,
1043
+ ).call(this),
1044
+ (otherClient) => {
1045
+ if (otherClient != fromClient) {
1046
+ otherClient.send(forwardedPayload);
1047
+ }
1048
+ },
1049
+ );
1050
+ } else if (toClientId == SERVER_CLIENT_ID) {
1051
+ __privateGet(this, _serverClientSend).call(this, forwardedPayload);
1052
+ } else if (toClientId != fromClientId) {
1053
+ (_a = __privateMethod(
1054
+ this,
1055
+ _WsServerDurableObject_instances,
1056
+ getClients_fn,
1057
+ ).call(this, toClientId)[0]) == null
1058
+ ? void 0
1059
+ : _a.send(forwardedPayload);
1060
+ }
1061
+ });
1062
+ };
1063
+ getClients_fn = function (tag) {
1064
+ return this.ctx.getWebSockets(tag);
1065
+ };
106
1066
  const getWsServerDurableObjectFetch = (namespace) => (request, env) =>
107
1067
  getClientId(request)
108
1068
  ? env[namespace]