tinybase 5.0.0-beta.26 → 5.0.0-beta.28

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 (741) hide show
  1. package/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
  2. package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
  3. package/@types/checkpoints/index.d.cts +30 -1
  4. package/@types/checkpoints/index.d.ts +30 -1
  5. package/@types/checkpoints/with-schemas/index.d.cts +30 -1
  6. package/@types/checkpoints/with-schemas/index.d.ts +30 -1
  7. package/@types/common/index.d.cts +9 -0
  8. package/@types/common/index.d.ts +9 -0
  9. package/@types/common/with-schemas/index.d.cts +9 -0
  10. package/@types/common/with-schemas/index.d.ts +9 -0
  11. package/@types/index.d.cts +1 -0
  12. package/@types/index.d.ts +1 -0
  13. package/@types/indexes/index.d.cts +32 -1
  14. package/@types/indexes/index.d.ts +32 -1
  15. package/@types/indexes/with-schemas/index.d.cts +32 -1
  16. package/@types/indexes/with-schemas/index.d.ts +32 -1
  17. package/@types/mergeable-store/index.d.cts +0 -2
  18. package/@types/mergeable-store/index.d.ts +0 -2
  19. package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
  20. package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
  21. package/@types/metrics/index.d.cts +30 -4
  22. package/@types/metrics/index.d.ts +30 -4
  23. package/@types/metrics/with-schemas/index.d.cts +30 -4
  24. package/@types/metrics/with-schemas/index.d.ts +30 -4
  25. package/@types/persisters/index.d.cts +246 -62
  26. package/@types/persisters/index.d.ts +246 -62
  27. package/@types/persisters/persister-automerge/index.d.cts +13 -9
  28. package/@types/persisters/persister-automerge/index.d.ts +13 -9
  29. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +13 -9
  30. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +13 -9
  31. package/@types/persisters/persister-browser/index.d.cts +25 -15
  32. package/@types/persisters/persister-browser/index.d.ts +25 -15
  33. package/@types/persisters/persister-browser/with-schemas/index.d.cts +25 -15
  34. package/@types/persisters/persister-browser/with-schemas/index.d.ts +25 -15
  35. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +12 -9
  36. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +12 -9
  37. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +12 -9
  38. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +12 -9
  39. package/@types/persisters/persister-electric-sql/index.d.cts +12 -9
  40. package/@types/persisters/persister-electric-sql/index.d.ts +12 -9
  41. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +12 -9
  42. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +12 -9
  43. package/@types/persisters/persister-expo-sqlite/index.d.cts +14 -10
  44. package/@types/persisters/persister-expo-sqlite/index.d.ts +14 -10
  45. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +14 -10
  46. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +14 -10
  47. package/@types/persisters/persister-file/index.d.cts +14 -8
  48. package/@types/persisters/persister-file/index.d.ts +14 -8
  49. package/@types/persisters/persister-file/with-schemas/index.d.cts +14 -8
  50. package/@types/persisters/persister-file/with-schemas/index.d.ts +14 -8
  51. package/@types/persisters/persister-indexed-db/index.d.cts +13 -8
  52. package/@types/persisters/persister-indexed-db/index.d.ts +13 -8
  53. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +13 -8
  54. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +13 -8
  55. package/@types/persisters/persister-libsql/index.d.cts +13 -8
  56. package/@types/persisters/persister-libsql/index.d.ts +13 -8
  57. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +13 -8
  58. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +13 -8
  59. package/@types/persisters/persister-partykit-client/index.d.cts +24 -13
  60. package/@types/persisters/persister-partykit-client/index.d.ts +24 -13
  61. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +24 -13
  62. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +24 -13
  63. package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
  64. package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
  65. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
  66. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
  67. package/@types/persisters/persister-powersync/index.d.cts +15 -9
  68. package/@types/persisters/persister-powersync/index.d.ts +15 -9
  69. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +15 -9
  70. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +15 -9
  71. package/@types/persisters/persister-remote/index.d.cts +15 -10
  72. package/@types/persisters/persister-remote/index.d.ts +15 -10
  73. package/@types/persisters/persister-remote/with-schemas/index.d.cts +15 -10
  74. package/@types/persisters/persister-remote/with-schemas/index.d.ts +15 -10
  75. package/@types/persisters/persister-sqlite-wasm/index.d.cts +14 -9
  76. package/@types/persisters/persister-sqlite-wasm/index.d.ts +14 -9
  77. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +14 -9
  78. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +14 -9
  79. package/@types/persisters/persister-sqlite3/index.d.cts +14 -9
  80. package/@types/persisters/persister-sqlite3/index.d.ts +14 -9
  81. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +14 -9
  82. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +14 -9
  83. package/@types/persisters/persister-yjs/index.d.cts +13 -8
  84. package/@types/persisters/persister-yjs/index.d.ts +13 -8
  85. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +13 -8
  86. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +13 -8
  87. package/@types/persisters/with-schemas/index.d.cts +280 -63
  88. package/@types/persisters/with-schemas/index.d.ts +280 -63
  89. package/@types/queries/index.d.cts +64 -5
  90. package/@types/queries/index.d.ts +64 -5
  91. package/@types/queries/with-schemas/index.d.cts +64 -5
  92. package/@types/queries/with-schemas/index.d.ts +64 -5
  93. package/@types/relationships/index.d.cts +34 -1
  94. package/@types/relationships/index.d.ts +34 -1
  95. package/@types/relationships/with-schemas/index.d.cts +34 -1
  96. package/@types/relationships/with-schemas/index.d.ts +34 -1
  97. package/@types/store/index.d.cts +125 -0
  98. package/@types/store/index.d.ts +125 -0
  99. package/@types/store/with-schemas/index.d.cts +125 -0
  100. package/@types/store/with-schemas/index.d.ts +125 -0
  101. package/@types/synchronizers/index.d.cts +375 -41
  102. package/@types/synchronizers/index.d.ts +375 -41
  103. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
  104. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
  105. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
  106. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
  107. package/@types/synchronizers/synchronizer-local/index.d.cts +62 -3
  108. package/@types/synchronizers/synchronizer-local/index.d.ts +62 -3
  109. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -3
  110. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -3
  111. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +110 -3
  112. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +110 -3
  113. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +121 -3
  114. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +121 -3
  115. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
  116. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
  117. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
  118. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
  119. package/@types/synchronizers/with-schemas/index.d.cts +372 -42
  120. package/@types/synchronizers/with-schemas/index.d.ts +372 -42
  121. package/@types/tools/index.d.cts +22 -0
  122. package/@types/tools/index.d.ts +22 -0
  123. package/@types/tools/with-schemas/index.d.cts +22 -0
  124. package/@types/tools/with-schemas/index.d.ts +22 -0
  125. package/@types/ui-react/index.d.cts +375 -1
  126. package/@types/ui-react/index.d.ts +375 -1
  127. package/@types/ui-react/with-schemas/index.d.cts +100 -1
  128. package/@types/ui-react/with-schemas/index.d.ts +100 -1
  129. package/@types/ui-react-dom/index.d.cts +112 -0
  130. package/@types/ui-react-dom/index.d.ts +112 -0
  131. package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
  132. package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
  133. package/@types/ui-react-inspector/index.d.cts +6 -2
  134. package/@types/ui-react-inspector/index.d.ts +6 -2
  135. package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
  136. package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
  137. package/@types/with-schemas/index.d.cts +1 -0
  138. package/@types/with-schemas/index.d.ts +1 -0
  139. package/cjs/es6/index.cjs +49 -43
  140. package/cjs/es6/min/index.cjs +1 -1
  141. package/cjs/es6/min/index.cjs.gz +0 -0
  142. package/cjs/es6/min/metrics/index.cjs +1 -1
  143. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  144. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  145. package/cjs/es6/min/metrics/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-libsql/index.cjs +1 -1
  159. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  160. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  161. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  163. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  164. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  165. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  167. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  168. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  169. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  171. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  172. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  173. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/es6/min/queries/index.cjs +1 -1
  175. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  176. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  177. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  179. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  180. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  181. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  182. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  183. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  185. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  186. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  187. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  189. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/es6/min/ui-react/index.cjs +1 -1
  191. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  192. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  193. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  195. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/es6/persisters/index.cjs +5 -5
  197. package/cjs/es6/persisters/persister-automerge/index.cjs +5 -5
  198. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  199. package/cjs/es6/persisters/persister-browser/index.cjs +5 -5
  200. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +5 -5
  201. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  202. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  203. package/cjs/es6/persisters/persister-electric-sql/index.cjs +11 -11
  204. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  205. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +11 -11
  206. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  207. package/cjs/es6/persisters/persister-file/index.cjs +5 -5
  208. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +5 -5
  209. package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -5
  210. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  211. package/cjs/es6/persisters/persister-libsql/index.cjs +11 -11
  212. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  213. package/cjs/es6/persisters/persister-partykit-client/index.cjs +5 -5
  214. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  215. package/cjs/es6/persisters/persister-powersync/index.cjs +11 -11
  216. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  217. package/cjs/es6/persisters/persister-remote/index.cjs +5 -5
  218. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +5 -5
  219. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +11 -11
  220. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  221. package/cjs/es6/persisters/persister-sqlite3/index.cjs +11 -11
  222. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  223. package/cjs/es6/persisters/persister-yjs/index.cjs +5 -5
  224. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  225. package/cjs/es6/persisters/with-schemas/index.cjs +5 -5
  226. package/cjs/es6/synchronizers/index.cjs +49 -43
  227. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
  228. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
  229. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +53 -48
  230. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -48
  231. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +61 -62
  232. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
  233. package/cjs/es6/synchronizers/with-schemas/index.cjs +49 -43
  234. package/cjs/es6/ui-react/index.cjs +137 -75
  235. package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
  236. package/cjs/es6/ui-react-inspector/index.cjs +5 -5
  237. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -5
  238. package/cjs/es6/with-schemas/index.cjs +49 -43
  239. package/cjs/index.cjs +49 -43
  240. package/cjs/min/index.cjs +1 -1
  241. package/cjs/min/index.cjs.gz +0 -0
  242. package/cjs/min/metrics/index.cjs +1 -1
  243. package/cjs/min/metrics/index.cjs.gz +0 -0
  244. package/cjs/min/metrics/with-schemas/index.cjs +1 -1
  245. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  251. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  252. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  253. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  255. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  256. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  257. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  259. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  260. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  261. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  263. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  273. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/min/queries/index.cjs +1 -1
  275. package/cjs/min/queries/index.cjs.gz +0 -0
  276. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  277. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  278. package/cjs/min/synchronizers/index.cjs +1 -1
  279. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  280. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  281. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  282. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  283. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  285. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  286. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  287. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  289. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  290. package/cjs/min/ui-react/index.cjs +1 -1
  291. package/cjs/min/ui-react/index.cjs.gz +0 -0
  292. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  293. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  294. package/cjs/min/with-schemas/index.cjs +1 -1
  295. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/persisters/index.cjs +5 -5
  297. package/cjs/persisters/persister-automerge/index.cjs +5 -5
  298. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  299. package/cjs/persisters/persister-browser/index.cjs +5 -5
  300. package/cjs/persisters/persister-browser/with-schemas/index.cjs +5 -5
  301. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  302. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  303. package/cjs/persisters/persister-electric-sql/index.cjs +11 -11
  304. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  305. package/cjs/persisters/persister-expo-sqlite/index.cjs +11 -11
  306. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  307. package/cjs/persisters/persister-file/index.cjs +5 -5
  308. package/cjs/persisters/persister-file/with-schemas/index.cjs +5 -5
  309. package/cjs/persisters/persister-indexed-db/index.cjs +5 -5
  310. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  311. package/cjs/persisters/persister-libsql/index.cjs +11 -11
  312. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  313. package/cjs/persisters/persister-partykit-client/index.cjs +5 -5
  314. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  315. package/cjs/persisters/persister-powersync/index.cjs +11 -11
  316. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  317. package/cjs/persisters/persister-remote/index.cjs +5 -5
  318. package/cjs/persisters/persister-remote/with-schemas/index.cjs +5 -5
  319. package/cjs/persisters/persister-sqlite-wasm/index.cjs +11 -11
  320. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  321. package/cjs/persisters/persister-sqlite3/index.cjs +11 -11
  322. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  323. package/cjs/persisters/persister-yjs/index.cjs +5 -5
  324. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  325. package/cjs/persisters/with-schemas/index.cjs +5 -5
  326. package/cjs/synchronizers/index.cjs +49 -43
  327. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
  328. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
  329. package/cjs/synchronizers/synchronizer-local/index.cjs +53 -53
  330. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -53
  331. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +61 -62
  332. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
  333. package/cjs/synchronizers/with-schemas/index.cjs +49 -43
  334. package/cjs/ui-react/index.cjs +139 -74
  335. package/cjs/ui-react/with-schemas/index.cjs +139 -74
  336. package/cjs/ui-react-inspector/index.cjs +5 -5
  337. package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -5
  338. package/cjs/with-schemas/index.cjs +49 -43
  339. package/es6/index.js +49 -43
  340. package/es6/min/index.js +1 -1
  341. package/es6/min/index.js.gz +0 -0
  342. package/es6/min/metrics/index.js +1 -1
  343. package/es6/min/metrics/index.js.gz +0 -0
  344. package/es6/min/metrics/with-schemas/index.js +1 -1
  345. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  347. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  351. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  355. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-libsql/index.js +1 -1
  359. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-powersync/index.js +1 -1
  363. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  367. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  371. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  374. package/es6/min/queries/index.js +1 -1
  375. package/es6/min/queries/index.js.gz +0 -0
  376. package/es6/min/queries/with-schemas/index.js +1 -1
  377. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  378. package/es6/min/synchronizers/index.js +1 -1
  379. package/es6/min/synchronizers/index.js.gz +0 -0
  380. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  381. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  382. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  383. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  384. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  385. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  386. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  387. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  388. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  389. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  390. package/es6/min/ui-react/index.js +1 -1
  391. package/es6/min/ui-react/index.js.gz +0 -0
  392. package/es6/min/ui-react/with-schemas/index.js +1 -1
  393. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  394. package/es6/min/with-schemas/index.js +1 -1
  395. package/es6/min/with-schemas/index.js.gz +0 -0
  396. package/es6/persisters/index.js +5 -5
  397. package/es6/persisters/persister-automerge/index.js +5 -5
  398. package/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  399. package/es6/persisters/persister-browser/index.js +5 -5
  400. package/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  401. package/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  402. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  403. package/es6/persisters/persister-electric-sql/index.js +11 -11
  404. package/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  405. package/es6/persisters/persister-expo-sqlite/index.js +11 -11
  406. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  407. package/es6/persisters/persister-file/index.js +5 -5
  408. package/es6/persisters/persister-file/with-schemas/index.js +5 -5
  409. package/es6/persisters/persister-indexed-db/index.js +5 -5
  410. package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  411. package/es6/persisters/persister-libsql/index.js +11 -11
  412. package/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  413. package/es6/persisters/persister-partykit-client/index.js +5 -5
  414. package/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  415. package/es6/persisters/persister-powersync/index.js +11 -11
  416. package/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  417. package/es6/persisters/persister-remote/index.js +5 -5
  418. package/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  419. package/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  420. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  421. package/es6/persisters/persister-sqlite3/index.js +11 -11
  422. package/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  423. package/es6/persisters/persister-yjs/index.js +5 -5
  424. package/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  425. package/es6/persisters/with-schemas/index.js +5 -5
  426. package/es6/synchronizers/index.js +49 -44
  427. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
  428. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
  429. package/es6/synchronizers/synchronizer-local/index.js +53 -48
  430. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +53 -48
  431. package/es6/synchronizers/synchronizer-ws-client/index.js +61 -62
  432. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
  433. package/es6/synchronizers/with-schemas/index.js +49 -44
  434. package/es6/ui-react/index.js +137 -75
  435. package/es6/ui-react/with-schemas/index.js +137 -75
  436. package/es6/ui-react-inspector/index.js +5 -5
  437. package/es6/ui-react-inspector/with-schemas/index.js +5 -5
  438. package/es6/with-schemas/index.js +49 -43
  439. package/index.js +49 -43
  440. package/min/index.js +1 -1
  441. package/min/index.js.gz +0 -0
  442. package/min/metrics/index.js +1 -1
  443. package/min/metrics/index.js.gz +0 -0
  444. package/min/metrics/with-schemas/index.js +1 -1
  445. package/min/metrics/with-schemas/index.js.gz +0 -0
  446. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  447. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  448. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  449. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  450. package/min/persisters/persister-electric-sql/index.js +1 -1
  451. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  452. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  453. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  454. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  455. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  456. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  457. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  458. package/min/persisters/persister-libsql/index.js +1 -1
  459. package/min/persisters/persister-libsql/index.js.gz +0 -0
  460. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  461. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  462. package/min/persisters/persister-powersync/index.js +1 -1
  463. package/min/persisters/persister-powersync/index.js.gz +0 -0
  464. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  465. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  466. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  467. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  468. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  469. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  470. package/min/persisters/persister-sqlite3/index.js +1 -1
  471. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  472. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  473. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  474. package/min/queries/index.js +1 -1
  475. package/min/queries/index.js.gz +0 -0
  476. package/min/queries/with-schemas/index.js +1 -1
  477. package/min/queries/with-schemas/index.js.gz +0 -0
  478. package/min/synchronizers/index.js +1 -1
  479. package/min/synchronizers/index.js.gz +0 -0
  480. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  481. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  482. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  483. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  484. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  485. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  486. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  487. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  488. package/min/synchronizers/with-schemas/index.js +1 -1
  489. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  490. package/min/ui-react/index.js +1 -1
  491. package/min/ui-react/index.js.gz +0 -0
  492. package/min/ui-react/with-schemas/index.js +1 -1
  493. package/min/ui-react/with-schemas/index.js.gz +0 -0
  494. package/min/with-schemas/index.js +1 -1
  495. package/min/with-schemas/index.js.gz +0 -0
  496. package/package.json +109 -5
  497. package/persisters/index.js +5 -5
  498. package/persisters/persister-automerge/index.js +5 -5
  499. package/persisters/persister-automerge/with-schemas/index.js +5 -5
  500. package/persisters/persister-browser/index.js +5 -5
  501. package/persisters/persister-browser/with-schemas/index.js +5 -5
  502. package/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  503. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  504. package/persisters/persister-electric-sql/index.js +11 -11
  505. package/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  506. package/persisters/persister-expo-sqlite/index.js +11 -11
  507. package/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  508. package/persisters/persister-file/index.js +5 -5
  509. package/persisters/persister-file/with-schemas/index.js +5 -5
  510. package/persisters/persister-indexed-db/index.js +5 -5
  511. package/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  512. package/persisters/persister-libsql/index.js +11 -11
  513. package/persisters/persister-libsql/with-schemas/index.js +11 -11
  514. package/persisters/persister-partykit-client/index.js +5 -5
  515. package/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  516. package/persisters/persister-powersync/index.js +11 -11
  517. package/persisters/persister-powersync/with-schemas/index.js +11 -11
  518. package/persisters/persister-remote/index.js +5 -5
  519. package/persisters/persister-remote/with-schemas/index.js +5 -5
  520. package/persisters/persister-sqlite-wasm/index.js +11 -11
  521. package/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  522. package/persisters/persister-sqlite3/index.js +11 -11
  523. package/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  524. package/persisters/persister-yjs/index.js +5 -5
  525. package/persisters/persister-yjs/with-schemas/index.js +5 -5
  526. package/persisters/with-schemas/index.js +5 -5
  527. package/readme.md +10 -10
  528. package/releases.md +8 -8
  529. package/synchronizers/index.js +49 -44
  530. package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
  531. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
  532. package/synchronizers/synchronizer-local/index.js +53 -53
  533. package/synchronizers/synchronizer-local/with-schemas/index.js +53 -53
  534. package/synchronizers/synchronizer-ws-client/index.js +61 -62
  535. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
  536. package/synchronizers/with-schemas/index.js +49 -44
  537. package/ui-react/index.js +139 -74
  538. package/ui-react/with-schemas/index.js +139 -74
  539. package/ui-react-inspector/index.js +5 -5
  540. package/ui-react-inspector/with-schemas/index.js +5 -5
  541. package/umd/es6/index.js +52 -43
  542. package/umd/es6/min/index.js +1 -1
  543. package/umd/es6/min/index.js.gz +0 -0
  544. package/umd/es6/min/metrics/index.js +1 -1
  545. package/umd/es6/min/metrics/index.js.gz +0 -0
  546. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  547. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  548. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  549. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  550. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  551. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  552. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  553. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  554. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  555. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  556. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  557. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  558. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  559. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  560. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  561. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  562. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  563. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  564. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  565. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  566. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  567. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  568. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  569. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  570. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  571. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  572. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  573. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  574. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  575. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  576. package/umd/es6/min/queries/index.js +1 -1
  577. package/umd/es6/min/queries/index.js.gz +0 -0
  578. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  579. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  580. package/umd/es6/min/synchronizers/index.js +1 -1
  581. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  582. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  583. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  584. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  585. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  586. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  587. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  588. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  589. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  590. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  591. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  592. package/umd/es6/min/ui-react/index.js +1 -1
  593. package/umd/es6/min/ui-react/index.js.gz +0 -0
  594. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  595. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  596. package/umd/es6/min/with-schemas/index.js +1 -1
  597. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  598. package/umd/es6/persisters/index.js +5 -5
  599. package/umd/es6/persisters/persister-automerge/index.js +5 -5
  600. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  601. package/umd/es6/persisters/persister-browser/index.js +5 -5
  602. package/umd/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  603. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  604. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  605. package/umd/es6/persisters/persister-electric-sql/index.js +11 -11
  606. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  607. package/umd/es6/persisters/persister-expo-sqlite/index.js +11 -11
  608. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  609. package/umd/es6/persisters/persister-file/index.js +5 -5
  610. package/umd/es6/persisters/persister-file/with-schemas/index.js +5 -5
  611. package/umd/es6/persisters/persister-indexed-db/index.js +5 -5
  612. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  613. package/umd/es6/persisters/persister-libsql/index.js +11 -11
  614. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  615. package/umd/es6/persisters/persister-partykit-client/index.js +5 -5
  616. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  617. package/umd/es6/persisters/persister-powersync/index.js +11 -11
  618. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  619. package/umd/es6/persisters/persister-remote/index.js +5 -5
  620. package/umd/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  621. package/umd/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  622. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  623. package/umd/es6/persisters/persister-sqlite3/index.js +11 -11
  624. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  625. package/umd/es6/persisters/persister-yjs/index.js +5 -5
  626. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  627. package/umd/es6/persisters/with-schemas/index.js +5 -5
  628. package/umd/es6/synchronizers/index.js +52 -43
  629. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
  630. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
  631. package/umd/es6/synchronizers/synchronizer-local/index.js +56 -48
  632. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +56 -48
  633. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +64 -62
  634. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -62
  635. package/umd/es6/synchronizers/with-schemas/index.js +52 -43
  636. package/umd/es6/ui-react/index.js +135 -72
  637. package/umd/es6/ui-react/with-schemas/index.js +135 -72
  638. package/umd/es6/ui-react-inspector/index.js +5 -5
  639. package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -5
  640. package/umd/es6/with-schemas/index.js +52 -43
  641. package/umd/index.js +52 -47
  642. package/umd/min/index.js +1 -1
  643. package/umd/min/index.js.gz +0 -0
  644. package/umd/min/metrics/index.js +1 -1
  645. package/umd/min/metrics/index.js.gz +0 -0
  646. package/umd/min/metrics/with-schemas/index.js +1 -1
  647. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  648. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  649. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  650. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  651. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  652. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  653. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  654. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  655. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  656. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  657. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  658. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  659. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  660. package/umd/min/persisters/persister-libsql/index.js +1 -1
  661. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  662. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  663. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  664. package/umd/min/persisters/persister-powersync/index.js +1 -1
  665. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  666. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  667. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  668. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  669. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  670. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  671. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  672. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  673. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  674. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  675. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  676. package/umd/min/queries/index.js +1 -1
  677. package/umd/min/queries/index.js.gz +0 -0
  678. package/umd/min/queries/with-schemas/index.js +1 -1
  679. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  680. package/umd/min/synchronizers/index.js +1 -1
  681. package/umd/min/synchronizers/index.js.gz +0 -0
  682. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  683. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  684. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  685. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  686. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  687. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  688. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  689. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  690. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  691. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  692. package/umd/min/ui-react/index.js +1 -1
  693. package/umd/min/ui-react/index.js.gz +0 -0
  694. package/umd/min/ui-react/with-schemas/index.js +1 -1
  695. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  696. package/umd/min/with-schemas/index.js +1 -1
  697. package/umd/min/with-schemas/index.js.gz +0 -0
  698. package/umd/persisters/index.js +5 -5
  699. package/umd/persisters/persister-automerge/index.js +5 -5
  700. package/umd/persisters/persister-automerge/with-schemas/index.js +5 -5
  701. package/umd/persisters/persister-browser/index.js +5 -5
  702. package/umd/persisters/persister-browser/with-schemas/index.js +5 -5
  703. package/umd/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  704. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  705. package/umd/persisters/persister-electric-sql/index.js +11 -11
  706. package/umd/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  707. package/umd/persisters/persister-expo-sqlite/index.js +11 -11
  708. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  709. package/umd/persisters/persister-file/index.js +5 -5
  710. package/umd/persisters/persister-file/with-schemas/index.js +5 -5
  711. package/umd/persisters/persister-indexed-db/index.js +5 -5
  712. package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  713. package/umd/persisters/persister-libsql/index.js +11 -11
  714. package/umd/persisters/persister-libsql/with-schemas/index.js +11 -11
  715. package/umd/persisters/persister-partykit-client/index.js +5 -5
  716. package/umd/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  717. package/umd/persisters/persister-powersync/index.js +11 -11
  718. package/umd/persisters/persister-powersync/with-schemas/index.js +11 -11
  719. package/umd/persisters/persister-remote/index.js +5 -5
  720. package/umd/persisters/persister-remote/with-schemas/index.js +5 -5
  721. package/umd/persisters/persister-sqlite-wasm/index.js +11 -11
  722. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  723. package/umd/persisters/persister-sqlite3/index.js +11 -11
  724. package/umd/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  725. package/umd/persisters/persister-yjs/index.js +5 -5
  726. package/umd/persisters/persister-yjs/with-schemas/index.js +5 -5
  727. package/umd/persisters/with-schemas/index.js +5 -5
  728. package/umd/synchronizers/index.js +52 -47
  729. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
  730. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
  731. package/umd/synchronizers/synchronizer-local/index.js +56 -57
  732. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +56 -57
  733. package/umd/synchronizers/synchronizer-ws-client/index.js +64 -66
  734. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -66
  735. package/umd/synchronizers/with-schemas/index.js +52 -47
  736. package/umd/ui-react/index.js +140 -71
  737. package/umd/ui-react/with-schemas/index.js +140 -71
  738. package/umd/ui-react-inspector/index.js +5 -5
  739. package/umd/ui-react-inspector/with-schemas/index.js +5 -5
  740. package/umd/with-schemas/index.js +52 -47
  741. package/with-schemas/index.js +49 -43
@@ -1,42 +1,46 @@
1
1
  /**
2
2
  * The persisters module of the TinyBase project provides a simple framework for
3
- * saving and loading Store data, to and from different destinations, or
4
- * underlying storage types.
5
- *
6
- * Several entry points are provided (in separately installed modules), each of
7
- * which returns a new Persister object that can load and save a Store. Between
8
- * them, these allow you to store your TinyBase data locally, remotely, to
9
- * SQLite databases, and across synchronization boundaries with CRDT frameworks.
10
- *
11
- * |Module|Function|Storage|
12
- * |-|-|-|
13
- * |persister-browser|createSessionPersister|Browser session storage|
14
- * |persister-browser|createLocalPersister|Browser local storage|
15
- * |persister-indexed-db|createIndexedDbPersister|Browser IndexedDB|
16
- * |persister-remote|createRemotePersister|Remote server|
17
- * |persister-file|createFilePersister|Local file (where possible)|
18
- * |persister-partykit-client|createPartyKitPersister|PartyKit with the persister-partykit-server module|
19
- * |persister-sqlite3|createSqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|
20
- * |persister-sqlite-wasm|createSqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|
21
- * |persister-cr-sqlite-wasm|createCrSqliteWasmPersister|SQLite CRDTs, via [cr-sqlite-wasm](https://github.com/vlcn-io/cr-sqlite)|
22
- * |persister-expo-sqlite|createExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|
23
- * |persister-electric-sql|createElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|
24
- * |persister-libsql|createLibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|
25
- * |persister-powersync|createPowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|
26
- * |persister-yjs|createYjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|
27
- * |persister-automerge|createSqliteWasmPersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|
3
+ * saving and loading Store and MergeableStore data, to and from different
4
+ * destinations, or underlying storage types.
5
+ *
6
+ * Many entry points are provided (in separately installed modules), each of
7
+ * which returns different types of Persister that can load and save a Store.
8
+ * Between them, these allow you to store your TinyBase data locally, remotely,
9
+ * to SQLite databases, and across synchronization boundaries with CRDT
10
+ * frameworks.
11
+ *
12
+ * |Persister|Storage|Store|MergeableStore
13
+ * |-|-|-|-|
14
+ * |SessionPersister|Browser session storage|Yes|Yes
15
+ * |LocalPersister|Browser local storage|Yes|Yes
16
+ * |FilePersister|Local file (where possible)|Yes|Yes
17
+ * |IndexedDbPersister|Browser IndexedDB|Yes|No
18
+ * |RemotePersister|Remote server|Yes|No
19
+ * |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
20
+ * |SqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|Yes|Yes*
21
+ * |ExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|Yes|Yes*
22
+ * |CrSqliteWasmPersister|SQLite CRDTs, via [cr-sqlite-wasm](https://github.com/vlcn-io/cr-sqlite)|Yes|No
23
+ * |ElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|Yes|No
24
+ * |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
25
+ * |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
26
+ * |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
27
+ * |SqliteWasmPersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
28
+ * |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
29
+ *
30
+ * (*) Note that SQLite-based Persisters can currently only persist
31
+ * MergeableStore data when using the JSON-based DpcJson mode, and not in a
32
+ * tabular fashion.
28
33
  *
29
34
  * Since persistence requirements can be different for every app, the
30
35
  * createCustomPersister function in this module can also be used to easily
31
36
  * create a fully customized way to save and load Store data.
32
- * @see Persisting Data guide
33
- * @see Database Persistence guide
34
- * @see Synchronizing Data guide
37
+ * @see Persistence guides
35
38
  * @see Countries demo
36
39
  * @see Todo App demos
37
40
  * @see Drawing demo
38
41
  * @packageDocumentation
39
42
  * @module persisters
43
+ * @since v1.0.0
40
44
  */
41
45
 
42
46
  import type {Changes, Content, Store} from '../store/index.d.cts';
@@ -48,29 +52,50 @@ import type {
48
52
  import type {Id} from '../common/index.d.cts';
49
53
 
50
54
  /**
51
- * The Persists enum.
55
+ * The Persists enum is used to indicate whether a Persister can support a
56
+ * regular Store, a MergeableStore, or both.
52
57
  *
53
- * This is used to indicate what types of Store a Persister can support.
58
+ * The enum is intended to be used by the author of a Persister to indicate
59
+ * which types of store can be persisted. If you discover type errors when
60
+ * trying to instantiate a Persister, it is most likely that you are passing in
61
+ * an unsupported type of store.
62
+ *
63
+ * See the createCustomPersister method for an example of this enum being used.
54
64
  * @category Mergeable
55
65
  * @since v5.0.0
56
66
  */
57
67
  export const enum Persists {
58
68
  /**
59
- * The StoreOnly enum value.
69
+ * Indicates that only a regular Store can be supported by a Persister.
70
+ * @category Enum
71
+ * @since v5.0.0
60
72
  */
61
73
  StoreOnly = 1,
62
74
  /**
63
- * The MergeableStoreOnly enum value.
75
+ * Indicates that only a MergeableStore can be supported by a Persister.
76
+ * @category Enum
77
+ * @since v5.0.0
64
78
  */
65
79
  MergeableStoreOnly = 2,
66
80
  /**
67
- * The StoreOrMergeableStore enum value.
81
+ * Indicates that either a regular Store or a MergeableStore can be supported
82
+ * by a Persister.
83
+ * @category Enum
84
+ * @since v5.0.0
68
85
  */
69
86
  StoreOrMergeableStore = 3,
70
87
  }
71
88
 
72
89
  /**
73
- * The PersistedStore type.
90
+ * The PersistedStore type is a generic representation of the type of store
91
+ * being handled by a Persister.
92
+ *
93
+ * Using the values of the Persists enum, the generic parameter indicates
94
+ * whether the Persister is handling a regular Store, a MergeableStore, or
95
+ * either.
96
+ *
97
+ * If the generic parameter is unspecified, the StoreOnly enum value is used,
98
+ * meaning that PersistedStore is equivalent to a regular Store.
74
99
  * @category Mergeable
75
100
  * @since v5.0.0
76
101
  */
@@ -82,7 +107,16 @@ export type PersistedStore<Persist extends Persists = Persists.StoreOnly> =
82
107
  : Store;
83
108
 
84
109
  /**
85
- * The PersistedContent type.
110
+ * The PersistedContent type is a generic representation of the content in the
111
+ * type of store being handled by a Persister.
112
+ *
113
+ * Using the values of the Persists enum, the generic parameter indicates
114
+ * whether the Persister is handling content from a regular Store (the Content
115
+ * type), a MergeableStore (the MergeableContent type), or either (the union of
116
+ * the two).
117
+ *
118
+ * If the generic parameter is unspecified, the StoreOnly enum value is used,
119
+ * meaning that PersistedContent is equivalent to the Content type.
86
120
  * @category Mergeable
87
121
  * @since v5.0.0
88
122
  */
@@ -94,7 +128,13 @@ export type PersistedContent<Persist extends Persists = Persists.StoreOnly> =
94
128
  : Content;
95
129
 
96
130
  /**
97
- * The PersistedChanges type.
131
+ * The PersistedChanges type is a generic representation of changes made to the
132
+ * type of store being handled by a Persister.
133
+ *
134
+ * Using the values of the Persists enum, the generic parameter indicates
135
+ * whether the Persister is handling changes for a regular Store (the Changes
136
+ * type), a MergeableStore (the MergeableChanges type), or either (the union of
137
+ * the two).
98
138
  * @category Mergeable
99
139
  * @since v5.0.0
100
140
  */
@@ -106,14 +146,19 @@ export type PersistedChanges<Persist extends Persists = Persists.StoreOnly> =
106
146
  : Changes;
107
147
 
108
148
  /**
109
- * A PersisterListener is a callback that lets a Persister inform the Store that
110
- * a change has happened to the underlying data.
149
+ * A PersisterListener is a generic representation of the callback that lets a
150
+ * Persister inform the store that a change has happened to the underlying data.
151
+ *
152
+ * Using the values of the Persists enum, the generic parameter indicates
153
+ * whether the Persister is handling content and changes from a regular Store, a
154
+ * MergeableStore, or either.
111
155
  *
112
156
  * If the listener is called with the `changes` parameter, it will be used to
113
157
  * make an incremental change to the Store. If not, but the `content` parameter
114
158
  * is available, that will be used to make a wholesale change to the Store. If
115
159
  * neither are present, the content will be loaded using the Persister's load
116
- * method. Prior to v5.0, these parameters were callbacks.
160
+ * method. Prior to v5.0, these parameters were callbacks and the overall type
161
+ * was non-generic.
117
162
  * @param content If provided, this is a Content object from the the Persister
118
163
  * that will be used to immediately wholesale update the Store.
119
164
  * @param changes If provided, this is a Changes object from the the Persister
@@ -133,14 +178,19 @@ export type PersisterListener<Persist extends Persists = Persists.StoreOnly> = (
133
178
  *
134
179
  * A PersisterStats object is returned from the getStats method.
135
180
  * @category Development
181
+ * @since v1.0.0
136
182
  */
137
183
  export type PersisterStats = {
138
184
  /**
139
185
  * The number of times data has been loaded.
186
+ * @category Stat
187
+ * @since v1.0.0
140
188
  */
141
189
  loads: number;
142
190
  /**
143
191
  * The number of times data has been saved.
192
+ * @category Stat
193
+ * @since v1.0.0
144
194
  */
145
195
  saves: number;
146
196
  };
@@ -252,27 +302,37 @@ export type DpcJson = {
252
302
  * The mode to be used for persisting the Store to the database, in this case
253
303
  * JSON serialization. See the DpcTabular type for the alternative tabular
254
304
  * mapping mode.
305
+ * @category Configuration
306
+ * @since v4.0.0
255
307
  */
256
308
  mode: 'json';
257
309
  /**
258
310
  * An optional string which indicates the name of a table in the database
259
311
  * which will be used to serialize the Store content into. It defaults to
260
312
  * `tinybase`.
313
+ * @category Configuration
314
+ * @since v4.0.0
261
315
  */
262
316
  storeTableName?: string;
263
317
  /**
264
318
  * The optional name of the column in the database table that will be used as
265
319
  * the Id for the Store, defaulting to '_id', since v5.0.
320
+ * @category Configuration
321
+ * @since v4.0.0
266
322
  */
267
323
  storeIdColumnName?: string;
268
324
  /**
269
325
  * The optional name of the column in the database table that will be used for
270
326
  * the JSON of the Store, defaulting to 'store', since v5.0.
327
+ * @category Configuration
328
+ * @since v4.0.0
271
329
  */
272
330
  storeColumnName?: string;
273
331
  /**
274
332
  * How often the Persister should poll the database for any changes made to it
275
333
  * by other clients, defaulting to 1 second.
334
+ * @category Configuration
335
+ * @since v4.0.0
276
336
  */
277
337
  autoLoadIntervalSeconds?: number;
278
338
  };
@@ -281,6 +341,11 @@ export type DpcJson = {
281
341
  * The DpcTabular type describes the configuration of a database-oriented
282
342
  * Persister that is operating in tabular mapping mode.
283
343
  *
344
+ * This configuration can only be used when the Persister is persisting a
345
+ * regular Store. For those database-oriented Persister types that support
346
+ * MergeableStore data, you will need to use JSON-serialization, es described
347
+ * in the DpcJson section.
348
+ *
284
349
  * It is important to note that both the tabular mapping in ('save') and out
285
350
  * ('load') of an underlying database are disabled by default. This is to ensure
286
351
  * that if you pass in an existing populated database you don't run the
@@ -343,30 +408,42 @@ export type DpcTabular = {
343
408
  * The mode to be used for persisting the Store to the database, in this case
344
409
  * tabular mapping. See the DpcJson type for the alternative JSON
345
410
  * serialization mode.
411
+ * @category Configuration
412
+ * @since v4.0.0
346
413
  */
347
414
  mode: 'tabular';
348
415
  /**
349
416
  * The settings for how the Store Tables are mapped to and from the database.
417
+ * @category Configuration
418
+ * @since v4.0.0
350
419
  */
351
420
  tables?: {
352
421
  /**
353
422
  * The settings for how the database tables are mapped into the Store Tables
354
423
  * when loading.
424
+ * @category Configuration
425
+ * @since v4.0.0
355
426
  */
356
427
  load?: DpcTabularLoad;
357
428
  /**
358
429
  * The settings for how the Store Tables are mapped out to the database
359
430
  * tables when saving.
431
+ * @category Configuration
432
+ * @since v4.0.0
360
433
  */
361
434
  save?: DpcTabularSave;
362
435
  };
363
436
  /**
364
437
  * The settings for how the Store Values are mapped to and from the database.
438
+ * @category Configuration
439
+ * @since v4.0.0
365
440
  */
366
441
  values?: DpcTabularValues;
367
442
  /**
368
443
  * How often the Persister should poll the database for any changes made to it
369
444
  * by other clients, defaulting to 1 second.
445
+ * @category Configuration
446
+ * @since v4.0.0
370
447
  */
371
448
  autoLoadIntervalSeconds?: number;
372
449
  };
@@ -453,11 +530,15 @@ export type DpcTabularLoad = {
453
530
  /**
454
531
  * The Id of the Store Table into which data from this database table
455
532
  * should be loaded.
533
+ * @category Configuration
534
+ * @since v4.0.0
456
535
  */
457
536
  tableId: Id;
458
537
  /**
459
538
  * The optional name of the column in the database table that will be
460
539
  * used as the Row Ids in the Store Table, defaulting to '_id'.
540
+ * @category Configuration
541
+ * @since v4.0.0
461
542
  */
462
543
  rowIdColumnName?: string;
463
544
  }
@@ -562,21 +643,29 @@ export type DpcTabularSave = {
562
643
  /**
563
644
  * The name of the database table out to which the Store Table should be
564
645
  * saved.
646
+ * @category Configuration
647
+ * @since v4.0.0
565
648
  */
566
649
  tableName: string;
567
650
  /**
568
651
  * The optional name of the column in the database table that will be
569
652
  * used to save the Row Ids from the Store Table, defaulting to '_id'.
653
+ * @category Configuration
654
+ * @since v4.0.0
570
655
  */
571
656
  rowIdColumnName?: string;
572
657
  /**
573
658
  * Whether columns in the database table will be removed if they are
574
659
  * empty in the Store Table, defaulting to false.
660
+ * @category Configuration
661
+ * @since v4.0.0
575
662
  */
576
663
  deleteEmptyColumns?: boolean;
577
664
  /**
578
- * Whether tables in the database will be removed if the Store Table
579
- * is empty, defaulting to false.
665
+ * Whether tables in the database will be removed if the Store Table is
666
+ * empty, defaulting to false.
667
+ * @category Configuration
668
+ * @since v4.0.0
580
669
  */
581
670
  deleteEmptyTable?: boolean;
582
671
  }
@@ -615,15 +704,21 @@ export type DpcTabularSave = {
615
704
  export type DpcTabularValues = {
616
705
  /**
617
706
  * Whether Store Values will be loaded from a database table.
707
+ * @category Configuration
708
+ * @since v4.0.0
618
709
  */
619
710
  load?: boolean;
620
711
  /**
621
712
  * Whether Store Values will be saved to a database table.
713
+ * @category Configuration
714
+ * @since v4.0.0
622
715
  */
623
716
  save?: boolean;
624
717
  /**
625
718
  * The optional name of the database table from and to which the Store Values
626
719
  * should be loaded or saved, defaulting to `tinybase_values`.
720
+ * @category Configuration
721
+ * @since v4.0.0
627
722
  */
628
723
  tableName?: string;
629
724
  };
@@ -632,15 +727,22 @@ export type DpcTabularValues = {
632
727
  * A Persister object lets you save and load Store data to and from different
633
728
  * locations, or underlying storage types.
634
729
  *
635
- * This is useful for preserving Store data between browser sessions or reloads,
636
- * saving or loading browser state to or from a server, or saving Store data to
637
- * disk in a environment with filesystem access.
730
+ * This is useful for preserving Store or MergeableStore data between browser
731
+ * sessions or reloads, saving or loading browser state to or from a server, or
732
+ * saving Store data to disk in a environment with filesystem access.
638
733
  *
639
734
  * Creating a Persister depends on the choice of underlying storage where the
640
735
  * data is to be stored. Options include the createSessionPersister function,
641
736
  * the createLocalPersister function, the createRemotePersister function, and
642
- * the createFilePersister function. The createCustomPersister function can also
643
- * be used to easily create a fully customized way to save and load Store data.
737
+ * the createFilePersister function, as just simple examples. The
738
+ * createCustomPersister function can also be used to easily create a fully
739
+ * customized way to save and load Store data.
740
+ *
741
+ * Using the values of the Persists enum, the generic parameter to the Persister
742
+ * indicates whether it can handle a regular Store, a MergeableStore, or either.
743
+ * Consult the table in the overall persisters module documentation to see
744
+ * current support for each. The different levels of support are also described
745
+ * for each of the types of Persister themselves.
644
746
  *
645
747
  * A Persister lets you explicit save or load data, with the save method and the
646
748
  * load method respectively. These methods are both asynchronous (since the
@@ -735,6 +837,7 @@ export type DpcTabularValues = {
735
837
  * sessionStorage.clear();
736
838
  * ```
737
839
  * @category Persister
840
+ * @since v1.0.0
738
841
  */
739
842
  export interface Persister<Persist extends Persists = Persists.StoreOnly> {
740
843
  //
@@ -800,6 +903,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
800
903
  * sessionStorage.clear();
801
904
  * ```
802
905
  * @category Load
906
+ * @since v1.0.0
803
907
  */
804
908
  load(initialContent?: Content): Promise<this>;
805
909
 
@@ -856,6 +960,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
856
960
  * sessionStorage.clear();
857
961
  * ```
858
962
  * @category Load
963
+ * @since v1.0.0
859
964
  */
860
965
  startAutoLoad(initialContent?: Content): Promise<this>;
861
966
 
@@ -903,6 +1008,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
903
1008
  * sessionStorage.clear();
904
1009
  * ```
905
1010
  * @category Load
1011
+ * @since v1.0.0
906
1012
  */
907
1013
  stopAutoLoad(): this;
908
1014
 
@@ -964,6 +1070,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
964
1070
  * sessionStorage.clear();
965
1071
  * ```
966
1072
  * @category Save
1073
+ * @since v1.0.0
967
1074
  */
968
1075
  save(): Promise<this>;
969
1076
 
@@ -1004,6 +1111,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1004
1111
  * sessionStorage.clear();
1005
1112
  * ```
1006
1113
  * @category Save
1114
+ * @since v1.0.0
1007
1115
  */
1008
1116
  startAutoSave(): Promise<this>;
1009
1117
 
@@ -1044,6 +1152,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1044
1152
  * sessionStorage.clear();
1045
1153
  * ```
1046
1154
  * @category Save
1155
+ * @since v1.0.0
1047
1156
  */
1048
1157
  stopAutoSave(): this;
1049
1158
 
@@ -1128,9 +1237,9 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1128
1237
  schedule(...actions: Promise<any>[]): Promise<this>;
1129
1238
 
1130
1239
  /**
1131
- * The getStore method returns a reference to the underlying Store that is
1132
- * backing this Persister object.
1133
- * @returns A reference to the Store.
1240
+ * The getStore method returns a reference to the underlying Store or
1241
+ * MergeableStore that is backing this Persister object.
1242
+ * @returns A reference to the Store or MergeableStore.
1134
1243
  * @example
1135
1244
  * This example creates a Persister object against a newly-created Store and
1136
1245
  * then gets its reference in order to update its data.
@@ -1150,6 +1259,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1150
1259
  * sessionStorage.clear();
1151
1260
  * ```
1152
1261
  * @category Getter
1262
+ * @since v1.0.0
1153
1263
  */
1154
1264
  getStore(): PersistedStore<Persist>;
1155
1265
 
@@ -1183,6 +1293,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1183
1293
  * // -> 0
1184
1294
  * ```
1185
1295
  * @category Lifecycle
1296
+ * @since v1.0.0
1186
1297
  */
1187
1298
  destroy(): this;
1188
1299
 
@@ -1228,6 +1339,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1228
1339
  * sessionStorage.clear();
1229
1340
  * ```
1230
1341
  * @category Development
1342
+ * @since v1.0.0
1231
1343
  */
1232
1344
  getStats(): PersisterStats;
1233
1345
  //
@@ -1272,41 +1384,43 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1272
1384
  * @param onIgnoredError An optional handler for the errors that the Persister
1273
1385
  * would otherwise ignore when trying to save or load data. This is suitable for
1274
1386
  * debugging persistence issues in a development environment, since v4.0.4.
1275
- * @param persistable Since v5.0, an optional integer to indicate which types of
1276
- * Store are supported by this Persister: `1` indicates only a regular Store is
1277
- * supported, `2` indicates only a MergeableStore is supported, and `3`
1278
- * indicates that both Store and MergeableStore are supported.
1387
+ * @param persist Since v5.0, an optional integer from the Persists enum to
1388
+ * indicate which types of Store are supported by this Persister: `1` indicates
1389
+ * only a regular Store is supported, `2` indicates only a MergeableStore is
1390
+ * supported, and `3` indicates that both Store and MergeableStore are
1391
+ * supported.
1279
1392
  * @returns A reference to the new Persister object.
1280
1393
  * @example
1281
- * This example creates a custom Persister object and persists the Store to a
1282
- * local string called `storeJson` and which would automatically load by polling
1283
- * for changes every second.
1394
+ * This example creates a custom Persister object and persists a Store to a
1395
+ * local string called `persistedJson` and which would automatically load by
1396
+ * polling for changes every second. It implicitly supports only a regular
1397
+ * Store.
1284
1398
  *
1285
1399
  * ```js
1286
1400
  * import {createCustomPersister, createStore} from 'tinybase';
1287
1401
  *
1288
1402
  * const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
1289
- * let storeJson;
1403
+ * let persistedJson;
1290
1404
  *
1291
1405
  * const persister = createCustomPersister(
1292
1406
  * store,
1293
1407
  * async () => {
1294
1408
  * // getPersisted
1295
- * return JSON.parse(storeJson);
1409
+ * return JSON.parse(persistedJson);
1296
1410
  * },
1297
1411
  * async (getContent) => {
1298
1412
  * // setPersisted
1299
- * storeJson = JSON.stringify(getContent());
1413
+ * persistedJson = JSON.stringify(getContent());
1300
1414
  * },
1301
1415
  * (listener) => setInterval(listener, 1000),
1302
1416
  * (interval) => clearInterval(interval),
1303
1417
  * );
1304
1418
  *
1305
1419
  * await persister.save();
1306
- * console.log(storeJson);
1420
+ * console.log(persistedJson);
1307
1421
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1308
1422
  *
1309
- * storeJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
1423
+ * persistedJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
1310
1424
  * await persister.load();
1311
1425
  *
1312
1426
  * console.log(store.getTables());
@@ -1314,7 +1428,77 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1314
1428
  *
1315
1429
  * persister.destroy();
1316
1430
  * ```
1431
+ * @example
1432
+ * This example demonstrates a Persister creation function which returns a
1433
+ * Persister. This can persists a store to a local string called `persistedJson`
1434
+ * and which would automatically load by polling for changes every second.
1435
+ * It emits warnings to the console and explicitly supports either a Store or a
1436
+ * MergeableStore.
1437
+ *
1438
+ * ```js
1439
+ * import {
1440
+ * Persists,
1441
+ * createCustomPersister,
1442
+ * createMergeableStore,
1443
+ * createStore,
1444
+ * } from 'tinybase';
1445
+ *
1446
+ * let persistedJson;
1447
+ * const createJsonPersister = (storeOrMergeableStore) =>
1448
+ * createCustomPersister(
1449
+ * storeOrMergeableStore,
1450
+ * async () => {
1451
+ * // getPersisted
1452
+ * return JSON.parse(persistedJson);
1453
+ * },
1454
+ * async (getContent) => {
1455
+ * // setPersisted
1456
+ * persistedJson = JSON.stringify(getContent());
1457
+ * },
1458
+ * (listener) => setInterval(listener, 1000),
1459
+ * (interval) => clearInterval(interval),
1460
+ * console.warn,
1461
+ * Persists.StoreOrMergeableStore,
1462
+ * );
1463
+ *
1464
+ * const store = createStore();
1465
+ * store.setTables({pets: {fido: {species: 'dog'}}});
1466
+ * const storePersister = createJsonPersister(store);
1467
+ * await storePersister.save();
1468
+ * console.log(persistedJson);
1469
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1470
+ * storePersister.destroy();
1471
+ *
1472
+ * const mergeableStore = createMergeableStore('mergeableStore1'); // !resetHlc
1473
+ * mergeableStore.setTables({pets: {fido: {species: 'dog'}}});
1474
+ * const mergeableStorePersister = createJsonPersister(mergeableStore);
1475
+ * await mergeableStorePersister.save();
1476
+ * console.log(JSON.parse(persistedJson));
1477
+ * // ->
1478
+ * [
1479
+ * [
1480
+ * {
1481
+ * pets: [
1482
+ * {
1483
+ * fido: [
1484
+ * {species: ['dog', 'Nn1JUF-----Zjl0M', 4176151067]},
1485
+ * '',
1486
+ * 2722999044,
1487
+ * ],
1488
+ * },
1489
+ * '',
1490
+ * 3367164653,
1491
+ * ],
1492
+ * },
1493
+ * '',
1494
+ * 30627183,
1495
+ * ],
1496
+ * [{}, '', 0],
1497
+ * ];
1498
+ * mergeableStorePersister.destroy();
1499
+ * ```
1317
1500
  * @category Creation
1501
+ * @since v1.0.0
1318
1502
  */
1319
1503
  export function createCustomPersister<
1320
1504
  ListeningHandle,
@@ -1331,5 +1515,5 @@ export function createCustomPersister<
1331
1515
  ) => ListeningHandle,
1332
1516
  delPersisterListener: (listeningHandle: ListeningHandle) => void,
1333
1517
  onIgnoredError?: (error: any) => void,
1334
- persistable?: Persist,
1518
+ persist?: Persist,
1335
1519
  ): Persister<Persist>;