tinybase 5.2.0-beta.3 → 5.2.0-beta.5

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 (855) hide show
  1. package/@types/mergeable-store/index.d.cts +114 -11
  2. package/@types/mergeable-store/index.d.ts +114 -11
  3. package/@types/mergeable-store/with-schemas/index.d.cts +192 -11
  4. package/@types/mergeable-store/with-schemas/index.d.ts +192 -11
  5. package/@types/persisters/index.d.cts +188 -13
  6. package/@types/persisters/index.d.ts +188 -13
  7. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +1 -1
  8. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +1 -1
  9. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +2 -2
  10. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +2 -2
  11. package/@types/persisters/persister-electric-sql/index.d.cts +1 -1
  12. package/@types/persisters/persister-electric-sql/index.d.ts +1 -1
  13. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +2 -2
  14. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +2 -2
  15. package/@types/persisters/persister-expo-sqlite/index.d.cts +1 -1
  16. package/@types/persisters/persister-expo-sqlite/index.d.ts +1 -1
  17. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +2 -2
  18. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +2 -2
  19. package/@types/persisters/persister-libsql/index.d.cts +1 -1
  20. package/@types/persisters/persister-libsql/index.d.ts +1 -1
  21. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +2 -2
  22. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +2 -2
  23. package/@types/persisters/persister-pglite/index.d.cts +178 -0
  24. package/@types/persisters/persister-pglite/index.d.ts +178 -0
  25. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +197 -0
  26. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +197 -0
  27. package/@types/persisters/persister-postgres/index.d.cts +3 -2
  28. package/@types/persisters/persister-postgres/index.d.ts +3 -2
  29. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +4 -3
  30. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +4 -3
  31. package/@types/persisters/persister-powersync/index.d.cts +1 -1
  32. package/@types/persisters/persister-powersync/index.d.ts +1 -1
  33. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +2 -2
  34. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +2 -2
  35. package/@types/persisters/persister-sqlite-wasm/index.d.cts +1 -1
  36. package/@types/persisters/persister-sqlite-wasm/index.d.ts +1 -1
  37. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +2 -2
  38. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +2 -2
  39. package/@types/persisters/persister-sqlite3/index.d.cts +1 -1
  40. package/@types/persisters/persister-sqlite3/index.d.ts +1 -1
  41. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +2 -2
  42. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +2 -2
  43. package/@types/persisters/with-schemas/index.d.cts +238 -16
  44. package/@types/persisters/with-schemas/index.d.ts +238 -16
  45. package/@types/synchronizers/index.d.cts +2 -5
  46. package/@types/synchronizers/index.d.ts +2 -5
  47. package/@types/synchronizers/with-schemas/index.d.cts +2 -5
  48. package/@types/synchronizers/with-schemas/index.d.ts +2 -5
  49. package/cjs/es6/index.cjs +57 -568
  50. package/cjs/es6/mergeable-store/index.cjs +12 -8
  51. package/cjs/es6/mergeable-store/with-schemas/index.cjs +12 -8
  52. package/cjs/es6/min/index.cjs +1 -1
  53. package/cjs/es6/min/index.cjs.gz +0 -0
  54. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  55. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  56. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  57. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -0
  93. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  95. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  101. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  102. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  105. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  106. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  109. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  110. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  113. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  114. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  117. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  118. package/cjs/es6/min/store/index.cjs +1 -1
  119. package/cjs/es6/min/store/index.cjs.gz +0 -0
  120. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  121. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  122. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  123. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  124. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  125. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  126. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  127. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  128. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  129. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  130. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  131. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  132. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  133. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  134. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  135. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  136. package/cjs/es6/persisters/index.cjs +1095 -10
  137. package/cjs/es6/persisters/persister-browser/index.cjs +3 -2
  138. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +3 -2
  139. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +123 -106
  140. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +123 -106
  141. package/cjs/es6/persisters/persister-electric-sql/index.cjs +121 -104
  142. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +121 -104
  143. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +123 -106
  144. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +123 -106
  145. package/cjs/es6/persisters/persister-file/index.cjs +4 -2
  146. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +4 -2
  147. package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -2
  148. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  149. package/cjs/es6/persisters/persister-libsql/index.cjs +121 -104
  150. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +121 -104
  151. package/cjs/es6/persisters/persister-partykit-client/index.cjs +3 -2
  152. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +3 -2
  153. package/cjs/es6/persisters/persister-partykit-server/index.cjs +3 -2
  154. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +3 -2
  155. package/cjs/es6/persisters/persister-pglite/index.cjs +1327 -0
  156. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +1327 -0
  157. package/cjs/es6/persisters/persister-postgres/index.cjs +126 -111
  158. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +126 -111
  159. package/cjs/es6/persisters/persister-powersync/index.cjs +125 -108
  160. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +125 -108
  161. package/cjs/es6/persisters/persister-remote/index.cjs +3 -2
  162. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +3 -2
  163. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +127 -106
  164. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +127 -106
  165. package/cjs/es6/persisters/persister-sqlite3/index.cjs +123 -106
  166. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +123 -106
  167. package/cjs/es6/persisters/with-schemas/index.cjs +1095 -10
  168. package/cjs/es6/store/index.cjs +3 -2
  169. package/cjs/es6/store/with-schemas/index.cjs +3 -2
  170. package/cjs/es6/synchronizers/index.cjs +9 -6
  171. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +9 -6
  172. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +9 -6
  173. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +9 -6
  174. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +9 -6
  175. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +13 -8
  176. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +13 -8
  177. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +21 -16
  178. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +21 -16
  179. package/cjs/es6/synchronizers/with-schemas/index.cjs +9 -6
  180. package/cjs/es6/ui-react-inspector/index.cjs +5 -4
  181. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -4
  182. package/cjs/es6/with-schemas/index.cjs +57 -568
  183. package/cjs/index.cjs +48 -449
  184. package/cjs/mergeable-store/index.cjs +4 -2
  185. package/cjs/mergeable-store/with-schemas/index.cjs +4 -2
  186. package/cjs/min/index.cjs +1 -1
  187. package/cjs/min/index.cjs.gz +0 -0
  188. package/cjs/min/mergeable-store/index.cjs +1 -1
  189. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  190. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  191. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/index.cjs +1 -1
  193. package/cjs/min/persisters/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  221. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-partykit-server/index.cjs +1 -1
  223. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-pglite/index.cjs +1 -0
  227. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  229. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  244. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  245. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  251. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/store/index.cjs +1 -1
  253. package/cjs/min/store/index.cjs.gz +0 -0
  254. package/cjs/min/store/with-schemas/index.cjs +1 -1
  255. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  257. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  258. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  259. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  261. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  262. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  263. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  265. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  266. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  267. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  268. package/cjs/min/with-schemas/index.cjs +1 -1
  269. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/persisters/index.cjs +833 -0
  271. package/cjs/persisters/persister-browser/index.cjs +3 -2
  272. package/cjs/persisters/persister-browser/with-schemas/index.cjs +3 -2
  273. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +108 -71
  274. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +108 -71
  275. package/cjs/persisters/persister-electric-sql/index.cjs +107 -70
  276. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +107 -70
  277. package/cjs/persisters/persister-expo-sqlite/index.cjs +108 -71
  278. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +108 -71
  279. package/cjs/persisters/persister-file/index.cjs +4 -2
  280. package/cjs/persisters/persister-file/with-schemas/index.cjs +4 -2
  281. package/cjs/persisters/persister-indexed-db/index.cjs +2 -2
  282. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  283. package/cjs/persisters/persister-libsql/index.cjs +107 -70
  284. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +107 -70
  285. package/cjs/persisters/persister-partykit-client/index.cjs +3 -2
  286. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +3 -2
  287. package/cjs/persisters/persister-partykit-server/index.cjs +3 -2
  288. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +3 -2
  289. package/cjs/persisters/persister-pglite/index.cjs +1001 -0
  290. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +1001 -0
  291. package/cjs/persisters/persister-postgres/index.cjs +110 -75
  292. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +110 -75
  293. package/cjs/persisters/persister-powersync/index.cjs +113 -74
  294. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +113 -74
  295. package/cjs/persisters/persister-remote/index.cjs +3 -2
  296. package/cjs/persisters/persister-remote/with-schemas/index.cjs +3 -2
  297. package/cjs/persisters/persister-sqlite-wasm/index.cjs +109 -72
  298. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +109 -72
  299. package/cjs/persisters/persister-sqlite3/index.cjs +109 -72
  300. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +109 -72
  301. package/cjs/persisters/with-schemas/index.cjs +833 -0
  302. package/cjs/store/index.cjs +3 -2
  303. package/cjs/store/with-schemas/index.cjs +3 -2
  304. package/cjs/synchronizers/index.cjs +1 -0
  305. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  306. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  307. package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
  308. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
  309. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +5 -2
  310. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +5 -2
  311. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +13 -10
  312. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +13 -10
  313. package/cjs/synchronizers/with-schemas/index.cjs +1 -0
  314. package/cjs/ui-react-inspector/index.cjs +5 -4
  315. package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -4
  316. package/cjs/with-schemas/index.cjs +48 -449
  317. package/es6/index.js +57 -568
  318. package/es6/mergeable-store/index.js +12 -8
  319. package/es6/mergeable-store/with-schemas/index.js +12 -8
  320. package/es6/min/index.js +1 -1
  321. package/es6/min/index.js.gz +0 -0
  322. package/es6/min/mergeable-store/index.js +1 -1
  323. package/es6/min/mergeable-store/index.js.gz +0 -0
  324. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  325. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  326. package/es6/min/persisters/index.js +1 -1
  327. package/es6/min/persisters/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-browser/index.js +1 -1
  329. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  331. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  333. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  335. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  337. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  339. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  341. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  343. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-file/index.js +1 -1
  345. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  347. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-libsql/index.js +1 -1
  349. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  353. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  355. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-partykit-server/index.js +1 -1
  357. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  359. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-pglite/index.js +1 -0
  361. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  363. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-postgres/index.js +1 -1
  365. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  367. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-powersync/index.js +1 -1
  369. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  371. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-remote/index.js +1 -1
  373. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  375. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  377. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  379. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  381. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  383. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  384. package/es6/min/persisters/with-schemas/index.js +1 -1
  385. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  386. package/es6/min/store/index.js +1 -1
  387. package/es6/min/store/index.js.gz +0 -0
  388. package/es6/min/store/with-schemas/index.js +1 -1
  389. package/es6/min/store/with-schemas/index.js.gz +0 -0
  390. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  391. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  392. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  393. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  394. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  395. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  396. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  397. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  398. package/es6/min/ui-react-inspector/index.js +1 -1
  399. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  400. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  401. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  402. package/es6/min/with-schemas/index.js +1 -1
  403. package/es6/min/with-schemas/index.js.gz +0 -0
  404. package/es6/persisters/index.js +1099 -11
  405. package/es6/persisters/persister-browser/index.js +3 -2
  406. package/es6/persisters/persister-browser/with-schemas/index.js +3 -2
  407. package/es6/persisters/persister-cr-sqlite-wasm/index.js +123 -106
  408. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +123 -106
  409. package/es6/persisters/persister-electric-sql/index.js +121 -104
  410. package/es6/persisters/persister-electric-sql/with-schemas/index.js +121 -104
  411. package/es6/persisters/persister-expo-sqlite/index.js +123 -106
  412. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +123 -106
  413. package/es6/persisters/persister-file/index.js +4 -2
  414. package/es6/persisters/persister-file/with-schemas/index.js +4 -2
  415. package/es6/persisters/persister-indexed-db/index.js +2 -2
  416. package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  417. package/es6/persisters/persister-libsql/index.js +121 -104
  418. package/es6/persisters/persister-libsql/with-schemas/index.js +121 -104
  419. package/es6/persisters/persister-partykit-client/index.js +3 -2
  420. package/es6/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  421. package/es6/persisters/persister-partykit-server/index.js +3 -2
  422. package/es6/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  423. package/es6/persisters/persister-pglite/index.js +1325 -0
  424. package/es6/persisters/persister-pglite/with-schemas/index.js +1325 -0
  425. package/es6/persisters/persister-postgres/index.js +126 -111
  426. package/es6/persisters/persister-postgres/with-schemas/index.js +126 -111
  427. package/es6/persisters/persister-powersync/index.js +125 -108
  428. package/es6/persisters/persister-powersync/with-schemas/index.js +125 -108
  429. package/es6/persisters/persister-remote/index.js +3 -2
  430. package/es6/persisters/persister-remote/with-schemas/index.js +3 -2
  431. package/es6/persisters/persister-sqlite-wasm/index.js +127 -106
  432. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +127 -106
  433. package/es6/persisters/persister-sqlite3/index.js +123 -106
  434. package/es6/persisters/persister-sqlite3/with-schemas/index.js +123 -106
  435. package/es6/persisters/with-schemas/index.js +1099 -11
  436. package/es6/store/index.js +3 -2
  437. package/es6/store/with-schemas/index.js +3 -2
  438. package/es6/synchronizers/index.js +9 -6
  439. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  440. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  441. package/es6/synchronizers/synchronizer-local/index.js +9 -6
  442. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  443. package/es6/synchronizers/synchronizer-ws-client/index.js +13 -8
  444. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +13 -8
  445. package/es6/synchronizers/synchronizer-ws-server/index.js +21 -16
  446. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +21 -16
  447. package/es6/synchronizers/with-schemas/index.js +9 -6
  448. package/es6/ui-react-inspector/index.js +5 -4
  449. package/es6/ui-react-inspector/with-schemas/index.js +5 -4
  450. package/es6/with-schemas/index.js +57 -568
  451. package/index.js +48 -449
  452. package/mergeable-store/index.js +4 -2
  453. package/mergeable-store/with-schemas/index.js +4 -2
  454. package/min/index.js +1 -1
  455. package/min/index.js.gz +0 -0
  456. package/min/mergeable-store/index.js +1 -1
  457. package/min/mergeable-store/index.js.gz +0 -0
  458. package/min/mergeable-store/with-schemas/index.js +1 -1
  459. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  460. package/min/persisters/index.js +1 -1
  461. package/min/persisters/index.js.gz +0 -0
  462. package/min/persisters/persister-browser/index.js +1 -1
  463. package/min/persisters/persister-browser/index.js.gz +0 -0
  464. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  465. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  466. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  467. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  468. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  469. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  470. package/min/persisters/persister-electric-sql/index.js +1 -1
  471. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  472. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  473. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  474. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  475. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  476. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  477. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  478. package/min/persisters/persister-file/index.js +1 -1
  479. package/min/persisters/persister-file/index.js.gz +0 -0
  480. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  481. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  482. package/min/persisters/persister-libsql/index.js +1 -1
  483. package/min/persisters/persister-libsql/index.js.gz +0 -0
  484. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  485. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  486. package/min/persisters/persister-partykit-client/index.js +1 -1
  487. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  488. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  489. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  490. package/min/persisters/persister-partykit-server/index.js +1 -1
  491. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  492. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  493. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  494. package/min/persisters/persister-pglite/index.js +1 -0
  495. package/min/persisters/persister-pglite/index.js.gz +0 -0
  496. package/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  497. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  498. package/min/persisters/persister-postgres/index.js +1 -1
  499. package/min/persisters/persister-postgres/index.js.gz +0 -0
  500. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  501. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  502. package/min/persisters/persister-powersync/index.js +1 -1
  503. package/min/persisters/persister-powersync/index.js.gz +0 -0
  504. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  505. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  506. package/min/persisters/persister-remote/index.js +1 -1
  507. package/min/persisters/persister-remote/index.js.gz +0 -0
  508. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  509. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  510. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  511. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  512. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  513. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  514. package/min/persisters/persister-sqlite3/index.js +1 -1
  515. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  516. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  517. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  518. package/min/persisters/with-schemas/index.js +1 -1
  519. package/min/persisters/with-schemas/index.js.gz +0 -0
  520. package/min/store/index.js +1 -1
  521. package/min/store/index.js.gz +0 -0
  522. package/min/store/with-schemas/index.js +1 -1
  523. package/min/store/with-schemas/index.js.gz +0 -0
  524. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  525. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  526. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  527. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  528. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  529. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  530. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  531. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  532. package/min/ui-react-inspector/index.js +1 -1
  533. package/min/ui-react-inspector/index.js.gz +0 -0
  534. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  535. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  536. package/min/with-schemas/index.js +1 -1
  537. package/min/with-schemas/index.js.gz +0 -0
  538. package/package.json +431 -323
  539. package/persisters/index.js +837 -1
  540. package/persisters/persister-browser/index.js +3 -2
  541. package/persisters/persister-browser/with-schemas/index.js +3 -2
  542. package/persisters/persister-cr-sqlite-wasm/index.js +108 -71
  543. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +108 -71
  544. package/persisters/persister-electric-sql/index.js +107 -70
  545. package/persisters/persister-electric-sql/with-schemas/index.js +107 -70
  546. package/persisters/persister-expo-sqlite/index.js +108 -71
  547. package/persisters/persister-expo-sqlite/with-schemas/index.js +108 -71
  548. package/persisters/persister-file/index.js +4 -2
  549. package/persisters/persister-file/with-schemas/index.js +4 -2
  550. package/persisters/persister-indexed-db/index.js +2 -2
  551. package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  552. package/persisters/persister-libsql/index.js +107 -70
  553. package/persisters/persister-libsql/with-schemas/index.js +107 -70
  554. package/persisters/persister-partykit-client/index.js +3 -2
  555. package/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  556. package/persisters/persister-partykit-server/index.js +3 -2
  557. package/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  558. package/persisters/persister-pglite/index.js +999 -0
  559. package/persisters/persister-pglite/with-schemas/index.js +999 -0
  560. package/persisters/persister-postgres/index.js +110 -75
  561. package/persisters/persister-postgres/with-schemas/index.js +110 -75
  562. package/persisters/persister-powersync/index.js +113 -74
  563. package/persisters/persister-powersync/with-schemas/index.js +113 -74
  564. package/persisters/persister-remote/index.js +3 -2
  565. package/persisters/persister-remote/with-schemas/index.js +3 -2
  566. package/persisters/persister-sqlite-wasm/index.js +109 -72
  567. package/persisters/persister-sqlite-wasm/with-schemas/index.js +109 -72
  568. package/persisters/persister-sqlite3/index.js +109 -72
  569. package/persisters/persister-sqlite3/with-schemas/index.js +109 -72
  570. package/persisters/with-schemas/index.js +837 -1
  571. package/readme.md +2 -2
  572. package/releases.md +6 -2
  573. package/store/index.js +3 -2
  574. package/store/with-schemas/index.js +3 -2
  575. package/synchronizers/index.js +1 -0
  576. package/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  577. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  578. package/synchronizers/synchronizer-local/index.js +1 -0
  579. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  580. package/synchronizers/synchronizer-ws-client/index.js +5 -2
  581. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +5 -2
  582. package/synchronizers/synchronizer-ws-server/index.js +13 -10
  583. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +13 -10
  584. package/synchronizers/with-schemas/index.js +1 -0
  585. package/ui-react-inspector/index.js +5 -4
  586. package/ui-react-inspector/with-schemas/index.js +5 -4
  587. package/umd/es6/index.js +57 -579
  588. package/umd/es6/mergeable-store/index.js +12 -8
  589. package/umd/es6/mergeable-store/with-schemas/index.js +12 -8
  590. package/umd/es6/min/index.js +1 -1
  591. package/umd/es6/min/index.js.gz +0 -0
  592. package/umd/es6/min/mergeable-store/index.js +1 -1
  593. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  594. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  595. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  596. package/umd/es6/min/persisters/index.js +1 -1
  597. package/umd/es6/min/persisters/index.js.gz +0 -0
  598. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  599. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  600. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  601. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  603. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-partykit-server/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-pglite/index.js +1 -0
  631. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  633. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  639. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  640. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  641. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  642. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  643. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  644. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  645. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  646. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  647. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  648. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  649. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  650. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  651. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  652. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  653. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  654. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  655. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  656. package/umd/es6/min/store/index.js +1 -1
  657. package/umd/es6/min/store/index.js.gz +0 -0
  658. package/umd/es6/min/store/with-schemas/index.js +1 -1
  659. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  661. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  662. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  663. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  664. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  665. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  666. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  667. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  668. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  669. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  670. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  671. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  672. package/umd/es6/min/with-schemas/index.js +1 -1
  673. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  674. package/umd/es6/persisters/index.js +1106 -10
  675. package/umd/es6/persisters/persister-browser/index.js +3 -4
  676. package/umd/es6/persisters/persister-browser/with-schemas/index.js +3 -4
  677. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +123 -108
  678. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +123 -108
  679. package/umd/es6/persisters/persister-electric-sql/index.js +121 -106
  680. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +121 -106
  681. package/umd/es6/persisters/persister-expo-sqlite/index.js +123 -108
  682. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +123 -108
  683. package/umd/es6/persisters/persister-file/index.js +4 -4
  684. package/umd/es6/persisters/persister-file/with-schemas/index.js +4 -4
  685. package/umd/es6/persisters/persister-indexed-db/index.js +2 -2
  686. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  687. package/umd/es6/persisters/persister-libsql/index.js +121 -106
  688. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +121 -106
  689. package/umd/es6/persisters/persister-partykit-client/index.js +3 -2
  690. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  691. package/umd/es6/persisters/persister-partykit-server/index.js +3 -2
  692. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  693. package/umd/es6/persisters/persister-pglite/index.js +1348 -0
  694. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +1348 -0
  695. package/umd/es6/persisters/persister-postgres/index.js +129 -113
  696. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +129 -113
  697. package/umd/es6/persisters/persister-powersync/index.js +125 -110
  698. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +125 -110
  699. package/umd/es6/persisters/persister-remote/index.js +3 -2
  700. package/umd/es6/persisters/persister-remote/with-schemas/index.js +3 -2
  701. package/umd/es6/persisters/persister-sqlite-wasm/index.js +123 -108
  702. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +123 -108
  703. package/umd/es6/persisters/persister-sqlite3/index.js +123 -108
  704. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +123 -108
  705. package/umd/es6/persisters/with-schemas/index.js +1106 -10
  706. package/umd/es6/store/index.js +3 -2
  707. package/umd/es6/store/with-schemas/index.js +3 -2
  708. package/umd/es6/synchronizers/index.js +9 -6
  709. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  710. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  711. package/umd/es6/synchronizers/synchronizer-local/index.js +9 -6
  712. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  713. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +13 -10
  714. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +13 -10
  715. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +21 -18
  716. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +21 -18
  717. package/umd/es6/synchronizers/with-schemas/index.js +9 -6
  718. package/umd/es6/ui-react-inspector/index.js +5 -6
  719. package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -6
  720. package/umd/es6/with-schemas/index.js +57 -579
  721. package/umd/index.js +48 -456
  722. package/umd/mergeable-store/index.js +4 -2
  723. package/umd/mergeable-store/with-schemas/index.js +4 -2
  724. package/umd/min/index.js +1 -1
  725. package/umd/min/index.js.gz +0 -0
  726. package/umd/min/mergeable-store/index.js +1 -1
  727. package/umd/min/mergeable-store/index.js.gz +0 -0
  728. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  729. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  730. package/umd/min/persisters/index.js +1 -1
  731. package/umd/min/persisters/index.js.gz +0 -0
  732. package/umd/min/persisters/persister-browser/index.js +1 -1
  733. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  734. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  735. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  736. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  737. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  738. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  739. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  740. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  741. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  742. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  743. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  744. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  745. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  747. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-file/index.js +1 -1
  749. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  751. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-libsql/index.js +1 -1
  753. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  755. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  757. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  759. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-partykit-server/index.js +1 -1
  761. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  763. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-pglite/index.js +1 -0
  765. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  767. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-postgres/index.js +1 -1
  769. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  771. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-powersync/index.js +1 -1
  773. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  775. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-remote/index.js +1 -1
  777. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  779. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  780. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  781. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  782. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  783. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  784. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  785. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  786. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  787. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  788. package/umd/min/persisters/with-schemas/index.js +1 -1
  789. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  790. package/umd/min/store/index.js +1 -1
  791. package/umd/min/store/index.js.gz +0 -0
  792. package/umd/min/store/with-schemas/index.js +1 -1
  793. package/umd/min/store/with-schemas/index.js.gz +0 -0
  794. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  795. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  796. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  797. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  798. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  799. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  800. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  801. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  802. package/umd/min/ui-react-inspector/index.js +1 -1
  803. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  804. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  805. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  806. package/umd/min/with-schemas/index.js +1 -1
  807. package/umd/min/with-schemas/index.js.gz +0 -0
  808. package/umd/persisters/index.js +835 -0
  809. package/umd/persisters/persister-browser/index.js +3 -4
  810. package/umd/persisters/persister-browser/with-schemas/index.js +3 -4
  811. package/umd/persisters/persister-cr-sqlite-wasm/index.js +108 -73
  812. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +108 -73
  813. package/umd/persisters/persister-electric-sql/index.js +107 -72
  814. package/umd/persisters/persister-electric-sql/with-schemas/index.js +107 -72
  815. package/umd/persisters/persister-expo-sqlite/index.js +108 -73
  816. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +108 -73
  817. package/umd/persisters/persister-file/index.js +4 -4
  818. package/umd/persisters/persister-file/with-schemas/index.js +4 -4
  819. package/umd/persisters/persister-indexed-db/index.js +2 -2
  820. package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  821. package/umd/persisters/persister-libsql/index.js +107 -72
  822. package/umd/persisters/persister-libsql/with-schemas/index.js +107 -72
  823. package/umd/persisters/persister-partykit-client/index.js +3 -2
  824. package/umd/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  825. package/umd/persisters/persister-partykit-server/index.js +3 -2
  826. package/umd/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  827. package/umd/persisters/persister-pglite/index.js +1017 -0
  828. package/umd/persisters/persister-pglite/with-schemas/index.js +1017 -0
  829. package/umd/persisters/persister-postgres/index.js +110 -77
  830. package/umd/persisters/persister-postgres/with-schemas/index.js +110 -77
  831. package/umd/persisters/persister-powersync/index.js +111 -76
  832. package/umd/persisters/persister-powersync/with-schemas/index.js +111 -76
  833. package/umd/persisters/persister-remote/index.js +3 -2
  834. package/umd/persisters/persister-remote/with-schemas/index.js +3 -2
  835. package/umd/persisters/persister-sqlite-wasm/index.js +113 -74
  836. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +113 -74
  837. package/umd/persisters/persister-sqlite3/index.js +109 -74
  838. package/umd/persisters/persister-sqlite3/with-schemas/index.js +109 -74
  839. package/umd/persisters/with-schemas/index.js +835 -0
  840. package/umd/store/index.js +3 -2
  841. package/umd/store/with-schemas/index.js +3 -2
  842. package/umd/synchronizers/index.js +1 -0
  843. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  844. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  845. package/umd/synchronizers/synchronizer-local/index.js +1 -0
  846. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  847. package/umd/synchronizers/synchronizer-ws-client/index.js +5 -4
  848. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +5 -4
  849. package/umd/synchronizers/synchronizer-ws-server/index.js +13 -12
  850. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +13 -12
  851. package/umd/synchronizers/with-schemas/index.js +1 -0
  852. package/umd/ui-react-inspector/index.js +5 -6
  853. package/umd/ui-react-inspector/with-schemas/index.js +5 -6
  854. package/umd/with-schemas/index.js +48 -456
  855. package/with-schemas/index.js +48 -449
@@ -86,10 +86,38 @@ export type Stamp<Thing, Hashed extends boolean = false> = Hashed extends true
86
86
  ? [thing: Thing, time: Time, hash: Hash]
87
87
  : [thing: Thing, time?: Time];
88
88
 
89
- // ContentHashes
89
+ /**
90
+ * The ContentHashes type is used to quickly compare the content of two
91
+ * MergeableStore objects.
92
+ *
93
+ * It is simply an array of two Hash types, one for the MergeableStore's Tables
94
+ * and one for its Values.
95
+ *
96
+ * This type is mostly utilized internally within TinyBase itself and is
97
+ * generally assumed to be opaque to applications that use it.
98
+ * @category Syncing
99
+ * @since v5.0.0
100
+ */
90
101
  export type ContentHashes = [tablesHash: Hash, valuesHash: Hash];
91
102
 
92
- // TablesStamp
103
+ /**
104
+ * The TablesStamp type is used as metadata to decide how to merge two different
105
+ * sets of Tables together.
106
+ *
107
+ * This has schema-based typing. The following is a simplified representation:
108
+ *
109
+ * ```ts override
110
+ * export type TablesStamp<Hashed extends boolean = false> = Stamp<
111
+ * {[tableId: Id]: TableStamp<Hashed>},
112
+ * Hashed
113
+ * >;
114
+ * ```
115
+ *
116
+ * This type is mostly utilized internally within TinyBase itself and is
117
+ * generally assumed to be opaque to applications that use it.
118
+ * @category Stamps
119
+ * @since v5.0.0
120
+ */
93
121
  export type TablesStamp<
94
122
  Schema extends OptionalTablesSchema,
95
123
  Hashed extends boolean = false,
@@ -104,24 +132,92 @@ export type TablesStamp<
104
132
  Hashed
105
133
  >;
106
134
 
107
- // TableHashes
135
+ /**
136
+ * The TableHashes type is used to quickly compare the content of two sets of
137
+ * Table objects.
138
+ *
139
+ * This has schema-based typing. The following is a simplified representation:
140
+ *
141
+ * ```ts override
142
+ * {[tableId: Id]: Hash};
143
+ * ```
144
+ *
145
+ * It is simply an object of Hash types, one for each Table Id in the
146
+ * MergeableStore.
147
+ *
148
+ * This type is mostly utilized internally within TinyBase itself and is
149
+ * generally assumed to be opaque to applications that use it.
150
+ * @category Syncing
151
+ * @since v5.0.0
152
+ */
108
153
  export type TableHashes<Schema extends OptionalTablesSchema> = {
109
154
  [TableId in TableIdFromSchema<Schema>]?: Hash;
110
155
  };
111
156
 
112
- // TableStamp
157
+ /**
158
+ * The TableStamp type is used as metadata to decide how to merge two different
159
+ * Table objects together.
160
+ *
161
+ * This has schema-based typing. The following is a simplified representation:
162
+ *
163
+ * ```ts override
164
+ * export type TableStamp<Hashed extends boolean = false> = Stamp<
165
+ * {[rowId: Id]: RowStamp<Hashed>},
166
+ * Hashed
167
+ * >;
168
+ * ```
169
+ *
170
+ * This type is mostly utilized internally within TinyBase itself and is
171
+ * generally assumed to be opaque to applications that use it.
172
+ * @category Stamps
173
+ * @since v5.0.0
174
+ */
113
175
  export type TableStamp<
114
176
  Schema extends OptionalTablesSchema,
115
177
  TableId extends TableIdFromSchema<Schema>,
116
178
  Hashed extends boolean = false,
117
179
  > = Stamp<{[rowId: Id]: RowStamp<Schema, TableId, Hashed>}, Hashed>;
118
180
 
119
- // RowHashes
181
+ /**
182
+ * The RowHashes type is used to quickly compare the content of two sets of Row
183
+ * objects.
184
+ *
185
+ * This has schema-based typing. The following is a simplified representation:
186
+ *
187
+ * ```ts override
188
+ * {[tableId: Id]: {[rowId: Id]: Hash}};
189
+ * ```
190
+ *
191
+ * It is simply a nested object of Hash types, one for each Row Id, for each
192
+ * TableId, in the MergeableStore.
193
+ *
194
+ * This type is mostly utilized internally within TinyBase itself and is
195
+ * generally assumed to be opaque to applications that use it.
196
+ * @category Syncing
197
+ * @since v5.0.0
198
+ */
120
199
  export type RowHashes<Schema extends OptionalTablesSchema> = {
121
200
  [TableId in TableIdFromSchema<Schema>]?: {[rowId: Id]: Hash};
122
201
  };
123
202
 
124
- // RowStamp
203
+ /**
204
+ * The RowStamp type is used as metadata to decide how to merge two different
205
+ * Row objects together.
206
+ *
207
+ * This has schema-based typing. The following is a simplified representation:
208
+ *
209
+ * ```ts override
210
+ * export type RowStamp<Hashed extends boolean = false> = Stamp<
211
+ * {[cellId: Id]: CellStamp<Hashed>},
212
+ * Hashed
213
+ * >;
214
+ * ```
215
+ *
216
+ * This type is mostly utilized internally within TinyBase itself and is
217
+ * generally assumed to be opaque to applications that use it.
218
+ * @category Stamps
219
+ * @since v5.0.0
220
+ */
125
221
  export type RowStamp<
126
222
  Schema extends OptionalTablesSchema,
127
223
  TableId extends TableIdFromSchema<Schema>,
@@ -138,14 +234,48 @@ export type RowStamp<
138
234
  Hashed
139
235
  >;
140
236
 
141
- // CellHashes
237
+ /**
238
+ * The CellHashes type is used to quickly compare the content of two sets of
239
+ * Cell objects.
240
+ *
241
+ * This has schema-based typing. The following is a simplified representation:
242
+ *
243
+ * ```ts override
244
+ * {[tableId: Id]: {[rowId: Id]: {[cellId: Id]: Hash}}};
245
+ * ```
246
+ *
247
+ * It is simply a nested object of Hash types, one for each Cell Id, for each
248
+ * Row Id, for each TableId, in the MergeableStore.
249
+ *
250
+ * This type is mostly utilized internally within TinyBase itself and is
251
+ * generally assumed to be opaque to applications that use it.
252
+ * @category Syncing
253
+ * @since v5.0.0
254
+ */
142
255
  export type CellHashes<Schema extends OptionalTablesSchema> = {
143
256
  [TableId in TableIdFromSchema<Schema>]?: {
144
257
  [rowId: Id]: {[CellId in CellIdFromSchema<Schema, TableId>]?: Hash};
145
258
  };
146
259
  };
147
260
 
148
- // CellStamp
261
+ /**
262
+ * The CellStamp type is used as metadata to decide how to merge two different
263
+ * Cell objects together.
264
+ *
265
+ * This has schema-based typing. The following is a simplified representation:
266
+ *
267
+ * ```ts override
268
+ * export type CellStamp<Hashed extends boolean = false> = Stamp<
269
+ * CellOrUndefined,
270
+ * Hashed
271
+ * >;
272
+ * ```
273
+ *
274
+ * This type is mostly utilized internally within TinyBase itself and is
275
+ * generally assumed to be opaque to applications that use it.
276
+ * @category Stamps
277
+ * @since v5.0.0
278
+ */
149
279
  export type CellStamp<
150
280
  Schema extends OptionalTablesSchema,
151
281
  TableId extends TableIdFromSchema<Schema>,
@@ -153,7 +283,24 @@ export type CellStamp<
153
283
  Hashed extends boolean = false,
154
284
  > = Stamp<CellOrUndefined<Schema, TableId, CellId>, Hashed>;
155
285
 
156
- // ValuesStamp
286
+ /**
287
+ * The ValuesStamp type is used as metadata to decide how to merge two different
288
+ * sets of Values together.
289
+ *
290
+ * This has schema-based typing. The following is a simplified representation:
291
+ *
292
+ * ```ts override
293
+ * export type ValuesStamp<Hashed extends boolean = false> = Stamp<
294
+ * {[valueId: Id]: ValueStamp<Hashed>},
295
+ * Hashed
296
+ * >;
297
+ * ```
298
+ *
299
+ * This type is mostly utilized internally within TinyBase itself and is
300
+ * generally assumed to be opaque to applications that use it.
301
+ * @category Stamps
302
+ * @since v5.0.0
303
+ */
157
304
  export type ValuesStamp<
158
305
  Schema extends OptionalValuesSchema,
159
306
  Hashed extends boolean = false,
@@ -168,12 +315,46 @@ export type ValuesStamp<
168
315
  Hashed
169
316
  >;
170
317
 
171
- // ValueHashes
318
+ /**
319
+ * The ValueHashes type is used to quickly compare the content of two sets of
320
+ * Value objects.
321
+ *
322
+ * This has schema-based typing. The following is a simplified representation:
323
+ *
324
+ * ```ts override
325
+ * {[valueId: Id]: Hash};
326
+ * ```
327
+ *
328
+ * It is simply an object of Hash types, one for each Value Id in the
329
+ * MergeableStore.
330
+ *
331
+ * This type is mostly utilized internally within TinyBase itself and is
332
+ * generally assumed to be opaque to applications that use it.
333
+ * @category Syncing
334
+ * @since v5.0.0
335
+ */
172
336
  export type ValueHashes<Schema extends OptionalValuesSchema> = {
173
337
  [ValueId in ValueIdFromSchema<Schema>]?: Hash;
174
338
  };
175
339
 
176
- // ValueStamp
340
+ /**
341
+ * The ValueStamp type is used as metadata to decide how to merge two different
342
+ * Value objects together.
343
+ *
344
+ * This has schema-based typing. The following is a simplified representation:
345
+ *
346
+ * ```ts override
347
+ * export type ValueStamp<Hashed extends boolean = false> = Stamp<
348
+ * ValueOrUndefined,
349
+ * Hashed
350
+ * >;
351
+ * ```
352
+ *
353
+ * This type is mostly utilized internally within TinyBase itself and is
354
+ * generally assumed to be opaque to applications that use it.
355
+ * @category Stamps
356
+ * @since v5.0.0
357
+ */
177
358
  export type ValueStamp<
178
359
  Schema extends OptionalValuesSchema,
179
360
  ValueId extends ValueIdFromSchema<Schema>,
@@ -24,6 +24,7 @@
24
24
  * |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
25
25
  * |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
26
26
  * |PostgresPersister|PostgreSQL, via [postgres](https://github.com/porsager/postgres)|Yes|No
27
+ * |PglitePersister|PostgreSQL, via [PGlite](https://github.com/electric-sql/pglite)|Yes|No
27
28
  * |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
28
29
  * |AutomergePersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
29
30
  * |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
@@ -344,8 +345,8 @@ export type DpcJson = {
344
345
  *
345
346
  * This configuration can only be used when the Persister is persisting a
346
347
  * regular Store. For those database-oriented Persister types that support
347
- * MergeableStore data, you will need to use JSON-serialization, es described
348
- * in the DpcJson section.
348
+ * MergeableStore data, you will need to use JSON-serialization, es described in
349
+ * the DpcJson section.
349
350
  *
350
351
  * It is important to note that both the tabular mapping in ('save') and out
351
352
  * ('load') of an underlying database are disabled by default. This is to ensure
@@ -378,6 +379,15 @@ export type DpcJson = {
378
379
  * DpcTabularValues types for more details on how to configure the tabular
379
380
  * mapping mode.
380
381
  *
382
+ * Columns in SQLite database have no type, and so in this mode, the table can
383
+ * contain strings and numbers for Cells and Values, just as TinyBase does.
384
+ * Booleans, unfortunately, are stored as 0 or 1 in SQLite, and cannot be
385
+ * distinguished from numbers.
386
+ *
387
+ * In PostgreSQL databases, all Cell and Value columns are expected to be typed
388
+ * as `text`, and the strings, booleans, and numbers are all JSON-encoded by the
389
+ * Persister.
390
+ *
381
391
  * The 'Dpc' prefix indicates that this type is used within the
382
392
  * DatabasePersisterConfig type.
383
393
  * @example
@@ -522,6 +532,11 @@ export type DpcTabular = {
522
532
  * },
523
533
  * }
524
534
  * ```
535
+ *
536
+ * The example above represents what happens with a SQLite Persister. In
537
+ * PostgreSQL databases, all Cell and Value columns are expected to be
538
+ * typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
539
+ * if you queried them.
525
540
  * @category Configuration
526
541
  * @since v4.0.0
527
542
  */
@@ -635,6 +650,10 @@ export type DpcTabularLoad = {
635
650
  * | cat | 4 |
636
651
  * +------+-------+
637
652
  * ```
653
+ * The example above represents what happens with a SQLite Persister. In
654
+ * PostgreSQL databases, all Cell and Value columns are expected to be
655
+ * typed as `text`, and the strings, booleans, and numbers would be JSON-encoded
656
+ * if you queried them.
638
657
  * @category Configuration
639
658
  * @since v4.0.0
640
659
  */
@@ -1214,7 +1233,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1214
1233
  * getDataFromRemoteSystem,
1215
1234
  * sendDataToRemoteSystem,
1216
1235
  * } from 'custom-remote-handlers';
1217
- * import {createCustomPersister, createStore} from 'tinybase';
1236
+ * import {createCustomPersister} from 'tinybase/persisters';
1237
+ * import {createStore} from 'tinybase';
1218
1238
  *
1219
1239
  * const store = createStore();
1220
1240
  * const persister = createCustomPersister(
@@ -1348,10 +1368,53 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1348
1368
  //
1349
1369
  }
1350
1370
 
1371
+ /**
1372
+ * The DatabaseExecuteCommand type describes a function that is used to execute
1373
+ * commands against a database.
1374
+ *
1375
+ * This is only used when developing custom database-oriented Persisters, and
1376
+ * most TinyBase users will not need to be particularly aware of it.
1377
+ *
1378
+ * It is modelled around the common pattern of database SDKs being able to
1379
+ * execute commands with parameters, and have those (probably asynchronous)
1380
+ * command executions return an array of objects, where each object represents a
1381
+ * row.
1382
+ * @param sql The SQL string to execute, which may include positional parameter
1383
+ * placeholders.
1384
+ * @param params An array of parameters to pass to the SQL command.
1385
+ * @returns An promise of an array of objects, where each object represents a
1386
+ * database result row (if the command was a query).
1387
+ * @category Creation
1388
+ * @since v5.2.0
1389
+ */
1390
+ export type DatabaseExecuteCommand = (
1391
+ sql: string,
1392
+ params?: any[],
1393
+ ) => Promise<{[field: string]: any}[]>;
1394
+
1395
+ /**
1396
+ * The DatabaseChangeListener type describes a function that is used to listen
1397
+ * for changes to the data in a database.
1398
+ *
1399
+ * This is only used when developing custom database-oriented Persisters, and
1400
+ * most TinyBase users will not need to be particularly aware of it.
1401
+ *
1402
+ * This function should be called with the name of a relevant table that has
1403
+ * changed, possible through the use of events, triggers, or notifications,
1404
+ * dependent on the specific database implementation.
1405
+ * @param tableName The name of the table that has changed.
1406
+ * @category Creation
1407
+ * @since v5.2.0
1408
+ */
1409
+ export type DatabaseChangeListener = (tableName: string) => void;
1410
+
1351
1411
  /**
1352
1412
  * The createCustomPersister function creates a Persister object that you can
1353
1413
  * configure to persist the Store in any way you wish.
1354
1414
  *
1415
+ * This is only used when developing custom Persisters, and most TinyBase users
1416
+ * will not need to be particularly aware of it.
1417
+ *
1355
1418
  * As well as providing a reference to the Store to persist, you must provide
1356
1419
  * functions that handle how to fetch, write, and listen to, the persistence
1357
1420
  * layer.
@@ -1400,7 +1463,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1400
1463
  * Store.
1401
1464
  *
1402
1465
  * ```js
1403
- * import {createCustomPersister, createStore} from 'tinybase';
1466
+ * import {createCustomPersister} from 'tinybase/persisters';
1467
+ * import {createStore} from 'tinybase';
1404
1468
  *
1405
1469
  * const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
1406
1470
  * let persistedJson;
@@ -1439,12 +1503,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1439
1503
  * MergeableStore.
1440
1504
  *
1441
1505
  * ```js
1442
- * import {
1443
- * Persists,
1444
- * createCustomPersister,
1445
- * createMergeableStore,
1446
- * createStore,
1447
- * } from 'tinybase';
1506
+ * import {Persists, createCustomPersister} from 'tinybase/persisters';
1507
+ * import {createMergeableStore, createStore} from 'tinybase';
1448
1508
  *
1449
1509
  * let persistedJson;
1450
1510
  * const createJsonPersister = (storeOrMergeableStore) =>
@@ -1504,7 +1564,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1504
1564
  * @since v1.0.0
1505
1565
  */
1506
1566
  export function createCustomPersister<
1507
- ListeningHandle,
1567
+ ListenerHandle,
1508
1568
  Persist extends Persists = Persists.StoreOnly,
1509
1569
  >(
1510
1570
  store: PersistedStore<Persist>,
@@ -1515,8 +1575,123 @@ export function createCustomPersister<
1515
1575
  ) => Promise<void>,
1516
1576
  addPersisterListener: (
1517
1577
  listener: PersisterListener<Persist>,
1518
- ) => ListeningHandle | Promise<ListeningHandle>,
1519
- delPersisterListener: (listeningHandle: ListeningHandle) => void,
1578
+ ) => ListenerHandle | Promise<ListenerHandle>,
1579
+ delPersisterListener: (listenerHandle: ListenerHandle) => void,
1520
1580
  onIgnoredError?: (error: any) => void,
1521
1581
  persist?: Persist,
1522
1582
  ): Persister<Persist>;
1583
+
1584
+ /**
1585
+ * The createCustomSqlitePersister function creates a Persister object that you
1586
+ * can configure to persist the Store to a SQLite database.
1587
+ *
1588
+ * This is only used when developing custom database-oriented Persisters, and
1589
+ * most TinyBase users will not need to be particularly aware of it.
1590
+ *
1591
+ * All of the TinyBase SQLite-oriented Persister functions use this function
1592
+ * under the covers, and so you may wish to look at those implementations for
1593
+ * ideas on how to build your own Persister type, and as functional examples.
1594
+ * Examine the implementation of the createSqlite3Persister function as a good
1595
+ * starting point, for example.
1596
+ * @param store The Store to persist.
1597
+ * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
1598
+ * that will be used as the name of the Store's table in the database.
1599
+ * @param executeCommand A function that will execute a command against the
1600
+ * database.
1601
+ * @param addChangeListener A function that will register a listener for changes
1602
+ * to the database.
1603
+ * @param delChangeListener A function that will unregister the listener for
1604
+ * changes to the database.
1605
+ * @param onSqlCommand A function that will be called for each SQL command
1606
+ * executed against the database.
1607
+ * @param onIgnoredError A function that will be called for errors that are
1608
+ * ignored by the Persister.
1609
+ * @param destroy A function that will be called to perform any extra clean up
1610
+ * on the Persister.
1611
+ * @param persist An integer from the Persists enum to indicate which types of
1612
+ * Store are supported by this Persister: `1` indicates only a regular Store is
1613
+ * supported, `2` indicates only a MergeableStore is supported, and `3`
1614
+ * indicates that both Store and MergeableStore are supported.
1615
+ * @param thing A reference to the database or connection that can be returned
1616
+ * with a method, by default called `getDb`.
1617
+ * @param getThing An optional string that will be used to get the reference to
1618
+ * the database or connection from the Persister, defaulting to `getDb`.
1619
+ * @returns A reference to the new SQLite-oriented Persister object.
1620
+ * @category Creation
1621
+ * @since v5.2.0
1622
+ */
1623
+ export function createCustomSqlitePersister<
1624
+ ListenerHandle,
1625
+ Persist extends Persists = Persists.StoreOnly,
1626
+ >(
1627
+ store: PersistedStore<Persist>,
1628
+ configOrStoreTableName: DatabasePersisterConfig | string | undefined,
1629
+ executeCommand: DatabaseExecuteCommand,
1630
+ addChangeListener: (listener: DatabaseChangeListener) => ListenerHandle,
1631
+ delChangeListener: (listenerHandle: ListenerHandle) => void,
1632
+ onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1633
+ onIgnoredError: ((error: any) => void) | undefined,
1634
+ destroy: () => void,
1635
+ persist: Persist,
1636
+ thing: any,
1637
+ getThing?: string,
1638
+ ): Persister<Persist>;
1639
+
1640
+ /**
1641
+ * The createCustomSqlitePersister function creates a Persister object that you
1642
+ * can configure to persist the Store to a PostgreSQL database.
1643
+ *
1644
+ * This is only used when developing custom database-oriented Persisters, and
1645
+ * most TinyBase users will not need to be particularly aware of it.
1646
+ *
1647
+ * All of the TinyBase PostgreSQL-oriented Persister functions use this function
1648
+ * under the covers, and so you may wish to look at those implementations for
1649
+ * ideas on how to build your own Persister type, and as functional
1650
+ * examples. Examine the implementation of the createPostgresPersister function
1651
+ * as a good starting point, for example.
1652
+ * @param store The Store to persist.
1653
+ * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
1654
+ * that will be used as the name of the Store's table in the database.
1655
+ * @param executeCommand A function that will execute a command against the
1656
+ * database.
1657
+ * @param addChangeListener A function that will register a listener for changes
1658
+ * to the database.
1659
+ * @param delChangeListener A function that will unregister the listener for
1660
+ * changes to the database.
1661
+ * @param onSqlCommand A function that will be called for each SQL command
1662
+ * executed against the database.
1663
+ * @param onIgnoredError A function that will be called for errors that are
1664
+ * ignored by the Persister.
1665
+ * @param destroy A function that will be called to perform any extra clean up
1666
+ * on the Persister.
1667
+ * @param persist An integer from the Persists enum to indicate which types of
1668
+ * Store are supported by this Persister: `1` indicates only a regular Store is
1669
+ * supported, `2` indicates only a MergeableStore is supported, and `3`
1670
+ * indicates that both Store and MergeableStore are supported.
1671
+ * @param thing A reference to the database or connection that can be returned
1672
+ * with a method, by default called `getDb`.
1673
+ * @param getThing An optional string that will be used to get the reference to
1674
+ * the database or connection from the Persister, defaulting to `getDb`.
1675
+ * @returns A reference to the new Persister object.
1676
+ * @category Creation
1677
+ * @since v5.2.0
1678
+ */
1679
+ export function createCustomPostgreSqlPersister<
1680
+ ListenerHandle,
1681
+ Persist extends Persists = Persists.StoreOnly,
1682
+ >(
1683
+ store: PersistedStore<Persist>,
1684
+ configOrStoreTableName: DatabasePersisterConfig | string | undefined,
1685
+ executeCommand: DatabaseExecuteCommand,
1686
+ addChangeListener: (
1687
+ channel: string,
1688
+ listener: DatabaseChangeListener,
1689
+ ) => Promise<ListenerHandle>,
1690
+ delChangeListener: (listenerHandle: ListenerHandle) => void,
1691
+ onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1692
+ onIgnoredError: ((error: any) => void) | undefined,
1693
+ destroy: () => void,
1694
+ persist: Persist,
1695
+ thing: any,
1696
+ getThing?: string,
1697
+ ): Persister<Persist>;