tinybase 5.2.0-beta.3 → 5.2.0-beta.4

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 (734) hide show
  1. package/@types/persisters/index.d.cts +21 -2
  2. package/@types/persisters/index.d.ts +21 -2
  3. package/@types/persisters/persister-pglite/index.d.cts +178 -0
  4. package/@types/persisters/persister-pglite/index.d.ts +178 -0
  5. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +197 -0
  6. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +197 -0
  7. package/@types/persisters/persister-postgres/index.d.cts +2 -1
  8. package/@types/persisters/persister-postgres/index.d.ts +2 -1
  9. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -1
  10. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -1
  11. package/@types/persisters/with-schemas/index.d.cts +21 -2
  12. package/@types/persisters/with-schemas/index.d.ts +21 -2
  13. package/cjs/es6/index.cjs +3 -2
  14. package/cjs/es6/mergeable-store/index.cjs +3 -2
  15. package/cjs/es6/mergeable-store/with-schemas/index.cjs +3 -2
  16. package/cjs/es6/min/index.cjs +1 -1
  17. package/cjs/es6/min/index.cjs.gz +0 -0
  18. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  19. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  20. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  21. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  22. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  23. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  24. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  25. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  26. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  27. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  28. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  29. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  30. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  31. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -0
  55. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  57. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  77. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  78. package/cjs/es6/min/store/index.cjs +1 -1
  79. package/cjs/es6/min/store/index.cjs.gz +0 -0
  80. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  81. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  82. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  83. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  84. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  85. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  86. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  87. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  88. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  91. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  92. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  93. package/cjs/es6/min/ui-react-inspector/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/persister-browser/index.cjs +3 -2
  97. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +3 -2
  98. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +65 -57
  99. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +65 -57
  100. package/cjs/es6/persisters/persister-electric-sql/index.cjs +65 -57
  101. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +65 -57
  102. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +65 -57
  103. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +65 -57
  104. package/cjs/es6/persisters/persister-file/index.cjs +4 -2
  105. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +4 -2
  106. package/cjs/es6/persisters/persister-libsql/index.cjs +65 -57
  107. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +65 -57
  108. package/cjs/es6/persisters/persister-partykit-client/index.cjs +3 -2
  109. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +3 -2
  110. package/cjs/es6/persisters/persister-partykit-server/index.cjs +3 -2
  111. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +3 -2
  112. package/cjs/es6/persisters/persister-pglite/index.cjs +1320 -0
  113. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +1320 -0
  114. package/cjs/es6/persisters/persister-postgres/index.cjs +63 -55
  115. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +63 -55
  116. package/cjs/es6/persisters/persister-powersync/index.cjs +67 -59
  117. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +67 -59
  118. package/cjs/es6/persisters/persister-remote/index.cjs +3 -2
  119. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +3 -2
  120. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +65 -57
  121. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +65 -57
  122. package/cjs/es6/persisters/persister-sqlite3/index.cjs +65 -57
  123. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +65 -57
  124. package/cjs/es6/store/index.cjs +3 -2
  125. package/cjs/es6/store/with-schemas/index.cjs +3 -2
  126. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +4 -2
  127. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -2
  128. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +4 -2
  129. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +4 -2
  130. package/cjs/es6/ui-react-inspector/index.cjs +5 -4
  131. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -4
  132. package/cjs/es6/with-schemas/index.cjs +3 -2
  133. package/cjs/index.cjs +3 -2
  134. package/cjs/mergeable-store/index.cjs +3 -2
  135. package/cjs/mergeable-store/with-schemas/index.cjs +3 -2
  136. package/cjs/min/index.cjs +1 -1
  137. package/cjs/min/index.cjs.gz +0 -0
  138. package/cjs/min/mergeable-store/index.cjs +1 -1
  139. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  140. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  141. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  142. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  143. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  144. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  145. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  146. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  147. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  148. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  149. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  150. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  151. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  153. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  161. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  163. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  164. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  165. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  167. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  168. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  169. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/persisters/persister-partykit-server/index.cjs +1 -1
  171. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  172. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  173. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/persister-pglite/index.cjs +1 -0
  175. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  177. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/store/index.cjs +1 -1
  199. package/cjs/min/store/index.cjs.gz +0 -0
  200. package/cjs/min/store/with-schemas/index.cjs +1 -1
  201. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  203. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  204. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  205. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  207. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  208. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  209. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  211. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  212. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  213. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  214. package/cjs/min/with-schemas/index.cjs +1 -1
  215. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/persisters/persister-browser/index.cjs +3 -2
  217. package/cjs/persisters/persister-browser/with-schemas/index.cjs +3 -2
  218. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +51 -23
  219. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +51 -23
  220. package/cjs/persisters/persister-electric-sql/index.cjs +51 -23
  221. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +51 -23
  222. package/cjs/persisters/persister-expo-sqlite/index.cjs +51 -23
  223. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +51 -23
  224. package/cjs/persisters/persister-file/index.cjs +4 -2
  225. package/cjs/persisters/persister-file/with-schemas/index.cjs +4 -2
  226. package/cjs/persisters/persister-libsql/index.cjs +51 -23
  227. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +51 -23
  228. package/cjs/persisters/persister-partykit-client/index.cjs +3 -2
  229. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +3 -2
  230. package/cjs/persisters/persister-partykit-server/index.cjs +3 -2
  231. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +3 -2
  232. package/cjs/persisters/persister-pglite/index.cjs +994 -0
  233. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +994 -0
  234. package/cjs/persisters/persister-postgres/index.cjs +49 -21
  235. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +49 -21
  236. package/cjs/persisters/persister-powersync/index.cjs +53 -25
  237. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +53 -25
  238. package/cjs/persisters/persister-remote/index.cjs +3 -2
  239. package/cjs/persisters/persister-remote/with-schemas/index.cjs +3 -2
  240. package/cjs/persisters/persister-sqlite-wasm/index.cjs +51 -23
  241. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +51 -23
  242. package/cjs/persisters/persister-sqlite3/index.cjs +51 -23
  243. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +51 -23
  244. package/cjs/store/index.cjs +3 -2
  245. package/cjs/store/with-schemas/index.cjs +3 -2
  246. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +4 -2
  247. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -2
  248. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +4 -2
  249. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +4 -2
  250. package/cjs/ui-react-inspector/index.cjs +5 -4
  251. package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -4
  252. package/cjs/with-schemas/index.cjs +3 -2
  253. package/es6/index.js +3 -2
  254. package/es6/mergeable-store/index.js +3 -2
  255. package/es6/mergeable-store/with-schemas/index.js +3 -2
  256. package/es6/min/index.js +1 -1
  257. package/es6/min/index.js.gz +0 -0
  258. package/es6/min/mergeable-store/index.js +1 -1
  259. package/es6/min/mergeable-store/index.js.gz +0 -0
  260. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  261. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  262. package/es6/min/persisters/persister-browser/index.js +1 -1
  263. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  264. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  265. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  266. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  267. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  268. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  269. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  270. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  271. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  272. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  273. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  274. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  275. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  276. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  277. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  278. package/es6/min/persisters/persister-file/index.js +1 -1
  279. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  280. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  281. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  282. package/es6/min/persisters/persister-libsql/index.js +1 -1
  283. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  284. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  285. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  286. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  287. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  288. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  289. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  290. package/es6/min/persisters/persister-partykit-server/index.js +1 -1
  291. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  292. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  293. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  294. package/es6/min/persisters/persister-pglite/index.js +1 -0
  295. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  296. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  297. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  298. package/es6/min/persisters/persister-postgres/index.js +1 -1
  299. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  300. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  301. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  302. package/es6/min/persisters/persister-powersync/index.js +1 -1
  303. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  304. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  305. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  306. package/es6/min/persisters/persister-remote/index.js +1 -1
  307. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  308. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  309. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  310. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  311. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  312. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  313. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  314. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  315. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  316. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  317. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  318. package/es6/min/store/index.js +1 -1
  319. package/es6/min/store/index.js.gz +0 -0
  320. package/es6/min/store/with-schemas/index.js +1 -1
  321. package/es6/min/store/with-schemas/index.js.gz +0 -0
  322. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  323. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  324. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  325. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  326. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  327. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  328. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  329. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  330. package/es6/min/ui-react-inspector/index.js +1 -1
  331. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  332. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  333. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  334. package/es6/min/with-schemas/index.js +1 -1
  335. package/es6/min/with-schemas/index.js.gz +0 -0
  336. package/es6/persisters/persister-browser/index.js +3 -2
  337. package/es6/persisters/persister-browser/with-schemas/index.js +3 -2
  338. package/es6/persisters/persister-cr-sqlite-wasm/index.js +65 -57
  339. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +65 -57
  340. package/es6/persisters/persister-electric-sql/index.js +65 -57
  341. package/es6/persisters/persister-electric-sql/with-schemas/index.js +65 -57
  342. package/es6/persisters/persister-expo-sqlite/index.js +65 -57
  343. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +65 -57
  344. package/es6/persisters/persister-file/index.js +4 -2
  345. package/es6/persisters/persister-file/with-schemas/index.js +4 -2
  346. package/es6/persisters/persister-libsql/index.js +65 -57
  347. package/es6/persisters/persister-libsql/with-schemas/index.js +65 -57
  348. package/es6/persisters/persister-partykit-client/index.js +3 -2
  349. package/es6/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  350. package/es6/persisters/persister-partykit-server/index.js +3 -2
  351. package/es6/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  352. package/es6/persisters/persister-pglite/index.js +1318 -0
  353. package/es6/persisters/persister-pglite/with-schemas/index.js +1318 -0
  354. package/es6/persisters/persister-postgres/index.js +63 -55
  355. package/es6/persisters/persister-postgres/with-schemas/index.js +63 -55
  356. package/es6/persisters/persister-powersync/index.js +67 -59
  357. package/es6/persisters/persister-powersync/with-schemas/index.js +67 -59
  358. package/es6/persisters/persister-remote/index.js +3 -2
  359. package/es6/persisters/persister-remote/with-schemas/index.js +3 -2
  360. package/es6/persisters/persister-sqlite-wasm/index.js +65 -57
  361. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +65 -57
  362. package/es6/persisters/persister-sqlite3/index.js +65 -57
  363. package/es6/persisters/persister-sqlite3/with-schemas/index.js +65 -57
  364. package/es6/store/index.js +3 -2
  365. package/es6/store/with-schemas/index.js +3 -2
  366. package/es6/synchronizers/synchronizer-ws-client/index.js +4 -2
  367. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -2
  368. package/es6/synchronizers/synchronizer-ws-server/index.js +4 -2
  369. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +4 -2
  370. package/es6/ui-react-inspector/index.js +5 -4
  371. package/es6/ui-react-inspector/with-schemas/index.js +5 -4
  372. package/es6/with-schemas/index.js +3 -2
  373. package/index.js +3 -2
  374. package/mergeable-store/index.js +3 -2
  375. package/mergeable-store/with-schemas/index.js +3 -2
  376. package/min/index.js +1 -1
  377. package/min/index.js.gz +0 -0
  378. package/min/mergeable-store/index.js +1 -1
  379. package/min/mergeable-store/index.js.gz +0 -0
  380. package/min/mergeable-store/with-schemas/index.js +1 -1
  381. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  382. package/min/persisters/persister-browser/index.js +1 -1
  383. package/min/persisters/persister-browser/index.js.gz +0 -0
  384. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  385. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  386. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  387. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  388. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  389. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  390. package/min/persisters/persister-electric-sql/index.js +1 -1
  391. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  392. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  393. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  394. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  395. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  396. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  397. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  398. package/min/persisters/persister-file/index.js +1 -1
  399. package/min/persisters/persister-file/index.js.gz +0 -0
  400. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  401. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  402. package/min/persisters/persister-libsql/index.js +1 -1
  403. package/min/persisters/persister-libsql/index.js.gz +0 -0
  404. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  405. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  406. package/min/persisters/persister-partykit-client/index.js +1 -1
  407. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  408. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  409. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  410. package/min/persisters/persister-partykit-server/index.js +1 -1
  411. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  412. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  413. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  414. package/min/persisters/persister-pglite/index.js +1 -0
  415. package/min/persisters/persister-pglite/index.js.gz +0 -0
  416. package/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  417. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  418. package/min/persisters/persister-postgres/index.js +1 -1
  419. package/min/persisters/persister-postgres/index.js.gz +0 -0
  420. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  421. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  422. package/min/persisters/persister-powersync/index.js +1 -1
  423. package/min/persisters/persister-powersync/index.js.gz +0 -0
  424. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  425. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  426. package/min/persisters/persister-remote/index.js +1 -1
  427. package/min/persisters/persister-remote/index.js.gz +0 -0
  428. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  429. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  430. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  431. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  432. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  433. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  434. package/min/persisters/persister-sqlite3/index.js +1 -1
  435. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  436. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  437. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  438. package/min/store/index.js +1 -1
  439. package/min/store/index.js.gz +0 -0
  440. package/min/store/with-schemas/index.js +1 -1
  441. package/min/store/with-schemas/index.js.gz +0 -0
  442. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  443. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  444. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  445. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  446. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  447. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  448. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  449. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  450. package/min/ui-react-inspector/index.js +1 -1
  451. package/min/ui-react-inspector/index.js.gz +0 -0
  452. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  453. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  454. package/min/with-schemas/index.js +1 -1
  455. package/min/with-schemas/index.js.gz +0 -0
  456. package/package.json +217 -109
  457. package/persisters/persister-browser/index.js +3 -2
  458. package/persisters/persister-browser/with-schemas/index.js +3 -2
  459. package/persisters/persister-cr-sqlite-wasm/index.js +51 -23
  460. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +51 -23
  461. package/persisters/persister-electric-sql/index.js +51 -23
  462. package/persisters/persister-electric-sql/with-schemas/index.js +51 -23
  463. package/persisters/persister-expo-sqlite/index.js +51 -23
  464. package/persisters/persister-expo-sqlite/with-schemas/index.js +51 -23
  465. package/persisters/persister-file/index.js +4 -2
  466. package/persisters/persister-file/with-schemas/index.js +4 -2
  467. package/persisters/persister-libsql/index.js +51 -23
  468. package/persisters/persister-libsql/with-schemas/index.js +51 -23
  469. package/persisters/persister-partykit-client/index.js +3 -2
  470. package/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  471. package/persisters/persister-partykit-server/index.js +3 -2
  472. package/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  473. package/persisters/persister-pglite/index.js +992 -0
  474. package/persisters/persister-pglite/with-schemas/index.js +992 -0
  475. package/persisters/persister-postgres/index.js +49 -21
  476. package/persisters/persister-postgres/with-schemas/index.js +49 -21
  477. package/persisters/persister-powersync/index.js +53 -25
  478. package/persisters/persister-powersync/with-schemas/index.js +53 -25
  479. package/persisters/persister-remote/index.js +3 -2
  480. package/persisters/persister-remote/with-schemas/index.js +3 -2
  481. package/persisters/persister-sqlite-wasm/index.js +51 -23
  482. package/persisters/persister-sqlite-wasm/with-schemas/index.js +51 -23
  483. package/persisters/persister-sqlite3/index.js +51 -23
  484. package/persisters/persister-sqlite3/with-schemas/index.js +51 -23
  485. package/readme.md +2 -2
  486. package/store/index.js +3 -2
  487. package/store/with-schemas/index.js +3 -2
  488. package/synchronizers/synchronizer-ws-client/index.js +4 -2
  489. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -2
  490. package/synchronizers/synchronizer-ws-server/index.js +4 -2
  491. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +4 -2
  492. package/ui-react-inspector/index.js +5 -4
  493. package/ui-react-inspector/with-schemas/index.js +5 -4
  494. package/umd/es6/index.js +3 -2
  495. package/umd/es6/mergeable-store/index.js +3 -2
  496. package/umd/es6/mergeable-store/with-schemas/index.js +3 -2
  497. package/umd/es6/min/index.js +1 -1
  498. package/umd/es6/min/index.js.gz +0 -0
  499. package/umd/es6/min/mergeable-store/index.js +1 -1
  500. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  501. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  502. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  503. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  504. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  505. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  506. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  507. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  508. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  509. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  510. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  511. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  512. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  513. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  514. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  515. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  516. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  517. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  518. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  519. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  520. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  521. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  522. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  523. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  524. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  525. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  526. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  527. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  528. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  529. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  530. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  531. package/umd/es6/min/persisters/persister-partykit-server/index.js +1 -1
  532. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  533. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  534. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  535. package/umd/es6/min/persisters/persister-pglite/index.js +1 -0
  536. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  537. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  538. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  539. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  540. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  541. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  542. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  543. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  544. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  545. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  546. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  547. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  548. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  549. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  550. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  551. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  552. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  553. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  554. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  555. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  556. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  557. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  558. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  559. package/umd/es6/min/store/index.js +1 -1
  560. package/umd/es6/min/store/index.js.gz +0 -0
  561. package/umd/es6/min/store/with-schemas/index.js +1 -1
  562. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  563. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  564. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  565. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  566. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  567. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  568. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  569. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  570. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  571. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  572. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  573. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  574. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  575. package/umd/es6/min/with-schemas/index.js +1 -1
  576. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  577. package/umd/es6/persisters/persister-browser/index.js +3 -4
  578. package/umd/es6/persisters/persister-browser/with-schemas/index.js +3 -4
  579. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +65 -59
  580. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +65 -59
  581. package/umd/es6/persisters/persister-electric-sql/index.js +65 -59
  582. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +65 -59
  583. package/umd/es6/persisters/persister-expo-sqlite/index.js +65 -59
  584. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +65 -59
  585. package/umd/es6/persisters/persister-file/index.js +4 -4
  586. package/umd/es6/persisters/persister-file/with-schemas/index.js +4 -4
  587. package/umd/es6/persisters/persister-libsql/index.js +65 -59
  588. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +65 -59
  589. package/umd/es6/persisters/persister-partykit-client/index.js +3 -2
  590. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  591. package/umd/es6/persisters/persister-partykit-server/index.js +3 -2
  592. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  593. package/umd/es6/persisters/persister-pglite/index.js +1341 -0
  594. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +1341 -0
  595. package/umd/es6/persisters/persister-postgres/index.js +63 -57
  596. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +63 -57
  597. package/umd/es6/persisters/persister-powersync/index.js +67 -61
  598. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +67 -61
  599. package/umd/es6/persisters/persister-remote/index.js +3 -2
  600. package/umd/es6/persisters/persister-remote/with-schemas/index.js +3 -2
  601. package/umd/es6/persisters/persister-sqlite-wasm/index.js +65 -59
  602. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +65 -59
  603. package/umd/es6/persisters/persister-sqlite3/index.js +65 -59
  604. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +65 -59
  605. package/umd/es6/store/index.js +3 -2
  606. package/umd/es6/store/with-schemas/index.js +3 -2
  607. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +4 -4
  608. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -4
  609. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +4 -4
  610. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +4 -4
  611. package/umd/es6/ui-react-inspector/index.js +5 -6
  612. package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -6
  613. package/umd/es6/with-schemas/index.js +3 -2
  614. package/umd/index.js +3 -2
  615. package/umd/mergeable-store/index.js +3 -2
  616. package/umd/mergeable-store/with-schemas/index.js +3 -2
  617. package/umd/min/index.js +1 -1
  618. package/umd/min/index.js.gz +0 -0
  619. package/umd/min/mergeable-store/index.js +1 -1
  620. package/umd/min/mergeable-store/index.js.gz +0 -0
  621. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  622. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  623. package/umd/min/persisters/persister-browser/index.js +1 -1
  624. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  625. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  626. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  627. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  628. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  629. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  630. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  631. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  632. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  633. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  634. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  635. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  636. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  637. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  638. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  639. package/umd/min/persisters/persister-file/index.js +1 -1
  640. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  641. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  642. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  643. package/umd/min/persisters/persister-libsql/index.js +1 -1
  644. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  645. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  646. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  647. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  648. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  649. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  650. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  651. package/umd/min/persisters/persister-partykit-server/index.js +1 -1
  652. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  653. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  654. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  655. package/umd/min/persisters/persister-pglite/index.js +1 -0
  656. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  657. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  658. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  659. package/umd/min/persisters/persister-postgres/index.js +1 -1
  660. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  661. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  662. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  663. package/umd/min/persisters/persister-powersync/index.js +1 -1
  664. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  665. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  666. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  667. package/umd/min/persisters/persister-remote/index.js +1 -1
  668. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  669. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  670. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  671. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  672. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  673. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  674. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  675. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  676. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  677. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  678. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  679. package/umd/min/store/index.js +1 -1
  680. package/umd/min/store/index.js.gz +0 -0
  681. package/umd/min/store/with-schemas/index.js +1 -1
  682. package/umd/min/store/with-schemas/index.js.gz +0 -0
  683. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  684. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  685. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  686. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  687. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  688. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  689. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  690. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  691. package/umd/min/ui-react-inspector/index.js +1 -1
  692. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  693. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  694. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  695. package/umd/min/with-schemas/index.js +1 -1
  696. package/umd/min/with-schemas/index.js.gz +0 -0
  697. package/umd/persisters/persister-browser/index.js +3 -4
  698. package/umd/persisters/persister-browser/with-schemas/index.js +3 -4
  699. package/umd/persisters/persister-cr-sqlite-wasm/index.js +51 -25
  700. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +51 -25
  701. package/umd/persisters/persister-electric-sql/index.js +51 -25
  702. package/umd/persisters/persister-electric-sql/with-schemas/index.js +51 -25
  703. package/umd/persisters/persister-expo-sqlite/index.js +51 -25
  704. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +51 -25
  705. package/umd/persisters/persister-file/index.js +4 -4
  706. package/umd/persisters/persister-file/with-schemas/index.js +4 -4
  707. package/umd/persisters/persister-libsql/index.js +51 -25
  708. package/umd/persisters/persister-libsql/with-schemas/index.js +51 -25
  709. package/umd/persisters/persister-partykit-client/index.js +3 -2
  710. package/umd/persisters/persister-partykit-client/with-schemas/index.js +3 -2
  711. package/umd/persisters/persister-partykit-server/index.js +3 -2
  712. package/umd/persisters/persister-partykit-server/with-schemas/index.js +3 -2
  713. package/umd/persisters/persister-pglite/index.js +1010 -0
  714. package/umd/persisters/persister-pglite/with-schemas/index.js +1010 -0
  715. package/umd/persisters/persister-postgres/index.js +49 -23
  716. package/umd/persisters/persister-postgres/with-schemas/index.js +49 -23
  717. package/umd/persisters/persister-powersync/index.js +53 -27
  718. package/umd/persisters/persister-powersync/with-schemas/index.js +53 -27
  719. package/umd/persisters/persister-remote/index.js +3 -2
  720. package/umd/persisters/persister-remote/with-schemas/index.js +3 -2
  721. package/umd/persisters/persister-sqlite-wasm/index.js +51 -25
  722. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +51 -25
  723. package/umd/persisters/persister-sqlite3/index.js +51 -25
  724. package/umd/persisters/persister-sqlite3/with-schemas/index.js +51 -25
  725. package/umd/store/index.js +3 -2
  726. package/umd/store/with-schemas/index.js +3 -2
  727. package/umd/synchronizers/synchronizer-ws-client/index.js +4 -4
  728. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -4
  729. package/umd/synchronizers/synchronizer-ws-server/index.js +4 -4
  730. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +4 -4
  731. package/umd/ui-react-inspector/index.js +5 -6
  732. package/umd/ui-react-inspector/with-schemas/index.js +5 -6
  733. package/umd/with-schemas/index.js +3 -2
  734. package/with-schemas/index.js +3 -2
@@ -0,0 +1,1010 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined'
3
+ ? factory(exports)
4
+ : typeof define === 'function' && define.amd
5
+ ? define(['exports'], factory)
6
+ : ((global =
7
+ typeof globalThis !== 'undefined' ? globalThis : global || self),
8
+ factory((global.TinyBasePersisterPglite = {})));
9
+ })(this, function (exports) {
10
+ 'use strict';
11
+
12
+ const getTypeOf = (thing) => typeof thing;
13
+ const TINYBASE = 'tinybase';
14
+ const EMPTY_STRING = '';
15
+ const COMMA = ',';
16
+ const STRING = getTypeOf(EMPTY_STRING);
17
+ const UNDEFINED = '\uFFFC';
18
+ const strMatch = (str, regex) => str?.match(regex);
19
+
20
+ const promise = Promise;
21
+ const isUndefined = (thing) => thing == void 0;
22
+ const ifNotUndefined = (value, then, otherwise) =>
23
+ isUndefined(value) ? otherwise?.() : then(value);
24
+ const isString = (thing) => getTypeOf(thing) == STRING;
25
+ const isArray = (thing) => Array.isArray(thing);
26
+ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
27
+ const size = (arrayOrString) => arrayOrString.length;
28
+ const promiseAll = async (promises) => promise.all(promises);
29
+ const errorNew = (message) => {
30
+ throw new Error(message);
31
+ };
32
+
33
+ const arrayNew = (size2, cb) =>
34
+ arrayMap(new Array(size2).fill(0), (_, index) => cb(index));
35
+ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
36
+ const arrayMap = (array, cb) => array.map(cb);
37
+ const arrayIsEmpty = (array) => size(array) == 0;
38
+ const arrayFilter = (array, cb) => array.filter(cb);
39
+ const arrayClear = (array, to) => array.splice(0, to);
40
+ const arrayPush = (array, ...values) => array.push(...values);
41
+ const arrayShift = (array) => array.shift();
42
+
43
+ const SINGLE_ROW_ID = '_';
44
+ const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
45
+ const SELECT = 'SELECT';
46
+ const WHERE = 'WHERE';
47
+ const TABLE = 'TABLE';
48
+ const ALTER_TABLE = 'ALTER ' + TABLE;
49
+ const DELETE_FROM = 'DELETE FROM';
50
+ const SELECT_STAR_FROM = SELECT + '*FROM';
51
+ const getWrappedCommand = (rawCmd, onSqlCommand) =>
52
+ onSqlCommand
53
+ ? async (sql, args) => {
54
+ onSqlCommand(sql, args);
55
+ return await rawCmd(sql, args);
56
+ }
57
+ : rawCmd;
58
+ const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
59
+ const getPlaceholders = (array) =>
60
+ arrayJoin(
61
+ arrayMap(array, (_, index) => '$' + (index + 1)),
62
+ COMMA,
63
+ );
64
+
65
+ const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
66
+ const collValues = (coll) => [...(coll?.values() ?? [])];
67
+ const collClear = (coll) => coll.clear();
68
+ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
69
+
70
+ const object = Object;
71
+ const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
72
+ const objEntries = object.entries;
73
+ const isObject = (obj) =>
74
+ !isUndefined(obj) &&
75
+ ifNotUndefined(
76
+ getPrototypeOf(obj),
77
+ (objPrototype) =>
78
+ objPrototype == object.prototype ||
79
+ isUndefined(getPrototypeOf(objPrototype)),
80
+
81
+ /* istanbul ignore next */
82
+ () => true,
83
+ );
84
+ const objIds = object.keys;
85
+ const objFreeze = object.freeze;
86
+ const objNew = (entries = []) => object.fromEntries(entries);
87
+ const objMerge = (...objs) => object.assign({}, ...objs);
88
+ const objHas = (obj, id) => id in obj;
89
+ const objDel = (obj, id) => {
90
+ delete obj[id];
91
+ return obj;
92
+ };
93
+ const objToArray = (obj, cb) =>
94
+ arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
95
+ const objMap = (obj, cb) =>
96
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
97
+ const objValues = (obj) => object.values(obj);
98
+ const objSize = (obj) => size(objIds(obj));
99
+ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
100
+
101
+ const jsonString = JSON.stringify;
102
+ const jsonParse = JSON.parse;
103
+ const jsonStringWithUndefined = (obj) =>
104
+ jsonString(obj, (_key, value) => (value === void 0 ? UNDEFINED : value));
105
+ const jsonParseWithUndefined = (str) =>
106
+ jsonParse(str, (_key, value) => (value === UNDEFINED ? void 0 : value));
107
+
108
+ const mapNew = (entries) => new Map(entries);
109
+ const mapGet = (map, key) => map?.get(key);
110
+ const mapMap = (coll, cb) =>
111
+ arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
112
+ const mapSet = (map, key, value) =>
113
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
114
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
115
+ if (!collHas(map, key)) {
116
+ mapSet(map, key, getDefaultValue());
117
+ }
118
+ return mapGet(map, key);
119
+ };
120
+
121
+ const scheduleRunning = mapNew();
122
+ const scheduleActions = mapNew();
123
+ const getStoreFunctions = (persist = 1 /* StoreOnly */, store) =>
124
+ persist != 1 /* StoreOnly */ && store.isMergeable()
125
+ ? [
126
+ 1,
127
+ store.getMergeableContent,
128
+ store.getTransactionMergeableChanges,
129
+ ([[changedTables], [changedValues]]) =>
130
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
131
+ store.setDefaultContent,
132
+ ]
133
+ : persist != 2 /* MergeableStoreOnly */
134
+ ? [
135
+ 0,
136
+ store.getContent,
137
+ store.getTransactionChanges,
138
+ ([changedTables, changedValues]) =>
139
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
140
+ store.setContent,
141
+ ]
142
+ : errorNew('Store type not supported by this Persister');
143
+ const createCustomPersister = (
144
+ store,
145
+ getPersisted,
146
+ setPersisted,
147
+ addPersisterListener,
148
+ delPersisterListener,
149
+ onIgnoredError,
150
+ persist,
151
+ extra = {},
152
+ scheduleId = [],
153
+ ) => {
154
+ let loadSave = 0;
155
+ let loads = 0;
156
+ let saves = 0;
157
+ let action;
158
+ let autoLoadHandle;
159
+ let autoSaveListenerId;
160
+ mapEnsure(scheduleRunning, scheduleId, () => 0);
161
+ mapEnsure(scheduleActions, scheduleId, () => []);
162
+ const [
163
+ isMergeableStore,
164
+ getContent,
165
+ getChanges,
166
+ hasChanges,
167
+ setDefaultContent,
168
+ ] = getStoreFunctions(persist, store);
169
+ const run = async () => {
170
+ /* istanbul ignore else */
171
+ if (!mapGet(scheduleRunning, scheduleId)) {
172
+ mapSet(scheduleRunning, scheduleId, 1);
173
+ while (
174
+ !isUndefined(
175
+ (action = arrayShift(mapGet(scheduleActions, scheduleId))),
176
+ )
177
+ ) {
178
+ try {
179
+ await action();
180
+ } catch (error) {
181
+ /* istanbul ignore next */
182
+ onIgnoredError?.(error);
183
+ }
184
+ }
185
+ mapSet(scheduleRunning, scheduleId, 0);
186
+ }
187
+ };
188
+ const setContentOrChanges = (contentOrChanges) => {
189
+ (isMergeableStore && isArray(contentOrChanges?.[0])
190
+ ? contentOrChanges?.[2] === 1
191
+ ? store.applyMergeableChanges
192
+ : store.setMergeableContent
193
+ : contentOrChanges?.[2] === 1
194
+ ? store.applyChanges
195
+ : store.setContent)(contentOrChanges);
196
+ };
197
+ const load = async (initialContent) => {
198
+ /* istanbul ignore else */
199
+ if (loadSave != 2) {
200
+ loadSave = 1;
201
+ loads++;
202
+ await schedule(async () => {
203
+ try {
204
+ const content = await getPersisted();
205
+ if (isArray(content)) {
206
+ setContentOrChanges(content);
207
+ } else {
208
+ errorNew(`Content is not an array ${content}`);
209
+ }
210
+ } catch (error) {
211
+ onIgnoredError?.(error);
212
+ if (initialContent) {
213
+ setDefaultContent(initialContent);
214
+ }
215
+ }
216
+ loadSave = 0;
217
+ });
218
+ }
219
+ return persister;
220
+ };
221
+ const startAutoLoad = async (initialContent) => {
222
+ await stopAutoLoad().load(initialContent);
223
+ try {
224
+ autoLoadHandle = await addPersisterListener(
225
+ async (content, changes) => {
226
+ if (changes || content) {
227
+ /* istanbul ignore else */
228
+ if (loadSave != 2) {
229
+ loadSave = 1;
230
+ loads++;
231
+ setContentOrChanges(changes ?? content);
232
+ loadSave = 0;
233
+ }
234
+ } else {
235
+ await load();
236
+ }
237
+ },
238
+ );
239
+ } catch (error) {
240
+ /* istanbul ignore next */
241
+ onIgnoredError?.(error);
242
+ }
243
+ return persister;
244
+ };
245
+ const stopAutoLoad = () => {
246
+ if (autoLoadHandle) {
247
+ delPersisterListener(autoLoadHandle);
248
+ autoLoadHandle = void 0;
249
+ }
250
+ return persister;
251
+ };
252
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
253
+ const save = async (changes) => {
254
+ /* istanbul ignore else */
255
+ if (loadSave != 1) {
256
+ loadSave = 2;
257
+ saves++;
258
+ await schedule(async () => {
259
+ try {
260
+ await setPersisted(getContent, changes);
261
+ } catch (error) {
262
+ /* istanbul ignore next */
263
+ onIgnoredError?.(error);
264
+ }
265
+ loadSave = 0;
266
+ });
267
+ }
268
+ return persister;
269
+ };
270
+ const startAutoSave = async () => {
271
+ await stopAutoSave().save();
272
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
273
+ const changes = getChanges();
274
+ if (hasChanges(changes)) {
275
+ save(changes);
276
+ }
277
+ });
278
+ return persister;
279
+ };
280
+ const stopAutoSave = () => {
281
+ ifNotUndefined(autoSaveListenerId, store.delListener);
282
+ autoSaveListenerId = void 0;
283
+ return persister;
284
+ };
285
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
286
+ const schedule = async (...actions) => {
287
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
288
+ await run();
289
+ return persister;
290
+ };
291
+ const getStore = () => store;
292
+ const destroy = () => {
293
+ arrayClear(mapGet(scheduleActions, scheduleId));
294
+ return stopAutoLoad().stopAutoSave();
295
+ };
296
+ const getStats = () => ({loads, saves});
297
+ const persister = {
298
+ load,
299
+ startAutoLoad,
300
+ stopAutoLoad,
301
+ isAutoLoading,
302
+ save,
303
+ startAutoSave,
304
+ stopAutoSave,
305
+ isAutoSaving,
306
+ schedule,
307
+ getStore,
308
+ destroy,
309
+ getStats,
310
+ ...extra,
311
+ };
312
+ return objFreeze(persister);
313
+ };
314
+
315
+ const setNew = (entryOrEntries) =>
316
+ new Set(
317
+ isArray(entryOrEntries) || isUndefined(entryOrEntries)
318
+ ? entryOrEntries
319
+ : [entryOrEntries],
320
+ );
321
+ const setAdd = (set, value) => set?.add(value);
322
+
323
+ const getCommandFunctions = (
324
+ cmd,
325
+ managedTableNames,
326
+ querySchema,
327
+ onIgnoredError,
328
+ columnType,
329
+ orReplace,
330
+ encode,
331
+ decode,
332
+ ) => {
333
+ const schemaMap = mapNew();
334
+ const canSelect = (tableName, rowIdColumnName) =>
335
+ collHas(mapGet(schemaMap, tableName), rowIdColumnName);
336
+ const refreshSchema = async () => {
337
+ collClear(schemaMap);
338
+ arrayMap(await querySchema(cmd, managedTableNames), ({tn, cn}) =>
339
+ setAdd(mapEnsure(schemaMap, tn, setNew), cn),
340
+ );
341
+ };
342
+ const loadTable = async (tableName, rowIdColumnName) =>
343
+ canSelect(tableName, rowIdColumnName)
344
+ ? objNew(
345
+ arrayFilter(
346
+ arrayMap(
347
+ await cmd(SELECT_STAR_FROM + escapeId(tableName)),
348
+ (row) => [
349
+ row[rowIdColumnName],
350
+ decode
351
+ ? objMap(objDel(row, rowIdColumnName), decode)
352
+ : objDel(row, rowIdColumnName),
353
+ ],
354
+ ),
355
+ ([rowId, row]) => !isUndefined(rowId) && !objIsEmpty(row),
356
+ ),
357
+ )
358
+ : {};
359
+ const saveTable = async (
360
+ tableName,
361
+ rowIdColumnName,
362
+ content,
363
+ deleteEmptyColumns,
364
+ deleteEmptyTable,
365
+ partial = false,
366
+ ) => {
367
+ const tableCellOrValueIds = setNew();
368
+ objToArray(content ?? {}, (contentRow) =>
369
+ arrayMap(objIds(contentRow ?? {}), (cellOrValueId) =>
370
+ setAdd(tableCellOrValueIds, cellOrValueId),
371
+ ),
372
+ );
373
+ const tableColumnNames = collValues(tableCellOrValueIds);
374
+ if (
375
+ !partial &&
376
+ deleteEmptyTable &&
377
+ arrayIsEmpty(tableColumnNames) &&
378
+ collHas(schemaMap, tableName)
379
+ ) {
380
+ await cmd('DROP ' + TABLE + escapeId(tableName));
381
+ mapSet(schemaMap, tableName);
382
+ return;
383
+ }
384
+ const tableSchemaColumns = mapGet(schemaMap, tableName);
385
+ const currentColumnNames = setNew(collValues(tableSchemaColumns));
386
+ if (!arrayIsEmpty(tableColumnNames)) {
387
+ if (!collHas(schemaMap, tableName)) {
388
+ await cmd(
389
+ 'CREATE ' +
390
+ TABLE +
391
+ escapeId(tableName) +
392
+ `(${escapeId(rowIdColumnName)}${columnType} PRIMARY KEY${arrayJoin(
393
+ arrayMap(
394
+ tableColumnNames,
395
+ (columnName) => COMMA + escapeId(columnName) + columnType,
396
+ ),
397
+ )});`,
398
+ );
399
+ mapSet(
400
+ schemaMap,
401
+ tableName,
402
+ setNew([rowIdColumnName, ...tableColumnNames]),
403
+ );
404
+ } else {
405
+ await promiseAll(
406
+ arrayMap(
407
+ [rowIdColumnName, ...tableColumnNames],
408
+ async (columnName, index) => {
409
+ if (!collDel(currentColumnNames, columnName)) {
410
+ await cmd(
411
+ ALTER_TABLE +
412
+ escapeId(tableName) +
413
+ 'ADD' +
414
+ escapeId(columnName) +
415
+ columnType,
416
+ );
417
+ if (index == 0) {
418
+ await cmd(
419
+ 'CREATE UNIQUE INDEX pk ON ' +
420
+ escapeId(tableName) +
421
+ `(${escapeId(rowIdColumnName)})`,
422
+ );
423
+ }
424
+ setAdd(tableSchemaColumns, columnName);
425
+ }
426
+ },
427
+ ),
428
+ );
429
+ }
430
+ }
431
+ await promiseAll([
432
+ ...(!partial && deleteEmptyColumns
433
+ ? arrayMap(collValues(currentColumnNames), async (columnName) => {
434
+ if (columnName != rowIdColumnName) {
435
+ await cmd(
436
+ ALTER_TABLE +
437
+ escapeId(tableName) +
438
+ 'DROP' +
439
+ escapeId(columnName),
440
+ );
441
+ collDel(tableSchemaColumns, columnName);
442
+ }
443
+ })
444
+ : []),
445
+ ]);
446
+ if (partial) {
447
+ if (isUndefined(content)) {
448
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
449
+ } else {
450
+ await promiseAll(
451
+ objToArray(content, async (row, rowId) => {
452
+ if (isUndefined(row)) {
453
+ await cmd(
454
+ DELETE_FROM +
455
+ escapeId(tableName) +
456
+ WHERE +
457
+ escapeId(rowIdColumnName) +
458
+ '=$1',
459
+ [rowId],
460
+ );
461
+ } else if (!arrayIsEmpty(tableColumnNames)) {
462
+ await upsert(
463
+ cmd,
464
+ tableName,
465
+ rowIdColumnName,
466
+ objIds(row),
467
+ [
468
+ rowId,
469
+ ...(encode
470
+ ? arrayMap(objValues(row), encode)
471
+ : objValues(row)),
472
+ ],
473
+ orReplace,
474
+ );
475
+ }
476
+ }),
477
+ );
478
+ }
479
+ } else {
480
+ if (!arrayIsEmpty(tableColumnNames)) {
481
+ const changingColumnNames = arrayFilter(
482
+ collValues(mapGet(schemaMap, tableName)),
483
+ (columnName) => columnName != rowIdColumnName,
484
+ );
485
+ const args = [];
486
+ const deleteRowIds = [];
487
+ objToArray(content ?? {}, (row, rowId) => {
488
+ arrayPush(
489
+ args,
490
+ rowId,
491
+ ...arrayMap(changingColumnNames, (cellId) =>
492
+ encode ? encode(row?.[cellId]) : row?.[cellId],
493
+ ),
494
+ );
495
+ arrayPush(deleteRowIds, rowId);
496
+ });
497
+ await upsert(
498
+ cmd,
499
+ tableName,
500
+ rowIdColumnName,
501
+ changingColumnNames,
502
+ args,
503
+ orReplace,
504
+ );
505
+ await cmd(
506
+ DELETE_FROM +
507
+ escapeId(tableName) +
508
+ WHERE +
509
+ escapeId(rowIdColumnName) +
510
+ `NOT IN(${getPlaceholders(deleteRowIds)})`,
511
+ deleteRowIds,
512
+ );
513
+ } else if (collHas(schemaMap, tableName)) {
514
+ await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' true');
515
+ }
516
+ }
517
+ };
518
+ const transaction = async (actions) => {
519
+ let result;
520
+ await cmd('BEGIN');
521
+ try {
522
+ result = await actions();
523
+ } catch (error) {
524
+ onIgnoredError?.(error);
525
+ }
526
+ await cmd('END');
527
+ return result;
528
+ };
529
+ return [refreshSchema, loadTable, saveTable, transaction];
530
+ };
531
+ const upsert = async (
532
+ cmd,
533
+ tableName,
534
+ rowIdColumnName,
535
+ changingColumnNames,
536
+ args,
537
+ orReplace = 0,
538
+ ) =>
539
+ await cmd(
540
+ 'INSERT ' +
541
+ (orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
542
+ 'INTO' +
543
+ escapeId(tableName) +
544
+ '(' +
545
+ escapeId(rowIdColumnName) +
546
+ arrayJoin(
547
+ arrayMap(
548
+ changingColumnNames,
549
+ (columnName) => COMMA + escapeId(columnName),
550
+ ),
551
+ ) +
552
+ ')VALUES' +
553
+ getUpsertPlaceholders(args, size(changingColumnNames) + 1) +
554
+ (orReplace
555
+ ? EMPTY_STRING
556
+ : 'ON CONFLICT(' +
557
+ escapeId(rowIdColumnName) +
558
+ ')DO UPDATE SET' +
559
+ arrayJoin(
560
+ arrayMap(
561
+ changingColumnNames,
562
+ (columnName) =>
563
+ escapeId(columnName) + '=excluded.' + escapeId(columnName),
564
+ ),
565
+ COMMA,
566
+ )),
567
+ arrayMap(args, (arg) => arg ?? null),
568
+ );
569
+ const getUpsertPlaceholders = (array, columnCount) =>
570
+ arrayJoin(
571
+ arrayNew(
572
+ size(array) / columnCount,
573
+ (row) =>
574
+ '(' +
575
+ arrayJoin(
576
+ arrayNew(
577
+ columnCount,
578
+ (column) => '$' + (row * columnCount + column + 1),
579
+ ),
580
+ COMMA,
581
+ ) +
582
+ ')',
583
+ ),
584
+ COMMA,
585
+ );
586
+
587
+ const createJsonPersister = (
588
+ store,
589
+ cmd,
590
+ addPersisterListener,
591
+ delPersisterListener,
592
+ onIgnoredError,
593
+ destroyImpl,
594
+ persist,
595
+ [storeTableName, storeIdColumnName, storeColumnName],
596
+ managedTableNames,
597
+ querySchema,
598
+ thing,
599
+ getThing,
600
+ columnType,
601
+ orReplace,
602
+ ) => {
603
+ const [refreshSchema, loadTable, saveTable, transaction] =
604
+ getCommandFunctions(
605
+ cmd,
606
+ managedTableNames,
607
+ querySchema,
608
+ onIgnoredError,
609
+ columnType,
610
+ orReplace,
611
+ );
612
+ const getPersisted = async () =>
613
+ await transaction(async () => {
614
+ await refreshSchema();
615
+ return jsonParseWithUndefined(
616
+ (await loadTable(storeTableName, storeIdColumnName))[SINGLE_ROW_ID]?.[
617
+ storeColumnName
618
+ ] ?? 'null',
619
+ );
620
+ });
621
+ const setPersisted = async (getContent) =>
622
+ await transaction(async () => {
623
+ await refreshSchema();
624
+ await saveTable(
625
+ storeTableName,
626
+ storeIdColumnName,
627
+ {
628
+ [SINGLE_ROW_ID]: {
629
+ [storeColumnName]: jsonStringWithUndefined(getContent() ?? null),
630
+ },
631
+ },
632
+ true,
633
+ true,
634
+ );
635
+ });
636
+ const destroy = () => {
637
+ persister.stopAutoLoad().stopAutoSave();
638
+ destroyImpl();
639
+ return persister;
640
+ };
641
+ const persister = createCustomPersister(
642
+ store,
643
+ getPersisted,
644
+ setPersisted,
645
+ addPersisterListener,
646
+ delPersisterListener,
647
+ onIgnoredError,
648
+ persist,
649
+ {[getThing]: () => thing, destroy},
650
+ thing,
651
+ );
652
+ return persister;
653
+ };
654
+
655
+ const createTabularPersister = (
656
+ store,
657
+ cmd,
658
+ addPersisterListener,
659
+ delPersisterListener,
660
+ onIgnoredError,
661
+ destroyImpl,
662
+ persist,
663
+ [
664
+ tablesLoadConfig,
665
+ tablesSaveConfig,
666
+ [valuesLoad, valuesSave, valuesTableName],
667
+ ],
668
+ managedTableNames,
669
+ querySchema,
670
+ thing,
671
+ getThing,
672
+ columnType,
673
+ orReplace,
674
+ encode,
675
+ decode,
676
+ ) => {
677
+ const [refreshSchema, loadTable, saveTable, transaction] =
678
+ getCommandFunctions(
679
+ cmd,
680
+ managedTableNames,
681
+ querySchema,
682
+ onIgnoredError,
683
+ columnType,
684
+ orReplace,
685
+ encode,
686
+ decode,
687
+ );
688
+ const saveTables = async (tables, partial) =>
689
+ await promiseAll(
690
+ mapMap(
691
+ tablesSaveConfig,
692
+ async (
693
+ [tableName, rowIdColumnName, deleteEmptyColumns, deleteEmptyTable],
694
+ tableId,
695
+ ) => {
696
+ if (!partial || objHas(tables, tableId)) {
697
+ await saveTable(
698
+ tableName,
699
+ rowIdColumnName,
700
+ tables[tableId],
701
+ deleteEmptyColumns,
702
+ deleteEmptyTable,
703
+ partial,
704
+ );
705
+ }
706
+ },
707
+ ),
708
+ );
709
+ const saveValues = async (values, partial) =>
710
+ valuesSave
711
+ ? await saveTable(
712
+ valuesTableName,
713
+ DEFAULT_ROW_ID_COLUMN_NAME,
714
+ {[SINGLE_ROW_ID]: values},
715
+ true,
716
+ true,
717
+ partial,
718
+ )
719
+ : null;
720
+ const loadTables = async () =>
721
+ objNew(
722
+ arrayFilter(
723
+ await promiseAll(
724
+ mapMap(
725
+ tablesLoadConfig,
726
+ async ([tableId, rowIdColumnName], tableName) => [
727
+ tableId,
728
+ await loadTable(tableName, rowIdColumnName),
729
+ ],
730
+ ),
731
+ ),
732
+ (pair) => !objIsEmpty(pair[1]),
733
+ ),
734
+ );
735
+ const loadValues = async () =>
736
+ valuesLoad
737
+ ? (await loadTable(valuesTableName, DEFAULT_ROW_ID_COLUMN_NAME))[
738
+ SINGLE_ROW_ID
739
+ ]
740
+ : {};
741
+ const getPersisted = async () =>
742
+ await transaction(async () => {
743
+ await refreshSchema();
744
+ const tables = await loadTables();
745
+ const values = await loadValues();
746
+ return !objIsEmpty(tables) || !isUndefined(values)
747
+ ? [tables, values]
748
+ : void 0;
749
+ });
750
+ const setPersisted = async (getContent, changes) =>
751
+ await transaction(async () => {
752
+ await refreshSchema();
753
+ if (!isUndefined(changes)) {
754
+ await saveTables(changes[0], true);
755
+ await saveValues(changes[1], true);
756
+ } else {
757
+ const [tables, values] = getContent();
758
+ await saveTables(tables);
759
+ await saveValues(values);
760
+ }
761
+ });
762
+ const destroy = () => {
763
+ persister.stopAutoLoad().stopAutoSave();
764
+ destroyImpl();
765
+ return persister;
766
+ };
767
+ const persister = createCustomPersister(
768
+ store,
769
+ getPersisted,
770
+ setPersisted,
771
+ addPersisterListener,
772
+ delPersisterListener,
773
+ onIgnoredError,
774
+ persist,
775
+ {[getThing]: () => thing, destroy},
776
+ thing,
777
+ );
778
+ return persister;
779
+ };
780
+
781
+ const COLUMN_NAME = 'ColumnName';
782
+ const STORE = 'store';
783
+ const JSON$1 = 'json';
784
+ const STORE_TABLE_NAME = STORE + 'TableName';
785
+ const STORE_ID_COLUMN_NAME = STORE + 'Id' + COLUMN_NAME;
786
+ const STORE_COLUMN_NAME = STORE + COLUMN_NAME;
787
+ const AUTO_LOAD_INTERVAL_SECONDS = 'autoLoadIntervalSeconds';
788
+ const ROW_ID_COLUMN_NAME = 'rowId' + COLUMN_NAME;
789
+ const TABLE_ID = 'tableId';
790
+ const TABLE_NAME = 'tableName';
791
+ const DELETE_EMPTY_COLUMNS = 'deleteEmptyColumns';
792
+ const DELETE_EMPTY_TABLE = 'deleteEmptyTable';
793
+ const DEFAULT_CONFIG = {
794
+ mode: JSON$1,
795
+ [AUTO_LOAD_INTERVAL_SECONDS]: 1,
796
+ };
797
+ const DEFAULT_TABULAR_VALUES_CONFIG = {
798
+ load: 0,
799
+ save: 0,
800
+ [TABLE_NAME]: TINYBASE + '_values',
801
+ };
802
+ const getDefaultedConfig = (configOrStoreTableName) =>
803
+ objMerge(
804
+ DEFAULT_CONFIG,
805
+ isString(configOrStoreTableName)
806
+ ? {[STORE_TABLE_NAME]: configOrStoreTableName}
807
+ : (configOrStoreTableName ?? {}),
808
+ );
809
+ const getDefaultedTabularConfigMap = (
810
+ configsObj,
811
+ defaultObj,
812
+ tableField,
813
+ exclude,
814
+ then,
815
+ ) => {
816
+ const configMap = mapNew();
817
+ objToArray(configsObj, (configObj, id) => {
818
+ const defaultedConfig = slice(
819
+ objValues(
820
+ objMerge(
821
+ defaultObj,
822
+ isString(configObj) ? {[tableField]: configObj} : configObj,
823
+ ),
824
+ ),
825
+ 0,
826
+ objSize(defaultObj),
827
+ );
828
+ if (
829
+ !isUndefined(defaultedConfig[0]) &&
830
+ !exclude(id, defaultedConfig[0])
831
+ ) {
832
+ then(id, defaultedConfig[0]);
833
+ mapSet(configMap, id, defaultedConfig);
834
+ }
835
+ });
836
+ return configMap;
837
+ };
838
+ const getConfigStructures = (configOrStoreTableName) => {
839
+ const config = getDefaultedConfig(configOrStoreTableName);
840
+ const autoLoadIntervalSeconds = config[AUTO_LOAD_INTERVAL_SECONDS];
841
+ if (config.mode == JSON$1) {
842
+ const storeTableName = config[STORE_TABLE_NAME] ?? TINYBASE;
843
+ return [
844
+ 1,
845
+ autoLoadIntervalSeconds,
846
+ [
847
+ storeTableName,
848
+ config[STORE_ID_COLUMN_NAME] ?? DEFAULT_ROW_ID_COLUMN_NAME,
849
+ config[STORE_COLUMN_NAME] ?? STORE,
850
+ ],
851
+ setNew(storeTableName),
852
+ ];
853
+ }
854
+ const {tables: {load = {}, save = {}} = {}, values = {}} = config;
855
+ const valuesConfig = slice(
856
+ objValues(objMerge(DEFAULT_TABULAR_VALUES_CONFIG, values)),
857
+ 0,
858
+ objSize(DEFAULT_TABULAR_VALUES_CONFIG),
859
+ );
860
+ const valuesTable = valuesConfig[2];
861
+ const managedTableNames = setNew(valuesTable);
862
+ const excludedTableNames = setNew(valuesTable);
863
+ const tabularConfig = [
864
+ getDefaultedTabularConfigMap(
865
+ load,
866
+ {[TABLE_ID]: null, [ROW_ID_COLUMN_NAME]: DEFAULT_ROW_ID_COLUMN_NAME},
867
+ TABLE_ID,
868
+ (tableName) => collHas(excludedTableNames, tableName),
869
+ (tableName) => setAdd(managedTableNames, tableName),
870
+ ),
871
+ getDefaultedTabularConfigMap(
872
+ save,
873
+ {
874
+ [TABLE_NAME]: null,
875
+ [ROW_ID_COLUMN_NAME]: DEFAULT_ROW_ID_COLUMN_NAME,
876
+ [DELETE_EMPTY_COLUMNS]: 0,
877
+ [DELETE_EMPTY_TABLE]: 0,
878
+ },
879
+ TABLE_NAME,
880
+ (_, tableName) => collHas(excludedTableNames, tableName),
881
+ (_, tableName) => setAdd(managedTableNames, tableName),
882
+ ),
883
+ valuesConfig,
884
+ ];
885
+ return [0, autoLoadIntervalSeconds, tabularConfig, managedTableNames];
886
+ };
887
+
888
+ const EVENT_CHANNEL = TINYBASE;
889
+ const EVENT_REGEX = /^([cd]:)(.+)/;
890
+ const CHANGE_DATA_TRIGGER = TINYBASE + '_data';
891
+ const CREATE_TABLE_TRIGGER = TINYBASE + '_table';
892
+ const createPostgreSqlPersister = (
893
+ store,
894
+ configOrStoreTableName,
895
+ rawCmd,
896
+ addNotifyListener,
897
+ delNotifyListener,
898
+ onSqlCommand,
899
+ onIgnoredError,
900
+ destroy,
901
+ persist,
902
+ thing,
903
+ getThing = 'getDb',
904
+ ) => {
905
+ const cmd = getWrappedCommand(rawCmd, onSqlCommand);
906
+ const [isJson, , defaultedConfig, managedTableNamesSet] =
907
+ getConfigStructures(configOrStoreTableName);
908
+ const addDataTrigger = async (tableName) => {
909
+ await cmd(
910
+ // eslint-disable-next-line max-len
911
+ `CREATE OR REPLACE TRIGGER ${escapeId(CHANGE_DATA_TRIGGER + '_' + tableName)} AFTER INSERT OR UPDATE OR DELETE ON ${escapeId(tableName)} EXECUTE FUNCTION ${CHANGE_DATA_TRIGGER}()`,
912
+ );
913
+ };
914
+ const addPersisterListener = async (listener) => {
915
+ await cmd(
916
+ // eslint-disable-next-line max-len
917
+ `CREATE OR REPLACE FUNCTION ${CREATE_TABLE_TRIGGER}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${EVENT_CHANNEL}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`,
918
+ );
919
+ try {
920
+ await cmd(
921
+ // eslint-disable-next-line max-len
922
+ `CREATE EVENT TRIGGER ${CREATE_TABLE_TRIGGER} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${CREATE_TABLE_TRIGGER}();`,
923
+ );
924
+ } catch {}
925
+ await cmd(
926
+ // eslint-disable-next-line max-len
927
+ `CREATE OR REPLACE FUNCTION ${CHANGE_DATA_TRIGGER}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${EVENT_CHANNEL}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`,
928
+ );
929
+ await promiseAll(
930
+ arrayMap(collValues(managedTableNamesSet), async (tableName) => {
931
+ await cmd(
932
+ // eslint-disable-next-line max-len
933
+ `CREATE TABLE IF NOT EXISTS ${escapeId(tableName)}("_id"text PRIMARY KEY)`,
934
+ );
935
+ await addDataTrigger(tableName);
936
+ }),
937
+ );
938
+ return await addNotifyListener(
939
+ EVENT_CHANNEL,
940
+ async (prefixAndTableName) =>
941
+ await ifNotUndefined(
942
+ strMatch(prefixAndTableName, EVENT_REGEX),
943
+ async ([, eventType, tableName]) => {
944
+ if (collHas(managedTableNamesSet, tableName)) {
945
+ if (eventType == 'c:') {
946
+ await addDataTrigger(tableName);
947
+ }
948
+ listener();
949
+ }
950
+ },
951
+ ),
952
+ );
953
+ };
954
+ const delPersisterListener = delNotifyListener;
955
+ return (isJson ? createJsonPersister : createTabularPersister)(
956
+ store,
957
+ cmd,
958
+ addPersisterListener,
959
+ delPersisterListener,
960
+ onIgnoredError,
961
+ destroy,
962
+ persist,
963
+ defaultedConfig,
964
+ collValues(managedTableNamesSet),
965
+ async (cmd2, managedTableNames) =>
966
+ await cmd2(
967
+ // eslint-disable-next-line max-len
968
+ `${SELECT} table_name tn,column_name cn FROM information_schema.columns ${WHERE} table_schema='public'AND table_name IN(${getPlaceholders(managedTableNames)})`,
969
+ managedTableNames,
970
+ ),
971
+ thing,
972
+ getThing,
973
+ 'text',
974
+ 0,
975
+ (cellOrValue) => jsonString(cellOrValue),
976
+ (field) => jsonParse(field),
977
+ );
978
+ };
979
+
980
+ const createPglitePersister = async (
981
+ store,
982
+ pglite,
983
+ configOrStoreTableName,
984
+ onSqlCommand,
985
+ onIgnoredError,
986
+ ) => {
987
+ return createPostgreSqlPersister(
988
+ store,
989
+ configOrStoreTableName,
990
+ async (sql, args = []) => (await pglite.query(sql, args)).rows,
991
+ async (channel, notifyListener) => pglite.listen(channel, notifyListener),
992
+ async (unlisten) => {
993
+ try {
994
+ await unlisten();
995
+ } catch (e) {
996
+ onIgnoredError?.(e);
997
+ }
998
+ },
999
+ onSqlCommand,
1000
+ onIgnoredError,
1001
+ () => 0,
1002
+ 3,
1003
+ // StoreOrMergeableStore,
1004
+ pglite,
1005
+ 'getPglite',
1006
+ );
1007
+ };
1008
+
1009
+ exports.createPglitePersister = createPglitePersister;
1010
+ });