tinybase 5.0.0-beta.25 → 5.0.0-beta.27

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 (945) hide show
  1. package/@types/checkpoints/index.d.cts +4 -6
  2. package/@types/checkpoints/index.d.ts +4 -6
  3. package/@types/checkpoints/with-schemas/index.d.cts +4 -6
  4. package/@types/checkpoints/with-schemas/index.d.ts +4 -6
  5. package/@types/common/index.d.cts +1 -1
  6. package/@types/common/index.d.ts +1 -1
  7. package/@types/common/with-schemas/index.d.cts +1 -1
  8. package/@types/common/with-schemas/index.d.ts +1 -1
  9. package/@types/indexes/index.d.cts +3 -6
  10. package/@types/indexes/index.d.ts +3 -6
  11. package/@types/indexes/with-schemas/index.d.cts +3 -6
  12. package/@types/indexes/with-schemas/index.d.ts +3 -6
  13. package/@types/mergeable-store/index.d.cts +767 -22
  14. package/@types/mergeable-store/index.d.ts +767 -22
  15. package/@types/mergeable-store/with-schemas/index.d.cts +863 -22
  16. package/@types/mergeable-store/with-schemas/index.d.ts +863 -22
  17. package/@types/metrics/index.d.cts +3 -6
  18. package/@types/metrics/index.d.ts +3 -6
  19. package/@types/metrics/with-schemas/index.d.cts +3 -6
  20. package/@types/metrics/with-schemas/index.d.ts +3 -6
  21. package/@types/persisters/index.d.cts +221 -82
  22. package/@types/persisters/index.d.ts +221 -82
  23. package/@types/persisters/persister-automerge/index.d.cts +11 -7
  24. package/@types/persisters/persister-automerge/index.d.ts +11 -7
  25. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +11 -7
  26. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +11 -7
  27. package/@types/persisters/persister-browser/index.d.cts +25 -16
  28. package/@types/persisters/persister-browser/index.d.ts +25 -16
  29. package/@types/persisters/persister-browser/with-schemas/index.d.cts +23 -16
  30. package/@types/persisters/persister-browser/with-schemas/index.d.ts +23 -16
  31. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +10 -7
  32. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +10 -7
  33. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -7
  34. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -7
  35. package/@types/persisters/persister-electric-sql/index.d.cts +10 -7
  36. package/@types/persisters/persister-electric-sql/index.d.ts +10 -7
  37. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -7
  38. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -7
  39. package/@types/persisters/persister-expo-sqlite/index.d.cts +15 -10
  40. package/@types/persisters/persister-expo-sqlite/index.d.ts +15 -10
  41. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +14 -9
  42. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +14 -9
  43. package/@types/persisters/persister-file/index.d.cts +13 -8
  44. package/@types/persisters/persister-file/index.d.ts +13 -8
  45. package/@types/persisters/persister-file/with-schemas/index.d.cts +12 -8
  46. package/@types/persisters/persister-file/with-schemas/index.d.ts +12 -8
  47. package/@types/persisters/persister-indexed-db/index.d.cts +10 -6
  48. package/@types/persisters/persister-indexed-db/index.d.ts +10 -6
  49. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +10 -6
  50. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +10 -6
  51. package/@types/persisters/persister-libsql/index.d.cts +10 -6
  52. package/@types/persisters/persister-libsql/index.d.ts +10 -6
  53. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +10 -6
  54. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +10 -6
  55. package/@types/persisters/persister-partykit-client/index.d.cts +14 -9
  56. package/@types/persisters/persister-partykit-client/index.d.ts +14 -9
  57. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +14 -9
  58. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +14 -9
  59. package/@types/persisters/persister-partykit-server/index.d.cts +3 -3
  60. package/@types/persisters/persister-partykit-server/index.d.ts +3 -3
  61. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +3 -3
  62. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +3 -3
  63. package/@types/persisters/persister-powersync/index.d.cts +12 -7
  64. package/@types/persisters/persister-powersync/index.d.ts +12 -7
  65. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +12 -7
  66. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +12 -7
  67. package/@types/persisters/persister-remote/index.d.cts +11 -8
  68. package/@types/persisters/persister-remote/index.d.ts +11 -8
  69. package/@types/persisters/persister-remote/with-schemas/index.d.cts +11 -8
  70. package/@types/persisters/persister-remote/with-schemas/index.d.ts +11 -8
  71. package/@types/persisters/persister-sqlite-wasm/index.d.cts +15 -9
  72. package/@types/persisters/persister-sqlite-wasm/index.d.ts +15 -9
  73. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +14 -8
  74. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +14 -8
  75. package/@types/persisters/persister-sqlite3/index.d.cts +15 -9
  76. package/@types/persisters/persister-sqlite3/index.d.ts +15 -9
  77. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +14 -8
  78. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +14 -8
  79. package/@types/persisters/persister-yjs/index.d.cts +11 -6
  80. package/@types/persisters/persister-yjs/index.d.ts +11 -6
  81. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +11 -6
  82. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +11 -6
  83. package/@types/persisters/with-schemas/index.d.cts +266 -94
  84. package/@types/persisters/with-schemas/index.d.ts +266 -94
  85. package/@types/queries/index.d.cts +6 -10
  86. package/@types/queries/index.d.ts +6 -10
  87. package/@types/queries/with-schemas/index.d.cts +6 -10
  88. package/@types/queries/with-schemas/index.d.ts +6 -10
  89. package/@types/relationships/index.d.cts +3 -5
  90. package/@types/relationships/index.d.ts +3 -5
  91. package/@types/relationships/with-schemas/index.d.cts +3 -5
  92. package/@types/relationships/with-schemas/index.d.ts +3 -5
  93. package/@types/store/index.d.cts +24 -23
  94. package/@types/store/index.d.ts +24 -23
  95. package/@types/store/with-schemas/index.d.cts +24 -23
  96. package/@types/store/with-schemas/index.d.ts +24 -23
  97. package/@types/synchronizers/index.d.cts +351 -39
  98. package/@types/synchronizers/index.d.ts +351 -39
  99. package/@types/synchronizers/synchronizer-local/index.d.cts +62 -2
  100. package/@types/synchronizers/synchronizer-local/index.d.ts +62 -2
  101. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -2
  102. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -2
  103. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +49 -2
  104. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +49 -2
  105. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +49 -2
  106. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +49 -2
  107. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +5 -5
  108. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +5 -5
  109. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +5 -5
  110. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +5 -5
  111. package/@types/synchronizers/with-schemas/index.d.cts +354 -39
  112. package/@types/synchronizers/with-schemas/index.d.ts +354 -39
  113. package/@types/tools/index.d.cts +20 -10
  114. package/@types/tools/index.d.ts +20 -10
  115. package/@types/tools/with-schemas/index.d.cts +20 -10
  116. package/@types/tools/with-schemas/index.d.ts +20 -10
  117. package/@types/ui-react/index.d.cts +1 -1
  118. package/@types/ui-react/index.d.ts +1 -1
  119. package/@types/ui-react/with-schemas/index.d.cts +1 -1
  120. package/@types/ui-react/with-schemas/index.d.ts +1 -1
  121. package/@types/ui-react-dom/index.d.cts +2 -2
  122. package/@types/ui-react-dom/index.d.ts +2 -2
  123. package/@types/ui-react-dom/with-schemas/index.d.cts +2 -2
  124. package/@types/ui-react-dom/with-schemas/index.d.ts +2 -2
  125. package/@types/ui-react-inspector/with-schemas/index.d.cts +2 -2
  126. package/@types/ui-react-inspector/with-schemas/index.d.ts +2 -2
  127. package/cjs/es6/index.cjs +63 -51
  128. package/cjs/es6/mergeable-store/index.cjs +8 -8
  129. package/cjs/es6/mergeable-store/with-schemas/index.cjs +8 -8
  130. package/cjs/es6/min/index.cjs +1 -1
  131. package/cjs/es6/min/index.cjs.gz +0 -0
  132. package/cjs/es6/min/metrics/index.cjs +1 -1
  133. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  134. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  135. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  136. package/cjs/es6/min/persisters/index.cjs +1 -1
  137. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  138. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  139. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  140. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  141. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  142. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  143. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  144. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  145. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  146. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  147. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  148. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  149. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  150. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  151. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  152. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  153. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  154. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  155. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  156. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  157. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  159. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  160. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  161. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  163. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  164. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  165. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  167. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  168. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  169. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  171. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  172. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  173. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  175. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  176. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  177. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  179. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  180. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  181. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  183. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  184. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  185. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  187. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  188. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  189. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  191. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  192. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  193. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  195. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/es6/min/queries/index.cjs +1 -1
  197. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  198. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  199. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  201. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  202. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  203. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  204. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  205. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  207. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  208. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  209. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  211. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/es6/min/ui-react/index.cjs +1 -1
  213. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  214. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  215. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  217. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  218. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  219. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  221. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  222. package/cjs/es6/persisters/index.cjs +11 -5
  223. package/cjs/es6/persisters/persister-automerge/index.cjs +11 -6
  224. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  225. package/cjs/es6/persisters/persister-browser/index.cjs +17 -12
  226. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +17 -12
  227. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  228. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  229. package/cjs/es6/persisters/persister-electric-sql/index.cjs +17 -12
  230. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  231. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +17 -12
  232. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  233. package/cjs/es6/persisters/persister-file/index.cjs +16 -11
  234. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +16 -11
  235. package/cjs/es6/persisters/persister-indexed-db/index.cjs +11 -6
  236. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
  237. package/cjs/es6/persisters/persister-libsql/index.cjs +287 -282
  238. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +287 -282
  239. package/cjs/es6/persisters/persister-partykit-client/index.cjs +11 -6
  240. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  241. package/cjs/es6/persisters/persister-powersync/index.cjs +17 -12
  242. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  243. package/cjs/es6/persisters/persister-remote/index.cjs +17 -12
  244. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +17 -12
  245. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +17 -12
  246. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  247. package/cjs/es6/persisters/persister-sqlite3/index.cjs +17 -12
  248. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  249. package/cjs/es6/persisters/persister-yjs/index.cjs +11 -6
  250. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  251. package/cjs/es6/persisters/with-schemas/index.cjs +11 -5
  252. package/cjs/es6/synchronizers/index.cjs +68 -57
  253. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +70 -60
  254. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +70 -60
  255. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +67 -57
  256. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +67 -57
  257. package/cjs/es6/synchronizers/with-schemas/index.cjs +68 -57
  258. package/cjs/es6/ui-react/index.cjs +137 -75
  259. package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
  260. package/cjs/es6/ui-react-inspector/index.cjs +11 -6
  261. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +11 -6
  262. package/cjs/es6/with-schemas/index.cjs +63 -51
  263. package/cjs/index.cjs +63 -51
  264. package/cjs/mergeable-store/index.cjs +8 -8
  265. package/cjs/mergeable-store/with-schemas/index.cjs +8 -8
  266. package/cjs/min/index.cjs +1 -1
  267. package/cjs/min/index.cjs.gz +0 -0
  268. package/cjs/min/metrics/index.cjs +1 -1
  269. package/cjs/min/metrics/index.cjs.gz +0 -0
  270. package/cjs/min/metrics/with-schemas/index.cjs +1 -1
  271. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/index.cjs +1 -1
  273. package/cjs/min/persisters/index.cjs.gz +0 -0
  274. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  275. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  276. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  277. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  278. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  279. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  280. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  281. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  282. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  283. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  284. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  285. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  286. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  287. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  288. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  289. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  290. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  291. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  292. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  293. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  294. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  295. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  296. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  297. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  298. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  299. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  300. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  301. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  302. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  303. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  304. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  305. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  306. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  307. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  308. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  309. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  310. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  311. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  312. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  313. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  314. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  315. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  316. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  317. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  318. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  319. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  320. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  321. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  322. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  323. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  324. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  325. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  326. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  327. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  328. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  329. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  330. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  331. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  332. package/cjs/min/queries/index.cjs +1 -1
  333. package/cjs/min/queries/index.cjs.gz +0 -0
  334. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  335. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  336. package/cjs/min/synchronizers/index.cjs +1 -1
  337. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  338. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  339. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  340. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  341. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  342. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  343. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  344. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  345. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  346. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  347. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  348. package/cjs/min/ui-react/index.cjs +1 -1
  349. package/cjs/min/ui-react/index.cjs.gz +0 -0
  350. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  351. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  352. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  353. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  354. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  355. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  356. package/cjs/min/with-schemas/index.cjs +1 -1
  357. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  358. package/cjs/persisters/index.cjs +11 -5
  359. package/cjs/persisters/persister-automerge/index.cjs +11 -6
  360. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +11 -6
  361. package/cjs/persisters/persister-browser/index.cjs +17 -12
  362. package/cjs/persisters/persister-browser/with-schemas/index.cjs +17 -12
  363. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +17 -12
  364. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +17 -12
  365. package/cjs/persisters/persister-electric-sql/index.cjs +17 -12
  366. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +17 -12
  367. package/cjs/persisters/persister-expo-sqlite/index.cjs +17 -12
  368. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +17 -12
  369. package/cjs/persisters/persister-file/index.cjs +16 -11
  370. package/cjs/persisters/persister-file/with-schemas/index.cjs +16 -11
  371. package/cjs/persisters/persister-indexed-db/index.cjs +11 -6
  372. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +11 -6
  373. package/cjs/persisters/persister-libsql/index.cjs +194 -189
  374. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +194 -189
  375. package/cjs/persisters/persister-partykit-client/index.cjs +11 -6
  376. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +11 -6
  377. package/cjs/persisters/persister-powersync/index.cjs +17 -12
  378. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +17 -12
  379. package/cjs/persisters/persister-remote/index.cjs +17 -12
  380. package/cjs/persisters/persister-remote/with-schemas/index.cjs +17 -12
  381. package/cjs/persisters/persister-sqlite-wasm/index.cjs +17 -12
  382. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +17 -12
  383. package/cjs/persisters/persister-sqlite3/index.cjs +17 -12
  384. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +17 -12
  385. package/cjs/persisters/persister-yjs/index.cjs +11 -6
  386. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +11 -6
  387. package/cjs/persisters/with-schemas/index.cjs +11 -5
  388. package/cjs/synchronizers/index.cjs +61 -50
  389. package/cjs/synchronizers/synchronizer-local/index.cjs +63 -58
  390. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +63 -58
  391. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +60 -50
  392. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +60 -50
  393. package/cjs/synchronizers/with-schemas/index.cjs +61 -50
  394. package/cjs/ui-react/index.cjs +139 -74
  395. package/cjs/ui-react/with-schemas/index.cjs +139 -74
  396. package/cjs/ui-react-inspector/index.cjs +11 -6
  397. package/cjs/ui-react-inspector/with-schemas/index.cjs +11 -6
  398. package/cjs/with-schemas/index.cjs +63 -51
  399. package/es6/index.js +63 -51
  400. package/es6/mergeable-store/index.js +8 -8
  401. package/es6/mergeable-store/with-schemas/index.js +8 -8
  402. package/es6/min/index.js +1 -1
  403. package/es6/min/index.js.gz +0 -0
  404. package/es6/min/metrics/index.js +1 -1
  405. package/es6/min/metrics/index.js.gz +0 -0
  406. package/es6/min/metrics/with-schemas/index.js +1 -1
  407. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  408. package/es6/min/persisters/index.js +1 -1
  409. package/es6/min/persisters/index.js.gz +0 -0
  410. package/es6/min/persisters/persister-automerge/index.js +1 -1
  411. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  412. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  413. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  414. package/es6/min/persisters/persister-browser/index.js +1 -1
  415. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  416. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  417. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  418. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  419. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  420. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  421. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  422. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  423. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  424. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  425. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  426. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  427. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  428. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  429. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  430. package/es6/min/persisters/persister-file/index.js +1 -1
  431. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  432. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  433. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  434. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  435. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  436. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  437. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  438. package/es6/min/persisters/persister-libsql/index.js +1 -1
  439. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  440. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  441. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  442. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  443. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  444. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  445. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  446. package/es6/min/persisters/persister-powersync/index.js +1 -1
  447. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  448. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  449. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  450. package/es6/min/persisters/persister-remote/index.js +1 -1
  451. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  452. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  453. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  454. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  455. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  456. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  457. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  458. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  459. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  460. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  461. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  462. package/es6/min/persisters/persister-yjs/index.js +1 -1
  463. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  464. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  465. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  466. package/es6/min/persisters/with-schemas/index.js +1 -1
  467. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  468. package/es6/min/queries/index.js +1 -1
  469. package/es6/min/queries/index.js.gz +0 -0
  470. package/es6/min/queries/with-schemas/index.js +1 -1
  471. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  472. package/es6/min/synchronizers/index.js +1 -1
  473. package/es6/min/synchronizers/index.js.gz +0 -0
  474. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  475. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  476. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  477. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  478. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  479. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  480. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  481. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  482. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  483. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  484. package/es6/min/ui-react/index.js +1 -1
  485. package/es6/min/ui-react/index.js.gz +0 -0
  486. package/es6/min/ui-react/with-schemas/index.js +1 -1
  487. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  488. package/es6/min/ui-react-inspector/index.js +1 -1
  489. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  490. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  491. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  492. package/es6/min/with-schemas/index.js +1 -1
  493. package/es6/min/with-schemas/index.js.gz +0 -0
  494. package/es6/persisters/index.js +11 -6
  495. package/es6/persisters/persister-automerge/index.js +11 -6
  496. package/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  497. package/es6/persisters/persister-browser/index.js +17 -12
  498. package/es6/persisters/persister-browser/with-schemas/index.js +17 -12
  499. package/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  500. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  501. package/es6/persisters/persister-electric-sql/index.js +17 -12
  502. package/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  503. package/es6/persisters/persister-expo-sqlite/index.js +17 -12
  504. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  505. package/es6/persisters/persister-file/index.js +16 -11
  506. package/es6/persisters/persister-file/with-schemas/index.js +16 -11
  507. package/es6/persisters/persister-indexed-db/index.js +11 -6
  508. package/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  509. package/es6/persisters/persister-libsql/index.js +287 -282
  510. package/es6/persisters/persister-libsql/with-schemas/index.js +287 -282
  511. package/es6/persisters/persister-partykit-client/index.js +11 -6
  512. package/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  513. package/es6/persisters/persister-powersync/index.js +17 -12
  514. package/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  515. package/es6/persisters/persister-remote/index.js +17 -12
  516. package/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  517. package/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  518. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  519. package/es6/persisters/persister-sqlite3/index.js +17 -12
  520. package/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  521. package/es6/persisters/persister-yjs/index.js +11 -6
  522. package/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  523. package/es6/persisters/with-schemas/index.js +11 -6
  524. package/es6/synchronizers/index.js +68 -58
  525. package/es6/synchronizers/synchronizer-local/index.js +70 -60
  526. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +70 -60
  527. package/es6/synchronizers/synchronizer-ws-client/index.js +67 -57
  528. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +67 -57
  529. package/es6/synchronizers/with-schemas/index.js +68 -58
  530. package/es6/ui-react/index.js +137 -75
  531. package/es6/ui-react/with-schemas/index.js +137 -75
  532. package/es6/ui-react-inspector/index.js +11 -6
  533. package/es6/ui-react-inspector/with-schemas/index.js +11 -6
  534. package/es6/with-schemas/index.js +63 -51
  535. package/index.js +63 -51
  536. package/mergeable-store/index.js +8 -8
  537. package/mergeable-store/with-schemas/index.js +8 -8
  538. package/min/index.js +1 -1
  539. package/min/index.js.gz +0 -0
  540. package/min/metrics/index.js +1 -1
  541. package/min/metrics/index.js.gz +0 -0
  542. package/min/metrics/with-schemas/index.js +1 -1
  543. package/min/metrics/with-schemas/index.js.gz +0 -0
  544. package/min/persisters/index.js +1 -1
  545. package/min/persisters/index.js.gz +0 -0
  546. package/min/persisters/persister-automerge/index.js +1 -1
  547. package/min/persisters/persister-automerge/index.js.gz +0 -0
  548. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  549. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  550. package/min/persisters/persister-browser/index.js +1 -1
  551. package/min/persisters/persister-browser/index.js.gz +0 -0
  552. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  553. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  554. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  555. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  556. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  557. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  558. package/min/persisters/persister-electric-sql/index.js +1 -1
  559. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  560. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  561. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  562. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  563. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  564. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  565. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  566. package/min/persisters/persister-file/index.js +1 -1
  567. package/min/persisters/persister-file/index.js.gz +0 -0
  568. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  569. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  570. package/min/persisters/persister-indexed-db/index.js +1 -1
  571. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  572. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  573. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  574. package/min/persisters/persister-libsql/index.js +1 -1
  575. package/min/persisters/persister-libsql/index.js.gz +0 -0
  576. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  577. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  578. package/min/persisters/persister-partykit-client/index.js +1 -1
  579. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  580. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  581. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  582. package/min/persisters/persister-powersync/index.js +1 -1
  583. package/min/persisters/persister-powersync/index.js.gz +0 -0
  584. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  585. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  586. package/min/persisters/persister-remote/index.js +1 -1
  587. package/min/persisters/persister-remote/index.js.gz +0 -0
  588. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  589. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  590. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  591. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  592. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  593. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  594. package/min/persisters/persister-sqlite3/index.js +1 -1
  595. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  596. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  597. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  598. package/min/persisters/persister-yjs/index.js +1 -1
  599. package/min/persisters/persister-yjs/index.js.gz +0 -0
  600. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  601. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  602. package/min/persisters/with-schemas/index.js +1 -1
  603. package/min/persisters/with-schemas/index.js.gz +0 -0
  604. package/min/queries/index.js +1 -1
  605. package/min/queries/index.js.gz +0 -0
  606. package/min/queries/with-schemas/index.js +1 -1
  607. package/min/queries/with-schemas/index.js.gz +0 -0
  608. package/min/synchronizers/index.js +1 -1
  609. package/min/synchronizers/index.js.gz +0 -0
  610. package/min/synchronizers/synchronizer-local/index.js +1 -1
  611. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  612. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  613. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  614. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  615. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  616. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  617. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  618. package/min/synchronizers/with-schemas/index.js +1 -1
  619. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  620. package/min/ui-react/index.js +1 -1
  621. package/min/ui-react/index.js.gz +0 -0
  622. package/min/ui-react/with-schemas/index.js +1 -1
  623. package/min/ui-react/with-schemas/index.js.gz +0 -0
  624. package/min/ui-react-inspector/index.js +1 -1
  625. package/min/ui-react-inspector/index.js.gz +0 -0
  626. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  627. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  628. package/min/with-schemas/index.js +1 -1
  629. package/min/with-schemas/index.js.gz +0 -0
  630. package/package.json +9 -9
  631. package/persisters/index.js +11 -6
  632. package/persisters/persister-automerge/index.js +11 -6
  633. package/persisters/persister-automerge/with-schemas/index.js +11 -6
  634. package/persisters/persister-browser/index.js +17 -12
  635. package/persisters/persister-browser/with-schemas/index.js +17 -12
  636. package/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  637. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  638. package/persisters/persister-electric-sql/index.js +17 -12
  639. package/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  640. package/persisters/persister-expo-sqlite/index.js +17 -12
  641. package/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  642. package/persisters/persister-file/index.js +16 -11
  643. package/persisters/persister-file/with-schemas/index.js +16 -11
  644. package/persisters/persister-indexed-db/index.js +11 -6
  645. package/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  646. package/persisters/persister-libsql/index.js +194 -189
  647. package/persisters/persister-libsql/with-schemas/index.js +194 -189
  648. package/persisters/persister-partykit-client/index.js +11 -6
  649. package/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  650. package/persisters/persister-powersync/index.js +17 -12
  651. package/persisters/persister-powersync/with-schemas/index.js +17 -12
  652. package/persisters/persister-remote/index.js +17 -12
  653. package/persisters/persister-remote/with-schemas/index.js +17 -12
  654. package/persisters/persister-sqlite-wasm/index.js +17 -12
  655. package/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  656. package/persisters/persister-sqlite3/index.js +17 -12
  657. package/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  658. package/persisters/persister-yjs/index.js +11 -6
  659. package/persisters/persister-yjs/with-schemas/index.js +11 -6
  660. package/persisters/with-schemas/index.js +11 -6
  661. package/readme.md +2 -2
  662. package/releases.md +4 -4
  663. package/synchronizers/index.js +61 -51
  664. package/synchronizers/synchronizer-local/index.js +63 -58
  665. package/synchronizers/synchronizer-local/with-schemas/index.js +63 -58
  666. package/synchronizers/synchronizer-ws-client/index.js +60 -50
  667. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +60 -50
  668. package/synchronizers/with-schemas/index.js +61 -51
  669. package/ui-react/index.js +139 -74
  670. package/ui-react/with-schemas/index.js +139 -74
  671. package/ui-react-inspector/index.js +11 -6
  672. package/ui-react-inspector/with-schemas/index.js +11 -6
  673. package/umd/es6/index.js +67 -51
  674. package/umd/es6/mergeable-store/index.js +9 -8
  675. package/umd/es6/mergeable-store/with-schemas/index.js +9 -8
  676. package/umd/es6/min/index.js +1 -1
  677. package/umd/es6/min/index.js.gz +0 -0
  678. package/umd/es6/min/metrics/index.js +1 -1
  679. package/umd/es6/min/metrics/index.js.gz +0 -0
  680. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  681. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  682. package/umd/es6/min/persisters/index.js +1 -1
  683. package/umd/es6/min/persisters/index.js.gz +0 -0
  684. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  685. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  686. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  687. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  688. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  689. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  690. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  691. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  692. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  693. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  694. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  695. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  696. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  697. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  698. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  699. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  700. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  701. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  702. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  703. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  704. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  705. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  706. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  707. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  708. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  709. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  710. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  711. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  712. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  713. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  714. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  715. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  716. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  717. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  718. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  719. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  720. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  721. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  722. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  723. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  724. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  725. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  726. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  727. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  728. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  729. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  730. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  731. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  732. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  733. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  734. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  735. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  736. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  737. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  738. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  739. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  740. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  741. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  742. package/umd/es6/min/queries/index.js +1 -1
  743. package/umd/es6/min/queries/index.js.gz +0 -0
  744. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  745. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  746. package/umd/es6/min/synchronizers/index.js +1 -1
  747. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  748. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  749. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  750. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  751. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  752. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  753. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  754. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  755. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  756. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  757. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  758. package/umd/es6/min/ui-react/index.js +1 -1
  759. package/umd/es6/min/ui-react/index.js.gz +0 -0
  760. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  761. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  762. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  763. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  764. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  765. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  766. package/umd/es6/min/with-schemas/index.js +1 -1
  767. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  768. package/umd/es6/persisters/index.js +11 -5
  769. package/umd/es6/persisters/persister-automerge/index.js +11 -6
  770. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +11 -6
  771. package/umd/es6/persisters/persister-browser/index.js +19 -14
  772. package/umd/es6/persisters/persister-browser/with-schemas/index.js +19 -14
  773. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  774. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  775. package/umd/es6/persisters/persister-electric-sql/index.js +17 -12
  776. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  777. package/umd/es6/persisters/persister-expo-sqlite/index.js +17 -12
  778. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  779. package/umd/es6/persisters/persister-file/index.js +18 -13
  780. package/umd/es6/persisters/persister-file/with-schemas/index.js +18 -13
  781. package/umd/es6/persisters/persister-indexed-db/index.js +11 -6
  782. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  783. package/umd/es6/persisters/persister-libsql/index.js +289 -284
  784. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +289 -284
  785. package/umd/es6/persisters/persister-partykit-client/index.js +11 -6
  786. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  787. package/umd/es6/persisters/persister-powersync/index.js +17 -12
  788. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +17 -12
  789. package/umd/es6/persisters/persister-remote/index.js +17 -12
  790. package/umd/es6/persisters/persister-remote/with-schemas/index.js +17 -12
  791. package/umd/es6/persisters/persister-sqlite-wasm/index.js +17 -12
  792. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  793. package/umd/es6/persisters/persister-sqlite3/index.js +17 -12
  794. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  795. package/umd/es6/persisters/persister-yjs/index.js +11 -6
  796. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +11 -6
  797. package/umd/es6/persisters/with-schemas/index.js +11 -5
  798. package/umd/es6/synchronizers/index.js +71 -57
  799. package/umd/es6/synchronizers/synchronizer-local/index.js +73 -60
  800. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +73 -60
  801. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +70 -57
  802. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +70 -57
  803. package/umd/es6/synchronizers/with-schemas/index.js +71 -57
  804. package/umd/es6/ui-react/index.js +135 -72
  805. package/umd/es6/ui-react/with-schemas/index.js +135 -72
  806. package/umd/es6/ui-react-inspector/index.js +11 -6
  807. package/umd/es6/ui-react-inspector/with-schemas/index.js +11 -6
  808. package/umd/es6/with-schemas/index.js +67 -51
  809. package/umd/index.js +66 -55
  810. package/umd/mergeable-store/index.js +8 -8
  811. package/umd/mergeable-store/with-schemas/index.js +8 -8
  812. package/umd/min/index.js +1 -1
  813. package/umd/min/index.js.gz +0 -0
  814. package/umd/min/metrics/index.js +1 -1
  815. package/umd/min/metrics/index.js.gz +0 -0
  816. package/umd/min/metrics/with-schemas/index.js +1 -1
  817. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  818. package/umd/min/persisters/index.js +1 -1
  819. package/umd/min/persisters/index.js.gz +0 -0
  820. package/umd/min/persisters/persister-automerge/index.js +1 -1
  821. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  822. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  823. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  824. package/umd/min/persisters/persister-browser/index.js +1 -1
  825. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  826. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  827. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  828. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  829. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  830. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  831. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  832. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  833. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  834. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  835. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  836. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  837. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  838. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  839. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  840. package/umd/min/persisters/persister-file/index.js +1 -1
  841. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  842. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  843. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  844. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  845. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  846. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  847. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  848. package/umd/min/persisters/persister-libsql/index.js +1 -1
  849. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  850. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  851. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  852. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  853. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  854. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  855. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  856. package/umd/min/persisters/persister-powersync/index.js +1 -1
  857. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  858. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  859. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  860. package/umd/min/persisters/persister-remote/index.js +1 -1
  861. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  862. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  863. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  864. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  865. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  866. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  867. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  868. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  869. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  870. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  871. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  872. package/umd/min/persisters/persister-yjs/index.js +1 -1
  873. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  874. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  875. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  876. package/umd/min/persisters/with-schemas/index.js +1 -1
  877. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  878. package/umd/min/queries/index.js +1 -1
  879. package/umd/min/queries/index.js.gz +0 -0
  880. package/umd/min/queries/with-schemas/index.js +1 -1
  881. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  882. package/umd/min/synchronizers/index.js +1 -1
  883. package/umd/min/synchronizers/index.js.gz +0 -0
  884. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  885. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  886. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  887. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  888. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  889. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  890. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  891. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  892. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  893. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  894. package/umd/min/ui-react/index.js +1 -1
  895. package/umd/min/ui-react/index.js.gz +0 -0
  896. package/umd/min/ui-react/with-schemas/index.js +1 -1
  897. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  898. package/umd/min/ui-react-inspector/index.js +1 -1
  899. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  900. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  901. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  902. package/umd/min/with-schemas/index.js +1 -1
  903. package/umd/min/with-schemas/index.js.gz +0 -0
  904. package/umd/persisters/index.js +11 -5
  905. package/umd/persisters/persister-automerge/index.js +11 -6
  906. package/umd/persisters/persister-automerge/with-schemas/index.js +11 -6
  907. package/umd/persisters/persister-browser/index.js +19 -14
  908. package/umd/persisters/persister-browser/with-schemas/index.js +19 -14
  909. package/umd/persisters/persister-cr-sqlite-wasm/index.js +17 -12
  910. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +17 -12
  911. package/umd/persisters/persister-electric-sql/index.js +17 -12
  912. package/umd/persisters/persister-electric-sql/with-schemas/index.js +17 -12
  913. package/umd/persisters/persister-expo-sqlite/index.js +17 -12
  914. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +17 -12
  915. package/umd/persisters/persister-file/index.js +18 -13
  916. package/umd/persisters/persister-file/with-schemas/index.js +18 -13
  917. package/umd/persisters/persister-indexed-db/index.js +11 -6
  918. package/umd/persisters/persister-indexed-db/with-schemas/index.js +11 -6
  919. package/umd/persisters/persister-libsql/index.js +196 -191
  920. package/umd/persisters/persister-libsql/with-schemas/index.js +196 -191
  921. package/umd/persisters/persister-partykit-client/index.js +11 -6
  922. package/umd/persisters/persister-partykit-client/with-schemas/index.js +11 -6
  923. package/umd/persisters/persister-powersync/index.js +17 -12
  924. package/umd/persisters/persister-powersync/with-schemas/index.js +17 -12
  925. package/umd/persisters/persister-remote/index.js +17 -12
  926. package/umd/persisters/persister-remote/with-schemas/index.js +17 -12
  927. package/umd/persisters/persister-sqlite-wasm/index.js +17 -12
  928. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +17 -12
  929. package/umd/persisters/persister-sqlite3/index.js +17 -12
  930. package/umd/persisters/persister-sqlite3/with-schemas/index.js +17 -12
  931. package/umd/persisters/persister-yjs/index.js +11 -6
  932. package/umd/persisters/persister-yjs/with-schemas/index.js +11 -6
  933. package/umd/persisters/with-schemas/index.js +11 -5
  934. package/umd/synchronizers/index.js +64 -54
  935. package/umd/synchronizers/synchronizer-local/index.js +66 -62
  936. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +66 -62
  937. package/umd/synchronizers/synchronizer-ws-client/index.js +63 -54
  938. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +63 -54
  939. package/umd/synchronizers/with-schemas/index.js +64 -54
  940. package/umd/ui-react/index.js +140 -71
  941. package/umd/ui-react/with-schemas/index.js +140 -71
  942. package/umd/ui-react-inspector/index.js +11 -6
  943. package/umd/ui-react-inspector/with-schemas/index.js +11 -6
  944. package/umd/with-schemas/index.js +66 -55
  945. package/with-schemas/index.js +63 -51
@@ -1224,7 +1224,7 @@ export type HasTableCellListener<
1224
1224
  * the Table whose Row Ids changed, and the number of Row objects in the Table.
1225
1225
  * @param store A reference to the Store that changed.
1226
1226
  * @param tableId The Id of the Table that changed.
1227
- * @param count The number of Row objects in the Table
1227
+ * @param count The number of Row objects in the Table.
1228
1228
  * @category Listener
1229
1229
  * @since v4.1.0
1230
1230
  */
@@ -2419,8 +2419,7 @@ export type TransactionLog<Schemas extends OptionalSchemas> = {
2419
2419
  *
2420
2420
  * The StoreListenerStats object contains a breakdown of the different types of
2421
2421
  * listener. Totals include both mutator and non-mutator listeners. A
2422
- * StoreListenerStats object is returned from the getListenerStats method, and
2423
- * is only populated in a debug build.
2422
+ * StoreListenerStats object is returned from the getListenerStats method.
2424
2423
  * @category Development
2425
2424
  */
2426
2425
  export type StoreListenerStats = {
@@ -2458,7 +2457,7 @@ export type StoreListenerStats = {
2458
2457
  hasTableCell: number;
2459
2458
  /**
2460
2459
  * The number of RowCountListener functions registered with the Store, since
2461
- * v4.1.0
2460
+ * v4.1.0.
2462
2461
  */
2463
2462
  rowCount: number;
2464
2463
  /**
@@ -2547,7 +2546,7 @@ export type StoreListenerStats = {
2547
2546
  *
2548
2547
  * The keyed value support is best thought of as a flat JavaScript object. The
2549
2548
  * Store contains a number of Value objects, each with a unique ID, and which is
2550
- * a string, boolean, or number:
2549
+ * a string, boolean, or number.
2551
2550
  *
2552
2551
  * ```json
2553
2552
  * { // Store
@@ -2631,8 +2630,8 @@ export type StoreListenerStats = {
2631
2630
  * There are two extra methods to manipulate Row objects. The addRow method is
2632
2631
  * like the setRow method but automatically assigns it a new unique Id. And the
2633
2632
  * setPartialRow method lets you update multiple Cell values in a Row without
2634
- * affecting the others. (There is a similar setPartialValues method to do the
2635
- * same for the Values in a Store.)
2633
+ * affecting the others. There is a similar setPartialValues method to do the
2634
+ * same for the Values in a Store.
2636
2635
  *
2637
2636
  * You can listen to attempts to write invalid data to a Value or Cell with the
2638
2637
  * addInvalidValueListener method or addInvalidCellListener method.
@@ -3888,6 +3887,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3888
3887
  * can be chained in a fluent style.
3889
3888
  * @param content An array containing the tabular and keyed-value data of the
3890
3889
  * Store to be set.
3890
+ * @returns A reference to the Store.
3891
3891
  * @example
3892
3892
  * This example sets the data of a Store.
3893
3893
  *
@@ -3954,6 +3954,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3954
3954
  * The method returns a reference to the Store so that subsequent operations
3955
3955
  * can be chained in a fluent style.
3956
3956
  * @param tables The data of the Store to be set.
3957
+ * @returns A reference to the Store.
3957
3958
  * @example
3958
3959
  * This example sets the tabular data of a Store.
3959
3960
  *
@@ -4014,6 +4015,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4014
4015
  * can be chained in a fluent style.
4015
4016
  * @param tableId The Id of the Table in the Store.
4016
4017
  * @param table The data of a single Table to be set.
4018
+ * @returns A reference to the Store.
4017
4019
  * @example
4018
4020
  * This example sets the data of a single Table.
4019
4021
  *
@@ -4133,7 +4135,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4133
4135
  *
4134
4136
  * Assuming that at least some of the provided Row object is valid, a new Row
4135
4137
  * will be created. If the object is completely invalid, no change will be
4136
- * made to the Store and the method will return `undefined`
4138
+ * made to the Store and the method will return `undefined`.
4137
4139
  *
4138
4140
  * You should not guarantee the form of the unique Id that is generated when a
4139
4141
  * Row is added to the Table. However it is likely to be a string
@@ -4543,8 +4545,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4543
4545
  * @param changes The Changes to apply to the Store.
4544
4546
  * @returns A reference to the Store.
4545
4547
  * @example
4546
- * This example applies a Changes object that sets a Cell and
4547
- * removes a Value.
4548
+ * This example applies a Changes object that sets a Cell and removes a Value.
4548
4549
  *
4549
4550
  * ```js
4550
4551
  * import {createStore} from 'tinybase';
@@ -5430,6 +5431,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5430
5431
  * This is useful for deciding whether to rollback a transaction, for example.
5431
5432
  * The returned object is only meaningful if the method is called when the
5432
5433
  * Store is in a transaction - such as in a TransactionListener.
5434
+ * @returns A Changes object representing the changes.
5433
5435
  * @example
5434
5436
  * This example makes changes to the Store. At the end of the transaction,
5435
5437
  * detail about what changed is enumerated.
@@ -5472,6 +5474,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5472
5474
  * This is useful for deciding whether to rollback a transaction, for example.
5473
5475
  * The returned object is only meaningful if the method is called when the
5474
5476
  * Store is in a transaction - such as in a TransactionListener.
5477
+ * @returns A TransactionLog object representing the changes.
5475
5478
  * @example
5476
5479
  * This example makes changes to the Store. At the end of the transaction,
5477
5480
  * detail about what changed is enumerated.
@@ -8212,11 +8215,11 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8212
8215
  * Special note should be made for how the listener will be called when a
8213
8216
  * TablesSchema is present. The listener will be called:
8214
8217
  *
8215
- * - if a Table is being updated that is not specified in the TablesSchema
8216
- * - if a Cell is of the wrong type specified in the TablesSchema
8217
- * - if a Cell is omitted and is not defaulted in the TablesSchema
8218
- * - if an empty Row is provided and there are no Cell defaults in the
8219
- * TablesSchema
8218
+ * - if a Table is being updated that is not specified in the TablesSchema,
8219
+ * - if a Cell is of the wrong type specified in the TablesSchema,
8220
+ * - if a Cell is omitted and is not defaulted in the TablesSchema,
8221
+ * - or if an empty Row is provided and there are no Cell defaults in the
8222
+ * TablesSchema.
8220
8223
  *
8221
8224
  * The listener will not be called if a Cell that is defaulted in the
8222
8225
  * TablesSchema is not provided, as long as all of the Cells that are _not_
@@ -8454,10 +8457,10 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8454
8457
  * Special note should be made for how the listener will be called when a
8455
8458
  * ValuesSchema is present. The listener will be called:
8456
8459
  *
8457
- * - if a Value is being updated that is not specified in the ValuesSchema
8458
- * - if a Value is of the wrong type specified in the ValuesSchema
8459
- * - if a Value is omitted when using setValues that is not defaulted in the
8460
- * ValuesSchema
8460
+ * - if a Value is being updated that is not specified in the ValuesSchema,
8461
+ * - if a Value is of the wrong type specified in the ValuesSchema,
8462
+ * - or if a Value is omitted when using setValues that is not defaulted in
8463
+ * the ValuesSchema.
8461
8464
  *
8462
8465
  * The listener will not be called if a Value that is defaulted in the
8463
8466
  * ValuesSchema is not provided, as long as all of the Values that are _not_
@@ -9040,10 +9043,8 @@ export interface Store<in out Schemas extends OptionalSchemas> {
9040
9043
  * The StoreListenerStats object contains a breakdown of the different types
9041
9044
  * of listener. Totals include both mutator and non-mutator listeners.
9042
9045
  *
9043
- * The statistics are only populated in a debug build: production builds
9044
- * return an empty object. The method is intended to be used during
9045
- * development to ensure your application is not leaking listener
9046
- * registrations, for example.
9046
+ * The method is intended to be used during development to ensure your
9047
+ * application is not leaking listener registrations, for example.
9047
9048
  * @returns A StoreListenerStats object containing Store listener statistics.
9048
9049
  * @example
9049
9050
  * This example gets the listener statistics of a small and simple Store.
@@ -8,72 +8,353 @@
8
8
  */
9
9
 
10
10
  import type {Id, IdOrNull} from '../common/index.d.cts';
11
+ import type {Persister, Persists} from '../persisters/index.d.cts';
11
12
  import type {Content} from '../store/index.d.cts';
12
13
  import type {MergeableStore} from '../mergeable-store/index.d.cts';
13
- import type {Persister} from '../persisters/index.d.cts';
14
14
 
15
15
  /**
16
- * The MessageType type
16
+ * The Message enum is used to indicate the type of the message being passed
17
+ * between Synchronizer instances.
18
+ *
19
+ * These message comprise the basic synchronization protocol for merging
20
+ * MergeableStore instances across multiple systems.
21
+ *
22
+ * The enum is generally intended to be used internally within TinyBase itself
23
+ * and opaque to applications that use synchronization.
17
24
  * @category Synchronization
25
+ * @since v5.0.0
18
26
  */
19
- export type MessageType = number;
27
+ export const enum Message {
28
+ /**
29
+ * A message that is a response to a previous request.
30
+ */
31
+ Response = 0,
32
+ /**
33
+ * A message that is a request to get ContentHashes from another
34
+ * MergeableStore.
35
+ */
36
+ GetContentHashes = 1,
37
+ /**
38
+ * A message that contains ContentHashes.
39
+ */
40
+ ContentHashes = 2,
41
+ /**
42
+ * A message that contains a ContentDiff.
43
+ */
44
+ ContentDiff = 3,
45
+ /**
46
+ * A message that is a request to get a TableDiff from another MergeableStore.
47
+ */
48
+ GetTableDiff = 4,
49
+ /**
50
+ * A message that is a request to get a RowDiff from another MergeableStore.
51
+ */
52
+ GetRowDiff = 5,
53
+ /**
54
+ * A message that is a request to get a CellDiff from another MergeableStore.
55
+ */
56
+ GetCellDiff = 6,
57
+ /**
58
+ * A message that is a request to get a ValueDiff from another MergeableStore.
59
+ */
60
+ GetValueDiff = 7,
61
+ }
20
62
 
21
63
  /**
22
- * The Receive type
64
+ * The Receive type describes a function that knows how to handle the arrival of
65
+ * a message as part of the synchronization protocol.
66
+ *
67
+ * When a message arrives (most likely from another system), the function will
68
+ * be called with parameters that indicate where the message came from, and its
69
+ * meaning and content.
70
+ * @param fromClientId The Id of the other client (in other words, the other
71
+ * system) that sent the message.
72
+ * @param requestId The optional Id of the message, which should be returned in
73
+ * the response (if requested) to constitute a matched request/response
74
+ * transaction.
75
+ * @param message A number that indicates the type of the message, according to
76
+ * the Message enum.
77
+ * @param body A message-specific payload.
23
78
  * @category Synchronization
79
+ * @since v5.0.0
24
80
  */
25
81
  export type Receive = (
26
82
  fromClientId: Id,
27
83
  requestId: IdOrNull,
28
- messageType: MessageType,
29
- messageBody: any,
84
+ message: Message,
85
+ body: any,
30
86
  ) => void;
31
87
 
32
88
  /**
33
- * The Send type
89
+ * The Send type describes a function that knows how to dispatch a message as
90
+ * part of the synchronization protocol.
91
+ * @param toClientId The optional Id of the other client (in other words, the
92
+ * other system) to which the message should be sent. If omitted, this is to be
93
+ * a broadcast.
94
+ * @param requestId The optional Id of the message, which should be awaited in
95
+ * the response (if requested) to constitute a matched request/response
96
+ * transaction.
97
+ * @param message A number that indicates the type of the message, according to
98
+ * the Message enum.
99
+ * @param body A message-specific payload.
34
100
  * @category Synchronization
101
+ * @since v5.0.0
35
102
  */
36
103
  export type Send = (
37
104
  toClientId: IdOrNull,
38
105
  requestId: IdOrNull,
39
- messageType: MessageType,
40
- messageBody: any,
106
+ message: Message,
107
+ body: any,
41
108
  ) => void;
42
109
 
43
110
  /**
44
- * The SynchronizerStats type
111
+ * The SynchronizerStats type describes the number of times a Synchronizer
112
+ * object has sent or received data.
113
+ *
114
+ * A SynchronizerStats object is returned from the getSynchronizerStats method.
45
115
  * @category Development
116
+ * @since v5.0.0
46
117
  */
47
118
  export type SynchronizerStats = {
119
+ /**
120
+ * The number of times messages have been sent.
121
+ */
48
122
  sends: number;
123
+ /**
124
+ * The number of times messages has been received.
125
+ */
49
126
  receives: number;
50
127
  };
51
128
 
52
129
  /**
53
- * The Synchronizer interface is a minor extension to the Persister interface.
130
+ * The Synchronizer object lets you synchronize MergeableStore data with another
131
+ * TinyBase client or system.
132
+ *
133
+ * This is useful for sharing data between users, or between devices of a single
134
+ * user. This is especially valuable when there is the possibility that there
135
+ * has been a lack of immediate connectivity between clients and the
136
+ * synchronization requires some negotiation to orchestrate merging the
137
+ * MergeableStore objects together.
138
+ *
139
+ * Creating a Synchronizer depends on the choice of underlying medium over which
140
+ * the synchronization will take place. Options include the createWsSynchronizer
141
+ * function (for a Synchronizer that will sync over web-sockets), and the
142
+ * createLocalSynchronizer function (for a Synchronizer that will sync two
143
+ * MergeableStore objects in memory on one system). The createCustomSynchronizer
144
+ * function can also be used to easily create a fully customized way to send and
145
+ * receive the messages of the synchronization protocol.
54
146
  *
55
- * It provides extra convenience methods for starting and stopping the
56
- * synchronization.
147
+ * Note that, as an interface, it is an extension to the Persister interface,
148
+ * since they share underlying implementations. Think of a Synchronizer as
149
+ * 'persisting' your MergeableStore to another client (and vice-versa).
150
+ * @example
151
+ * This example creates two empty MergeableStore objects, creates a
152
+ * LocalSynchronizer for each, and starts synchronizing them. A change in one
153
+ * becomes evident in the other.
154
+ *
155
+ * ```js
156
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
157
+ * import {createMergeableStore} from 'tinybase';
158
+ *
159
+ * const store1 = createMergeableStore();
160
+ * const store2 = createMergeableStore();
161
+ *
162
+ * const synchronizer1 = createLocalSynchronizer(store1);
163
+ * const synchronizer2 = createLocalSynchronizer(store2);
164
+ *
165
+ * await synchronizer1.startSync();
166
+ * await synchronizer2.startSync();
167
+ *
168
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
169
+ * // ...
170
+ * console.log(store2.getTables());
171
+ * // -> {pets: {fido: {species: 'dog'}}}
57
172
  *
58
- * You should use the createCustomSynchronizer function to create a Synchronizer
59
- * object.
173
+ * store2.setRow('pets', 'felix', {species: 'cat'});
174
+ * // ...
175
+ * console.log(store1.getTables());
176
+ * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
177
+ *
178
+ * synchronizer1.destroy();
179
+ * synchronizer2.destroy();
180
+ * ```
60
181
  * @category Synchronizer
61
182
  * @since v5.0.0
62
183
  */
63
- export interface Synchronizer extends Persister<2> {
184
+ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
64
185
  /**
65
- * The startSync method
186
+ * The startSync method is used to start the process of synchronization
187
+ * between this instance and another matching Synchronizer.
188
+ *
189
+ * The underlying implementation of a Synchronizer is shared with the
190
+ * Persister framework, and so this startSync method is equivalent to starting
191
+ * both auto-loading (listening to sync messages from other active
192
+ * Synchronizer instances) and auto-saving (sending sync messages to it).
193
+ *
194
+ * This method is asynchronous so you should you `await` calls to this method
195
+ * or handle the return type natively as a Promise.
196
+ * @param initialContent An optional Content object used when no content is
197
+ * available from another other peer Synchronizer instances.
198
+ * @returns A Promise containing a reference to the Synchronizer object.
199
+ * @example
200
+ * This example creates two empty MergeableStore objects, creates a
201
+ * LocalSynchronizer for each, and starts synchronizing them. A change in one
202
+ * becomes evident in the other.
203
+ *
204
+ * ```js
205
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
206
+ * import {createMergeableStore} from 'tinybase';
207
+ *
208
+ * const store1 = createMergeableStore();
209
+ * const store2 = createMergeableStore();
210
+ *
211
+ * const synchronizer1 = createLocalSynchronizer(store1);
212
+ * const synchronizer2 = createLocalSynchronizer(store2);
213
+ *
214
+ * await synchronizer1.startSync();
215
+ * await synchronizer2.startSync();
216
+ *
217
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
218
+ * // ...
219
+ * console.log(store2.getTables());
220
+ * // -> {pets: {fido: {species: 'dog'}}}
221
+ *
222
+ * store2.setRow('pets', 'felix', {species: 'cat'});
223
+ * // ...
224
+ * console.log(store1.getTables());
225
+ * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
226
+ *
227
+ * synchronizer1.destroy();
228
+ * synchronizer2.destroy();
229
+ * ```
230
+ * @example
231
+ * This example creates two empty MergeableStore objects, creates a
232
+ * LocalSynchronizer for each, and starts synchronizing them with default
233
+ * content. The default content from the first Synchronizer's startSync method
234
+ * ends up populated in both MergeableStore instances: by the time the second
235
+ * started, the first was available to synchronize with and its default was
236
+ * not needed.
237
+ *
238
+ * ```js
239
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
240
+ * import {createMergeableStore} from 'tinybase';
241
+ *
242
+ * const store1 = createMergeableStore();
243
+ * const store2 = createMergeableStore();
244
+ *
245
+ * const synchronizer1 = createLocalSynchronizer(store1);
246
+ * const synchronizer2 = createLocalSynchronizer(store2);
247
+ *
248
+ * await synchronizer1.startSync([{pets: {fido: {species: 'dog'}}}, {}]);
249
+ * await synchronizer2.startSync([{pets: {felix: {species: 'cat'}}}, {}]);
250
+ *
251
+ * // ...
252
+ *
253
+ * console.log(store1.getTables());
254
+ * // -> {pets: {fido: {species: 'dog'}}}
255
+ * console.log(store2.getTables());
256
+ * // -> {pets: {fido: {species: 'dog'}}}
257
+ *
258
+ * synchronizer1.destroy();
259
+ * synchronizer2.destroy();
260
+ * ```
66
261
  * @category Synchronization
262
+ * @since v5.0.0
67
263
  */
68
264
  startSync(initialContent?: Content): Promise<this>;
69
265
  /**
70
- * The stopSync method
266
+ * The stopSync method is used to stop the process of synchronization between
267
+ * this instance and another matching Synchronizer.
268
+ *
269
+ * The underlying implementation of a Synchronizer is shared with the
270
+ * Persister framework, and so this startSync method is equivalent to stopping
271
+ * both auto-loading (listening to sync messages from other active
272
+ * Synchronizer instances) and auto-saving (sending sync messages to them).
273
+ * @returns A reference to the Synchronizer object.
274
+ * @example
275
+ * This example creates two empty MergeableStore objects, creates a
276
+ * LocalSynchronizer for each, and starts - then stops - synchronizing them.
277
+ * Subsequent changes are not merged.
278
+ *
279
+ * ```js
280
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
281
+ * import {createMergeableStore} from 'tinybase';
282
+ *
283
+ * const store1 = createMergeableStore();
284
+ * const synchronizer1 = createLocalSynchronizer(store1);
285
+ * await synchronizer1.startSync();
286
+ *
287
+ * const store2 = createMergeableStore();
288
+ * const synchronizer2 = createLocalSynchronizer(store2);
289
+ * await synchronizer2.startSync();
290
+ *
291
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
292
+ * // ...
293
+ * console.log(store1.getTables());
294
+ * // -> {pets: {fido: {species: 'dog'}}}
295
+ * console.log(store2.getTables());
296
+ * // -> {pets: {fido: {species: 'dog'}}}
297
+ *
298
+ * synchronizer1.stopSync();
299
+ * synchronizer2.stopSync();
300
+ *
301
+ * store1.setCell('pets', 'fido', 'color', 'brown');
302
+ * // ...
303
+ * console.log(store1.getTables());
304
+ * // -> {pets: {fido: {species: 'dog', color: 'brown'}}}
305
+ * console.log(store2.getTables());
306
+ * // -> {pets: {fido: {species: 'dog'}}}
307
+ *
308
+ * synchronizer1.destroy();
309
+ * synchronizer2.destroy();
310
+ * ```
71
311
  * @category Synchronization
312
+ * @since v5.0.0
72
313
  */
73
314
  stopSync(): this;
74
315
  /**
75
- * The getSynchronizerStats method
316
+ * The getSynchronizerStats method provides a set of statistics about the
317
+ * Synchronizer, and is used for debugging purposes.
318
+ *
319
+ * The SynchronizerStats object contains a count of the number of times the
320
+ * Persister has sent and received messages.
321
+ *
322
+ * The method is intended to be used during development to ensure your
323
+ * synchronization layer is acting as expected, for example.
324
+ * @returns A SynchronizerStats object containing Synchronizer send and
325
+ * receive statistics.
326
+ * @example
327
+ * This example gets the send and receive statistics of two active
328
+ * Synchronizer instances.
329
+ *
330
+ * ```js
331
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
332
+ * import {createMergeableStore} from 'tinybase';
333
+ *
334
+ * const store1 = createMergeableStore();
335
+ * const store2 = createMergeableStore();
336
+ *
337
+ * const synchronizer1 = createLocalSynchronizer(store1);
338
+ * const synchronizer2 = createLocalSynchronizer(store2);
339
+ *
340
+ * await synchronizer1.startSync();
341
+ * await synchronizer2.startSync();
342
+ *
343
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
344
+ * // ...
345
+ * store2.setRow('pets', 'felix', {species: 'cat'});
346
+ * // ...
347
+ *
348
+ * console.log(synchronizer1.getSynchronizerStats());
349
+ * // -> {receives: 4, sends: 5}
350
+ * console.log(synchronizer2.getSynchronizerStats());
351
+ * // -> {receives: 5, sends: 4}
352
+ *
353
+ * synchronizer1.destroy();
354
+ * synchronizer2.destroy();
355
+ * ```
76
356
  * @category Synchronization
357
+ * @since v5.0.0
77
358
  */
78
359
  getSynchronizerStats(): SynchronizerStats;
79
360
  }
@@ -84,50 +365,81 @@ export interface Synchronizer extends Persister<2> {
84
365
  *
85
366
  * As well as providing a reference to the MergeableStore to synchronize, you
86
367
  * must provide parameters which identify how to send and receive changes to and
87
- * from this MergeableStore and its peers.
368
+ * from this MergeableStore and its peers. This is entirely dependent upon the
369
+ * medium of communication used.
88
370
  * @param store The MergeableStore to synchronize.
89
371
  * @param send A Send function for sending a message.
90
- * @param onReceive A callback to register a Receive function for receiving a
91
- * message.
372
+ * @param onReceive A callback (called once when the Synchronizer is created)
373
+ * that is passed a Receive function that you need to ensure can receive
374
+ * messages.
92
375
  * @param destroy A function called when destroying the Persister which can be
93
376
  * used to clean up underlying resources.
94
377
  * @param requestTimeoutSeconds An number of seconds before a request sent from
95
378
  * this Persister to another peer times out.
96
379
  * @param onIgnoredError An optional handler for the errors that the
97
- * Synchronizer would otherwise ignore when trying to save or load data. This is
380
+ * Synchronizer would otherwise ignore when trying to synchronize data. This is
98
381
  * suitable for debugging synchronization issues in a development environment.
99
382
  * @returns A reference to the new Synchronizer object.
100
383
  * @example
101
- * This example creates a Synchronizer object and synchronizes one
102
- * MergeableStore to another.
384
+ * This example creates a function for creating custom Synchronizer objects via
385
+ * a very naive pair of message buses (which are first-in, first-out). Each
386
+ * Synchronizer can write to the other's bus, and they each poll to read from
387
+ * their own. The example then uses these Synchronizer instances to sync two
388
+ * MergeableStore objects together
103
389
  *
104
390
  * ```js
105
- * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
106
- * import {createMergeableStore} from 'tinybase';
391
+ * import {
392
+ * createCustomSynchronizer,
393
+ * createMergeableStore,
394
+ * getUniqueId,
395
+ * } from 'tinybase';
107
396
  *
108
- * const store1 = createMergeableStore('store1').setTables({
109
- * pets: {fido: {species: 'dog'}},
110
- * });
111
- * const synchronizer1 = createLocalSynchronizer(store1);
397
+ * const bus1 = [];
398
+ * const bus2 = [];
112
399
  *
113
- * const store2 = createMergeableStore('store2');
114
- * const synchronizer2 = createLocalSynchronizer(store2);
400
+ * const createBusSynchronizer = (store, localBus, remoteBus) => {
401
+ * let timer;
402
+ * const clientId = getUniqueId();
403
+ * return createCustomSynchronizer(
404
+ * store,
405
+ * (toClientId, requestId, message, body) => {
406
+ * // send
407
+ * remoteBus.push([clientId, requestId, message, body]);
408
+ * },
409
+ * (receive) => {
410
+ * // onReceive
411
+ * timer = setInterval(() => {
412
+ * if (localBus.length > 0) {
413
+ * receive(...localBus.shift());
414
+ * }
415
+ * }, 1);
416
+ * },
417
+ * () => clearInterval(timer), // destroy
418
+ * 1,
419
+ * );
420
+ * };
421
+ *
422
+ * const store1 = createMergeableStore();
423
+ * const store2 = createMergeableStore();
424
+ *
425
+ * const synchronizer1 = createBusSynchronizer(store1, bus1, bus2);
426
+ * const synchronizer2 = createBusSynchronizer(store2, bus2, bus1);
427
+ *
428
+ * await synchronizer1.startSync();
115
429
  * await synchronizer2.startSync();
116
430
  *
117
- * await synchronizer1.save();
431
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
118
432
  * // ...
119
- * // Store2 will be synced with Store1.
120
- *
433
+ * console.log(store1.getTables());
434
+ * // -> {pets: {fido: {species: 'dog'}}}
121
435
  * console.log(store2.getTables());
122
436
  * // -> {pets: {fido: {species: 'dog'}}}
123
437
  *
124
- * await synchronizer1.load();
125
- * // Store1 will be synced with Store2.
126
- *
127
438
  * synchronizer1.destroy();
128
439
  * synchronizer2.destroy();
129
440
  * ```
130
441
  * @category Creation
442
+ * @since v5.0.0
131
443
  */
132
444
  export function createCustomSynchronizer(
133
445
  store: MergeableStore,