tinybase 5.2.0-beta.4 → 5.2.0

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 (511) 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 +177 -16
  6. package/@types/persisters/index.d.ts +177 -16
  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 +1 -1
  24. package/@types/persisters/persister-pglite/index.d.ts +1 -1
  25. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +2 -2
  26. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +2 -2
  27. package/@types/persisters/persister-postgres/index.d.cts +1 -1
  28. package/@types/persisters/persister-postgres/index.d.ts +1 -1
  29. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -2
  30. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -2
  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 +227 -19
  44. package/@types/persisters/with-schemas/index.d.ts +227 -19
  45. package/@types/synchronizers/index.d.cts +2 -5
  46. package/@types/synchronizers/index.d.ts +2 -5
  47. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +7 -7
  48. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
  49. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +7 -7
  50. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
  51. package/@types/synchronizers/with-schemas/index.d.cts +2 -5
  52. package/@types/synchronizers/with-schemas/index.d.ts +2 -5
  53. package/cjs/es6/index.cjs +54 -566
  54. package/cjs/es6/mergeable-store/index.cjs +9 -6
  55. package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -6
  56. package/cjs/es6/min/index.cjs +1 -1
  57. package/cjs/es6/min/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-cr-sqlite-wasm/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  91. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  92. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  93. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  94. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/persisters/index.cjs +1095 -10
  97. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +58 -49
  98. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +58 -49
  99. package/cjs/es6/persisters/persister-electric-sql/index.cjs +56 -47
  100. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
  101. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +58 -49
  102. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +58 -49
  103. package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -2
  104. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  105. package/cjs/es6/persisters/persister-libsql/index.cjs +56 -47
  106. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +56 -47
  107. package/cjs/es6/persisters/persister-pglite/index.cjs +61 -54
  108. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +61 -54
  109. package/cjs/es6/persisters/persister-postgres/index.cjs +63 -56
  110. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +63 -56
  111. package/cjs/es6/persisters/persister-powersync/index.cjs +58 -49
  112. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +58 -49
  113. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +62 -49
  114. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +62 -49
  115. package/cjs/es6/persisters/persister-sqlite3/index.cjs +58 -49
  116. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
  117. package/cjs/es6/persisters/with-schemas/index.cjs +1095 -10
  118. package/cjs/es6/synchronizers/index.cjs +9 -6
  119. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +9 -6
  120. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +9 -6
  121. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +9 -6
  122. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +9 -6
  123. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +9 -6
  124. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +9 -6
  125. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +17 -14
  126. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +17 -14
  127. package/cjs/es6/synchronizers/with-schemas/index.cjs +9 -6
  128. package/cjs/es6/with-schemas/index.cjs +54 -566
  129. package/cjs/index.cjs +45 -447
  130. package/cjs/mergeable-store/index.cjs +1 -0
  131. package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
  132. package/cjs/min/index.cjs +1 -1
  133. package/cjs/min/index.cjs.gz +0 -0
  134. package/cjs/min/persisters/index.cjs +1 -1
  135. package/cjs/min/persisters/index.cjs.gz +0 -0
  136. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  137. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  138. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  139. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  140. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  141. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  142. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  143. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  145. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  146. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  147. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  149. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  150. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  151. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  153. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  161. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  162. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  163. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  164. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  165. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  167. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  168. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  169. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/with-schemas/index.cjs +1 -1
  171. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  172. package/cjs/persisters/index.cjs +833 -0
  173. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +57 -48
  174. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +57 -48
  175. package/cjs/persisters/persister-electric-sql/index.cjs +56 -47
  176. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +56 -47
  177. package/cjs/persisters/persister-expo-sqlite/index.cjs +57 -48
  178. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +57 -48
  179. package/cjs/persisters/persister-indexed-db/index.cjs +2 -2
  180. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -2
  181. package/cjs/persisters/persister-libsql/index.cjs +56 -47
  182. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +56 -47
  183. package/cjs/persisters/persister-pglite/index.cjs +59 -52
  184. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +59 -52
  185. package/cjs/persisters/persister-postgres/index.cjs +61 -54
  186. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +61 -54
  187. package/cjs/persisters/persister-powersync/index.cjs +60 -49
  188. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +60 -49
  189. package/cjs/persisters/persister-sqlite-wasm/index.cjs +58 -49
  190. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +58 -49
  191. package/cjs/persisters/persister-sqlite3/index.cjs +58 -49
  192. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +58 -49
  193. package/cjs/persisters/with-schemas/index.cjs +833 -0
  194. package/cjs/synchronizers/index.cjs +1 -0
  195. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  196. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  197. package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
  198. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
  199. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
  200. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
  201. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +9 -8
  202. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +9 -8
  203. package/cjs/synchronizers/with-schemas/index.cjs +1 -0
  204. package/cjs/with-schemas/index.cjs +45 -447
  205. package/es6/index.js +54 -566
  206. package/es6/mergeable-store/index.js +9 -6
  207. package/es6/mergeable-store/with-schemas/index.js +9 -6
  208. package/es6/min/index.js +1 -1
  209. package/es6/min/index.js.gz +0 -0
  210. package/es6/min/persisters/index.js +1 -1
  211. package/es6/min/persisters/index.js.gz +0 -0
  212. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  213. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  214. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  215. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  216. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  217. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  218. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  219. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  220. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  221. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  222. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  223. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  224. package/es6/min/persisters/persister-libsql/index.js +1 -1
  225. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  226. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  227. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  228. package/es6/min/persisters/persister-powersync/index.js +1 -1
  229. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  230. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  231. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  232. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  233. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  234. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  235. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  236. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  237. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  238. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  239. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  240. package/es6/min/persisters/with-schemas/index.js +1 -1
  241. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  242. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  243. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  244. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  245. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  246. package/es6/min/with-schemas/index.js +1 -1
  247. package/es6/min/with-schemas/index.js.gz +0 -0
  248. package/es6/persisters/index.js +1099 -11
  249. package/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
  250. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
  251. package/es6/persisters/persister-electric-sql/index.js +56 -47
  252. package/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  253. package/es6/persisters/persister-expo-sqlite/index.js +58 -49
  254. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
  255. package/es6/persisters/persister-indexed-db/index.js +2 -2
  256. package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  257. package/es6/persisters/persister-libsql/index.js +56 -47
  258. package/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
  259. package/es6/persisters/persister-pglite/index.js +61 -54
  260. package/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
  261. package/es6/persisters/persister-postgres/index.js +63 -56
  262. package/es6/persisters/persister-postgres/with-schemas/index.js +63 -56
  263. package/es6/persisters/persister-powersync/index.js +58 -49
  264. package/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
  265. package/es6/persisters/persister-sqlite-wasm/index.js +62 -49
  266. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
  267. package/es6/persisters/persister-sqlite3/index.js +58 -49
  268. package/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  269. package/es6/persisters/with-schemas/index.js +1099 -11
  270. package/es6/synchronizers/index.js +9 -6
  271. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  272. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  273. package/es6/synchronizers/synchronizer-local/index.js +9 -6
  274. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  275. package/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
  276. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
  277. package/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
  278. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
  279. package/es6/synchronizers/with-schemas/index.js +9 -6
  280. package/es6/with-schemas/index.js +54 -566
  281. package/index.js +45 -447
  282. package/mergeable-store/index.js +1 -0
  283. package/mergeable-store/with-schemas/index.js +1 -0
  284. package/min/index.js +1 -1
  285. package/min/index.js.gz +0 -0
  286. package/min/persisters/index.js +1 -1
  287. package/min/persisters/index.js.gz +0 -0
  288. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  289. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  290. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  291. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  292. package/min/persisters/persister-electric-sql/index.js +1 -1
  293. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  294. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  295. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  296. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  297. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  298. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  299. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  300. package/min/persisters/persister-libsql/index.js +1 -1
  301. package/min/persisters/persister-libsql/index.js.gz +0 -0
  302. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  303. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  304. package/min/persisters/persister-powersync/index.js +1 -1
  305. package/min/persisters/persister-powersync/index.js.gz +0 -0
  306. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  307. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  308. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  309. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  310. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  311. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  312. package/min/persisters/persister-sqlite3/index.js +1 -1
  313. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  314. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  315. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  316. package/min/persisters/with-schemas/index.js +1 -1
  317. package/min/persisters/with-schemas/index.js.gz +0 -0
  318. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  319. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  320. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  321. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  322. package/min/with-schemas/index.js +1 -1
  323. package/min/with-schemas/index.js.gz +0 -0
  324. package/package.json +212 -212
  325. package/persisters/index.js +837 -1
  326. package/persisters/persister-cr-sqlite-wasm/index.js +57 -48
  327. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
  328. package/persisters/persister-electric-sql/index.js +56 -47
  329. package/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  330. package/persisters/persister-expo-sqlite/index.js +57 -48
  331. package/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
  332. package/persisters/persister-indexed-db/index.js +2 -2
  333. package/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  334. package/persisters/persister-libsql/index.js +56 -47
  335. package/persisters/persister-libsql/with-schemas/index.js +56 -47
  336. package/persisters/persister-pglite/index.js +59 -52
  337. package/persisters/persister-pglite/with-schemas/index.js +59 -52
  338. package/persisters/persister-postgres/index.js +61 -54
  339. package/persisters/persister-postgres/with-schemas/index.js +61 -54
  340. package/persisters/persister-powersync/index.js +60 -49
  341. package/persisters/persister-powersync/with-schemas/index.js +60 -49
  342. package/persisters/persister-sqlite-wasm/index.js +58 -49
  343. package/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
  344. package/persisters/persister-sqlite3/index.js +58 -49
  345. package/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  346. package/persisters/with-schemas/index.js +837 -1
  347. package/readme.md +14 -14
  348. package/releases.md +27 -23
  349. package/synchronizers/index.js +1 -0
  350. package/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  351. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  352. package/synchronizers/synchronizer-local/index.js +1 -0
  353. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  354. package/synchronizers/synchronizer-ws-client/index.js +1 -0
  355. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  356. package/synchronizers/synchronizer-ws-server/index.js +9 -8
  357. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
  358. package/synchronizers/with-schemas/index.js +1 -0
  359. package/umd/es6/index.js +54 -577
  360. package/umd/es6/mergeable-store/index.js +9 -6
  361. package/umd/es6/mergeable-store/with-schemas/index.js +9 -6
  362. package/umd/es6/min/index.js +1 -1
  363. package/umd/es6/min/index.js.gz +0 -0
  364. package/umd/es6/min/persisters/index.js +1 -1
  365. package/umd/es6/min/persisters/index.js.gz +0 -0
  366. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  367. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  368. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  369. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  370. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  371. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  372. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  373. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  374. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  375. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  376. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  377. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  378. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  379. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  380. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  381. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  382. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  383. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  384. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  385. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  386. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  387. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  388. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  389. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  390. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  391. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  392. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  393. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  394. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  395. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  396. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  397. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  398. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  399. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  400. package/umd/es6/min/with-schemas/index.js +1 -1
  401. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  402. package/umd/es6/persisters/index.js +1106 -10
  403. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +58 -49
  404. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +58 -49
  405. package/umd/es6/persisters/persister-electric-sql/index.js +56 -47
  406. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  407. package/umd/es6/persisters/persister-expo-sqlite/index.js +58 -49
  408. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +58 -49
  409. package/umd/es6/persisters/persister-indexed-db/index.js +2 -2
  410. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  411. package/umd/es6/persisters/persister-libsql/index.js +56 -47
  412. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +56 -47
  413. package/umd/es6/persisters/persister-pglite/index.js +61 -54
  414. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +61 -54
  415. package/umd/es6/persisters/persister-postgres/index.js +66 -56
  416. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +66 -56
  417. package/umd/es6/persisters/persister-powersync/index.js +58 -49
  418. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +58 -49
  419. package/umd/es6/persisters/persister-sqlite-wasm/index.js +58 -49
  420. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +58 -49
  421. package/umd/es6/persisters/persister-sqlite3/index.js +58 -49
  422. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  423. package/umd/es6/persisters/with-schemas/index.js +1106 -10
  424. package/umd/es6/synchronizers/index.js +9 -6
  425. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +9 -6
  426. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +9 -6
  427. package/umd/es6/synchronizers/synchronizer-local/index.js +9 -6
  428. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +9 -6
  429. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +9 -6
  430. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +9 -6
  431. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +17 -14
  432. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +17 -14
  433. package/umd/es6/synchronizers/with-schemas/index.js +9 -6
  434. package/umd/es6/with-schemas/index.js +54 -577
  435. package/umd/index.js +45 -454
  436. package/umd/mergeable-store/index.js +1 -0
  437. package/umd/mergeable-store/with-schemas/index.js +1 -0
  438. package/umd/min/index.js +1 -1
  439. package/umd/min/index.js.gz +0 -0
  440. package/umd/min/persisters/index.js +1 -1
  441. package/umd/min/persisters/index.js.gz +0 -0
  442. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  443. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  444. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  445. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  446. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  447. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  448. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  449. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  450. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  451. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  452. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  453. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  454. package/umd/min/persisters/persister-libsql/index.js +1 -1
  455. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  456. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  457. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  458. package/umd/min/persisters/persister-powersync/index.js +1 -1
  459. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  460. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  461. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  462. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  463. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  464. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  465. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  466. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  467. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  468. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  469. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  470. package/umd/min/persisters/with-schemas/index.js +1 -1
  471. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  472. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  473. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  474. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  475. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  476. package/umd/min/with-schemas/index.js +1 -1
  477. package/umd/min/with-schemas/index.js.gz +0 -0
  478. package/umd/persisters/index.js +835 -0
  479. package/umd/persisters/persister-cr-sqlite-wasm/index.js +57 -48
  480. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +57 -48
  481. package/umd/persisters/persister-electric-sql/index.js +56 -47
  482. package/umd/persisters/persister-electric-sql/with-schemas/index.js +56 -47
  483. package/umd/persisters/persister-expo-sqlite/index.js +57 -48
  484. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +57 -48
  485. package/umd/persisters/persister-indexed-db/index.js +2 -2
  486. package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -2
  487. package/umd/persisters/persister-libsql/index.js +56 -47
  488. package/umd/persisters/persister-libsql/with-schemas/index.js +56 -47
  489. package/umd/persisters/persister-pglite/index.js +59 -52
  490. package/umd/persisters/persister-pglite/with-schemas/index.js +59 -52
  491. package/umd/persisters/persister-postgres/index.js +61 -54
  492. package/umd/persisters/persister-postgres/with-schemas/index.js +61 -54
  493. package/umd/persisters/persister-powersync/index.js +58 -49
  494. package/umd/persisters/persister-powersync/with-schemas/index.js +58 -49
  495. package/umd/persisters/persister-sqlite-wasm/index.js +62 -49
  496. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +62 -49
  497. package/umd/persisters/persister-sqlite3/index.js +58 -49
  498. package/umd/persisters/persister-sqlite3/with-schemas/index.js +58 -49
  499. package/umd/persisters/with-schemas/index.js +835 -0
  500. package/umd/synchronizers/index.js +1 -0
  501. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  502. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  503. package/umd/synchronizers/synchronizer-local/index.js +1 -0
  504. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  505. package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
  506. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  507. package/umd/synchronizers/synchronizer-ws-server/index.js +9 -8
  508. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +9 -8
  509. package/umd/synchronizers/with-schemas/index.js +1 -0
  510. package/umd/with-schemas/index.js +45 -454
  511. package/with-schemas/index.js +45 -447
@@ -171,6 +171,6 @@ export function createSqliteWasmPersister(
171
171
  sqlite3: any,
172
172
  db: any,
173
173
  configOrStoreTableName?: DatabasePersisterConfig | string,
174
- onSqlCommand?: (sql: string, args?: any[]) => void,
174
+ onSqlCommand?: (sql: string, params?: any[]) => void,
175
175
  onIgnoredError?: (error: any) => void,
176
176
  ): SqliteWasmPersister;
@@ -80,7 +80,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
80
80
  * sqlite3: any,
81
81
  * db: any,
82
82
  * configOrStoreTableName?: DatabasePersisterConfig | string,
83
- * onSqlCommand?: (sql: string, args?: any[]) => void,
83
+ * onSqlCommand?: (sql: string, params?: any[]) => void,
84
84
  * onIgnoredError?: (error: any) => void,
85
85
  * ): SqliteWasmPersister;
86
86
  * ```
@@ -191,6 +191,6 @@ export function createSqliteWasmPersister<Schemas extends OptionalSchemas>(
191
191
  sqlite3: any,
192
192
  db: any,
193
193
  configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
194
- onSqlCommand?: (sql: string, args?: any[]) => void,
194
+ onSqlCommand?: (sql: string, params?: any[]) => void,
195
195
  onIgnoredError?: (error: any) => void,
196
196
  ): SqliteWasmPersister<Schemas>;
@@ -80,7 +80,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
80
80
  * sqlite3: any,
81
81
  * db: any,
82
82
  * configOrStoreTableName?: DatabasePersisterConfig | string,
83
- * onSqlCommand?: (sql: string, args?: any[]) => void,
83
+ * onSqlCommand?: (sql: string, params?: any[]) => void,
84
84
  * onIgnoredError?: (error: any) => void,
85
85
  * ): SqliteWasmPersister;
86
86
  * ```
@@ -191,6 +191,6 @@ export function createSqliteWasmPersister<Schemas extends OptionalSchemas>(
191
191
  sqlite3: any,
192
192
  db: any,
193
193
  configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
194
- onSqlCommand?: (sql: string, args?: any[]) => void,
194
+ onSqlCommand?: (sql: string, params?: any[]) => void,
195
195
  onIgnoredError?: (error: any) => void,
196
196
  ): SqliteWasmPersister<Schemas>;
@@ -172,6 +172,6 @@ export function createSqlite3Persister(
172
172
  store: Store | MergeableStore,
173
173
  db: Database,
174
174
  configOrStoreTableName?: DatabasePersisterConfig | string,
175
- onSqlCommand?: (sql: string, args?: any[]) => void,
175
+ onSqlCommand?: (sql: string, params?: any[]) => void,
176
176
  onIgnoredError?: (error: any) => void,
177
177
  ): Sqlite3Persister;
@@ -172,6 +172,6 @@ export function createSqlite3Persister(
172
172
  store: Store | MergeableStore,
173
173
  db: Database,
174
174
  configOrStoreTableName?: DatabasePersisterConfig | string,
175
- onSqlCommand?: (sql: string, args?: any[]) => void,
175
+ onSqlCommand?: (sql: string, params?: any[]) => void,
176
176
  onIgnoredError?: (error: any) => void,
177
177
  ): Sqlite3Persister;
@@ -74,7 +74,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
74
74
  * store: Store | MergeableStore,
75
75
  * db: Database,
76
76
  * configOrStoreTableName?: DatabasePersisterConfig | string,
77
- * onSqlCommand?: (sql: string, args?: any[]) => void,
77
+ * onSqlCommand?: (sql: string, params?: any[]) => void,
78
78
  * onIgnoredError?: (error: any) => void,
79
79
  * ): Sqlite3Persister;
80
80
  * ```
@@ -191,6 +191,6 @@ export function createSqlite3Persister<Schemas extends OptionalSchemas>(
191
191
  store: Store<Schemas> | MergeableStore<Schemas>,
192
192
  db: Database,
193
193
  configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
194
- onSqlCommand?: (sql: string, args?: any[]) => void,
194
+ onSqlCommand?: (sql: string, params?: any[]) => void,
195
195
  onIgnoredError?: (error: any) => void,
196
196
  ): Sqlite3Persister<Schemas>;
@@ -74,7 +74,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
74
74
  * store: Store | MergeableStore,
75
75
  * db: Database,
76
76
  * configOrStoreTableName?: DatabasePersisterConfig | string,
77
- * onSqlCommand?: (sql: string, args?: any[]) => void,
77
+ * onSqlCommand?: (sql: string, params?: any[]) => void,
78
78
  * onIgnoredError?: (error: any) => void,
79
79
  * ): Sqlite3Persister;
80
80
  * ```
@@ -191,6 +191,6 @@ export function createSqlite3Persister<Schemas extends OptionalSchemas>(
191
191
  store: Store<Schemas> | MergeableStore<Schemas>,
192
192
  db: Database,
193
193
  configOrStoreTableName?: DatabasePersisterConfig<Schemas> | string,
194
- onSqlCommand?: (sql: string, args?: any[]) => void,
194
+ onSqlCommand?: (sql: string, params?: any[]) => void,
195
195
  onIgnoredError?: (error: any) => void,
196
196
  ): Sqlite3Persister<Schemas>;
@@ -19,23 +19,28 @@
19
19
  * |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
20
20
  * |SqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|Yes|Yes*
21
21
  * |ExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|Yes|Yes*
22
+ * |PostgresPersister|PostgreSQL, via [postgres](https://github.com/porsager/postgres)|Yes|Yes*
23
+ * |PglitePersister|PostgreSQL, via [PGlite](https://github.com/electric-sql/pglite)|Yes|Yes*
22
24
  * |CrSqliteWasmPersister|SQLite CRDTs, via [cr-sqlite-wasm](https://github.com/vlcn-io/cr-sqlite)|Yes|No
23
25
  * |ElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|Yes|No
24
26
  * |LibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|Yes|No
25
27
  * |PowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|Yes|No
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
28
28
  * |YjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|Yes|No
29
29
  * |AutomergePersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|Yes|No
30
30
  * |PartyKitPersister|[PartyKit](https://www.partykit.io/), via the persister-partykit-server module|Yes|No|
31
31
  *
32
- * (*) Note that SQLite-based Persisters can currently only persist
33
- * MergeableStore data when using the JSON-based DpcJson mode, and not in a
34
- * tabular fashion.
32
+ * (*) Note that SQLite- and PostgreSQL-based Persisters can currently only
33
+ * persist MergeableStore data when used with the JSON-based DpcJson mode, and
34
+ * not when using the DpcTabular mode.
35
35
  *
36
36
  * Since persistence requirements can be different for every app, the
37
37
  * createCustomPersister function in this module can also be used to easily
38
38
  * create a fully customized way to save and load Store data.
39
+ *
40
+ * Similarly, the createCustomSqlitePersister function and
41
+ * createCustomPostgreSqlPersister function can be used to build Persister objects
42
+ * against SQLite and PostgreSQL SDKs (or forks) that are not already included
43
+ * with TinyBase.
39
44
  * @see Persistence guides
40
45
  * @see Countries demo
41
46
  * @see Todo App demos
@@ -1312,7 +1317,8 @@ export interface Persister<
1312
1317
  * getDataFromRemoteSystem,
1313
1318
  * sendDataToRemoteSystem,
1314
1319
  * } from 'custom-remote-handlers';
1315
- * import {createCustomPersister, createStore} from 'tinybase';
1320
+ * import {createCustomPersister} from 'tinybase/persisters';
1321
+ * import {createStore} from 'tinybase';
1316
1322
  *
1317
1323
  * const store = createStore();
1318
1324
  * const persister = createCustomPersister(
@@ -1451,6 +1457,46 @@ export interface Persister<
1451
1457
  getStats(): PersisterStats;
1452
1458
  }
1453
1459
 
1460
+ /**
1461
+ * The DatabaseExecuteCommand type describes a function that is used to execute
1462
+ * commands against a database.
1463
+ *
1464
+ * This is only used when developing custom database-oriented Persisters, and
1465
+ * most TinyBase users will not need to be particularly aware of it.
1466
+ *
1467
+ * It is modelled around the common pattern of database SDKs being able to
1468
+ * execute commands with parameters, and have those (probably asynchronous)
1469
+ * command executions return an array of objects, where each object represents a
1470
+ * row.
1471
+ * @param sql The SQL string to execute, which may include positional parameter
1472
+ * placeholders.
1473
+ * @param params An array of parameters to pass to the SQL command.
1474
+ * @returns An promise of an array of objects, where each object represents a
1475
+ * database result row (if the command was a query).
1476
+ * @category Creation
1477
+ * @since v5.2.0
1478
+ */
1479
+ export type DatabaseExecuteCommand = (
1480
+ sql: string,
1481
+ params?: any[],
1482
+ ) => Promise<{[field: string]: any}[]>;
1483
+
1484
+ /**
1485
+ * The DatabaseChangeListener type describes a function that is used to listen
1486
+ * for changes to the data in a database.
1487
+ *
1488
+ * This is only used when developing custom database-oriented Persisters, and
1489
+ * most TinyBase users will not need to be particularly aware of it.
1490
+ *
1491
+ * This function should be called with the name of a relevant table that has
1492
+ * changed, possible through the use of events, triggers, or notifications,
1493
+ * dependent on the specific database implementation.
1494
+ * @param tableName The name of the table that has changed.
1495
+ * @category Creation
1496
+ * @since v5.2.0
1497
+ */
1498
+ export type DatabaseChangeListener = (tableName: string) => void;
1499
+
1454
1500
  /**
1455
1501
  * The createCustomPersister function creates a Persister object that you can
1456
1502
  * configure to persist the Store in any way you wish.
@@ -1459,7 +1505,7 @@ export interface Persister<
1459
1505
  *
1460
1506
  * ```ts override
1461
1507
  * createCustomPersister<
1462
- * ListeningHandle,
1508
+ * ListenerHandle,
1463
1509
  * Persist extends Persists = Persists.StoreOnly,
1464
1510
  * >(
1465
1511
  * store: PersistedStore<Persist>,
@@ -1470,13 +1516,16 @@ export interface Persister<
1470
1516
  * ) => Promise<void>,
1471
1517
  * addPersisterListener: (
1472
1518
  * listener: PersisterListener<Persist>,
1473
- * ) => ListeningHandle | Promise<ListeningHandle>,
1474
- * delPersisterListener: (listeningHandle: ListeningHandle) => void,
1519
+ * ) => ListenerHandle | Promise<ListenerHandle>,
1520
+ * delPersisterListener: (listenerHandle: ListenerHandle) => void,
1475
1521
  * onIgnoredError?: (error: any) => void,
1476
1522
  * persist?: Persist,
1477
1523
  * ): Persister<Persist>;
1478
1524
  * ```
1479
1525
  *
1526
+ * This is only used when developing custom Persisters, and most TinyBase users
1527
+ * will not need to be particularly aware of it.
1528
+ *
1480
1529
  * As well as providing a reference to the Store to persist, you must provide
1481
1530
  * functions that handle how to fetch, write, and listen to, the persistence
1482
1531
  * layer.
@@ -1525,7 +1574,8 @@ export interface Persister<
1525
1574
  * Store.
1526
1575
  *
1527
1576
  * ```js
1528
- * import {createCustomPersister, createStore} from 'tinybase';
1577
+ * import {createCustomPersister} from 'tinybase/persisters';
1578
+ * import {createStore} from 'tinybase';
1529
1579
  *
1530
1580
  * const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
1531
1581
  * let persistedJson;
@@ -1564,12 +1614,8 @@ export interface Persister<
1564
1614
  * MergeableStore.
1565
1615
  *
1566
1616
  * ```js
1567
- * import {
1568
- * Persists,
1569
- * createCustomPersister,
1570
- * createMergeableStore,
1571
- * createStore,
1572
- * } from 'tinybase';
1617
+ * import {Persists, createCustomPersister} from 'tinybase/persisters';
1618
+ * import {createMergeableStore, createStore} from 'tinybase';
1573
1619
  *
1574
1620
  * let persistedJson;
1575
1621
  * const createJsonPersister = (storeOrMergeableStore) =>
@@ -1630,7 +1676,7 @@ export interface Persister<
1630
1676
  */
1631
1677
  export function createCustomPersister<
1632
1678
  Schemas extends OptionalSchemas,
1633
- ListeningHandle,
1679
+ ListenerHandle,
1634
1680
  Persist extends Persists = Persists.StoreOnly,
1635
1681
  >(
1636
1682
  store: PersistedStore<Schemas, Persist>,
@@ -1641,8 +1687,170 @@ export function createCustomPersister<
1641
1687
  ) => Promise<void>,
1642
1688
  addPersisterListener: (
1643
1689
  listener: PersisterListener<Schemas, Persist>,
1644
- ) => ListeningHandle | Promise<ListeningHandle>,
1645
- delPersisterListener: (listeningHandle: ListeningHandle) => void,
1690
+ ) => ListenerHandle | Promise<ListenerHandle>,
1691
+ delPersisterListener: (listenerHandle: ListenerHandle) => void,
1646
1692
  onIgnoredError?: (error: any) => void,
1647
1693
  persist?: Persist,
1648
1694
  ): Persister<Schemas, Persist>;
1695
+
1696
+ /**
1697
+ * The createCustomSqlitePersister function creates a Persister object that you
1698
+ * can configure to persist the Store to a SQLite database.
1699
+ *
1700
+ * This has schema-based typing. The following is a simplified representation:
1701
+ *
1702
+ * ```ts override
1703
+ * createCustomSqlitePersister<
1704
+ * ListenerHandle,
1705
+ * Persist extends Persists = Persists.StoreOnly,
1706
+ * >(
1707
+ * store: PersistedStore<Persist>,
1708
+ * configOrStoreTableName: DatabasePersisterConfig | string | undefined,
1709
+ * executeCommand: DatabaseExecuteCommand,
1710
+ * addChangeListener: (listener: DatabaseChangeListener) => ListenerHandle,
1711
+ * delChangeListener: (listenerHandle: ListenerHandle) => void,
1712
+ * onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1713
+ * onIgnoredError: ((error: any) => void) | undefined,
1714
+ * destroy: () => void,
1715
+ * persist: Persist,
1716
+ * thing: any,
1717
+ * getThing?: string,
1718
+ * ): Persister<Persist>;
1719
+ * ```
1720
+ *
1721
+ * This is only used when developing custom database-oriented Persisters, and
1722
+ * most TinyBase users will not need to be particularly aware of it.
1723
+ *
1724
+ * All of the TinyBase SQLite-oriented Persister functions use this function
1725
+ * under the covers, and so you may wish to look at those implementations for
1726
+ * ideas on how to build your own Persister type, and as functional examples.
1727
+ * Examine the implementation of the createSqlite3Persister function as a good
1728
+ * starting point, for example.
1729
+ * @param store The Store to persist.
1730
+ * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
1731
+ * that will be used as the name of the Store's table in the database.
1732
+ * @param executeCommand A function that will execute a command against the
1733
+ * database.
1734
+ * @param addChangeListener A function that will register a listener for changes
1735
+ * to the database.
1736
+ * @param delChangeListener A function that will unregister the listener for
1737
+ * changes to the database.
1738
+ * @param onSqlCommand A function that will be called for each SQL command
1739
+ * executed against the database.
1740
+ * @param onIgnoredError A function that will be called for errors that are
1741
+ * ignored by the Persister.
1742
+ * @param destroy A function that will be called to perform any extra clean up
1743
+ * on the Persister.
1744
+ * @param persist An integer from the Persists enum to indicate which types of
1745
+ * Store are supported by this Persister: `1` indicates only a regular Store is
1746
+ * supported, `2` indicates only a MergeableStore is supported, and `3`
1747
+ * indicates that both Store and MergeableStore are supported.
1748
+ * @param thing A reference to the database or connection that can be returned
1749
+ * with a method, by default called `getDb`.
1750
+ * @param getThing An optional string that will be used to get the reference to
1751
+ * the database or connection from the Persister, defaulting to `getDb`.
1752
+ * @returns A reference to the new SQLite-oriented Persister object.
1753
+ * @category Creation
1754
+ * @since v5.2.0
1755
+ */
1756
+ export function createCustomSqlitePersister<
1757
+ Schemas extends OptionalSchemas,
1758
+ ListenerHandle,
1759
+ Persist extends Persists = Persists.StoreOnly,
1760
+ >(
1761
+ store: PersistedStore<Schemas, Persist>,
1762
+ configOrStoreTableName: DatabasePersisterConfig<Schemas> | string | undefined,
1763
+ executeCommand: DatabaseExecuteCommand,
1764
+ addChangeListener: (listener: DatabaseChangeListener) => ListenerHandle,
1765
+ delChangeListener: (listenerHandle: ListenerHandle) => void,
1766
+ onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1767
+ onIgnoredError: ((error: any) => void) | undefined,
1768
+ destroy: () => void,
1769
+ persist: Persist,
1770
+ thing: any,
1771
+ getThing?: string,
1772
+ ): Persister<Schemas, Persist>;
1773
+
1774
+ /**
1775
+ * The createCustomSqlitePersister function creates a Persister object that you
1776
+ * can configure to persist the Store to a PostgreSQL database.
1777
+ *
1778
+ * This has schema-based typing. The following is a simplified representation:
1779
+ *
1780
+ * ```ts override
1781
+ * createCustomPostgreSqlPersister<
1782
+ * ListenerHandle,
1783
+ * Persist extends Persists = Persists.StoreOnly,
1784
+ * >(
1785
+ * store: PersistedStore<Persist>,
1786
+ * configOrStoreTableName: DatabasePersisterConfig | string | undefined,
1787
+ * executeCommand: DatabaseExecuteCommand,
1788
+ * addChangeListener: (
1789
+ * channel: string,
1790
+ * listener: DatabaseChangeListener,
1791
+ * ) => Promise<ListenerHandle>,
1792
+ * delChangeListener: (listenerHandle: ListenerHandle) => void,
1793
+ * onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1794
+ * onIgnoredError: ((error: any) => void) | undefined,
1795
+ * destroy: () => void,
1796
+ * persist: Persist,
1797
+ * thing: any,
1798
+ * getThing?: string,
1799
+ * ): Persister<Persist>;
1800
+ * ```
1801
+ *
1802
+ * This is only used when developing custom database-oriented Persisters, and
1803
+ * most TinyBase users will not need to be particularly aware of it.
1804
+ *
1805
+ * All of the TinyBase PostgreSQL-oriented Persister functions use this function
1806
+ * under the covers, and so you may wish to look at those implementations for
1807
+ * ideas on how to build your own Persister type, and as functional
1808
+ * examples. Examine the implementation of the createPostgresPersister function
1809
+ * as a good starting point, for example.
1810
+ * @param store The Store to persist.
1811
+ * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
1812
+ * that will be used as the name of the Store's table in the database.
1813
+ * @param executeCommand A function that will execute a command against the
1814
+ * database.
1815
+ * @param addChangeListener A function that will register a listener for changes
1816
+ * to the database.
1817
+ * @param delChangeListener A function that will unregister the listener for
1818
+ * changes to the database.
1819
+ * @param onSqlCommand A function that will be called for each SQL command
1820
+ * executed against the database.
1821
+ * @param onIgnoredError A function that will be called for errors that are
1822
+ * ignored by the Persister.
1823
+ * @param destroy A function that will be called to perform any extra clean up
1824
+ * on the Persister.
1825
+ * @param persist An integer from the Persists enum to indicate which types of
1826
+ * Store are supported by this Persister: `1` indicates only a regular Store is
1827
+ * supported, `2` indicates only a MergeableStore is supported, and `3`
1828
+ * indicates that both Store and MergeableStore are supported.
1829
+ * @param thing A reference to the database or connection that can be returned
1830
+ * with a method, by default called `getDb`.
1831
+ * @param getThing An optional string that will be used to get the reference to
1832
+ * the database or connection from the Persister, defaulting to `getDb`.
1833
+ * @returns A reference to the new Persister object.
1834
+ * @category Creation
1835
+ * @since v5.2.0
1836
+ */
1837
+ export function createCustomPostgreSqlPersister<
1838
+ Schemas extends OptionalSchemas,
1839
+ ListenerHandle,
1840
+ Persist extends Persists = Persists.StoreOnly,
1841
+ >(
1842
+ store: PersistedStore<Schemas, Persist>,
1843
+ configOrStoreTableName: DatabasePersisterConfig<Schemas> | string | undefined,
1844
+ executeCommand: DatabaseExecuteCommand,
1845
+ addChangeListener: (
1846
+ channel: string,
1847
+ listener: DatabaseChangeListener,
1848
+ ) => Promise<ListenerHandle>,
1849
+ delChangeListener: (listenerHandle: ListenerHandle) => void,
1850
+ onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1851
+ onIgnoredError: ((error: any) => void) | undefined,
1852
+ destroy: () => void,
1853
+ persist: Persist,
1854
+ thing: any,
1855
+ getThing?: string,
1856
+ ): Persister<Schemas, Persist>;