tinybase 5.0.0-beta.26 → 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 (619) hide show
  1. package/@types/persisters/index.d.cts +175 -53
  2. package/@types/persisters/index.d.ts +175 -53
  3. package/@types/persisters/persister-automerge/index.d.cts +11 -7
  4. package/@types/persisters/persister-automerge/index.d.ts +11 -7
  5. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +11 -7
  6. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +11 -7
  7. package/@types/persisters/persister-browser/index.d.cts +20 -13
  8. package/@types/persisters/persister-browser/index.d.ts +20 -13
  9. package/@types/persisters/persister-browser/with-schemas/index.d.cts +20 -13
  10. package/@types/persisters/persister-browser/with-schemas/index.d.ts +20 -13
  11. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +10 -7
  12. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +10 -7
  13. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +10 -7
  14. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +10 -7
  15. package/@types/persisters/persister-electric-sql/index.d.cts +10 -7
  16. package/@types/persisters/persister-electric-sql/index.d.ts +10 -7
  17. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +10 -7
  18. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +10 -7
  19. package/@types/persisters/persister-expo-sqlite/index.d.cts +12 -8
  20. package/@types/persisters/persister-expo-sqlite/index.d.ts +12 -8
  21. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +12 -8
  22. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +12 -8
  23. package/@types/persisters/persister-file/index.d.cts +10 -6
  24. package/@types/persisters/persister-file/index.d.ts +10 -6
  25. package/@types/persisters/persister-file/with-schemas/index.d.cts +10 -6
  26. package/@types/persisters/persister-file/with-schemas/index.d.ts +10 -6
  27. package/@types/persisters/persister-indexed-db/index.d.cts +10 -6
  28. package/@types/persisters/persister-indexed-db/index.d.ts +10 -6
  29. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +10 -6
  30. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +10 -6
  31. package/@types/persisters/persister-libsql/index.d.cts +10 -6
  32. package/@types/persisters/persister-libsql/index.d.ts +10 -6
  33. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +10 -6
  34. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +10 -6
  35. package/@types/persisters/persister-partykit-client/index.d.cts +14 -9
  36. package/@types/persisters/persister-partykit-client/index.d.ts +14 -9
  37. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +14 -9
  38. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +14 -9
  39. package/@types/persisters/persister-powersync/index.d.cts +12 -7
  40. package/@types/persisters/persister-powersync/index.d.ts +12 -7
  41. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +12 -7
  42. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +12 -7
  43. package/@types/persisters/persister-remote/index.d.cts +11 -8
  44. package/@types/persisters/persister-remote/index.d.ts +11 -8
  45. package/@types/persisters/persister-remote/with-schemas/index.d.cts +11 -8
  46. package/@types/persisters/persister-remote/with-schemas/index.d.ts +11 -8
  47. package/@types/persisters/persister-sqlite-wasm/index.d.cts +12 -7
  48. package/@types/persisters/persister-sqlite-wasm/index.d.ts +12 -7
  49. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +12 -7
  50. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +12 -7
  51. package/@types/persisters/persister-sqlite3/index.d.cts +12 -7
  52. package/@types/persisters/persister-sqlite3/index.d.ts +12 -7
  53. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +12 -7
  54. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +12 -7
  55. package/@types/persisters/persister-yjs/index.d.cts +11 -6
  56. package/@types/persisters/persister-yjs/index.d.ts +11 -6
  57. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +11 -6
  58. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +11 -6
  59. package/@types/persisters/with-schemas/index.d.cts +209 -54
  60. package/@types/persisters/with-schemas/index.d.ts +209 -54
  61. package/@types/queries/index.d.cts +0 -1
  62. package/@types/queries/index.d.ts +0 -1
  63. package/@types/queries/with-schemas/index.d.cts +0 -1
  64. package/@types/queries/with-schemas/index.d.ts +0 -1
  65. package/@types/synchronizers/index.d.cts +349 -37
  66. package/@types/synchronizers/index.d.ts +349 -37
  67. package/@types/synchronizers/synchronizer-local/index.d.cts +62 -2
  68. package/@types/synchronizers/synchronizer-local/index.d.ts +62 -2
  69. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -2
  70. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -2
  71. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +48 -1
  72. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +48 -1
  73. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +48 -1
  74. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +48 -1
  75. package/@types/synchronizers/with-schemas/index.d.cts +349 -37
  76. package/@types/synchronizers/with-schemas/index.d.ts +349 -37
  77. package/cjs/es6/index.cjs +48 -42
  78. package/cjs/es6/min/index.cjs +1 -1
  79. package/cjs/es6/min/index.cjs.gz +0 -0
  80. package/cjs/es6/min/metrics/index.cjs +1 -1
  81. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  82. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  101. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  102. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  105. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  106. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  109. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  110. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/queries/index.cjs +1 -1
  113. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  114. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  117. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  118. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  119. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  120. package/cjs/es6/min/ui-react/index.cjs +1 -1
  121. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  122. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  123. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  124. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  125. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  126. package/cjs/es6/persisters/index.cjs +5 -5
  127. package/cjs/es6/persisters/persister-automerge/index.cjs +5 -5
  128. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  129. package/cjs/es6/persisters/persister-browser/index.cjs +5 -5
  130. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +5 -5
  131. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  132. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  133. package/cjs/es6/persisters/persister-electric-sql/index.cjs +11 -11
  134. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  135. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +11 -11
  136. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  137. package/cjs/es6/persisters/persister-file/index.cjs +5 -5
  138. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +5 -5
  139. package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -5
  140. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  141. package/cjs/es6/persisters/persister-libsql/index.cjs +11 -11
  142. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  143. package/cjs/es6/persisters/persister-partykit-client/index.cjs +5 -5
  144. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  145. package/cjs/es6/persisters/persister-powersync/index.cjs +11 -11
  146. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  147. package/cjs/es6/persisters/persister-remote/index.cjs +5 -5
  148. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +5 -5
  149. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +11 -11
  150. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  151. package/cjs/es6/persisters/persister-sqlite3/index.cjs +11 -11
  152. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  153. package/cjs/es6/persisters/persister-yjs/index.cjs +5 -5
  154. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  155. package/cjs/es6/persisters/with-schemas/index.cjs +5 -5
  156. package/cjs/es6/synchronizers/index.cjs +48 -42
  157. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +50 -45
  158. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +50 -45
  159. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +47 -42
  160. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +47 -42
  161. package/cjs/es6/synchronizers/with-schemas/index.cjs +48 -42
  162. package/cjs/es6/ui-react/index.cjs +137 -75
  163. package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
  164. package/cjs/es6/ui-react-inspector/index.cjs +5 -5
  165. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -5
  166. package/cjs/es6/with-schemas/index.cjs +48 -42
  167. package/cjs/index.cjs +48 -42
  168. package/cjs/min/index.cjs +1 -1
  169. package/cjs/min/index.cjs.gz +0 -0
  170. package/cjs/min/metrics/index.cjs +1 -1
  171. package/cjs/min/metrics/index.cjs.gz +0 -0
  172. package/cjs/min/metrics/with-schemas/index.cjs +1 -1
  173. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  175. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/queries/index.cjs +1 -1
  203. package/cjs/min/queries/index.cjs.gz +0 -0
  204. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  205. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/synchronizers/index.cjs +1 -1
  207. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  208. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  209. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/ui-react/index.cjs +1 -1
  211. package/cjs/min/ui-react/index.cjs.gz +0 -0
  212. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  213. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  214. package/cjs/min/with-schemas/index.cjs +1 -1
  215. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/persisters/index.cjs +5 -5
  217. package/cjs/persisters/persister-automerge/index.cjs +5 -5
  218. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  219. package/cjs/persisters/persister-browser/index.cjs +5 -5
  220. package/cjs/persisters/persister-browser/with-schemas/index.cjs +5 -5
  221. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  222. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  223. package/cjs/persisters/persister-electric-sql/index.cjs +11 -11
  224. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  225. package/cjs/persisters/persister-expo-sqlite/index.cjs +11 -11
  226. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  227. package/cjs/persisters/persister-file/index.cjs +5 -5
  228. package/cjs/persisters/persister-file/with-schemas/index.cjs +5 -5
  229. package/cjs/persisters/persister-indexed-db/index.cjs +5 -5
  230. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  231. package/cjs/persisters/persister-libsql/index.cjs +11 -11
  232. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  233. package/cjs/persisters/persister-partykit-client/index.cjs +5 -5
  234. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  235. package/cjs/persisters/persister-powersync/index.cjs +11 -11
  236. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  237. package/cjs/persisters/persister-remote/index.cjs +5 -5
  238. package/cjs/persisters/persister-remote/with-schemas/index.cjs +5 -5
  239. package/cjs/persisters/persister-sqlite-wasm/index.cjs +11 -11
  240. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  241. package/cjs/persisters/persister-sqlite3/index.cjs +11 -11
  242. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  243. package/cjs/persisters/persister-yjs/index.cjs +5 -5
  244. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  245. package/cjs/persisters/with-schemas/index.cjs +5 -5
  246. package/cjs/synchronizers/index.cjs +48 -42
  247. package/cjs/synchronizers/synchronizer-local/index.cjs +50 -50
  248. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +50 -50
  249. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +47 -42
  250. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +47 -42
  251. package/cjs/synchronizers/with-schemas/index.cjs +48 -42
  252. package/cjs/ui-react/index.cjs +139 -74
  253. package/cjs/ui-react/with-schemas/index.cjs +139 -74
  254. package/cjs/ui-react-inspector/index.cjs +5 -5
  255. package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -5
  256. package/cjs/with-schemas/index.cjs +48 -42
  257. package/es6/index.js +48 -42
  258. package/es6/min/index.js +1 -1
  259. package/es6/min/index.js.gz +0 -0
  260. package/es6/min/metrics/index.js +1 -1
  261. package/es6/min/metrics/index.js.gz +0 -0
  262. package/es6/min/metrics/with-schemas/index.js +1 -1
  263. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  264. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  265. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  266. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  267. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  268. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  269. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  270. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  271. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  272. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  273. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  274. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  275. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  276. package/es6/min/persisters/persister-libsql/index.js +1 -1
  277. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  278. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  279. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  280. package/es6/min/persisters/persister-powersync/index.js +1 -1
  281. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  282. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  283. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  284. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  285. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  286. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  287. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  288. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  289. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  290. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  291. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  292. package/es6/min/queries/index.js +1 -1
  293. package/es6/min/queries/index.js.gz +0 -0
  294. package/es6/min/queries/with-schemas/index.js +1 -1
  295. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  296. package/es6/min/synchronizers/index.js +1 -1
  297. package/es6/min/synchronizers/index.js.gz +0 -0
  298. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  299. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  300. package/es6/min/ui-react/index.js +1 -1
  301. package/es6/min/ui-react/index.js.gz +0 -0
  302. package/es6/min/ui-react/with-schemas/index.js +1 -1
  303. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  304. package/es6/min/with-schemas/index.js +1 -1
  305. package/es6/min/with-schemas/index.js.gz +0 -0
  306. package/es6/persisters/index.js +5 -5
  307. package/es6/persisters/persister-automerge/index.js +5 -5
  308. package/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  309. package/es6/persisters/persister-browser/index.js +5 -5
  310. package/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  311. package/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  312. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  313. package/es6/persisters/persister-electric-sql/index.js +11 -11
  314. package/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  315. package/es6/persisters/persister-expo-sqlite/index.js +11 -11
  316. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  317. package/es6/persisters/persister-file/index.js +5 -5
  318. package/es6/persisters/persister-file/with-schemas/index.js +5 -5
  319. package/es6/persisters/persister-indexed-db/index.js +5 -5
  320. package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  321. package/es6/persisters/persister-libsql/index.js +11 -11
  322. package/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  323. package/es6/persisters/persister-partykit-client/index.js +5 -5
  324. package/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  325. package/es6/persisters/persister-powersync/index.js +11 -11
  326. package/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  327. package/es6/persisters/persister-remote/index.js +5 -5
  328. package/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  329. package/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  330. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  331. package/es6/persisters/persister-sqlite3/index.js +11 -11
  332. package/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  333. package/es6/persisters/persister-yjs/index.js +5 -5
  334. package/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  335. package/es6/persisters/with-schemas/index.js +5 -5
  336. package/es6/synchronizers/index.js +48 -43
  337. package/es6/synchronizers/synchronizer-local/index.js +50 -45
  338. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +50 -45
  339. package/es6/synchronizers/synchronizer-ws-client/index.js +47 -42
  340. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +47 -42
  341. package/es6/synchronizers/with-schemas/index.js +48 -43
  342. package/es6/ui-react/index.js +137 -75
  343. package/es6/ui-react/with-schemas/index.js +137 -75
  344. package/es6/ui-react-inspector/index.js +5 -5
  345. package/es6/ui-react-inspector/with-schemas/index.js +5 -5
  346. package/es6/with-schemas/index.js +48 -42
  347. package/index.js +48 -42
  348. package/min/index.js +1 -1
  349. package/min/index.js.gz +0 -0
  350. package/min/metrics/index.js +1 -1
  351. package/min/metrics/index.js.gz +0 -0
  352. package/min/metrics/with-schemas/index.js +1 -1
  353. package/min/metrics/with-schemas/index.js.gz +0 -0
  354. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  355. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  356. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  357. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  358. package/min/persisters/persister-electric-sql/index.js +1 -1
  359. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  360. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  361. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  362. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  363. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  364. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  365. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  366. package/min/persisters/persister-libsql/index.js +1 -1
  367. package/min/persisters/persister-libsql/index.js.gz +0 -0
  368. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  369. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  370. package/min/persisters/persister-powersync/index.js +1 -1
  371. package/min/persisters/persister-powersync/index.js.gz +0 -0
  372. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  373. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  374. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  375. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  376. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  377. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  378. package/min/persisters/persister-sqlite3/index.js +1 -1
  379. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  380. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  381. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  382. package/min/queries/index.js +1 -1
  383. package/min/queries/index.js.gz +0 -0
  384. package/min/queries/with-schemas/index.js +1 -1
  385. package/min/queries/with-schemas/index.js.gz +0 -0
  386. package/min/synchronizers/index.js +1 -1
  387. package/min/synchronizers/index.js.gz +0 -0
  388. package/min/synchronizers/with-schemas/index.js +1 -1
  389. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  390. package/min/ui-react/index.js +1 -1
  391. package/min/ui-react/index.js.gz +0 -0
  392. package/min/ui-react/with-schemas/index.js +1 -1
  393. package/min/ui-react/with-schemas/index.js.gz +0 -0
  394. package/min/with-schemas/index.js +1 -1
  395. package/min/with-schemas/index.js.gz +0 -0
  396. package/package.json +5 -5
  397. package/persisters/index.js +5 -5
  398. package/persisters/persister-automerge/index.js +5 -5
  399. package/persisters/persister-automerge/with-schemas/index.js +5 -5
  400. package/persisters/persister-browser/index.js +5 -5
  401. package/persisters/persister-browser/with-schemas/index.js +5 -5
  402. package/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  403. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  404. package/persisters/persister-electric-sql/index.js +11 -11
  405. package/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  406. package/persisters/persister-expo-sqlite/index.js +11 -11
  407. package/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  408. package/persisters/persister-file/index.js +5 -5
  409. package/persisters/persister-file/with-schemas/index.js +5 -5
  410. package/persisters/persister-indexed-db/index.js +5 -5
  411. package/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  412. package/persisters/persister-libsql/index.js +11 -11
  413. package/persisters/persister-libsql/with-schemas/index.js +11 -11
  414. package/persisters/persister-partykit-client/index.js +5 -5
  415. package/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  416. package/persisters/persister-powersync/index.js +11 -11
  417. package/persisters/persister-powersync/with-schemas/index.js +11 -11
  418. package/persisters/persister-remote/index.js +5 -5
  419. package/persisters/persister-remote/with-schemas/index.js +5 -5
  420. package/persisters/persister-sqlite-wasm/index.js +11 -11
  421. package/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  422. package/persisters/persister-sqlite3/index.js +11 -11
  423. package/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  424. package/persisters/persister-yjs/index.js +5 -5
  425. package/persisters/persister-yjs/with-schemas/index.js +5 -5
  426. package/persisters/with-schemas/index.js +5 -5
  427. package/readme.md +2 -2
  428. package/releases.md +4 -4
  429. package/synchronizers/index.js +48 -43
  430. package/synchronizers/synchronizer-local/index.js +50 -50
  431. package/synchronizers/synchronizer-local/with-schemas/index.js +50 -50
  432. package/synchronizers/synchronizer-ws-client/index.js +47 -42
  433. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +47 -42
  434. package/synchronizers/with-schemas/index.js +48 -43
  435. package/ui-react/index.js +139 -74
  436. package/ui-react/with-schemas/index.js +139 -74
  437. package/ui-react-inspector/index.js +5 -5
  438. package/ui-react-inspector/with-schemas/index.js +5 -5
  439. package/umd/es6/index.js +51 -42
  440. package/umd/es6/min/index.js +1 -1
  441. package/umd/es6/min/index.js.gz +0 -0
  442. package/umd/es6/min/metrics/index.js +1 -1
  443. package/umd/es6/min/metrics/index.js.gz +0 -0
  444. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  445. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  446. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  447. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  448. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  449. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  450. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  451. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  452. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  453. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  454. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  455. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  456. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  457. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  458. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  459. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  460. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  461. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  462. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  463. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  464. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  465. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  466. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  467. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  468. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  469. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  470. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  471. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  472. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  473. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  474. package/umd/es6/min/queries/index.js +1 -1
  475. package/umd/es6/min/queries/index.js.gz +0 -0
  476. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  477. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  478. package/umd/es6/min/synchronizers/index.js +1 -1
  479. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  480. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  481. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  482. package/umd/es6/min/ui-react/index.js +1 -1
  483. package/umd/es6/min/ui-react/index.js.gz +0 -0
  484. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  485. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  486. package/umd/es6/min/with-schemas/index.js +1 -1
  487. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  488. package/umd/es6/persisters/index.js +5 -5
  489. package/umd/es6/persisters/persister-automerge/index.js +5 -5
  490. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  491. package/umd/es6/persisters/persister-browser/index.js +5 -5
  492. package/umd/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  493. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  494. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  495. package/umd/es6/persisters/persister-electric-sql/index.js +11 -11
  496. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  497. package/umd/es6/persisters/persister-expo-sqlite/index.js +11 -11
  498. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  499. package/umd/es6/persisters/persister-file/index.js +5 -5
  500. package/umd/es6/persisters/persister-file/with-schemas/index.js +5 -5
  501. package/umd/es6/persisters/persister-indexed-db/index.js +5 -5
  502. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  503. package/umd/es6/persisters/persister-libsql/index.js +11 -11
  504. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  505. package/umd/es6/persisters/persister-partykit-client/index.js +5 -5
  506. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  507. package/umd/es6/persisters/persister-powersync/index.js +11 -11
  508. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  509. package/umd/es6/persisters/persister-remote/index.js +5 -5
  510. package/umd/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  511. package/umd/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  512. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  513. package/umd/es6/persisters/persister-sqlite3/index.js +11 -11
  514. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  515. package/umd/es6/persisters/persister-yjs/index.js +5 -5
  516. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  517. package/umd/es6/persisters/with-schemas/index.js +5 -5
  518. package/umd/es6/synchronizers/index.js +51 -42
  519. package/umd/es6/synchronizers/synchronizer-local/index.js +53 -45
  520. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +53 -45
  521. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +50 -42
  522. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +50 -42
  523. package/umd/es6/synchronizers/with-schemas/index.js +51 -42
  524. package/umd/es6/ui-react/index.js +135 -72
  525. package/umd/es6/ui-react/with-schemas/index.js +135 -72
  526. package/umd/es6/ui-react-inspector/index.js +5 -5
  527. package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -5
  528. package/umd/es6/with-schemas/index.js +51 -42
  529. package/umd/index.js +51 -46
  530. package/umd/min/index.js +1 -1
  531. package/umd/min/index.js.gz +0 -0
  532. package/umd/min/metrics/index.js +1 -1
  533. package/umd/min/metrics/index.js.gz +0 -0
  534. package/umd/min/metrics/with-schemas/index.js +1 -1
  535. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  536. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  537. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  538. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  539. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  540. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  541. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  542. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  543. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  544. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  545. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  546. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  547. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  548. package/umd/min/persisters/persister-libsql/index.js +1 -1
  549. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  550. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  551. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  552. package/umd/min/persisters/persister-powersync/index.js +1 -1
  553. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  554. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  555. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  556. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  557. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  558. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  559. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  560. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  561. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  562. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  563. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  564. package/umd/min/queries/index.js +1 -1
  565. package/umd/min/queries/index.js.gz +0 -0
  566. package/umd/min/queries/with-schemas/index.js +1 -1
  567. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  568. package/umd/min/synchronizers/index.js +1 -1
  569. package/umd/min/synchronizers/index.js.gz +0 -0
  570. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  571. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  572. package/umd/min/ui-react/index.js +1 -1
  573. package/umd/min/ui-react/index.js.gz +0 -0
  574. package/umd/min/ui-react/with-schemas/index.js +1 -1
  575. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  576. package/umd/min/with-schemas/index.js +1 -1
  577. package/umd/min/with-schemas/index.js.gz +0 -0
  578. package/umd/persisters/index.js +5 -5
  579. package/umd/persisters/persister-automerge/index.js +5 -5
  580. package/umd/persisters/persister-automerge/with-schemas/index.js +5 -5
  581. package/umd/persisters/persister-browser/index.js +5 -5
  582. package/umd/persisters/persister-browser/with-schemas/index.js +5 -5
  583. package/umd/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  584. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  585. package/umd/persisters/persister-electric-sql/index.js +11 -11
  586. package/umd/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  587. package/umd/persisters/persister-expo-sqlite/index.js +11 -11
  588. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  589. package/umd/persisters/persister-file/index.js +5 -5
  590. package/umd/persisters/persister-file/with-schemas/index.js +5 -5
  591. package/umd/persisters/persister-indexed-db/index.js +5 -5
  592. package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  593. package/umd/persisters/persister-libsql/index.js +11 -11
  594. package/umd/persisters/persister-libsql/with-schemas/index.js +11 -11
  595. package/umd/persisters/persister-partykit-client/index.js +5 -5
  596. package/umd/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  597. package/umd/persisters/persister-powersync/index.js +11 -11
  598. package/umd/persisters/persister-powersync/with-schemas/index.js +11 -11
  599. package/umd/persisters/persister-remote/index.js +5 -5
  600. package/umd/persisters/persister-remote/with-schemas/index.js +5 -5
  601. package/umd/persisters/persister-sqlite-wasm/index.js +11 -11
  602. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  603. package/umd/persisters/persister-sqlite3/index.js +11 -11
  604. package/umd/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  605. package/umd/persisters/persister-yjs/index.js +5 -5
  606. package/umd/persisters/persister-yjs/with-schemas/index.js +5 -5
  607. package/umd/persisters/with-schemas/index.js +5 -5
  608. package/umd/synchronizers/index.js +51 -46
  609. package/umd/synchronizers/synchronizer-local/index.js +53 -54
  610. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +53 -54
  611. package/umd/synchronizers/synchronizer-ws-client/index.js +50 -46
  612. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +50 -46
  613. package/umd/synchronizers/with-schemas/index.js +51 -46
  614. package/umd/ui-react/index.js +140 -71
  615. package/umd/ui-react/with-schemas/index.js +140 -71
  616. package/umd/ui-react-inspector/index.js +5 -5
  617. package/umd/ui-react-inspector/with-schemas/index.js +5 -5
  618. package/umd/with-schemas/index.js +51 -46
  619. package/with-schemas/index.js +48 -42
@@ -19,36 +19,107 @@ import type {
19
19
  import type {MergeableStore} from '../../mergeable-store/with-schemas/index.d.cts';
20
20
 
21
21
  /**
22
- * The MessageType type.
22
+ * The Message enum is used to indicate the type of the message being passed
23
+ * between Synchronizer instances.
24
+ *
25
+ * These message comprise the basic synchronization protocol for merging
26
+ * MergeableStore instances across multiple systems.
27
+ *
28
+ * The enum is generally intended to be used internally within TinyBase itself
29
+ * and opaque to applications that use synchronization.
23
30
  * @category Synchronization
31
+ * @since v5.0.0
24
32
  */
25
- export type MessageType = number;
33
+ export const enum Message {
34
+ /**
35
+ * A message that is a response to a previous request.
36
+ */
37
+ Response = 0,
38
+ /**
39
+ * A message that is a request to get ContentHashes from another
40
+ * MergeableStore.
41
+ */
42
+ GetContentHashes = 1,
43
+ /**
44
+ * A message that contains ContentHashes.
45
+ */
46
+ ContentHashes = 2,
47
+ /**
48
+ * A message that contains a ContentDiff.
49
+ */
50
+ ContentDiff = 3,
51
+ /**
52
+ * A message that is a request to get a TableDiff from another MergeableStore.
53
+ */
54
+ GetTableDiff = 4,
55
+ /**
56
+ * A message that is a request to get a RowDiff from another MergeableStore.
57
+ */
58
+ GetRowDiff = 5,
59
+ /**
60
+ * A message that is a request to get a CellDiff from another MergeableStore.
61
+ */
62
+ GetCellDiff = 6,
63
+ /**
64
+ * A message that is a request to get a ValueDiff from another MergeableStore.
65
+ */
66
+ GetValueDiff = 7,
67
+ }
26
68
 
27
69
  /**
28
- * The Receive type.
70
+ * The Receive type describes a function that knows how to handle the arrival of
71
+ * a message as part of the synchronization protocol.
72
+ *
73
+ * When a message arrives (most likely from another system), the function will
74
+ * be called with parameters that indicate where the message came from, and its
75
+ * meaning and content.
76
+ * @param fromClientId The Id of the other client (in other words, the other
77
+ * system) that sent the message.
78
+ * @param requestId The optional Id of the message, which should be returned in
79
+ * the response (if requested) to constitute a matched request/response
80
+ * transaction.
81
+ * @param message A number that indicates the type of the message, according to
82
+ * the Message enum.
83
+ * @param body A message-specific payload.
29
84
  * @category Synchronization
85
+ * @since v5.0.0
30
86
  */
31
87
  export type Receive = (
32
88
  fromClientId: Id,
33
89
  requestId: Id,
34
- messageType: MessageType,
35
- messageBody: any,
90
+ message: Message,
91
+ body: any,
36
92
  ) => void;
37
93
 
38
94
  /**
39
- * The Send type.
95
+ * The Send type describes a function that knows how to dispatch a message as
96
+ * part of the synchronization protocol.
97
+ * @param toClientId The optional Id of the other client (in other words, the
98
+ * other system) to which the message should be sent. If omitted, this is to be
99
+ * a broadcast.
100
+ * @param requestId The optional Id of the message, which should be awaited in
101
+ * the response (if requested) to constitute a matched request/response
102
+ * transaction.
103
+ * @param message A number that indicates the type of the message, according to
104
+ * the Message enum.
105
+ * @param body A message-specific payload.
40
106
  * @category Synchronization
107
+ * @since v5.0.0
41
108
  */
42
109
  export type Send = (
43
110
  toClientId: IdOrNull,
44
111
  requestId: Id,
45
- messageType: MessageType,
46
- messageBody: any,
112
+ message: Message,
113
+ body: any,
47
114
  ) => void;
48
115
 
49
116
  /**
50
- * The SynchronizerStats type.
117
+ * The SynchronizerStats type describes the number of times a Synchronizer
118
+ * object has sent or received data.
119
+ *
120
+ * A SynchronizerStats object is returned from the getSynchronizerStats method.
51
121
  * @category Development
122
+ * @since v5.0.0
52
123
  */
53
124
  export type SynchronizerStats = {
54
125
  sends: number;
@@ -56,31 +127,241 @@ export type SynchronizerStats = {
56
127
  };
57
128
 
58
129
  /**
59
- * 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.
146
+ *
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.
60
154
  *
61
- * It provides extra convenience methods for starting and stopping the
62
- * synchronization.
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'}}}
172
+ *
173
+ * store2.setRow('pets', 'felix', {species: 'cat'});
174
+ * // ...
175
+ * console.log(store1.getTables());
176
+ * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
63
177
  *
64
- * You should use the createCustomSynchronizer function to create a Synchronizer
65
- * object.
178
+ * synchronizer1.destroy();
179
+ * synchronizer2.destroy();
180
+ * ```
66
181
  * @category Synchronizer
67
182
  * @since v5.0.0
68
183
  */
69
184
  export interface Synchronizer<Schemas extends OptionalSchemas>
70
185
  extends Persister<Schemas, Persists.MergeableStoreOnly> {
71
186
  /**
72
- * The startSync method.
187
+ * The startSync method is used to start the process of synchronization
188
+ * between this instance and another matching Synchronizer.
189
+ *
190
+ * This has schema-based typing. The following is a simplified representation:
191
+ *
192
+ * ```ts override
193
+ * startSync(initialContent?: Content): Promise<this>;
194
+ * ```
195
+ *
196
+ * The underlying implementation of a Synchronizer is shared with the
197
+ * Persister framework, and so this startSync method is equivalent to starting
198
+ * both auto-loading (listening to sync messages from other active
199
+ * Synchronizer instances) and auto-saving (sending sync messages to it).
200
+ *
201
+ * This method is asynchronous so you should you `await` calls to this method
202
+ * or handle the return type natively as a Promise.
203
+ * @param initialContent An optional Content object used when no content is
204
+ * available from another other peer Synchronizer instances.
205
+ * @returns A Promise containing a reference to the Synchronizer object.
206
+ * @example
207
+ * This example creates two empty MergeableStore objects, creates a
208
+ * LocalSynchronizer for each, and starts synchronizing them. A change in one
209
+ * becomes evident in the other.
210
+ *
211
+ * ```js
212
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
213
+ * import {createMergeableStore} from 'tinybase';
214
+ *
215
+ * const store1 = createMergeableStore();
216
+ * const store2 = createMergeableStore();
217
+ *
218
+ * const synchronizer1 = createLocalSynchronizer(store1);
219
+ * const synchronizer2 = createLocalSynchronizer(store2);
220
+ *
221
+ * await synchronizer1.startSync();
222
+ * await synchronizer2.startSync();
223
+ *
224
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
225
+ * // ...
226
+ * console.log(store2.getTables());
227
+ * // -> {pets: {fido: {species: 'dog'}}}
228
+ *
229
+ * store2.setRow('pets', 'felix', {species: 'cat'});
230
+ * // ...
231
+ * console.log(store1.getTables());
232
+ * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
233
+ *
234
+ * synchronizer1.destroy();
235
+ * synchronizer2.destroy();
236
+ * ```
237
+ * @example
238
+ * This example creates two empty MergeableStore objects, creates a
239
+ * LocalSynchronizer for each, and starts synchronizing them with default
240
+ * content. The default content from the first Synchronizer's startSync method
241
+ * ends up populated in both MergeableStore instances: by the time the second
242
+ * started, the first was available to synchronize with and its default was
243
+ * not needed.
244
+ *
245
+ * ```js
246
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
247
+ * import {createMergeableStore} from 'tinybase';
248
+ *
249
+ * const store1 = createMergeableStore();
250
+ * const store2 = createMergeableStore();
251
+ *
252
+ * const synchronizer1 = createLocalSynchronizer(store1);
253
+ * const synchronizer2 = createLocalSynchronizer(store2);
254
+ *
255
+ * await synchronizer1.startSync([{pets: {fido: {species: 'dog'}}}, {}]);
256
+ * await synchronizer2.startSync([{pets: {felix: {species: 'cat'}}}, {}]);
257
+ *
258
+ * // ...
259
+ *
260
+ * console.log(store1.getTables());
261
+ * // -> {pets: {fido: {species: 'dog'}}}
262
+ * console.log(store2.getTables());
263
+ * // -> {pets: {fido: {species: 'dog'}}}
264
+ *
265
+ * synchronizer1.destroy();
266
+ * synchronizer2.destroy();
267
+ * ```
73
268
  * @category Synchronization
269
+ * @since v5.0.0
74
270
  */
75
271
  startSync(initialContent?: Content<Schemas, true>): Promise<this>;
76
272
  /**
77
- * The stopSync method.
273
+ * The stopSync method is used to stop the process of synchronization between
274
+ * this instance and another matching Synchronizer.
275
+ *
276
+ * The underlying implementation of a Synchronizer is shared with the
277
+ * Persister framework, and so this startSync method is equivalent to stopping
278
+ * both auto-loading (listening to sync messages from other active
279
+ * Synchronizer instances) and auto-saving (sending sync messages to them).
280
+ * @returns A reference to the Synchronizer object.
281
+ * @example
282
+ * This example creates two empty MergeableStore objects, creates a
283
+ * LocalSynchronizer for each, and starts - then stops - synchronizing them.
284
+ * Subsequent changes are not merged.
285
+ *
286
+ * ```js
287
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
288
+ * import {createMergeableStore} from 'tinybase';
289
+ *
290
+ * const store1 = createMergeableStore();
291
+ * const synchronizer1 = createLocalSynchronizer(store1);
292
+ * await synchronizer1.startSync();
293
+ *
294
+ * const store2 = createMergeableStore();
295
+ * const synchronizer2 = createLocalSynchronizer(store2);
296
+ * await synchronizer2.startSync();
297
+ *
298
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
299
+ * // ...
300
+ * console.log(store1.getTables());
301
+ * // -> {pets: {fido: {species: 'dog'}}}
302
+ * console.log(store2.getTables());
303
+ * // -> {pets: {fido: {species: 'dog'}}}
304
+ *
305
+ * synchronizer1.stopSync();
306
+ * synchronizer2.stopSync();
307
+ *
308
+ * store1.setCell('pets', 'fido', 'color', 'brown');
309
+ * // ...
310
+ * console.log(store1.getTables());
311
+ * // -> {pets: {fido: {species: 'dog', color: 'brown'}}}
312
+ * console.log(store2.getTables());
313
+ * // -> {pets: {fido: {species: 'dog'}}}
314
+ *
315
+ * synchronizer1.destroy();
316
+ * synchronizer2.destroy();
317
+ * ```
78
318
  * @category Synchronization
319
+ * @since v5.0.0
79
320
  */
80
321
  stopSync(): this;
81
322
  /**
82
- * The getSynchronizerStats method.
323
+ * The getSynchronizerStats method provides a set of statistics about the
324
+ * Synchronizer, and is used for debugging purposes.
325
+ *
326
+ * The SynchronizerStats object contains a count of the number of times the
327
+ * Persister has sent and received messages.
328
+ *
329
+ * The method is intended to be used during development to ensure your
330
+ * synchronization layer is acting as expected, for example.
331
+ * @returns A SynchronizerStats object containing Synchronizer send and
332
+ * receive statistics.
333
+ * @example
334
+ * This example gets the send and receive statistics of two active
335
+ * Synchronizer instances.
336
+ *
337
+ * ```js
338
+ * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
339
+ * import {createMergeableStore} from 'tinybase';
340
+ *
341
+ * const store1 = createMergeableStore();
342
+ * const store2 = createMergeableStore();
343
+ *
344
+ * const synchronizer1 = createLocalSynchronizer(store1);
345
+ * const synchronizer2 = createLocalSynchronizer(store2);
346
+ *
347
+ * await synchronizer1.startSync();
348
+ * await synchronizer2.startSync();
349
+ *
350
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
351
+ * // ...
352
+ * store2.setRow('pets', 'felix', {species: 'cat'});
353
+ * // ...
354
+ *
355
+ * console.log(synchronizer1.getSynchronizerStats());
356
+ * // -> {receives: 4, sends: 5}
357
+ * console.log(synchronizer2.getSynchronizerStats());
358
+ * // -> {receives: 5, sends: 4}
359
+ *
360
+ * synchronizer1.destroy();
361
+ * synchronizer2.destroy();
362
+ * ```
83
363
  * @category Synchronization
364
+ * @since v5.0.0
84
365
  */
85
366
  getSynchronizerStats(): SynchronizerStats;
86
367
  }
@@ -104,50 +385,81 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
104
385
  *
105
386
  * As well as providing a reference to the MergeableStore to synchronize, you
106
387
  * must provide parameters which identify how to send and receive changes to and
107
- * from this MergeableStore and its peers.
388
+ * from this MergeableStore and its peers. This is entirely dependent upon the
389
+ * medium of communication used.
108
390
  * @param store The MergeableStore to synchronize.
109
391
  * @param send A Send function for sending a message.
110
- * @param onReceive A callback to register a Receive function for receiving a
111
- * message.
392
+ * @param onReceive A callback (called once when the Synchronizer is created)
393
+ * that is passed a Receive function that you need to ensure can receive
394
+ * messages.
112
395
  * @param destroy A function called when destroying the Persister which can be
113
396
  * used to clean up underlying resources.
114
397
  * @param requestTimeoutSeconds An number of seconds before a request sent from
115
398
  * this Persister to another peer times out.
116
399
  * @param onIgnoredError An optional handler for the errors that the
117
- * Synchronizer would otherwise ignore when trying to save or load data. This is
400
+ * Synchronizer would otherwise ignore when trying to synchronize data. This is
118
401
  * suitable for debugging synchronization issues in a development environment.
119
402
  * @returns A reference to the new Synchronizer object.
120
403
  * @example
121
- * This example creates a Synchronizer object and synchronizes one
122
- * MergeableStore to another.
404
+ * This example creates a function for creating custom Synchronizer objects via
405
+ * a very naive pair of message buses (which are first-in, first-out). Each
406
+ * Synchronizer can write to the other's bus, and they each poll to read from
407
+ * their own. The example then uses these Synchronizer instances to sync two
408
+ * MergeableStore objects together
123
409
  *
124
410
  * ```js
125
- * import {createLocalSynchronizer} from 'tinybase/synchronizers/synchronizer-local';
126
- * import {createMergeableStore} from 'tinybase';
411
+ * import {
412
+ * createCustomSynchronizer,
413
+ * createMergeableStore,
414
+ * getUniqueId,
415
+ * } from 'tinybase';
127
416
  *
128
- * const store1 = createMergeableStore('store1').setTables({
129
- * pets: {fido: {species: 'dog'}},
130
- * });
131
- * const synchronizer1 = createLocalSynchronizer(store1);
417
+ * const bus1 = [];
418
+ * const bus2 = [];
132
419
  *
133
- * const store2 = createMergeableStore('store2');
134
- * const synchronizer2 = createLocalSynchronizer(store2);
420
+ * const createBusSynchronizer = (store, localBus, remoteBus) => {
421
+ * let timer;
422
+ * const clientId = getUniqueId();
423
+ * return createCustomSynchronizer(
424
+ * store,
425
+ * (toClientId, requestId, message, body) => {
426
+ * // send
427
+ * remoteBus.push([clientId, requestId, message, body]);
428
+ * },
429
+ * (receive) => {
430
+ * // onReceive
431
+ * timer = setInterval(() => {
432
+ * if (localBus.length > 0) {
433
+ * receive(...localBus.shift());
434
+ * }
435
+ * }, 1);
436
+ * },
437
+ * () => clearInterval(timer), // destroy
438
+ * 1,
439
+ * );
440
+ * };
441
+ *
442
+ * const store1 = createMergeableStore();
443
+ * const store2 = createMergeableStore();
444
+ *
445
+ * const synchronizer1 = createBusSynchronizer(store1, bus1, bus2);
446
+ * const synchronizer2 = createBusSynchronizer(store2, bus2, bus1);
447
+ *
448
+ * await synchronizer1.startSync();
135
449
  * await synchronizer2.startSync();
136
450
  *
137
- * await synchronizer1.save();
451
+ * store1.setTables({pets: {fido: {species: 'dog'}}});
138
452
  * // ...
139
- * // Store2 will be synced with Store1.
140
- *
453
+ * console.log(store1.getTables());
454
+ * // -> {pets: {fido: {species: 'dog'}}}
141
455
  * console.log(store2.getTables());
142
456
  * // -> {pets: {fido: {species: 'dog'}}}
143
457
  *
144
- * await synchronizer1.load();
145
- * // Store1 will be synced with Store2.
146
- *
147
458
  * synchronizer1.destroy();
148
459
  * synchronizer2.destroy();
149
460
  * ```
150
461
  * @category Creation
462
+ * @since v5.0.0
151
463
  */
152
464
  export function createCustomSynchronizer<Schemas extends OptionalSchemas>(
153
465
  store: MergeableStore<Schemas>,