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 {
@@ -54,29 +58,61 @@ import type {
54
58
  import type {TableIdFromSchema} from '../../_internal/store/with-schemas/index.d.ts';
55
59
 
56
60
  /**
57
- * The Persists enum.
61
+ * The Persists enum is used to indicate whether a Persister can support a
62
+ * regular Store, a MergeableStore, or both.
63
+ *
64
+ * The enum is intended to be used by the author of a Persister to indicate
65
+ * which types of store can be persisted. If you discover type errors when
66
+ * trying to instantiate a Persister, it is most likely that you are passing in
67
+ * an unsupported type of store.
58
68
  *
59
- * This is used to indicate what types of Store a Persister can support.
69
+ * See the createCustomPersister method for an example of this enum being used.
60
70
  * @category Mergeable
61
71
  * @since v5.0.0
62
72
  */
63
73
  export const enum Persists {
64
74
  /**
65
- * The StoreOnly enum value.
75
+ * Indicates that only a regular Store can be supported by a Persister.
76
+ * @category Enum
77
+ * @since v5.0.0
66
78
  */
67
79
  StoreOnly = 1,
68
80
  /**
69
- * The MergeableStoreOnly enum value.
81
+ * Indicates that only a MergeableStore can be supported by a Persister.
82
+ * @category Enum
83
+ * @since v5.0.0
70
84
  */
71
85
  MergeableStoreOnly = 2,
72
86
  /**
73
- * The StoreOrMergeableStore enum value.
87
+ * Indicates that either a regular Store or a MergeableStore can be supported
88
+ * by a Persister.
89
+ * @category Enum
90
+ * @since v5.0.0
74
91
  */
75
92
  StoreOrMergeableStore = 3,
76
93
  }
77
94
 
78
95
  /**
79
- * The PersistedStore type.
96
+ * The PersistedStore type is a generic representation of the type of store
97
+ * being handled by a Persister.
98
+ *
99
+ * This has schema-based typing. The following is a simplified representation:
100
+ *
101
+ * ```ts override
102
+ * export type PersistedStore<Persist extends Persists = Persists.StoreOnly> =
103
+ * Persist extends Persists.StoreOrMergeableStore
104
+ * ? Store | MergeableStore
105
+ * : Persist extends Persists.MergeableStoreOnly
106
+ * ? MergeableStore
107
+ * : Store;
108
+ * ```
109
+ *
110
+ * Using the values of the Persists enum, the generic parameter indicates
111
+ * whether the Persister is handling a regular Store, a MergeableStore, or
112
+ * either.
113
+ *
114
+ * If the generic parameter is unspecified, the StoreOnly enum value is used,
115
+ * meaning that PersistedStore is equivalent to a regular Store.
80
116
  * @category Mergeable
81
117
  * @since v5.0.0
82
118
  */
@@ -90,7 +126,27 @@ export type PersistedStore<
90
126
  : Store<Schemas>;
91
127
 
92
128
  /**
93
- * The PersistedContent type.
129
+ * The PersistedContent type is a generic representation of the content in the
130
+ * type of store being handled by a Persister.
131
+ *
132
+ * This has schema-based typing. The following is a simplified representation:
133
+ *
134
+ * ```ts override
135
+ * export type PersistedContent<Persist extends Persists = Persists.StoreOnly> =
136
+ * Persist extends Persists.StoreOrMergeableStore
137
+ * ? Content | MergeableContent
138
+ * : Persist extends Persists.MergeableStoreOnly
139
+ * ? MergeableContent
140
+ * : Content;
141
+ * ```
142
+ *
143
+ * Using the values of the Persists enum, the generic parameter indicates
144
+ * whether the Persister is handling content from a regular Store (the Content
145
+ * type), a MergeableStore (the MergeableContent type), or either (the union of
146
+ * the two).
147
+ *
148
+ * If the generic parameter is unspecified, the StoreOnly enum value is used,
149
+ * meaning that PersistedContent is equivalent to the Content type.
94
150
  * @category Mergeable
95
151
  * @since v5.0.0
96
152
  */
@@ -104,7 +160,24 @@ export type PersistedContent<
104
160
  : Content<Schemas>;
105
161
 
106
162
  /**
107
- * The PersistedChanges type.
163
+ * The PersistedChanges type is a generic representation of changes made to the
164
+ * type of store being handled by a Persister.
165
+ *
166
+ * This has schema-based typing. The following is a simplified representation:
167
+ *
168
+ * ```ts override
169
+ * export type PersistedChanges<Persist extends Persists = Persists.StoreOnly> =
170
+ * Persist extends Persists.StoreOrMergeableStore
171
+ * ? Changes | MergeableChanges
172
+ * : Persist extends Persists.MergeableStoreOnly
173
+ * ? MergeableChanges
174
+ * : Changes;
175
+ * ```
176
+ *
177
+ * Using the values of the Persists enum, the generic parameter indicates
178
+ * whether the Persister is handling changes for a regular Store (the Changes
179
+ * type), a MergeableStore (the MergeableChanges type), or either (the union of
180
+ * the two).
108
181
  * @category Mergeable
109
182
  * @since v5.0.0
110
183
  */
@@ -118,8 +191,8 @@ export type PersistedChanges<
118
191
  : Changes<Schemas>;
119
192
 
120
193
  /**
121
- * A PersisterListener is a callback that lets a Persister inform the Store that
122
- * a change has happened to the underlying data.
194
+ * A PersisterListener is a generic representation of the callback that lets a
195
+ * Persister inform the store that a change has happened to the underlying data.
123
196
  *
124
197
  * This has schema-based typing. The following is a simplified representation:
125
198
  *
@@ -130,11 +203,16 @@ export type PersistedChanges<
130
203
  * ) => void;
131
204
  * ```
132
205
  *
206
+ * Using the values of the Persists enum, the generic parameter indicates
207
+ * whether the Persister is handling content and changes from a regular Store, a
208
+ * MergeableStore, or either.
209
+ *
133
210
  * If the listener is called with the `changes` parameter, it will be used to
134
211
  * make an incremental change to the Store. If not, but the `content` parameter
135
212
  * is available, that will be used to make a wholesale change to the Store. If
136
213
  * neither are present, the content will be loaded using the Persister's load
137
- * method. Prior to v5.0, these parameters were callbacks.
214
+ * method. Prior to v5.0, these parameters were callbacks and the overall type
215
+ * was non-generic.
138
216
  * @param content If provided, this is a Content object from the the Persister
139
217
  * that will be used to immediately wholesale update the Store.
140
218
  * @param changes If provided, this is a Changes object from the the Persister
@@ -157,14 +235,19 @@ export type PersisterListener<
157
235
  *
158
236
  * A PersisterStats object is returned from the getStats method.
159
237
  * @category Development
238
+ * @since v1.0.0
160
239
  */
161
240
  export type PersisterStats = {
162
241
  /**
163
242
  * The number of times data has been loaded.
243
+ * @category Stat
244
+ * @since v1.0.0
164
245
  */
165
246
  loads: number;
166
247
  /**
167
248
  * The number of times data has been saved.
249
+ * @category Stat
250
+ * @since v1.0.0
168
251
  */
169
252
  saves: number;
170
253
  };
@@ -284,27 +367,37 @@ export type DpcJson = {
284
367
  * The mode to be used for persisting the Store to the database, in this case
285
368
  * JSON serialization. See the DpcTabular type for the alternative tabular
286
369
  * mapping mode.
370
+ * @category Configuration
371
+ * @since v4.0.0
287
372
  */
288
373
  mode: 'json';
289
374
  /**
290
375
  * An optional string which indicates the name of a table in the database
291
376
  * which will be used to serialize the Store content into. It defaults to
292
377
  * `tinybase`.
378
+ * @category Configuration
379
+ * @since v4.0.0
293
380
  */
294
381
  storeTableName?: string;
295
382
  /**
296
383
  * The optional name of the column in the database table that will be used as
297
384
  * the Id for the Store, defaulting to '_id', since v5.0.
385
+ * @category Configuration
386
+ * @since v4.0.0
298
387
  */
299
388
  storeIdColumnName?: string;
300
389
  /**
301
390
  * The optional name of the column in the database table that will be used for
302
391
  * the JSON of the Store, defaulting to 'store', since v5.0.
392
+ * @category Configuration
393
+ * @since v4.0.0
303
394
  */
304
395
  storeColumnName?: string;
305
396
  /**
306
397
  * How often the Persister should poll the database for any changes made to it
307
398
  * by other clients, defaulting to 1 second.
399
+ * @category Configuration
400
+ * @since v4.0.0
308
401
  */
309
402
  autoLoadIntervalSeconds?: number;
310
403
  };
@@ -313,6 +406,11 @@ export type DpcJson = {
313
406
  * The DpcTabular type describes the configuration of a database-oriented
314
407
  * Persister that is operating in tabular mapping mode.
315
408
  *
409
+ * This configuration can only be used when the Persister is persisting a
410
+ * regular Store. For those database-oriented Persister types that support
411
+ * MergeableStore data, you will need to use JSON-serialization, es described
412
+ * in the DpcJson section.
413
+ *
316
414
  * It is important to note that both the tabular mapping in ('save') and out
317
415
  * ('load') of an underlying database are disabled by default. This is to ensure
318
416
  * that if you pass in an existing populated database you don't run the
@@ -375,30 +473,42 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
375
473
  * The mode to be used for persisting the Store to the database, in this case
376
474
  * tabular mapping. See the DpcJson type for the alternative JSON
377
475
  * serialization mode.
476
+ * @category Configuration
477
+ * @since v4.0.0
378
478
  */
379
479
  mode: 'tabular';
380
480
  /**
381
481
  * The settings for how the Store Tables are mapped to and from the database.
482
+ * @category Configuration
483
+ * @since v4.0.0
382
484
  */
383
485
  tables?: {
384
486
  /**
385
487
  * The settings for how the database tables are mapped into the Store Tables
386
488
  * when loading.
489
+ * @category Configuration
490
+ * @since v4.0.0
387
491
  */
388
492
  load?: DpcTabularLoad<Schema>;
389
493
  /**
390
494
  * The settings for how the Store Tables are mapped out to the database
391
495
  * tables when saving.
496
+ * @category Configuration
497
+ * @since v4.0.0
392
498
  */
393
499
  save?: DpcTabularSave<Schema>;
394
500
  };
395
501
  /**
396
502
  * The settings for how the Store Values are mapped to and from the database.
503
+ * @category Configuration
504
+ * @since v4.0.0
397
505
  */
398
506
  values?: DpcTabularValues;
399
507
  /**
400
508
  * How often the Persister should poll the database for any changes made to it
401
509
  * by other clients, defaulting to 1 second.
510
+ * @category Configuration
511
+ * @since v4.0.0
402
512
  */
403
513
  autoLoadIntervalSeconds?: number;
404
514
  };
@@ -485,11 +595,15 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
485
595
  /**
486
596
  * The Id of the Store Table into which data from this database table
487
597
  * should be loaded.
598
+ * @category Configuration
599
+ * @since v4.0.0
488
600
  */
489
601
  tableId: TableIdFromSchema<Schema>;
490
602
  /**
491
603
  * The optional name of the column in the database table that will be
492
604
  * used as the Row Ids in the Store Table, defaulting to '_id'.
605
+ * @category Configuration
606
+ * @since v4.0.0
493
607
  */
494
608
  rowIdColumnName?: string;
495
609
  }
@@ -594,21 +708,29 @@ export type DpcTabularSave<Schema extends OptionalTablesSchema> = {
594
708
  /**
595
709
  * The name of the database table out to which the Store Table should be
596
710
  * saved.
711
+ * @category Configuration
712
+ * @since v4.0.0
597
713
  */
598
714
  tableName: string;
599
715
  /**
600
716
  * The optional name of the column in the database table that will be
601
717
  * used to save the Row Ids from the Store Table, defaulting to '_id'.
718
+ * @category Configuration
719
+ * @since v4.0.0
602
720
  */
603
721
  rowIdColumnName?: string;
604
722
  /**
605
723
  * Whether columns in the database table will be removed if they are
606
724
  * empty in the Store Table, defaulting to false.
725
+ * @category Configuration
726
+ * @since v4.0.0
607
727
  */
608
728
  deleteEmptyColumns?: boolean;
609
729
  /**
610
- * Whether tables in the database will be removed if the Store Table
611
- * is empty, defaulting to false.
730
+ * Whether tables in the database will be removed if the Store Table is
731
+ * empty, defaulting to false.
732
+ * @category Configuration
733
+ * @since v4.0.0
612
734
  */
613
735
  deleteEmptyTable?: boolean;
614
736
  }
@@ -647,15 +769,21 @@ export type DpcTabularSave<Schema extends OptionalTablesSchema> = {
647
769
  export type DpcTabularValues = {
648
770
  /**
649
771
  * Whether Store Values will be loaded from a database table.
772
+ * @category Configuration
773
+ * @since v4.0.0
650
774
  */
651
775
  load?: boolean;
652
776
  /**
653
777
  * Whether Store Values will be saved to a database table.
778
+ * @category Configuration
779
+ * @since v4.0.0
654
780
  */
655
781
  save?: boolean;
656
782
  /**
657
783
  * The optional name of the database table from and to which the Store Values
658
784
  * should be loaded or saved, defaulting to `tinybase_values`.
785
+ * @category Configuration
786
+ * @since v4.0.0
659
787
  */
660
788
  tableName?: string;
661
789
  };
@@ -664,15 +792,22 @@ export type DpcTabularValues = {
664
792
  * A Persister object lets you save and load Store data to and from different
665
793
  * locations, or underlying storage types.
666
794
  *
667
- * This is useful for preserving Store data between browser sessions or reloads,
668
- * saving or loading browser state to or from a server, or saving Store data to
669
- * disk in a environment with filesystem access.
795
+ * This is useful for preserving Store or MergeableStore data between browser
796
+ * sessions or reloads, saving or loading browser state to or from a server, or
797
+ * saving Store data to disk in a environment with filesystem access.
670
798
  *
671
799
  * Creating a Persister depends on the choice of underlying storage where the
672
800
  * data is to be stored. Options include the createSessionPersister function,
673
801
  * the createLocalPersister function, the createRemotePersister function, and
674
- * the createFilePersister function. The createCustomPersister function can also
675
- * be used to easily create a fully customized way to save and load Store data.
802
+ * the createFilePersister function, as just simple examples. The
803
+ * createCustomPersister function can also be used to easily create a fully
804
+ * customized way to save and load Store data.
805
+ *
806
+ * Using the values of the Persists enum, the generic parameter to the Persister
807
+ * indicates whether it can handle a regular Store, a MergeableStore, or either.
808
+ * Consult the table in the overall persisters module documentation to see
809
+ * current support for each. The different levels of support are also described
810
+ * for each of the types of Persister themselves.
676
811
  *
677
812
  * A Persister lets you explicit save or load data, with the save method and the
678
813
  * load method respectively. These methods are both asynchronous (since the
@@ -767,6 +902,7 @@ export type DpcTabularValues = {
767
902
  * sessionStorage.clear();
768
903
  * ```
769
904
  * @category Persister
905
+ * @since v1.0.0
770
906
  */
771
907
  export interface Persister<
772
908
  in out Schemas extends OptionalSchemas,
@@ -840,6 +976,7 @@ export interface Persister<
840
976
  * sessionStorage.clear();
841
977
  * ```
842
978
  * @category Load
979
+ * @since v1.0.0
843
980
  */
844
981
  load(initialContent?: Content<Schemas, true>): Promise<this>;
845
982
 
@@ -902,6 +1039,7 @@ export interface Persister<
902
1039
  * sessionStorage.clear();
903
1040
  * ```
904
1041
  * @category Load
1042
+ * @since v1.0.0
905
1043
  */
906
1044
  startAutoLoad(initialContent?: Content<Schemas, true>): Promise<this>;
907
1045
 
@@ -949,6 +1087,7 @@ export interface Persister<
949
1087
  * sessionStorage.clear();
950
1088
  * ```
951
1089
  * @category Load
1090
+ * @since v1.0.0
952
1091
  */
953
1092
  stopAutoLoad(): this;
954
1093
 
@@ -1010,6 +1149,7 @@ export interface Persister<
1010
1149
  * sessionStorage.clear();
1011
1150
  * ```
1012
1151
  * @category Save
1152
+ * @since v1.0.0
1013
1153
  */
1014
1154
  save(): Promise<this>;
1015
1155
 
@@ -1050,6 +1190,7 @@ export interface Persister<
1050
1190
  * sessionStorage.clear();
1051
1191
  * ```
1052
1192
  * @category Save
1193
+ * @since v1.0.0
1053
1194
  */
1054
1195
  startAutoSave(): Promise<this>;
1055
1196
 
@@ -1090,6 +1231,7 @@ export interface Persister<
1090
1231
  * sessionStorage.clear();
1091
1232
  * ```
1092
1233
  * @category Save
1234
+ * @since v1.0.0
1093
1235
  */
1094
1236
  stopAutoSave(): this;
1095
1237
 
@@ -1174,9 +1316,9 @@ export interface Persister<
1174
1316
  schedule(...actions: Promise<any>[]): Promise<this>;
1175
1317
 
1176
1318
  /**
1177
- * The getStore method returns a reference to the underlying Store that is
1178
- * backing this Persister object.
1179
- * @returns A reference to the Store.
1319
+ * The getStore method returns a reference to the underlying Store or
1320
+ * MergeableStore that is backing this Persister object.
1321
+ * @returns A reference to the Store or MergeableStore.
1180
1322
  * @example
1181
1323
  * This example creates a Persister object against a newly-created Store and
1182
1324
  * then gets its reference in order to update its data.
@@ -1202,6 +1344,7 @@ export interface Persister<
1202
1344
  * sessionStorage.clear();
1203
1345
  * ```
1204
1346
  * @category Getter
1347
+ * @since v1.0.0
1205
1348
  */
1206
1349
  getStore(): PersistedStore<Schemas, Persist>;
1207
1350
 
@@ -1235,6 +1378,7 @@ export interface Persister<
1235
1378
  * // -> 0
1236
1379
  * ```
1237
1380
  * @category Lifecycle
1381
+ * @since v1.0.0
1238
1382
  */
1239
1383
  destroy(): this;
1240
1384
 
@@ -1280,6 +1424,7 @@ export interface Persister<
1280
1424
  * sessionStorage.clear();
1281
1425
  * ```
1282
1426
  * @category Development
1427
+ * @since v1.0.0
1283
1428
  */
1284
1429
  getStats(): PersisterStats;
1285
1430
  }
@@ -1306,7 +1451,7 @@ export interface Persister<
1306
1451
  * ) => ListeningHandle,
1307
1452
  * delPersisterListener: (listeningHandle: ListeningHandle) => void,
1308
1453
  * onIgnoredError?: (error: any) => void,
1309
- * persistable?: Persist,
1454
+ * persist?: Persist,
1310
1455
  * ): Persister<Persist>;
1311
1456
  * ```
1312
1457
  *
@@ -1345,41 +1490,43 @@ export interface Persister<
1345
1490
  * @param onIgnoredError An optional handler for the errors that the Persister
1346
1491
  * would otherwise ignore when trying to save or load data. This is suitable for
1347
1492
  * debugging persistence issues in a development environment, since v4.0.4.
1348
- * @param persistable Since v5.0, an optional integer to indicate which types of
1349
- * Store are supported by this Persister: `1` indicates only a regular Store is
1350
- * supported, `2` indicates only a MergeableStore is supported, and `3`
1351
- * indicates that both Store and MergeableStore are supported.
1493
+ * @param persist Since v5.0, an optional integer from the Persists enum to
1494
+ * indicate which types of Store are supported by this Persister: `1` indicates
1495
+ * only a regular Store is supported, `2` indicates only a MergeableStore is
1496
+ * supported, and `3` indicates that both Store and MergeableStore are
1497
+ * supported.
1352
1498
  * @returns A reference to the new Persister object.
1353
1499
  * @example
1354
- * This example creates a custom Persister object and persists the Store to a
1355
- * local string called `storeJson` and which would automatically load by polling
1356
- * for changes every second.
1500
+ * This example creates a custom Persister object and persists a Store to a
1501
+ * local string called `persistedJson` and which would automatically load by
1502
+ * polling for changes every second. It implicitly supports only a regular
1503
+ * Store.
1357
1504
  *
1358
1505
  * ```js
1359
1506
  * import {createCustomPersister, createStore} from 'tinybase';
1360
1507
  *
1361
1508
  * const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
1362
- * let storeJson;
1509
+ * let persistedJson;
1363
1510
  *
1364
1511
  * const persister = createCustomPersister(
1365
1512
  * store,
1366
1513
  * async () => {
1367
1514
  * // getPersisted
1368
- * return JSON.parse(storeJson);
1515
+ * return JSON.parse(persistedJson);
1369
1516
  * },
1370
1517
  * async (getContent) => {
1371
1518
  * // setPersisted
1372
- * storeJson = JSON.stringify(getContent());
1519
+ * persistedJson = JSON.stringify(getContent());
1373
1520
  * },
1374
1521
  * (listener) => setInterval(listener, 1000),
1375
1522
  * (interval) => clearInterval(interval),
1376
1523
  * );
1377
1524
  *
1378
1525
  * await persister.save();
1379
- * console.log(storeJson);
1526
+ * console.log(persistedJson);
1380
1527
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1381
1528
  *
1382
- * storeJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
1529
+ * persistedJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
1383
1530
  * await persister.load();
1384
1531
  *
1385
1532
  * console.log(store.getTables());
@@ -1387,7 +1534,77 @@ export interface Persister<
1387
1534
  *
1388
1535
  * persister.destroy();
1389
1536
  * ```
1537
+ * @example
1538
+ * This example demonstrates a Persister creation function which returns a
1539
+ * Persister. This can persists a store to a local string called `persistedJson`
1540
+ * and which would automatically load by polling for changes every second.
1541
+ * It emits warnings to the console and explicitly supports either a Store or a
1542
+ * MergeableStore.
1543
+ *
1544
+ * ```js
1545
+ * import {
1546
+ * Persists,
1547
+ * createCustomPersister,
1548
+ * createMergeableStore,
1549
+ * createStore,
1550
+ * } from 'tinybase';
1551
+ *
1552
+ * let persistedJson;
1553
+ * const createJsonPersister = (storeOrMergeableStore) =>
1554
+ * createCustomPersister(
1555
+ * storeOrMergeableStore,
1556
+ * async () => {
1557
+ * // getPersisted
1558
+ * return JSON.parse(persistedJson);
1559
+ * },
1560
+ * async (getContent) => {
1561
+ * // setPersisted
1562
+ * persistedJson = JSON.stringify(getContent());
1563
+ * },
1564
+ * (listener) => setInterval(listener, 1000),
1565
+ * (interval) => clearInterval(interval),
1566
+ * console.warn,
1567
+ * Persists.StoreOrMergeableStore,
1568
+ * );
1569
+ *
1570
+ * const store = createStore();
1571
+ * store.setTables({pets: {fido: {species: 'dog'}}});
1572
+ * const storePersister = createJsonPersister(store);
1573
+ * await storePersister.save();
1574
+ * console.log(persistedJson);
1575
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1576
+ * storePersister.destroy();
1577
+ *
1578
+ * const mergeableStore = createMergeableStore('mergeableStore1'); // !resetHlc
1579
+ * mergeableStore.setTables({pets: {fido: {species: 'dog'}}});
1580
+ * const mergeableStorePersister = createJsonPersister(mergeableStore);
1581
+ * await mergeableStorePersister.save();
1582
+ * console.log(JSON.parse(persistedJson));
1583
+ * // ->
1584
+ * [
1585
+ * [
1586
+ * {
1587
+ * pets: [
1588
+ * {
1589
+ * fido: [
1590
+ * {species: ['dog', 'Nn1JUF-----Zjl0M', 4176151067]},
1591
+ * '',
1592
+ * 2722999044,
1593
+ * ],
1594
+ * },
1595
+ * '',
1596
+ * 3367164653,
1597
+ * ],
1598
+ * },
1599
+ * '',
1600
+ * 30627183,
1601
+ * ],
1602
+ * [{}, '', 0],
1603
+ * ];
1604
+ * mergeableStorePersister.destroy();
1605
+ * ```
1390
1606
  * @category Creation
1607
+ * @since v1.0.0
1391
1608
  */
1392
1609
  export function createCustomPersister<
1393
1610
  Schemas extends OptionalSchemas,
@@ -1405,5 +1622,5 @@ export function createCustomPersister<
1405
1622
  ) => ListeningHandle,
1406
1623
  delPersisterListener: (listeningHandle: ListeningHandle) => void,
1407
1624
  onIgnoredError?: (error: any) => void,
1408
- persistable?: Persist,
1625
+ persist?: Persist,
1409
1626
  ): Persister<Schemas, Persist>;