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
@@ -48,13 +48,13 @@ const DATA_VERSION = 'data_version';
48
48
  const SCHEMA_VERSION = 'schema_version';
49
49
  const FROM = 'FROM ';
50
50
  const PRAGMA_TABLE = 'pragma_table_';
51
- const getWrappedCommand = (rawCmd, onSqlCommand) =>
51
+ const getWrappedCommand = (executeCommand, onSqlCommand) =>
52
52
  onSqlCommand
53
- ? async (sql, args) => {
54
- onSqlCommand(sql, args);
55
- return await rawCmd(sql, args);
53
+ ? async (sql, params) => {
54
+ onSqlCommand(sql, params);
55
+ return await executeCommand(sql, params);
56
56
  }
57
- : rawCmd;
57
+ : executeCommand;
58
58
  const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
59
59
  const getPlaceholders = (array) =>
60
60
  arrayJoin(
@@ -317,7 +317,7 @@ const setNew = (entryOrEntries) =>
317
317
  const setAdd = (set, value) => set?.add(value);
318
318
 
319
319
  const getCommandFunctions = (
320
- cmd,
320
+ databaseExecuteCommand,
321
321
  managedTableNames,
322
322
  querySchema,
323
323
  onIgnoredError,
@@ -331,8 +331,9 @@ const getCommandFunctions = (
331
331
  collHas(mapGet(schemaMap, tableName), rowIdColumnName);
332
332
  const refreshSchema = async () => {
333
333
  collClear(schemaMap);
334
- arrayMap(await querySchema(cmd, managedTableNames), ({tn, cn}) =>
335
- setAdd(mapEnsure(schemaMap, tn, setNew), cn),
334
+ arrayMap(
335
+ await querySchema(databaseExecuteCommand, managedTableNames),
336
+ ({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
336
337
  );
337
338
  };
338
339
  const loadTable = async (tableName, rowIdColumnName) =>
@@ -340,7 +341,9 @@ const getCommandFunctions = (
340
341
  ? objNew(
341
342
  arrayFilter(
342
343
  arrayMap(
343
- await cmd(SELECT_STAR_FROM + escapeId(tableName)),
344
+ await databaseExecuteCommand(
345
+ SELECT_STAR_FROM + escapeId(tableName),
346
+ ),
344
347
  (row) => [
345
348
  row[rowIdColumnName],
346
349
  decode
@@ -373,7 +376,7 @@ const getCommandFunctions = (
373
376
  arrayIsEmpty(tableColumnNames) &&
374
377
  collHas(schemaMap, tableName)
375
378
  ) {
376
- await cmd('DROP ' + TABLE + escapeId(tableName));
379
+ await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
377
380
  mapSet(schemaMap, tableName);
378
381
  return;
379
382
  }
@@ -381,7 +384,7 @@ const getCommandFunctions = (
381
384
  const currentColumnNames = setNew(collValues(tableSchemaColumns));
382
385
  if (!arrayIsEmpty(tableColumnNames)) {
383
386
  if (!collHas(schemaMap, tableName)) {
384
- await cmd(
387
+ await databaseExecuteCommand(
385
388
  'CREATE ' +
386
389
  TABLE +
387
390
  escapeId(tableName) +
@@ -403,7 +406,7 @@ const getCommandFunctions = (
403
406
  [rowIdColumnName, ...tableColumnNames],
404
407
  async (columnName, index) => {
405
408
  if (!collDel(currentColumnNames, columnName)) {
406
- await cmd(
409
+ await databaseExecuteCommand(
407
410
  ALTER_TABLE +
408
411
  escapeId(tableName) +
409
412
  'ADD' +
@@ -411,7 +414,7 @@ const getCommandFunctions = (
411
414
  columnType,
412
415
  );
413
416
  if (index == 0) {
414
- await cmd(
417
+ await databaseExecuteCommand(
415
418
  'CREATE UNIQUE INDEX pk ON ' +
416
419
  escapeId(tableName) +
417
420
  `(${escapeId(rowIdColumnName)})`,
@@ -428,7 +431,7 @@ const getCommandFunctions = (
428
431
  ...(!partial && deleteEmptyColumns
429
432
  ? arrayMap(collValues(currentColumnNames), async (columnName) => {
430
433
  if (columnName != rowIdColumnName) {
431
- await cmd(
434
+ await databaseExecuteCommand(
432
435
  ALTER_TABLE +
433
436
  escapeId(tableName) +
434
437
  'DROP' +
@@ -441,12 +444,14 @@ const getCommandFunctions = (
441
444
  ]);
442
445
  if (partial) {
443
446
  if (isUndefined(content)) {
444
- await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
447
+ await databaseExecuteCommand(
448
+ DELETE_FROM + escapeId(tableName) + WHERE + ' true',
449
+ );
445
450
  } else {
446
451
  await promiseAll(
447
452
  objToArray(content, async (row, rowId) => {
448
453
  if (isUndefined(row)) {
449
- await cmd(
454
+ await databaseExecuteCommand(
450
455
  DELETE_FROM +
451
456
  escapeId(tableName) +
452
457
  WHERE +
@@ -456,7 +461,7 @@ const getCommandFunctions = (
456
461
  );
457
462
  } else if (!arrayIsEmpty(tableColumnNames)) {
458
463
  await upsert(
459
- cmd,
464
+ databaseExecuteCommand,
460
465
  tableName,
461
466
  rowIdColumnName,
462
467
  objIds(row),
@@ -478,11 +483,11 @@ const getCommandFunctions = (
478
483
  collValues(mapGet(schemaMap, tableName)),
479
484
  (columnName) => columnName != rowIdColumnName,
480
485
  );
481
- const args = [];
486
+ const params = [];
482
487
  const deleteRowIds = [];
483
488
  objToArray(content ?? {}, (row, rowId) => {
484
489
  arrayPush(
485
- args,
490
+ params,
486
491
  rowId,
487
492
  ...arrayMap(changingColumnNames, (cellId) =>
488
493
  encode ? encode(row?.[cellId]) : row?.[cellId],
@@ -491,14 +496,14 @@ const getCommandFunctions = (
491
496
  arrayPush(deleteRowIds, rowId);
492
497
  });
493
498
  await upsert(
494
- cmd,
499
+ databaseExecuteCommand,
495
500
  tableName,
496
501
  rowIdColumnName,
497
502
  changingColumnNames,
498
- args,
503
+ params,
499
504
  orReplace,
500
505
  );
501
- await cmd(
506
+ await databaseExecuteCommand(
502
507
  DELETE_FROM +
503
508
  escapeId(tableName) +
504
509
  WHERE +
@@ -507,32 +512,34 @@ const getCommandFunctions = (
507
512
  deleteRowIds,
508
513
  );
509
514
  } else if (collHas(schemaMap, tableName)) {
510
- await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
515
+ await databaseExecuteCommand(
516
+ DELETE_FROM + escapeId(tableName) + WHERE + ' true',
517
+ );
511
518
  }
512
519
  }
513
520
  };
514
521
  const transaction = async (actions) => {
515
522
  let result;
516
- await cmd('BEGIN');
523
+ await databaseExecuteCommand('BEGIN');
517
524
  try {
518
525
  result = await actions();
519
526
  } catch (error) {
520
527
  onIgnoredError?.(error);
521
528
  }
522
- await cmd('END');
529
+ await databaseExecuteCommand('END');
523
530
  return result;
524
531
  };
525
532
  return [refreshSchema, loadTable, saveTable, transaction];
526
533
  };
527
534
  const upsert = async (
528
- cmd,
535
+ executeCommand,
529
536
  tableName,
530
537
  rowIdColumnName,
531
538
  changingColumnNames,
532
- args,
539
+ params,
533
540
  orReplace = 0,
534
541
  ) =>
535
- await cmd(
542
+ await executeCommand(
536
543
  'INSERT ' +
537
544
  (orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
538
545
  'INTO' +
@@ -546,7 +553,7 @@ const upsert = async (
546
553
  ),
547
554
  ) +
548
555
  ')VALUES' +
549
- getUpsertPlaceholders(args, size(changingColumnNames) + 1) +
556
+ getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
550
557
  (orReplace
551
558
  ? EMPTY_STRING
552
559
  : 'ON CONFLICT(' +
@@ -560,7 +567,7 @@ const upsert = async (
560
567
  ),
561
568
  COMMA,
562
569
  )),
563
- arrayMap(args, (arg) => arg ?? null),
570
+ arrayMap(params, (param) => param ?? null),
564
571
  );
565
572
  const getUpsertPlaceholders = (array, columnCount) =>
566
573
  arrayJoin(
@@ -582,7 +589,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
582
589
 
583
590
  const createJsonPersister = (
584
591
  store,
585
- cmd,
592
+ executeCommand,
586
593
  addPersisterListener,
587
594
  delPersisterListener,
588
595
  onIgnoredError,
@@ -598,7 +605,7 @@ const createJsonPersister = (
598
605
  ) => {
599
606
  const [refreshSchema, loadTable, saveTable, transaction] =
600
607
  getCommandFunctions(
601
- cmd,
608
+ executeCommand,
602
609
  managedTableNames,
603
610
  querySchema,
604
611
  onIgnoredError,
@@ -650,7 +657,7 @@ const createJsonPersister = (
650
657
 
651
658
  const createTabularPersister = (
652
659
  store,
653
- cmd,
660
+ executeCommand,
654
661
  addPersisterListener,
655
662
  delPersisterListener,
656
663
  onIgnoredError,
@@ -672,7 +679,7 @@ const createTabularPersister = (
672
679
  ) => {
673
680
  const [refreshSchema, loadTable, saveTable, transaction] =
674
681
  getCommandFunctions(
675
- cmd,
682
+ executeCommand,
676
683
  managedTableNames,
677
684
  querySchema,
678
685
  onIgnoredError,
@@ -878,14 +885,15 @@ const getConfigStructures = (configOrStoreTableName) => {
878
885
  return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
879
886
  };
880
887
 
881
- const createSqlitePersister = (
888
+ const createCustomSqlitePersister = (
882
889
  store,
883
890
  configOrStoreTableName,
884
- rawCmd,
885
- addUpdateListener,
886
- delUpdateListener,
891
+ rawExecuteCommand,
892
+ addChangeListener,
893
+ delChangeListener,
887
894
  onSqlCommand,
888
895
  onIgnoredError,
896
+ destroy,
889
897
  persist,
890
898
  thing,
891
899
  getThing = 'getDb',
@@ -894,7 +902,7 @@ const createSqlitePersister = (
894
902
  let dataVersion;
895
903
  let schemaVersion;
896
904
  let totalChanges;
897
- const cmd = getWrappedCommand(rawCmd, onSqlCommand);
905
+ const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
898
906
  const [
899
907
  isJson,
900
908
  autoLoadIntervalSeconds,
@@ -906,7 +914,7 @@ const createSqlitePersister = (
906
914
  const startPolling = () =>
907
915
  (interval = startInterval(async () => {
908
916
  try {
909
- const [{d, s, c}] = await cmd(
917
+ const [{d, s, c}] = await executeCommand(
910
918
  // eslint-disable-next-line max-len
911
919
  `${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
912
920
  );
@@ -924,7 +932,7 @@ const createSqlitePersister = (
924
932
  dataVersion = schemaVersion = totalChanges = null;
925
933
  stopInterval(interval);
926
934
  };
927
- const listeningHandle = addUpdateListener((tableName) => {
935
+ const listeningHandle = addChangeListener((tableName) => {
928
936
  if (managedTableNamesSet.has(tableName)) {
929
937
  stopPolling();
930
938
  listener();
@@ -934,23 +942,23 @@ const createSqlitePersister = (
934
942
  startPolling();
935
943
  return () => {
936
944
  stopPolling();
937
- delUpdateListener(listeningHandle);
945
+ delChangeListener(listeningHandle);
938
946
  };
939
947
  };
940
948
  const delPersisterListener = (stopPollingAndDelUpdateListener) =>
941
949
  stopPollingAndDelUpdateListener();
942
950
  return (isJson ? createJsonPersister : createTabularPersister)(
943
951
  store,
944
- cmd,
952
+ executeCommand,
945
953
  addPersisterListener,
946
954
  delPersisterListener,
947
955
  onIgnoredError,
948
- () => 0,
956
+ destroy,
949
957
  persist,
950
958
  defaultedConfig,
951
959
  collValues(managedTableNamesSet),
952
- async (cmd2, managedTableNames) =>
953
- await cmd2(
960
+ async (executeCommand2, managedTableNames) =>
961
+ await executeCommand2(
954
962
  // eslint-disable-next-line max-len
955
963
  `${SELECT} t.name tn,c.name cn ${FROM}${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
956
964
  managedTableNames,
@@ -972,7 +980,7 @@ const createElectricSqlPersister = (
972
980
  onSqlCommand,
973
981
  onIgnoredError,
974
982
  ) =>
975
- createSqlitePersister(
983
+ createCustomSqlitePersister(
976
984
  store,
977
985
  configOrStoreTableName,
978
986
  async (sql, args = []) => await electricClient.db.raw({sql, args}),
@@ -986,6 +994,7 @@ const createElectricSqlPersister = (
986
994
  (unsubscribeFunction) => unsubscribeFunction(),
987
995
  onSqlCommand,
988
996
  onIgnoredError,
997
+ () => 0,
989
998
  1,
990
999
  // StoreOnly,
991
1000
  electricClient,
@@ -48,13 +48,13 @@ const DATA_VERSION = 'data_version';
48
48
  const SCHEMA_VERSION = 'schema_version';
49
49
  const FROM = 'FROM ';
50
50
  const PRAGMA_TABLE = 'pragma_table_';
51
- const getWrappedCommand = (rawCmd, onSqlCommand) =>
51
+ const getWrappedCommand = (executeCommand, onSqlCommand) =>
52
52
  onSqlCommand
53
- ? async (sql, args) => {
54
- onSqlCommand(sql, args);
55
- return await rawCmd(sql, args);
53
+ ? async (sql, params) => {
54
+ onSqlCommand(sql, params);
55
+ return await executeCommand(sql, params);
56
56
  }
57
- : rawCmd;
57
+ : executeCommand;
58
58
  const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
59
59
  const getPlaceholders = (array) =>
60
60
  arrayJoin(
@@ -317,7 +317,7 @@ const setNew = (entryOrEntries) =>
317
317
  const setAdd = (set, value) => set?.add(value);
318
318
 
319
319
  const getCommandFunctions = (
320
- cmd,
320
+ databaseExecuteCommand,
321
321
  managedTableNames,
322
322
  querySchema,
323
323
  onIgnoredError,
@@ -331,8 +331,9 @@ const getCommandFunctions = (
331
331
  collHas(mapGet(schemaMap, tableName), rowIdColumnName);
332
332
  const refreshSchema = async () => {
333
333
  collClear(schemaMap);
334
- arrayMap(await querySchema(cmd, managedTableNames), ({tn, cn}) =>
335
- setAdd(mapEnsure(schemaMap, tn, setNew), cn),
334
+ arrayMap(
335
+ await querySchema(databaseExecuteCommand, managedTableNames),
336
+ ({tn, cn}) => setAdd(mapEnsure(schemaMap, tn, setNew), cn),
336
337
  );
337
338
  };
338
339
  const loadTable = async (tableName, rowIdColumnName) =>
@@ -340,7 +341,9 @@ const getCommandFunctions = (
340
341
  ? objNew(
341
342
  arrayFilter(
342
343
  arrayMap(
343
- await cmd(SELECT_STAR_FROM + escapeId(tableName)),
344
+ await databaseExecuteCommand(
345
+ SELECT_STAR_FROM + escapeId(tableName),
346
+ ),
344
347
  (row) => [
345
348
  row[rowIdColumnName],
346
349
  decode
@@ -373,7 +376,7 @@ const getCommandFunctions = (
373
376
  arrayIsEmpty(tableColumnNames) &&
374
377
  collHas(schemaMap, tableName)
375
378
  ) {
376
- await cmd('DROP ' + TABLE + escapeId(tableName));
379
+ await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
377
380
  mapSet(schemaMap, tableName);
378
381
  return;
379
382
  }
@@ -381,7 +384,7 @@ const getCommandFunctions = (
381
384
  const currentColumnNames = setNew(collValues(tableSchemaColumns));
382
385
  if (!arrayIsEmpty(tableColumnNames)) {
383
386
  if (!collHas(schemaMap, tableName)) {
384
- await cmd(
387
+ await databaseExecuteCommand(
385
388
  'CREATE ' +
386
389
  TABLE +
387
390
  escapeId(tableName) +
@@ -403,7 +406,7 @@ const getCommandFunctions = (
403
406
  [rowIdColumnName, ...tableColumnNames],
404
407
  async (columnName, index) => {
405
408
  if (!collDel(currentColumnNames, columnName)) {
406
- await cmd(
409
+ await databaseExecuteCommand(
407
410
  ALTER_TABLE +
408
411
  escapeId(tableName) +
409
412
  'ADD' +
@@ -411,7 +414,7 @@ const getCommandFunctions = (
411
414
  columnType,
412
415
  );
413
416
  if (index == 0) {
414
- await cmd(
417
+ await databaseExecuteCommand(
415
418
  'CREATE UNIQUE INDEX pk ON ' +
416
419
  escapeId(tableName) +
417
420
  `(${escapeId(rowIdColumnName)})`,
@@ -428,7 +431,7 @@ const getCommandFunctions = (
428
431
  ...(!partial && deleteEmptyColumns
429
432
  ? arrayMap(collValues(currentColumnNames), async (columnName) => {
430
433
  if (columnName != rowIdColumnName) {
431
- await cmd(
434
+ await databaseExecuteCommand(
432
435
  ALTER_TABLE +
433
436
  escapeId(tableName) +
434
437
  'DROP' +
@@ -441,12 +444,14 @@ const getCommandFunctions = (
441
444
  ]);
442
445
  if (partial) {
443
446
  if (isUndefined(content)) {
444
- await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
447
+ await databaseExecuteCommand(
448
+ DELETE_FROM + escapeId(tableName) + WHERE + ' true',
449
+ );
445
450
  } else {
446
451
  await promiseAll(
447
452
  objToArray(content, async (row, rowId) => {
448
453
  if (isUndefined(row)) {
449
- await cmd(
454
+ await databaseExecuteCommand(
450
455
  DELETE_FROM +
451
456
  escapeId(tableName) +
452
457
  WHERE +
@@ -456,7 +461,7 @@ const getCommandFunctions = (
456
461
  );
457
462
  } else if (!arrayIsEmpty(tableColumnNames)) {
458
463
  await upsert(
459
- cmd,
464
+ databaseExecuteCommand,
460
465
  tableName,
461
466
  rowIdColumnName,
462
467
  objIds(row),
@@ -478,11 +483,11 @@ const getCommandFunctions = (
478
483
  collValues(mapGet(schemaMap, tableName)),
479
484
  (columnName) => columnName != rowIdColumnName,
480
485
  );
481
- const args = [];
486
+ const params = [];
482
487
  const deleteRowIds = [];
483
488
  objToArray(content ?? {}, (row, rowId) => {
484
489
  arrayPush(
485
- args,
490
+ params,
486
491
  rowId,
487
492
  ...arrayMap(changingColumnNames, (cellId) =>
488
493
  encode ? encode(row?.[cellId]) : row?.[cellId],
@@ -491,14 +496,14 @@ const getCommandFunctions = (
491
496
  arrayPush(deleteRowIds, rowId);
492
497
  });
493
498
  await upsert(
494
- cmd,
499
+ databaseExecuteCommand,
495
500
  tableName,
496
501
  rowIdColumnName,
497
502
  changingColumnNames,
498
- args,
503
+ params,
499
504
  orReplace,
500
505
  );
501
- await cmd(
506
+ await databaseExecuteCommand(
502
507
  DELETE_FROM +
503
508
  escapeId(tableName) +
504
509
  WHERE +
@@ -507,32 +512,34 @@ const getCommandFunctions = (
507
512
  deleteRowIds,
508
513
  );
509
514
  } else if (collHas(schemaMap, tableName)) {
510
- await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
515
+ await databaseExecuteCommand(
516
+ DELETE_FROM + escapeId(tableName) + WHERE + ' true',
517
+ );
511
518
  }
512
519
  }
513
520
  };
514
521
  const transaction = async (actions) => {
515
522
  let result;
516
- await cmd('BEGIN');
523
+ await databaseExecuteCommand('BEGIN');
517
524
  try {
518
525
  result = await actions();
519
526
  } catch (error) {
520
527
  onIgnoredError?.(error);
521
528
  }
522
- await cmd('END');
529
+ await databaseExecuteCommand('END');
523
530
  return result;
524
531
  };
525
532
  return [refreshSchema, loadTable, saveTable, transaction];
526
533
  };
527
534
  const upsert = async (
528
- cmd,
535
+ executeCommand,
529
536
  tableName,
530
537
  rowIdColumnName,
531
538
  changingColumnNames,
532
- args,
539
+ params,
533
540
  orReplace = 0,
534
541
  ) =>
535
- await cmd(
542
+ await executeCommand(
536
543
  'INSERT ' +
537
544
  (orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
538
545
  'INTO' +
@@ -546,7 +553,7 @@ const upsert = async (
546
553
  ),
547
554
  ) +
548
555
  ')VALUES' +
549
- getUpsertPlaceholders(args, size(changingColumnNames) + 1) +
556
+ getUpsertPlaceholders(params, size(changingColumnNames) + 1) +
550
557
  (orReplace
551
558
  ? EMPTY_STRING
552
559
  : 'ON CONFLICT(' +
@@ -560,7 +567,7 @@ const upsert = async (
560
567
  ),
561
568
  COMMA,
562
569
  )),
563
- arrayMap(args, (arg) => arg ?? null),
570
+ arrayMap(params, (param) => param ?? null),
564
571
  );
565
572
  const getUpsertPlaceholders = (array, columnCount) =>
566
573
  arrayJoin(
@@ -582,7 +589,7 @@ const getUpsertPlaceholders = (array, columnCount) =>
582
589
 
583
590
  const createJsonPersister = (
584
591
  store,
585
- cmd,
592
+ executeCommand,
586
593
  addPersisterListener,
587
594
  delPersisterListener,
588
595
  onIgnoredError,
@@ -598,7 +605,7 @@ const createJsonPersister = (
598
605
  ) => {
599
606
  const [refreshSchema, loadTable, saveTable, transaction] =
600
607
  getCommandFunctions(
601
- cmd,
608
+ executeCommand,
602
609
  managedTableNames,
603
610
  querySchema,
604
611
  onIgnoredError,
@@ -650,7 +657,7 @@ const createJsonPersister = (
650
657
 
651
658
  const createTabularPersister = (
652
659
  store,
653
- cmd,
660
+ executeCommand,
654
661
  addPersisterListener,
655
662
  delPersisterListener,
656
663
  onIgnoredError,
@@ -672,7 +679,7 @@ const createTabularPersister = (
672
679
  ) => {
673
680
  const [refreshSchema, loadTable, saveTable, transaction] =
674
681
  getCommandFunctions(
675
- cmd,
682
+ executeCommand,
676
683
  managedTableNames,
677
684
  querySchema,
678
685
  onIgnoredError,
@@ -878,14 +885,15 @@ const getConfigStructures = (configOrStoreTableName) => {
878
885
  return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
879
886
  };
880
887
 
881
- const createSqlitePersister = (
888
+ const createCustomSqlitePersister = (
882
889
  store,
883
890
  configOrStoreTableName,
884
- rawCmd,
885
- addUpdateListener,
886
- delUpdateListener,
891
+ rawExecuteCommand,
892
+ addChangeListener,
893
+ delChangeListener,
887
894
  onSqlCommand,
888
895
  onIgnoredError,
896
+ destroy,
889
897
  persist,
890
898
  thing,
891
899
  getThing = 'getDb',
@@ -894,7 +902,7 @@ const createSqlitePersister = (
894
902
  let dataVersion;
895
903
  let schemaVersion;
896
904
  let totalChanges;
897
- const cmd = getWrappedCommand(rawCmd, onSqlCommand);
905
+ const executeCommand = getWrappedCommand(rawExecuteCommand, onSqlCommand);
898
906
  const [
899
907
  isJson,
900
908
  autoLoadIntervalSeconds,
@@ -906,7 +914,7 @@ const createSqlitePersister = (
906
914
  const startPolling = () =>
907
915
  (interval = startInterval(async () => {
908
916
  try {
909
- const [{d, s, c}] = await cmd(
917
+ const [{d, s, c}] = await executeCommand(
910
918
  // eslint-disable-next-line max-len
911
919
  `${SELECT} ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
912
920
  );
@@ -924,7 +932,7 @@ const createSqlitePersister = (
924
932
  dataVersion = schemaVersion = totalChanges = null;
925
933
  stopInterval(interval);
926
934
  };
927
- const listeningHandle = addUpdateListener((tableName) => {
935
+ const listeningHandle = addChangeListener((tableName) => {
928
936
  if (managedTableNamesSet.has(tableName)) {
929
937
  stopPolling();
930
938
  listener();
@@ -934,23 +942,23 @@ const createSqlitePersister = (
934
942
  startPolling();
935
943
  return () => {
936
944
  stopPolling();
937
- delUpdateListener(listeningHandle);
945
+ delChangeListener(listeningHandle);
938
946
  };
939
947
  };
940
948
  const delPersisterListener = (stopPollingAndDelUpdateListener) =>
941
949
  stopPollingAndDelUpdateListener();
942
950
  return (isJson ? createJsonPersister : createTabularPersister)(
943
951
  store,
944
- cmd,
952
+ executeCommand,
945
953
  addPersisterListener,
946
954
  delPersisterListener,
947
955
  onIgnoredError,
948
- () => 0,
956
+ destroy,
949
957
  persist,
950
958
  defaultedConfig,
951
959
  collValues(managedTableNamesSet),
952
- async (cmd2, managedTableNames) =>
953
- await cmd2(
960
+ async (executeCommand2, managedTableNames) =>
961
+ await executeCommand2(
954
962
  // eslint-disable-next-line max-len
955
963
  `${SELECT} t.name tn,c.name cn ${FROM}${PRAGMA_TABLE}list()t,${PRAGMA_TABLE}info(t.name)c ${WHERE} t.schema='main'AND t.type IN('table','view')AND t.name IN(${getPlaceholders(managedTableNames)})ORDER BY t.name,c.name`,
956
964
  managedTableNames,
@@ -972,7 +980,7 @@ const createElectricSqlPersister = (
972
980
  onSqlCommand,
973
981
  onIgnoredError,
974
982
  ) =>
975
- createSqlitePersister(
983
+ createCustomSqlitePersister(
976
984
  store,
977
985
  configOrStoreTableName,
978
986
  async (sql, args = []) => await electricClient.db.raw({sql, args}),
@@ -986,6 +994,7 @@ const createElectricSqlPersister = (
986
994
  (unsubscribeFunction) => unsubscribeFunction(),
987
995
  onSqlCommand,
988
996
  onIgnoredError,
997
+ () => 0,
989
998
  1,
990
999
  // StoreOnly,
991
1000
  electricClient,