tinybase 5.1.0-beta.0 → 5.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/@types/persisters/index.d.cts +3 -1
  2. package/@types/persisters/index.d.ts +3 -1
  3. package/@types/persisters/with-schemas/index.d.cts +3 -1
  4. package/@types/persisters/with-schemas/index.d.ts +3 -1
  5. package/@types/synchronizers/index.d.cts +39 -23
  6. package/@types/synchronizers/index.d.ts +39 -23
  7. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +12 -1
  8. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +12 -1
  9. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +14 -1
  10. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +14 -1
  11. package/@types/synchronizers/synchronizer-local/index.d.cts +12 -3
  12. package/@types/synchronizers/synchronizer-local/index.d.ts +12 -3
  13. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +14 -3
  14. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +14 -3
  15. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +13 -1
  16. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +13 -1
  17. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +15 -1
  18. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +15 -1
  19. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +157 -29
  20. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +157 -29
  21. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +178 -29
  22. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +178 -29
  23. package/@types/synchronizers/with-schemas/index.d.cts +41 -23
  24. package/@types/synchronizers/with-schemas/index.d.ts +41 -23
  25. package/@types/ui-react/index.d.cts +62 -45
  26. package/@types/ui-react/index.d.ts +62 -45
  27. package/@types/ui-react/with-schemas/index.d.cts +83 -59
  28. package/@types/ui-react/with-schemas/index.d.ts +83 -59
  29. package/cjs/es6/index.cjs +101 -86
  30. package/cjs/es6/min/index.cjs +1 -1
  31. package/cjs/es6/min/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  93. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  94. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  95. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  96. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  97. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  98. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  99. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  100. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  101. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  102. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  103. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/ui-react/index.cjs +1 -1
  113. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  114. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  117. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  118. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/persisters/index.cjs +30 -21
  123. package/cjs/es6/persisters/persister-automerge/index.cjs +29 -24
  124. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +29 -24
  125. package/cjs/es6/persisters/persister-browser/index.cjs +35 -30
  126. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +35 -30
  127. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +29 -24
  128. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +29 -24
  129. package/cjs/es6/persisters/persister-electric-sql/index.cjs +29 -24
  130. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +29 -24
  131. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +29 -24
  132. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +29 -24
  133. package/cjs/es6/persisters/persister-file/index.cjs +41 -31
  134. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +41 -31
  135. package/cjs/es6/persisters/persister-indexed-db/index.cjs +29 -24
  136. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +29 -24
  137. package/cjs/es6/persisters/persister-libsql/index.cjs +286 -281
  138. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +286 -281
  139. package/cjs/es6/persisters/persister-partykit-client/index.cjs +29 -24
  140. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +29 -24
  141. package/cjs/es6/persisters/persister-powersync/index.cjs +29 -24
  142. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +29 -24
  143. package/cjs/es6/persisters/persister-remote/index.cjs +35 -30
  144. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +35 -30
  145. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +29 -24
  146. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +29 -24
  147. package/cjs/es6/persisters/persister-sqlite3/index.cjs +29 -24
  148. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +29 -24
  149. package/cjs/es6/persisters/persister-yjs/index.cjs +29 -24
  150. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  151. package/cjs/es6/persisters/with-schemas/index.cjs +30 -21
  152. package/cjs/es6/synchronizers/index.cjs +113 -102
  153. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +109 -104
  154. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +109 -104
  155. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +108 -105
  156. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +108 -105
  157. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +130 -119
  158. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +130 -119
  159. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +691 -37
  160. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +691 -37
  161. package/cjs/es6/synchronizers/with-schemas/index.cjs +113 -102
  162. package/cjs/es6/ui-react/index.cjs +14 -34
  163. package/cjs/es6/ui-react/with-schemas/index.cjs +14 -34
  164. package/cjs/es6/ui-react-inspector/index.cjs +26 -24
  165. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +26 -24
  166. package/cjs/es6/with-schemas/index.cjs +101 -86
  167. package/cjs/index.cjs +105 -91
  168. package/cjs/indexes/index.cjs +1 -1
  169. package/cjs/indexes/with-schemas/index.cjs +1 -1
  170. package/cjs/metrics/index.cjs +3 -3
  171. package/cjs/metrics/with-schemas/index.cjs +3 -3
  172. package/cjs/min/index.cjs +1 -1
  173. package/cjs/min/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/index.cjs +1 -1
  175. package/cjs/min/persisters/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/synchronizers/index.cjs +1 -1
  235. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  236. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  237. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  238. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  239. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  241. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  242. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  243. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  245. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  246. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  247. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  249. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  250. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  251. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  253. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/ui-react/index.cjs +1 -1
  255. package/cjs/min/ui-react/index.cjs.gz +0 -0
  256. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  257. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  259. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  260. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  261. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/with-schemas/index.cjs +1 -1
  263. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/persisters/index.cjs +28 -19
  265. package/cjs/persisters/persister-automerge/index.cjs +27 -22
  266. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +27 -22
  267. package/cjs/persisters/persister-browser/index.cjs +33 -28
  268. package/cjs/persisters/persister-browser/with-schemas/index.cjs +33 -28
  269. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +28 -23
  270. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +28 -23
  271. package/cjs/persisters/persister-electric-sql/index.cjs +28 -23
  272. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +28 -23
  273. package/cjs/persisters/persister-expo-sqlite/index.cjs +28 -23
  274. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +28 -23
  275. package/cjs/persisters/persister-file/index.cjs +39 -29
  276. package/cjs/persisters/persister-file/with-schemas/index.cjs +39 -29
  277. package/cjs/persisters/persister-indexed-db/index.cjs +27 -22
  278. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +27 -22
  279. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  280. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  281. package/cjs/persisters/persister-partykit-client/index.cjs +27 -22
  282. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +27 -22
  283. package/cjs/persisters/persister-powersync/index.cjs +28 -23
  284. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +28 -23
  285. package/cjs/persisters/persister-remote/index.cjs +33 -28
  286. package/cjs/persisters/persister-remote/with-schemas/index.cjs +33 -28
  287. package/cjs/persisters/persister-sqlite-wasm/index.cjs +28 -23
  288. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +28 -23
  289. package/cjs/persisters/persister-sqlite3/index.cjs +28 -23
  290. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +28 -23
  291. package/cjs/persisters/persister-yjs/index.cjs +29 -24
  292. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +29 -24
  293. package/cjs/persisters/with-schemas/index.cjs +28 -19
  294. package/cjs/queries/index.cjs +2 -2
  295. package/cjs/queries/with-schemas/index.cjs +2 -2
  296. package/cjs/relationships/index.cjs +1 -1
  297. package/cjs/relationships/with-schemas/index.cjs +1 -1
  298. package/cjs/synchronizers/index.cjs +105 -95
  299. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +101 -97
  300. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +101 -97
  301. package/cjs/synchronizers/synchronizer-local/index.cjs +100 -98
  302. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +100 -98
  303. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +119 -112
  304. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +119 -112
  305. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +524 -24
  306. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +524 -24
  307. package/cjs/synchronizers/with-schemas/index.cjs +105 -95
  308. package/cjs/ui-react/index.cjs +12 -12
  309. package/cjs/ui-react/with-schemas/index.cjs +12 -12
  310. package/cjs/ui-react-inspector/index.cjs +24 -22
  311. package/cjs/ui-react-inspector/with-schemas/index.cjs +24 -22
  312. package/cjs/with-schemas/index.cjs +105 -91
  313. package/es6/index.js +101 -86
  314. package/es6/min/index.js +1 -1
  315. package/es6/min/index.js.gz +0 -0
  316. package/es6/min/persisters/index.js +1 -1
  317. package/es6/min/persisters/index.js.gz +0 -0
  318. package/es6/min/persisters/persister-automerge/index.js +1 -1
  319. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  320. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  321. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  322. package/es6/min/persisters/persister-browser/index.js +1 -1
  323. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  324. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  325. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  326. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  327. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  329. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  331. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  333. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  335. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  337. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-file/index.js +1 -1
  339. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  341. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  343. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  345. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-libsql/index.js +1 -1
  347. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  351. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-powersync/index.js +1 -1
  355. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-remote/index.js +1 -1
  359. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  363. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  367. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-yjs/index.js +1 -1
  371. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  374. package/es6/min/persisters/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  376. package/es6/min/synchronizers/index.js +1 -1
  377. package/es6/min/synchronizers/index.js.gz +0 -0
  378. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  379. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  380. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  381. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  382. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  383. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  384. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  385. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  386. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  387. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  388. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  389. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  390. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  391. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  392. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  393. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  394. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  395. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  396. package/es6/min/ui-react/index.js +1 -1
  397. package/es6/min/ui-react/index.js.gz +0 -0
  398. package/es6/min/ui-react/with-schemas/index.js +1 -1
  399. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  400. package/es6/min/ui-react-inspector/index.js +1 -1
  401. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  402. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  403. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  404. package/es6/min/with-schemas/index.js +1 -1
  405. package/es6/min/with-schemas/index.js.gz +0 -0
  406. package/es6/persisters/index.js +30 -21
  407. package/es6/persisters/persister-automerge/index.js +29 -24
  408. package/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  409. package/es6/persisters/persister-browser/index.js +35 -30
  410. package/es6/persisters/persister-browser/with-schemas/index.js +35 -30
  411. package/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  412. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  413. package/es6/persisters/persister-electric-sql/index.js +29 -24
  414. package/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  415. package/es6/persisters/persister-expo-sqlite/index.js +29 -24
  416. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  417. package/es6/persisters/persister-file/index.js +42 -31
  418. package/es6/persisters/persister-file/with-schemas/index.js +42 -31
  419. package/es6/persisters/persister-indexed-db/index.js +29 -24
  420. package/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  421. package/es6/persisters/persister-libsql/index.js +286 -281
  422. package/es6/persisters/persister-libsql/with-schemas/index.js +286 -281
  423. package/es6/persisters/persister-partykit-client/index.js +29 -24
  424. package/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  425. package/es6/persisters/persister-powersync/index.js +29 -24
  426. package/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  427. package/es6/persisters/persister-remote/index.js +35 -30
  428. package/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  429. package/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  430. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  431. package/es6/persisters/persister-sqlite3/index.js +29 -24
  432. package/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  433. package/es6/persisters/persister-yjs/index.js +29 -24
  434. package/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  435. package/es6/persisters/with-schemas/index.js +30 -21
  436. package/es6/synchronizers/index.js +113 -102
  437. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +109 -104
  438. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +109 -104
  439. package/es6/synchronizers/synchronizer-local/index.js +108 -105
  440. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +108 -105
  441. package/es6/synchronizers/synchronizer-ws-client/index.js +130 -119
  442. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +130 -119
  443. package/es6/synchronizers/synchronizer-ws-server/index.js +691 -37
  444. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +691 -37
  445. package/es6/synchronizers/with-schemas/index.js +113 -102
  446. package/es6/ui-react/index.js +14 -34
  447. package/es6/ui-react/with-schemas/index.js +14 -34
  448. package/es6/ui-react-inspector/index.js +26 -24
  449. package/es6/ui-react-inspector/with-schemas/index.js +26 -24
  450. package/es6/with-schemas/index.js +101 -86
  451. package/index.js +105 -91
  452. package/indexes/index.js +1 -1
  453. package/indexes/with-schemas/index.js +1 -1
  454. package/metrics/index.js +3 -3
  455. package/metrics/with-schemas/index.js +3 -3
  456. package/min/index.js +1 -1
  457. package/min/index.js.gz +0 -0
  458. package/min/persisters/index.js +1 -1
  459. package/min/persisters/index.js.gz +0 -0
  460. package/min/persisters/persister-automerge/index.js +1 -1
  461. package/min/persisters/persister-automerge/index.js.gz +0 -0
  462. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  463. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  464. package/min/persisters/persister-browser/index.js +1 -1
  465. package/min/persisters/persister-browser/index.js.gz +0 -0
  466. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  467. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  468. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  469. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  470. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  471. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  472. package/min/persisters/persister-electric-sql/index.js +1 -1
  473. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  474. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  475. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  476. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  477. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  478. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  479. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-file/index.js +1 -1
  481. package/min/persisters/persister-file/index.js.gz +0 -0
  482. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-indexed-db/index.js +1 -1
  485. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  486. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-libsql/index.js +1 -1
  489. package/min/persisters/persister-libsql/index.js.gz +0 -0
  490. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-partykit-client/index.js +1 -1
  493. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  494. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-powersync/index.js +1 -1
  497. package/min/persisters/persister-powersync/index.js.gz +0 -0
  498. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-remote/index.js +1 -1
  501. package/min/persisters/persister-remote/index.js.gz +0 -0
  502. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  505. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  506. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-sqlite3/index.js +1 -1
  509. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  510. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-yjs/index.js +1 -1
  513. package/min/persisters/persister-yjs/index.js.gz +0 -0
  514. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/with-schemas/index.js +1 -1
  517. package/min/persisters/with-schemas/index.js.gz +0 -0
  518. package/min/synchronizers/index.js +1 -1
  519. package/min/synchronizers/index.js.gz +0 -0
  520. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  521. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  522. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  523. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  524. package/min/synchronizers/synchronizer-local/index.js +1 -1
  525. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  526. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  527. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  528. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  529. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  530. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  531. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  532. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  533. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  534. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  535. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  536. package/min/synchronizers/with-schemas/index.js +1 -1
  537. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  538. package/min/ui-react/index.js +1 -1
  539. package/min/ui-react/index.js.gz +0 -0
  540. package/min/ui-react/with-schemas/index.js +1 -1
  541. package/min/ui-react/with-schemas/index.js.gz +0 -0
  542. package/min/ui-react-inspector/index.js +1 -1
  543. package/min/ui-react-inspector/index.js.gz +0 -0
  544. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  545. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  546. package/min/with-schemas/index.js +1 -1
  547. package/min/with-schemas/index.js.gz +0 -0
  548. package/package.json +4 -1
  549. package/persisters/index.js +28 -19
  550. package/persisters/persister-automerge/index.js +27 -22
  551. package/persisters/persister-automerge/with-schemas/index.js +27 -22
  552. package/persisters/persister-browser/index.js +33 -28
  553. package/persisters/persister-browser/with-schemas/index.js +33 -28
  554. package/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  555. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  556. package/persisters/persister-electric-sql/index.js +28 -23
  557. package/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  558. package/persisters/persister-expo-sqlite/index.js +28 -23
  559. package/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  560. package/persisters/persister-file/index.js +40 -29
  561. package/persisters/persister-file/with-schemas/index.js +40 -29
  562. package/persisters/persister-indexed-db/index.js +27 -22
  563. package/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  564. package/persisters/persister-libsql/index.js +194 -189
  565. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  566. package/persisters/persister-partykit-client/index.js +27 -22
  567. package/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  568. package/persisters/persister-powersync/index.js +28 -23
  569. package/persisters/persister-powersync/with-schemas/index.js +28 -23
  570. package/persisters/persister-remote/index.js +33 -28
  571. package/persisters/persister-remote/with-schemas/index.js +33 -28
  572. package/persisters/persister-sqlite-wasm/index.js +28 -23
  573. package/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  574. package/persisters/persister-sqlite3/index.js +28 -23
  575. package/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  576. package/persisters/persister-yjs/index.js +29 -23
  577. package/persisters/persister-yjs/with-schemas/index.js +29 -23
  578. package/persisters/with-schemas/index.js +28 -19
  579. package/queries/index.js +2 -2
  580. package/queries/with-schemas/index.js +2 -2
  581. package/readme.md +14 -14
  582. package/relationships/index.js +1 -1
  583. package/relationships/with-schemas/index.js +1 -1
  584. package/releases.md +21 -21
  585. package/synchronizers/index.js +105 -95
  586. package/synchronizers/synchronizer-broadcast-channel/index.js +101 -97
  587. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +101 -97
  588. package/synchronizers/synchronizer-local/index.js +100 -98
  589. package/synchronizers/synchronizer-local/with-schemas/index.js +100 -98
  590. package/synchronizers/synchronizer-ws-client/index.js +119 -112
  591. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +119 -112
  592. package/synchronizers/synchronizer-ws-server/index.js +524 -24
  593. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +524 -24
  594. package/synchronizers/with-schemas/index.js +105 -95
  595. package/ui-react/index.js +12 -12
  596. package/ui-react/with-schemas/index.js +12 -12
  597. package/ui-react-inspector/index.js +24 -22
  598. package/ui-react-inspector/with-schemas/index.js +24 -22
  599. package/umd/es6/index.js +106 -91
  600. package/umd/es6/min/index.js +1 -1
  601. package/umd/es6/min/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/index.js +1 -1
  603. package/umd/es6/min/persisters/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  631. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  633. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  639. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  640. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  641. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  642. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  643. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  645. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  646. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  647. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  648. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  649. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  650. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  651. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  652. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  653. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  654. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  655. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  656. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  657. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  658. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  659. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  661. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  662. package/umd/es6/min/synchronizers/index.js +1 -1
  663. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  664. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  665. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  666. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  667. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  668. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  669. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  670. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  671. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  672. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  673. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  674. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  675. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  676. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  677. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  678. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  679. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  680. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  681. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/ui-react/index.js +1 -1
  683. package/umd/es6/min/ui-react/index.js.gz +0 -0
  684. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  685. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  686. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  687. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  688. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  689. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  690. package/umd/es6/min/with-schemas/index.js +1 -1
  691. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  692. package/umd/es6/persisters/index.js +30 -21
  693. package/umd/es6/persisters/persister-automerge/index.js +29 -24
  694. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +29 -24
  695. package/umd/es6/persisters/persister-browser/index.js +37 -32
  696. package/umd/es6/persisters/persister-browser/with-schemas/index.js +37 -32
  697. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +29 -24
  698. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -24
  699. package/umd/es6/persisters/persister-electric-sql/index.js +29 -24
  700. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +29 -24
  701. package/umd/es6/persisters/persister-expo-sqlite/index.js +29 -24
  702. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +29 -24
  703. package/umd/es6/persisters/persister-file/index.js +43 -33
  704. package/umd/es6/persisters/persister-file/with-schemas/index.js +43 -33
  705. package/umd/es6/persisters/persister-indexed-db/index.js +29 -24
  706. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +29 -24
  707. package/umd/es6/persisters/persister-libsql/index.js +291 -286
  708. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +291 -286
  709. package/umd/es6/persisters/persister-partykit-client/index.js +29 -24
  710. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +29 -24
  711. package/umd/es6/persisters/persister-powersync/index.js +29 -24
  712. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +29 -24
  713. package/umd/es6/persisters/persister-remote/index.js +35 -30
  714. package/umd/es6/persisters/persister-remote/with-schemas/index.js +35 -30
  715. package/umd/es6/persisters/persister-sqlite-wasm/index.js +29 -24
  716. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -24
  717. package/umd/es6/persisters/persister-sqlite3/index.js +29 -24
  718. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +29 -24
  719. package/umd/es6/persisters/persister-yjs/index.js +29 -24
  720. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +29 -24
  721. package/umd/es6/persisters/with-schemas/index.js +30 -21
  722. package/umd/es6/synchronizers/index.js +118 -107
  723. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +114 -109
  724. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +114 -109
  725. package/umd/es6/synchronizers/synchronizer-local/index.js +118 -110
  726. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +118 -110
  727. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +135 -124
  728. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +135 -124
  729. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +710 -37
  730. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +710 -37
  731. package/umd/es6/synchronizers/with-schemas/index.js +118 -107
  732. package/umd/es6/ui-react/index.js +17 -34
  733. package/umd/es6/ui-react/with-schemas/index.js +17 -34
  734. package/umd/es6/ui-react-inspector/index.js +26 -24
  735. package/umd/es6/ui-react-inspector/with-schemas/index.js +26 -24
  736. package/umd/es6/with-schemas/index.js +106 -91
  737. package/umd/index.js +108 -94
  738. package/umd/indexes/index.js +1 -1
  739. package/umd/indexes/with-schemas/index.js +1 -1
  740. package/umd/metrics/index.js +3 -3
  741. package/umd/metrics/with-schemas/index.js +3 -3
  742. package/umd/min/index.js +1 -1
  743. package/umd/min/index.js.gz +0 -0
  744. package/umd/min/persisters/index.js +1 -1
  745. package/umd/min/persisters/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-automerge/index.js +1 -1
  747. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  749. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-browser/index.js +1 -1
  751. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  753. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  755. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  757. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  759. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  761. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  763. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  765. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-file/index.js +1 -1
  767. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  769. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  771. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  773. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-libsql/index.js +1 -1
  775. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  777. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  779. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  780. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  781. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  782. package/umd/min/persisters/persister-powersync/index.js +1 -1
  783. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  784. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  785. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  786. package/umd/min/persisters/persister-remote/index.js +1 -1
  787. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  788. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  789. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  790. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  791. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  792. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  793. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  794. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  795. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  796. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  797. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  798. package/umd/min/persisters/persister-yjs/index.js +1 -1
  799. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  800. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  801. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  802. package/umd/min/persisters/with-schemas/index.js +1 -1
  803. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  804. package/umd/min/synchronizers/index.js +1 -1
  805. package/umd/min/synchronizers/index.js.gz +0 -0
  806. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  807. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  808. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  809. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  810. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  811. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  812. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  813. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  814. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  815. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  816. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  817. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  818. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  819. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  820. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  821. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  822. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  823. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  824. package/umd/min/ui-react/index.js +1 -1
  825. package/umd/min/ui-react/index.js.gz +0 -0
  826. package/umd/min/ui-react/with-schemas/index.js +1 -1
  827. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  828. package/umd/min/ui-react-inspector/index.js +1 -1
  829. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  830. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  831. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  832. package/umd/min/with-schemas/index.js +1 -1
  833. package/umd/min/with-schemas/index.js.gz +0 -0
  834. package/umd/persisters/index.js +28 -19
  835. package/umd/persisters/persister-automerge/index.js +27 -22
  836. package/umd/persisters/persister-automerge/with-schemas/index.js +27 -22
  837. package/umd/persisters/persister-browser/index.js +35 -30
  838. package/umd/persisters/persister-browser/with-schemas/index.js +35 -30
  839. package/umd/persisters/persister-cr-sqlite-wasm/index.js +28 -23
  840. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +28 -23
  841. package/umd/persisters/persister-electric-sql/index.js +28 -23
  842. package/umd/persisters/persister-electric-sql/with-schemas/index.js +28 -23
  843. package/umd/persisters/persister-expo-sqlite/index.js +28 -23
  844. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +28 -23
  845. package/umd/persisters/persister-file/index.js +41 -31
  846. package/umd/persisters/persister-file/with-schemas/index.js +41 -31
  847. package/umd/persisters/persister-indexed-db/index.js +27 -22
  848. package/umd/persisters/persister-indexed-db/with-schemas/index.js +27 -22
  849. package/umd/persisters/persister-libsql/index.js +196 -191
  850. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  851. package/umd/persisters/persister-partykit-client/index.js +27 -22
  852. package/umd/persisters/persister-partykit-client/with-schemas/index.js +27 -22
  853. package/umd/persisters/persister-powersync/index.js +28 -23
  854. package/umd/persisters/persister-powersync/with-schemas/index.js +28 -23
  855. package/umd/persisters/persister-remote/index.js +33 -28
  856. package/umd/persisters/persister-remote/with-schemas/index.js +33 -28
  857. package/umd/persisters/persister-sqlite-wasm/index.js +28 -23
  858. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +28 -23
  859. package/umd/persisters/persister-sqlite3/index.js +28 -23
  860. package/umd/persisters/persister-sqlite3/with-schemas/index.js +28 -23
  861. package/umd/persisters/persister-yjs/index.js +29 -24
  862. package/umd/persisters/persister-yjs/with-schemas/index.js +29 -24
  863. package/umd/persisters/with-schemas/index.js +28 -19
  864. package/umd/queries/index.js +2 -2
  865. package/umd/queries/with-schemas/index.js +2 -2
  866. package/umd/relationships/index.js +1 -1
  867. package/umd/relationships/with-schemas/index.js +1 -1
  868. package/umd/synchronizers/index.js +108 -98
  869. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +104 -100
  870. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +104 -100
  871. package/umd/synchronizers/synchronizer-local/index.js +108 -101
  872. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +108 -101
  873. package/umd/synchronizers/synchronizer-ws-client/index.js +122 -115
  874. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +122 -115
  875. package/umd/synchronizers/synchronizer-ws-server/index.js +544 -36
  876. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +544 -36
  877. package/umd/synchronizers/with-schemas/index.js +108 -98
  878. package/umd/ui-react/index.js +13 -12
  879. package/umd/ui-react/with-schemas/index.js +13 -12
  880. package/umd/ui-react-inspector/index.js +24 -22
  881. package/umd/ui-react-inspector/with-schemas/index.js +24 -22
  882. package/umd/with-schemas/index.js +108 -94
  883. package/with-schemas/index.js +105 -91
@@ -1,6 +1,11 @@
1
1
  const EMPTY_STRING = '';
2
2
  const UTF8 = 'utf8';
3
+ const UNDEFINED = '\uFFFC';
3
4
 
5
+ const promise = Promise;
6
+ const GLOBAL = globalThis;
7
+ const math = Math;
8
+ const mathFloor = math.floor;
4
9
  const isUndefined = (thing) => thing == void 0;
5
10
  const ifNotUndefined = (value, then, otherwise) =>
6
11
  isUndefined(value) ? otherwise?.() : then(value);
@@ -8,14 +13,46 @@ const isArray = (thing) => Array.isArray(thing);
8
13
  const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
9
14
  const size = (arrayOrString) => arrayOrString.length;
10
15
  const test = (regex, subject) => regex.test(subject);
16
+ const promiseNew = (resolver) => new promise(resolver);
17
+ const errorNew = (message) => {
18
+ throw new Error(message);
19
+ };
11
20
 
12
21
  const arrayForEach = (array, cb) => array.forEach(cb);
22
+ const arrayMap = (array, cb) => array.map(cb);
13
23
  const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
24
+ const arrayClear = (array, to) => array.splice(0, to);
14
25
  const arrayPush = (array, ...values) => array.push(...values);
15
26
  const arrayShift = (array) => array.shift();
16
27
 
17
28
  const object = Object;
29
+ const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
30
+ const objEntries = object.entries;
31
+ const isObject = (obj) =>
32
+ !isUndefined(obj) &&
33
+ ifNotUndefined(
34
+ getPrototypeOf(obj),
35
+ (objPrototype) =>
36
+ objPrototype == object.prototype ||
37
+ isUndefined(getPrototypeOf(objPrototype)),
38
+
39
+ /* istanbul ignore next */
40
+ () => true,
41
+ );
42
+ const objIds = object.keys;
18
43
  const objFreeze = object.freeze;
44
+ const objNew = (entries = []) => object.fromEntries(entries);
45
+ const objHas = (obj, id) => id in obj;
46
+ const objForEach = (obj, cb) =>
47
+ arrayForEach(objEntries(obj), ([id, value]) => cb(value, id));
48
+ const objSize = (obj) => size(objIds(obj));
49
+ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
50
+ const objEnsure = (obj, id, getDefaultValue) => {
51
+ if (!objHas(obj, id)) {
52
+ obj[id] = getDefaultValue();
53
+ }
54
+ return obj[id];
55
+ };
19
56
 
20
57
  const collSizeN = (collSizer) => (coll) =>
21
58
  arrayReduce(collValues(coll), (total, coll2) => total + collSizer(coll2), 0);
@@ -65,7 +102,413 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
65
102
  },
66
103
  );
67
104
 
105
+ const jsonStringWithUndefined = (obj) =>
106
+ JSON.stringify(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
107
+ const jsonParseWithUndefined = (str) =>
108
+ JSON.parse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
109
+
68
110
  const MESSAGE_SEPARATOR = '\n';
111
+ const ifPayloadValid = (payload, then) => {
112
+ const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
113
+ splitAt !== -1
114
+ ? then(slice(payload, 0, splitAt), slice(payload, splitAt + 1))
115
+ : 0;
116
+ };
117
+ const receivePayload = (payload, receive) =>
118
+ ifPayloadValid(payload, (fromClientId, remainder) =>
119
+ receive(fromClientId, ...jsonParseWithUndefined(remainder)),
120
+ );
121
+ const createPayload = (toClientId, ...args) =>
122
+ createRawPayload(toClientId ?? EMPTY_STRING, jsonStringWithUndefined(args));
123
+ const createRawPayload = (toClientId, remainder) =>
124
+ toClientId + MESSAGE_SEPARATOR + remainder;
125
+
126
+ new GLOBAL.TextEncoder();
127
+
128
+ const newStamp = (value, time) => (time ? [value, time] : [value]);
129
+ const getLatestTime = (time1, time2) =>
130
+ ((time1 ?? '') > (time2 ?? '') ? time1 : time2) ?? '';
131
+ const stampNewObj = (time = EMPTY_STRING) => newStamp(objNew(), time);
132
+
133
+ const scheduleRunning = mapNew();
134
+ const scheduleActions = mapNew();
135
+ const getStoreFunctions = (persist = 1 /* StoreOnly */, store) =>
136
+ persist != 1 /* StoreOnly */ && store.isMergeable()
137
+ ? [
138
+ 1,
139
+ store.getMergeableContent,
140
+ store.getTransactionMergeableChanges,
141
+ ([[changedTables], [changedValues]]) =>
142
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
143
+ store.setDefaultContent,
144
+ ]
145
+ : persist != 2 /* MergeableStoreOnly */
146
+ ? [
147
+ 0,
148
+ store.getContent,
149
+ store.getTransactionChanges,
150
+ ([changedTables, changedValues]) =>
151
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
152
+ store.setContent,
153
+ ]
154
+ : errorNew('Store type not supported by this Persister');
155
+ const createCustomPersister = (
156
+ store,
157
+ getPersisted,
158
+ setPersisted,
159
+ addPersisterListener,
160
+ delPersisterListener,
161
+ onIgnoredError,
162
+ persist,
163
+ extra = {},
164
+ scheduleId = [],
165
+ ) => {
166
+ let loadSave = 0;
167
+ let loads = 0;
168
+ let saves = 0;
169
+ let action;
170
+ let autoLoadHandle;
171
+ let autoSaveListenerId;
172
+ mapEnsure(scheduleRunning, scheduleId, () => 0);
173
+ mapEnsure(scheduleActions, scheduleId, () => []);
174
+ const [
175
+ isMergeableStore,
176
+ getContent,
177
+ getChanges,
178
+ hasChanges,
179
+ setDefaultContent,
180
+ ] = getStoreFunctions(persist, store);
181
+ const run = async () => {
182
+ /* istanbul ignore else */
183
+ if (!mapGet(scheduleRunning, scheduleId)) {
184
+ mapSet(scheduleRunning, scheduleId, 1);
185
+ while (
186
+ !isUndefined((action = arrayShift(mapGet(scheduleActions, scheduleId))))
187
+ ) {
188
+ try {
189
+ await action();
190
+ } catch (error) {}
191
+ }
192
+ mapSet(scheduleRunning, scheduleId, 0);
193
+ }
194
+ };
195
+ const setContentOrChanges = (contentOrChanges) => {
196
+ (isMergeableStore && isArray(contentOrChanges?.[0])
197
+ ? contentOrChanges?.[2] === 1
198
+ ? store.applyMergeableChanges
199
+ : store.setMergeableContent
200
+ : contentOrChanges?.[2] === 1
201
+ ? store.applyChanges
202
+ : store.setContent)(contentOrChanges);
203
+ };
204
+ const load = async (initialContent) => {
205
+ /* istanbul ignore else */
206
+ if (loadSave != 2) {
207
+ loadSave = 1;
208
+ loads++;
209
+ await schedule(async () => {
210
+ try {
211
+ setContentOrChanges(await getPersisted());
212
+ } catch (error) {
213
+ if (initialContent) {
214
+ setDefaultContent(initialContent);
215
+ }
216
+ }
217
+ loadSave = 0;
218
+ });
219
+ }
220
+ return persister;
221
+ };
222
+ const startAutoLoad = async (initialContent) => {
223
+ await stopAutoLoad().load(initialContent);
224
+ try {
225
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
226
+ if (changes || content) {
227
+ /* istanbul ignore else */
228
+ if (loadSave != 2) {
229
+ loadSave = 1;
230
+ loads++;
231
+ setContentOrChanges(changes ?? content);
232
+ loadSave = 0;
233
+ }
234
+ } else {
235
+ await load();
236
+ }
237
+ });
238
+ } catch (error) {}
239
+ return persister;
240
+ };
241
+ const stopAutoLoad = () => {
242
+ if (autoLoadHandle) {
243
+ delPersisterListener(autoLoadHandle);
244
+ autoLoadHandle = void 0;
245
+ }
246
+ return persister;
247
+ };
248
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
249
+ const save = async (changes) => {
250
+ /* istanbul ignore else */
251
+ if (loadSave != 1) {
252
+ loadSave = 2;
253
+ saves++;
254
+ await schedule(async () => {
255
+ try {
256
+ await setPersisted(getContent, changes);
257
+ } catch (error) {}
258
+ loadSave = 0;
259
+ });
260
+ }
261
+ return persister;
262
+ };
263
+ const startAutoSave = async () => {
264
+ await stopAutoSave().save();
265
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
266
+ const changes = getChanges();
267
+ if (hasChanges(changes)) {
268
+ save(changes);
269
+ }
270
+ });
271
+ return persister;
272
+ };
273
+ const stopAutoSave = () => {
274
+ ifNotUndefined(autoSaveListenerId, store.delListener);
275
+ autoSaveListenerId = void 0;
276
+ return persister;
277
+ };
278
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
279
+ const schedule = async (...actions) => {
280
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
281
+ await run();
282
+ return persister;
283
+ };
284
+ const getStore = () => store;
285
+ const destroy = () => {
286
+ arrayClear(mapGet(scheduleActions, scheduleId));
287
+ return stopAutoLoad().stopAutoSave();
288
+ };
289
+ const getStats = () => ({loads, saves});
290
+ const persister = {
291
+ load,
292
+ startAutoLoad,
293
+ stopAutoLoad,
294
+ isAutoLoading,
295
+ save,
296
+ startAutoSave,
297
+ stopAutoSave,
298
+ isAutoSaving,
299
+ schedule,
300
+ getStore,
301
+ destroy,
302
+ getStats,
303
+ ...extra,
304
+ };
305
+ return objFreeze(persister);
306
+ };
307
+
308
+ const MASK6 = 63;
309
+ const ENCODE =
310
+ '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'.split(
311
+ EMPTY_STRING,
312
+ );
313
+ mapNew(arrayMap(ENCODE, (char, index) => [char, index]));
314
+ const encode = (num) => ENCODE[num & MASK6];
315
+
316
+ const getRandomValues = GLOBAL.crypto
317
+ ? (array) => GLOBAL.crypto.getRandomValues(array)
318
+ : /* istanbul ignore next */
319
+ (array) => arrayMap(array, () => mathFloor(math.random() * 256));
320
+ const getUniqueId = (length = 16) =>
321
+ arrayReduce(
322
+ getRandomValues(new Uint8Array(length)),
323
+ (uniqueId, number) => uniqueId + encode(number),
324
+ '',
325
+ );
326
+
327
+ const createCustomSynchronizer = (
328
+ store,
329
+ send,
330
+ registerReceive,
331
+ destroyImpl,
332
+ requestTimeoutSeconds,
333
+ onSend,
334
+ onReceive,
335
+ onIgnoredError,
336
+ extra = {},
337
+ ) => {
338
+ let persisterListener;
339
+ let sends = 0;
340
+ let receives = 0;
341
+ const pendingRequests = mapNew();
342
+ const sendImpl = (toClientId, requestId, message, body) => {
343
+ sends++;
344
+ send(toClientId, requestId, message, body);
345
+ };
346
+ const request = async (toClientId, message, body = EMPTY_STRING) =>
347
+ promiseNew((resolve, reject) => {
348
+ const requestId = getUniqueId();
349
+ const timeout = setTimeout(() => {
350
+ collDel(pendingRequests, requestId);
351
+ reject(
352
+ `No response from ${toClientId ?? 'anyone'} to ${requestId}, ` +
353
+ message,
354
+ );
355
+ }, requestTimeoutSeconds * 1e3);
356
+ mapSet(pendingRequests, requestId, [
357
+ toClientId,
358
+ (response, fromClientId) => {
359
+ clearTimeout(timeout);
360
+ collDel(pendingRequests, requestId);
361
+ resolve([response, fromClientId]);
362
+ },
363
+ ]);
364
+ sendImpl(toClientId, requestId, message, body);
365
+ });
366
+ const mergeTablesStamps = (tablesStamp, [tableStamps2, tablesTime2]) => {
367
+ objForEach(tableStamps2, ([rowStamps2, tableTime2], tableId) => {
368
+ const tableStamp = objEnsure(tablesStamp[0], tableId, stampNewObj);
369
+ objForEach(rowStamps2, ([cellStamps2, rowTime2], rowId) => {
370
+ const rowStamp = objEnsure(tableStamp[0], rowId, stampNewObj);
371
+ objForEach(
372
+ cellStamps2,
373
+ ([cell2, cellTime2], cellId) =>
374
+ (rowStamp[0][cellId] = newStamp(cell2, cellTime2)),
375
+ );
376
+ rowStamp[1] = getLatestTime(rowStamp[1], rowTime2);
377
+ });
378
+ tableStamp[1] = getLatestTime(tableStamp[1], tableTime2);
379
+ });
380
+ tablesStamp[1] = getLatestTime(tablesStamp[1], tablesTime2);
381
+ };
382
+ const getChangesFromOtherStore = async (
383
+ otherClientId = null,
384
+ otherContentHashes,
385
+ ) => {
386
+ if (isUndefined(otherContentHashes)) {
387
+ [otherContentHashes, otherClientId] = await request(
388
+ otherClientId,
389
+ 1 /* GetContentHashes */,
390
+ );
391
+ }
392
+ const [otherTablesHash, otherValuesHash] = otherContentHashes;
393
+ const [tablesHash, valuesHash] = store.getMergeableContentHashes();
394
+ let tablesChanges = stampNewObj();
395
+ if (tablesHash != otherTablesHash) {
396
+ const [newTables, differentTableHashes] = (
397
+ await request(
398
+ otherClientId,
399
+ 4 /* GetTableDiff */,
400
+ store.getMergeableTableHashes(),
401
+ )
402
+ )[0];
403
+ tablesChanges = newTables;
404
+ if (!objIsEmpty(differentTableHashes)) {
405
+ const [newRows, differentRowHashes] = (
406
+ await request(
407
+ otherClientId,
408
+ 5 /* GetRowDiff */,
409
+ store.getMergeableRowHashes(differentTableHashes),
410
+ )
411
+ )[0];
412
+ mergeTablesStamps(tablesChanges, newRows);
413
+ if (!objIsEmpty(differentRowHashes)) {
414
+ const newCells = (
415
+ await request(
416
+ otherClientId,
417
+ 6 /* GetCellDiff */,
418
+ store.getMergeableCellHashes(differentRowHashes),
419
+ )
420
+ )[0];
421
+ mergeTablesStamps(tablesChanges, newCells);
422
+ }
423
+ }
424
+ }
425
+ return [
426
+ tablesChanges,
427
+ valuesHash == otherValuesHash
428
+ ? stampNewObj()
429
+ : (
430
+ await request(
431
+ otherClientId,
432
+ 7 /* GetValueDiff */,
433
+ store.getMergeableValueHashes(),
434
+ )
435
+ )[0],
436
+ 1,
437
+ ];
438
+ };
439
+ const getPersisted = async () => {
440
+ const changes = await getChangesFromOtherStore();
441
+ return !objIsEmpty(changes[0][0]) || !objIsEmpty(changes[1][0])
442
+ ? changes
443
+ : void 0;
444
+ };
445
+ const setPersisted = async (_getContent, changes) =>
446
+ changes
447
+ ? sendImpl(null, null, 3 /* ContentDiff */, changes)
448
+ : sendImpl(
449
+ null,
450
+ null,
451
+ 2 /* ContentHashes */,
452
+ store.getMergeableContentHashes(),
453
+ );
454
+ const addPersisterListener = (listener) => (persisterListener = listener);
455
+ const delPersisterListener = () => (persisterListener = void 0);
456
+ const startSync = async (initialContent) =>
457
+ await (await persister.startAutoLoad(initialContent)).startAutoSave();
458
+ const stopSync = () => persister.stopAutoLoad().stopAutoSave();
459
+ const destroy = () => {
460
+ return persister.stopSync();
461
+ };
462
+ const getSynchronizerStats = () => ({sends, receives});
463
+ const persister = createCustomPersister(
464
+ store,
465
+ getPersisted,
466
+ setPersisted,
467
+ addPersisterListener,
468
+ delPersisterListener,
469
+ onIgnoredError,
470
+ 2,
471
+ // MergeableStoreOnly
472
+ {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
473
+ );
474
+ registerReceive((fromClientId, requestId, message, body) => {
475
+ receives++;
476
+ if (message == 0 /* Response */) {
477
+ ifNotUndefined(
478
+ mapGet(pendingRequests, requestId),
479
+ ([toClientId, handleResponse]) =>
480
+ isUndefined(toClientId) || toClientId == fromClientId
481
+ ? handleResponse(body, fromClientId)
482
+ : /* istanbul ignore next */
483
+ 0,
484
+ );
485
+ } else if (message == 2 /* ContentHashes */ && persister.isAutoLoading()) {
486
+ getChangesFromOtherStore(fromClientId, body).then((changes) => {
487
+ persisterListener?.(void 0, changes);
488
+ });
489
+ } else if (message == 3 /* ContentDiff */ && persister.isAutoLoading()) {
490
+ persisterListener?.(void 0, body);
491
+ } else {
492
+ ifNotUndefined(
493
+ message == 1 /* GetContentHashes */ && persister.isAutoSaving()
494
+ ? store.getMergeableContentHashes()
495
+ : message == 4 /* GetTableDiff */
496
+ ? store.getMergeableTableDiff(body)
497
+ : message == 5 /* GetRowDiff */
498
+ ? store.getMergeableRowDiff(body)
499
+ : message == 6 /* GetCellDiff */
500
+ ? store.getMergeableCellDiff(body)
501
+ : message == 7 /* GetValueDiff */
502
+ ? store.getMergeableValueDiff(body)
503
+ : void 0,
504
+ (response) => {
505
+ sendImpl(fromClientId, requestId, 0 /* Response */, response);
506
+ },
507
+ );
508
+ }
509
+ });
510
+ return persister;
511
+ };
69
512
 
70
513
  const setNew = (entryOrEntries) =>
71
514
  new Set(
@@ -160,47 +603,104 @@ const getListenerFunctions = (getThing) => {
160
603
  };
161
604
 
162
605
  const PATH_REGEX = /\/([^?]*)/;
163
- const createWsServer = (webSocketServer) => {
606
+ const SERVER_CLIENT_ID = 'S';
607
+ const createWsServer = (webSocketServer, createPersisterForPath) => {
164
608
  const pathIdListeners = mapNew();
165
609
  const clientIdListeners = mapNew();
166
610
  const clientsByPath = mapNew();
611
+ const serverClientsByPath = mapNew();
167
612
  const [addListener, callListeners, delListenerImpl] = getListenerFunctions(
168
613
  () => wsServer,
169
614
  );
615
+ const configureServerClient = (serverClient, pathId, clients) =>
616
+ ifNotUndefined(createPersisterForPath?.(pathId), (persister) => {
617
+ serverClient[0 /* State */] = 1;
618
+ serverClient[1 /* Persister */] = persister;
619
+ const messageHandler = getMessageHandler(
620
+ SERVER_CLIENT_ID,
621
+ clients,
622
+ serverClient,
623
+ );
624
+ serverClient[2 /* Synchronizer */] = createCustomSynchronizer(
625
+ persister.getStore(),
626
+ (toClientId, requestId, message, body) =>
627
+ messageHandler(createPayload(toClientId, requestId, message, body)),
628
+ (receive) =>
629
+ (serverClient[3 /* Send */] = (payload) =>
630
+ receivePayload(payload, receive)),
631
+ () => {},
632
+ 1,
633
+ );
634
+ serverClient[4 /* Buffer */] = [];
635
+ });
636
+ const startServerClient = async (serverClient) => {
637
+ serverClient[0 /* State */] = 2 /* Starting */;
638
+ await serverClient[1 /* Persister */].schedule(
639
+ serverClient[1 /* Persister */].startAutoLoad,
640
+ serverClient[1 /* Persister */].startAutoSave,
641
+ serverClient[2 /* Synchronizer */].startSync,
642
+ );
643
+ serverClient[0 /* State */] = 0 /* Ready */;
644
+ };
645
+ const stopServerClient = (serverClient) => {
646
+ serverClient[1 /* Persister */]?.destroy();
647
+ serverClient[2 /* Synchronizer */]?.destroy();
648
+ };
649
+ const getMessageHandler = (clientId, clients, serverClient) => (payload) =>
650
+ ifPayloadValid(payload, (toClientId, remainder) => {
651
+ const forwardedPayload = createRawPayload(clientId, remainder);
652
+ if (toClientId === EMPTY_STRING) {
653
+ clientId !== SERVER_CLIENT_ID
654
+ ? serverClient[3 /* Send */]?.(forwardedPayload)
655
+ : 0;
656
+ mapForEach(clients, (otherClientId, otherWebSocket) =>
657
+ otherClientId !== clientId
658
+ ? otherWebSocket.send(forwardedPayload)
659
+ : 0,
660
+ );
661
+ } else {
662
+ toClientId === SERVER_CLIENT_ID
663
+ ? serverClient[3 /* Send */]?.(forwardedPayload)
664
+ : mapGet(clients, toClientId)?.send(forwardedPayload);
665
+ }
666
+ });
170
667
  webSocketServer.on('connection', (webSocket, request) =>
171
668
  ifNotUndefined(request.url?.match(PATH_REGEX), ([, pathId]) =>
172
- ifNotUndefined(request.headers['sec-websocket-key'], (clientId) => {
669
+ ifNotUndefined(request.headers['sec-websocket-key'], async (clientId) => {
173
670
  const clients = mapEnsure(clientsByPath, pathId, mapNew);
174
- mapSet(clients, clientId, webSocket);
175
- if (clients.size == 1) {
176
- callListeners(pathIdListeners, void 0, () => ({[pathId]: 1}));
671
+ const serverClient = mapEnsure(serverClientsByPath, pathId, () => [
672
+ 0 /* Ready */,
673
+ ]);
674
+ const messageHandler = getMessageHandler(
675
+ clientId,
676
+ clients,
677
+ serverClient,
678
+ );
679
+ if (collIsEmpty(clients)) {
680
+ callListeners(pathIdListeners, void 0, pathId, 1);
681
+ configureServerClient(serverClient, pathId, clients);
177
682
  }
178
- callListeners(clientIdListeners, [pathId], () => ({[clientId]: 1}));
683
+ mapSet(clients, clientId, webSocket);
684
+ callListeners(clientIdListeners, [pathId], clientId, 1);
179
685
  webSocket.on('message', (data) => {
180
686
  const payload = data.toString(UTF8);
181
- const splitAt = payload.indexOf(MESSAGE_SEPARATOR);
182
- if (splitAt !== -1) {
183
- const toClientId = slice(payload, 0, splitAt);
184
- const message = slice(payload, splitAt + 1);
185
- toClientId === EMPTY_STRING
186
- ? mapForEach(clients, (otherClientId, otherWebSocket) =>
187
- otherClientId != clientId
188
- ? otherWebSocket.send(
189
- clientId + MESSAGE_SEPARATOR + message,
190
- )
191
- : 0,
192
- )
193
- : mapGet(clients, toClientId)?.send(
194
- clientId + MESSAGE_SEPARATOR + message,
195
- );
196
- }
687
+ serverClient[0 /* State */] == 0 /* Ready */
688
+ ? messageHandler(payload)
689
+ : arrayPush(serverClient[4 /* Buffer */], payload);
197
690
  });
691
+ if (serverClient[0 /* State */] == 1 /* Configured */) {
692
+ await startServerClient(serverClient);
693
+ arrayForEach(serverClient[4 /* Buffer */], messageHandler);
694
+ serverClient[4 /* Buffer */] = [];
695
+ }
198
696
  webSocket.on('close', () => {
199
697
  collDel(clients, clientId);
200
- callListeners(clientIdListeners, [pathId], () => ({[clientId]: -1}));
698
+ callListeners(clientIdListeners, [pathId], clientId, -1);
201
699
  if (collIsEmpty(clients)) {
700
+ stopServerClient(serverClient);
701
+ collDel(serverClientsByPath, pathId);
202
702
  collDel(clientsByPath, pathId);
203
- callListeners(pathIdListeners, void 0, () => ({[pathId]: -1}));
703
+ callListeners(pathIdListeners, void 0, pathId, -1);
204
704
  }
205
705
  });
206
706
  }),