tinybase 5.2.0-beta.2 → 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 (916) hide show
  1. package/@types/common/index.d.cts +34 -2
  2. package/@types/common/index.d.ts +34 -2
  3. package/@types/common/with-schemas/index.d.cts +34 -2
  4. package/@types/common/with-schemas/index.d.ts +34 -2
  5. package/@types/persisters/index.d.cts +21 -2
  6. package/@types/persisters/index.d.ts +21 -2
  7. package/@types/persisters/persister-pglite/index.d.cts +178 -0
  8. package/@types/persisters/persister-pglite/index.d.ts +178 -0
  9. package/@types/persisters/persister-pglite/with-schemas/index.d.cts +197 -0
  10. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +197 -0
  11. package/@types/persisters/persister-postgres/index.d.cts +2 -1
  12. package/@types/persisters/persister-postgres/index.d.ts +2 -1
  13. package/@types/persisters/persister-postgres/with-schemas/index.d.cts +2 -1
  14. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +2 -1
  15. package/@types/persisters/with-schemas/index.d.cts +21 -2
  16. package/@types/persisters/with-schemas/index.d.ts +21 -2
  17. package/@types/synchronizers/synchronizer-local/index.d.cts +1 -0
  18. package/@types/synchronizers/synchronizer-local/index.d.ts +1 -0
  19. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +1 -0
  20. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +1 -0
  21. package/checkpoints/index.js +9 -7
  22. package/checkpoints/with-schemas/index.js +9 -7
  23. package/cjs/checkpoints/index.cjs +9 -7
  24. package/cjs/checkpoints/with-schemas/index.cjs +9 -7
  25. package/cjs/es6/checkpoints/index.cjs +15 -13
  26. package/cjs/es6/checkpoints/with-schemas/index.cjs +15 -13
  27. package/cjs/es6/index.cjs +31 -22
  28. package/cjs/es6/indexes/index.cjs +15 -13
  29. package/cjs/es6/indexes/with-schemas/index.cjs +15 -13
  30. package/cjs/es6/mergeable-store/index.cjs +26 -19
  31. package/cjs/es6/mergeable-store/with-schemas/index.cjs +26 -19
  32. package/cjs/es6/metrics/index.cjs +15 -13
  33. package/cjs/es6/metrics/with-schemas/index.cjs +15 -13
  34. package/cjs/es6/min/index.cjs +1 -1
  35. package/cjs/es6/min/index.cjs.gz +0 -0
  36. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  37. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  38. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  70. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  71. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  72. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs +1 -1
  73. package/cjs/es6/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  74. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  75. package/cjs/es6/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  76. package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -0
  77. package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
  78. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  79. package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
  81. package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
  82. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  85. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  86. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  89. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  90. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  91. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  92. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  93. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  94. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  97. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  98. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  99. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  100. package/cjs/es6/min/store/index.cjs +1 -1
  101. package/cjs/es6/min/store/index.cjs.gz +0 -0
  102. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  103. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  104. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  105. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  106. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  107. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  108. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  109. package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  110. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  111. package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  112. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  113. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  114. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  115. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  116. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  117. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  118. package/cjs/es6/persisters/index.cjs +5 -3
  119. package/cjs/es6/persisters/persister-automerge/index.cjs +7 -4
  120. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +7 -4
  121. package/cjs/es6/persisters/persister-browser/index.cjs +8 -5
  122. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +8 -5
  123. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +147 -102
  124. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +147 -102
  125. package/cjs/es6/persisters/persister-electric-sql/index.cjs +147 -102
  126. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +147 -102
  127. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +147 -102
  128. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +147 -102
  129. package/cjs/es6/persisters/persister-file/index.cjs +9 -5
  130. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +9 -5
  131. package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -3
  132. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
  133. package/cjs/es6/persisters/persister-libsql/index.cjs +147 -102
  134. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +147 -102
  135. package/cjs/es6/persisters/persister-partykit-client/index.cjs +8 -5
  136. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
  137. package/cjs/es6/persisters/persister-partykit-server/index.cjs +39 -24
  138. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +39 -24
  139. package/cjs/es6/persisters/persister-pglite/index.cjs +1320 -0
  140. package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +1320 -0
  141. package/cjs/es6/persisters/persister-postgres/index.cjs +171 -92
  142. package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +171 -92
  143. package/cjs/es6/persisters/persister-powersync/index.cjs +149 -104
  144. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +149 -104
  145. package/cjs/es6/persisters/persister-remote/index.cjs +8 -5
  146. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +8 -5
  147. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +147 -102
  148. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +147 -102
  149. package/cjs/es6/persisters/persister-sqlite3/index.cjs +147 -102
  150. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +147 -102
  151. package/cjs/es6/persisters/persister-yjs/index.cjs +5 -3
  152. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -3
  153. package/cjs/es6/persisters/with-schemas/index.cjs +5 -3
  154. package/cjs/es6/relationships/index.cjs +15 -13
  155. package/cjs/es6/relationships/with-schemas/index.cjs +15 -13
  156. package/cjs/es6/store/index.cjs +26 -19
  157. package/cjs/es6/store/with-schemas/index.cjs +26 -19
  158. package/cjs/es6/synchronizers/index.cjs +5 -3
  159. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
  160. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
  161. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +5 -3
  162. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
  163. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +12 -8
  164. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
  165. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +83 -77
  166. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +83 -77
  167. package/cjs/es6/synchronizers/with-schemas/index.cjs +5 -3
  168. package/cjs/es6/ui-react-inspector/index.cjs +35 -25
  169. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +35 -25
  170. package/cjs/es6/with-schemas/index.cjs +31 -22
  171. package/cjs/index.cjs +25 -14
  172. package/cjs/indexes/index.cjs +9 -7
  173. package/cjs/indexes/with-schemas/index.cjs +9 -7
  174. package/cjs/mergeable-store/index.cjs +20 -11
  175. package/cjs/mergeable-store/with-schemas/index.cjs +20 -11
  176. package/cjs/metrics/index.cjs +9 -7
  177. package/cjs/metrics/with-schemas/index.cjs +9 -7
  178. package/cjs/min/index.cjs +1 -1
  179. package/cjs/min/index.cjs.gz +0 -0
  180. package/cjs/min/mergeable-store/index.cjs +1 -1
  181. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  182. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  183. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  213. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  214. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  215. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/persisters/persister-partykit-server/index.cjs +1 -1
  217. package/cjs/min/persisters/persister-partykit-server/index.cjs.gz +0 -0
  218. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs +1 -1
  219. package/cjs/min/persisters/persister-partykit-server/with-schemas/index.cjs.gz +0 -0
  220. package/cjs/min/persisters/persister-pglite/index.cjs +1 -0
  221. package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
  222. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -0
  223. package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
  224. package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
  225. package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
  226. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
  227. package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
  228. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  229. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  230. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  231. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  233. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  234. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  235. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  237. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  238. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  239. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  240. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  241. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  242. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  243. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  244. package/cjs/min/store/index.cjs +1 -1
  245. package/cjs/min/store/index.cjs.gz +0 -0
  246. package/cjs/min/store/with-schemas/index.cjs +1 -1
  247. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  248. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  249. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  250. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  251. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  252. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
  253. package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  254. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
  255. package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
  256. package/cjs/min/tools/index.cjs +1 -1
  257. package/cjs/min/tools/index.cjs.gz +0 -0
  258. package/cjs/min/tools/with-schemas/index.cjs +1 -1
  259. package/cjs/min/tools/with-schemas/index.cjs.gz +0 -0
  260. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  261. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  262. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  263. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  264. package/cjs/min/with-schemas/index.cjs +1 -1
  265. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/persisters/index.cjs +5 -3
  267. package/cjs/persisters/persister-automerge/index.cjs +7 -4
  268. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +7 -4
  269. package/cjs/persisters/persister-browser/index.cjs +8 -5
  270. package/cjs/persisters/persister-browser/with-schemas/index.cjs +8 -5
  271. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +103 -60
  272. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +103 -60
  273. package/cjs/persisters/persister-electric-sql/index.cjs +103 -60
  274. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +103 -60
  275. package/cjs/persisters/persister-expo-sqlite/index.cjs +103 -60
  276. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +103 -60
  277. package/cjs/persisters/persister-file/index.cjs +9 -5
  278. package/cjs/persisters/persister-file/with-schemas/index.cjs +9 -5
  279. package/cjs/persisters/persister-indexed-db/index.cjs +5 -3
  280. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -3
  281. package/cjs/persisters/persister-libsql/index.cjs +103 -60
  282. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +103 -60
  283. package/cjs/persisters/persister-partykit-client/index.cjs +8 -5
  284. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +8 -5
  285. package/cjs/persisters/persister-partykit-server/index.cjs +39 -27
  286. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +39 -27
  287. package/cjs/persisters/persister-pglite/index.cjs +994 -0
  288. package/cjs/persisters/persister-pglite/with-schemas/index.cjs +994 -0
  289. package/cjs/persisters/persister-postgres/index.cjs +126 -52
  290. package/cjs/persisters/persister-postgres/with-schemas/index.cjs +126 -52
  291. package/cjs/persisters/persister-powersync/index.cjs +105 -62
  292. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +105 -62
  293. package/cjs/persisters/persister-remote/index.cjs +8 -5
  294. package/cjs/persisters/persister-remote/with-schemas/index.cjs +8 -5
  295. package/cjs/persisters/persister-sqlite-wasm/index.cjs +103 -60
  296. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +103 -60
  297. package/cjs/persisters/persister-sqlite3/index.cjs +103 -60
  298. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +103 -60
  299. package/cjs/persisters/persister-yjs/index.cjs +5 -3
  300. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -3
  301. package/cjs/persisters/with-schemas/index.cjs +5 -3
  302. package/cjs/relationships/index.cjs +9 -7
  303. package/cjs/relationships/with-schemas/index.cjs +9 -7
  304. package/cjs/store/index.cjs +20 -11
  305. package/cjs/store/with-schemas/index.cjs +20 -11
  306. package/cjs/synchronizers/index.cjs +5 -3
  307. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +5 -3
  308. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +5 -3
  309. package/cjs/synchronizers/synchronizer-local/index.cjs +5 -3
  310. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +5 -3
  311. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +12 -8
  312. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +12 -8
  313. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +34 -25
  314. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +34 -25
  315. package/cjs/synchronizers/with-schemas/index.cjs +5 -3
  316. package/cjs/tools/index.cjs +1 -1
  317. package/cjs/tools/with-schemas/index.cjs +1 -1
  318. package/cjs/ui-react-inspector/index.cjs +29 -17
  319. package/cjs/ui-react-inspector/with-schemas/index.cjs +29 -17
  320. package/cjs/with-schemas/index.cjs +25 -14
  321. package/es6/checkpoints/index.js +15 -13
  322. package/es6/checkpoints/with-schemas/index.js +15 -13
  323. package/es6/index.js +31 -22
  324. package/es6/indexes/index.js +15 -13
  325. package/es6/indexes/with-schemas/index.js +15 -13
  326. package/es6/mergeable-store/index.js +26 -19
  327. package/es6/mergeable-store/with-schemas/index.js +26 -19
  328. package/es6/metrics/index.js +15 -13
  329. package/es6/metrics/with-schemas/index.js +15 -13
  330. package/es6/min/index.js +1 -1
  331. package/es6/min/index.js.gz +0 -0
  332. package/es6/min/mergeable-store/index.js +1 -1
  333. package/es6/min/mergeable-store/index.js.gz +0 -0
  334. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  335. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-automerge/index.js +1 -1
  337. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  339. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-browser/index.js +1 -1
  341. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  343. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  345. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  347. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  349. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  353. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  355. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-file/index.js +1 -1
  357. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  359. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-libsql/index.js +1 -1
  361. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  363. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  365. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  367. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-partykit-server/index.js +1 -1
  369. package/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  371. package/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-pglite/index.js +1 -0
  373. package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  374. package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  375. package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  376. package/es6/min/persisters/persister-postgres/index.js +1 -1
  377. package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  378. package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  379. package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  380. package/es6/min/persisters/persister-powersync/index.js +1 -1
  381. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  382. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  383. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  384. package/es6/min/persisters/persister-remote/index.js +1 -1
  385. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  386. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  387. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  388. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  389. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  390. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  391. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  392. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  393. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  394. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  395. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  396. package/es6/min/store/index.js +1 -1
  397. package/es6/min/store/index.js.gz +0 -0
  398. package/es6/min/store/with-schemas/index.js +1 -1
  399. package/es6/min/store/with-schemas/index.js.gz +0 -0
  400. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  401. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  402. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  403. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  404. package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  405. package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  406. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  407. package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  408. package/es6/min/ui-react-inspector/index.js +1 -1
  409. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  410. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  411. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  412. package/es6/min/with-schemas/index.js +1 -1
  413. package/es6/min/with-schemas/index.js.gz +0 -0
  414. package/es6/persisters/index.js +5 -3
  415. package/es6/persisters/persister-automerge/index.js +7 -4
  416. package/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
  417. package/es6/persisters/persister-browser/index.js +8 -5
  418. package/es6/persisters/persister-browser/with-schemas/index.js +8 -5
  419. package/es6/persisters/persister-cr-sqlite-wasm/index.js +147 -102
  420. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +147 -102
  421. package/es6/persisters/persister-electric-sql/index.js +147 -102
  422. package/es6/persisters/persister-electric-sql/with-schemas/index.js +147 -102
  423. package/es6/persisters/persister-expo-sqlite/index.js +147 -102
  424. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +147 -102
  425. package/es6/persisters/persister-file/index.js +9 -5
  426. package/es6/persisters/persister-file/with-schemas/index.js +9 -5
  427. package/es6/persisters/persister-indexed-db/index.js +5 -3
  428. package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  429. package/es6/persisters/persister-libsql/index.js +147 -102
  430. package/es6/persisters/persister-libsql/with-schemas/index.js +147 -102
  431. package/es6/persisters/persister-partykit-client/index.js +8 -5
  432. package/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  433. package/es6/persisters/persister-partykit-server/index.js +39 -24
  434. package/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
  435. package/es6/persisters/persister-pglite/index.js +1318 -0
  436. package/es6/persisters/persister-pglite/with-schemas/index.js +1318 -0
  437. package/es6/persisters/persister-postgres/index.js +171 -92
  438. package/es6/persisters/persister-postgres/with-schemas/index.js +171 -92
  439. package/es6/persisters/persister-powersync/index.js +149 -104
  440. package/es6/persisters/persister-powersync/with-schemas/index.js +149 -104
  441. package/es6/persisters/persister-remote/index.js +8 -5
  442. package/es6/persisters/persister-remote/with-schemas/index.js +8 -5
  443. package/es6/persisters/persister-sqlite-wasm/index.js +147 -102
  444. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +147 -102
  445. package/es6/persisters/persister-sqlite3/index.js +147 -102
  446. package/es6/persisters/persister-sqlite3/with-schemas/index.js +147 -102
  447. package/es6/persisters/persister-yjs/index.js +5 -3
  448. package/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
  449. package/es6/persisters/with-schemas/index.js +5 -3
  450. package/es6/relationships/index.js +15 -13
  451. package/es6/relationships/with-schemas/index.js +15 -13
  452. package/es6/store/index.js +26 -19
  453. package/es6/store/with-schemas/index.js +26 -19
  454. package/es6/synchronizers/index.js +5 -3
  455. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  456. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  457. package/es6/synchronizers/synchronizer-local/index.js +5 -3
  458. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  459. package/es6/synchronizers/synchronizer-ws-client/index.js +12 -8
  460. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
  461. package/es6/synchronizers/synchronizer-ws-server/index.js +83 -77
  462. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -77
  463. package/es6/synchronizers/with-schemas/index.js +5 -3
  464. package/es6/ui-react-inspector/index.js +35 -25
  465. package/es6/ui-react-inspector/with-schemas/index.js +35 -25
  466. package/es6/with-schemas/index.js +31 -22
  467. package/index.js +25 -14
  468. package/indexes/index.js +9 -7
  469. package/indexes/with-schemas/index.js +9 -7
  470. package/mergeable-store/index.js +20 -11
  471. package/mergeable-store/with-schemas/index.js +20 -11
  472. package/metrics/index.js +9 -7
  473. package/metrics/with-schemas/index.js +9 -7
  474. package/min/index.js +1 -1
  475. package/min/index.js.gz +0 -0
  476. package/min/mergeable-store/index.js +1 -1
  477. package/min/mergeable-store/index.js.gz +0 -0
  478. package/min/mergeable-store/with-schemas/index.js +1 -1
  479. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  480. package/min/persisters/persister-automerge/index.js +1 -1
  481. package/min/persisters/persister-automerge/index.js.gz +0 -0
  482. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  483. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  484. package/min/persisters/persister-browser/index.js +1 -1
  485. package/min/persisters/persister-browser/index.js.gz +0 -0
  486. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  487. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  488. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  489. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  490. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  491. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  492. package/min/persisters/persister-electric-sql/index.js +1 -1
  493. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  494. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  495. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  496. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  497. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  498. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  499. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  500. package/min/persisters/persister-file/index.js +1 -1
  501. package/min/persisters/persister-file/index.js.gz +0 -0
  502. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  503. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  504. package/min/persisters/persister-libsql/index.js +1 -1
  505. package/min/persisters/persister-libsql/index.js.gz +0 -0
  506. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  507. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  508. package/min/persisters/persister-partykit-client/index.js +1 -1
  509. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  510. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  511. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  512. package/min/persisters/persister-partykit-server/index.js +1 -1
  513. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  514. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  515. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  516. package/min/persisters/persister-pglite/index.js +1 -0
  517. package/min/persisters/persister-pglite/index.js.gz +0 -0
  518. package/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  519. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  520. package/min/persisters/persister-postgres/index.js +1 -1
  521. package/min/persisters/persister-postgres/index.js.gz +0 -0
  522. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  523. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  524. package/min/persisters/persister-powersync/index.js +1 -1
  525. package/min/persisters/persister-powersync/index.js.gz +0 -0
  526. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  527. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  528. package/min/persisters/persister-remote/index.js +1 -1
  529. package/min/persisters/persister-remote/index.js.gz +0 -0
  530. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  531. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  532. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  533. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  534. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  535. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  536. package/min/persisters/persister-sqlite3/index.js +1 -1
  537. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  538. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  539. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  540. package/min/store/index.js +1 -1
  541. package/min/store/index.js.gz +0 -0
  542. package/min/store/with-schemas/index.js +1 -1
  543. package/min/store/with-schemas/index.js.gz +0 -0
  544. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  545. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  546. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  547. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  548. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  549. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  550. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  551. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  552. package/min/tools/index.js +1 -1
  553. package/min/tools/index.js.gz +0 -0
  554. package/min/tools/with-schemas/index.js +1 -1
  555. package/min/tools/with-schemas/index.js.gz +0 -0
  556. package/min/ui-react-inspector/index.js +1 -1
  557. package/min/ui-react-inspector/index.js.gz +0 -0
  558. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  559. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  560. package/min/with-schemas/index.js +1 -1
  561. package/min/with-schemas/index.js.gz +0 -0
  562. package/package.json +218 -110
  563. package/persisters/index.js +5 -3
  564. package/persisters/persister-automerge/index.js +7 -4
  565. package/persisters/persister-automerge/with-schemas/index.js +7 -4
  566. package/persisters/persister-browser/index.js +8 -5
  567. package/persisters/persister-browser/with-schemas/index.js +8 -5
  568. package/persisters/persister-cr-sqlite-wasm/index.js +103 -60
  569. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -60
  570. package/persisters/persister-electric-sql/index.js +103 -60
  571. package/persisters/persister-electric-sql/with-schemas/index.js +103 -60
  572. package/persisters/persister-expo-sqlite/index.js +103 -60
  573. package/persisters/persister-expo-sqlite/with-schemas/index.js +103 -60
  574. package/persisters/persister-file/index.js +9 -5
  575. package/persisters/persister-file/with-schemas/index.js +9 -5
  576. package/persisters/persister-indexed-db/index.js +5 -3
  577. package/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  578. package/persisters/persister-libsql/index.js +103 -60
  579. package/persisters/persister-libsql/with-schemas/index.js +103 -60
  580. package/persisters/persister-partykit-client/index.js +8 -5
  581. package/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  582. package/persisters/persister-partykit-server/index.js +39 -27
  583. package/persisters/persister-partykit-server/with-schemas/index.js +39 -27
  584. package/persisters/persister-pglite/index.js +992 -0
  585. package/persisters/persister-pglite/with-schemas/index.js +992 -0
  586. package/persisters/persister-postgres/index.js +126 -52
  587. package/persisters/persister-postgres/with-schemas/index.js +126 -52
  588. package/persisters/persister-powersync/index.js +105 -62
  589. package/persisters/persister-powersync/with-schemas/index.js +105 -62
  590. package/persisters/persister-remote/index.js +8 -5
  591. package/persisters/persister-remote/with-schemas/index.js +8 -5
  592. package/persisters/persister-sqlite-wasm/index.js +103 -60
  593. package/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -60
  594. package/persisters/persister-sqlite3/index.js +103 -60
  595. package/persisters/persister-sqlite3/with-schemas/index.js +103 -60
  596. package/persisters/persister-yjs/index.js +5 -3
  597. package/persisters/persister-yjs/with-schemas/index.js +5 -3
  598. package/persisters/with-schemas/index.js +5 -3
  599. package/readme.md +2 -2
  600. package/relationships/index.js +9 -7
  601. package/relationships/with-schemas/index.js +9 -7
  602. package/store/index.js +20 -11
  603. package/store/with-schemas/index.js +20 -11
  604. package/synchronizers/index.js +5 -3
  605. package/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  606. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  607. package/synchronizers/synchronizer-local/index.js +5 -3
  608. package/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  609. package/synchronizers/synchronizer-ws-client/index.js +12 -8
  610. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -8
  611. package/synchronizers/synchronizer-ws-server/index.js +34 -25
  612. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -25
  613. package/synchronizers/with-schemas/index.js +5 -3
  614. package/tools/index.js +1 -1
  615. package/tools/with-schemas/index.js +1 -1
  616. package/ui-react-inspector/index.js +29 -17
  617. package/ui-react-inspector/with-schemas/index.js +29 -17
  618. package/umd/checkpoints/index.js +9 -7
  619. package/umd/checkpoints/with-schemas/index.js +9 -7
  620. package/umd/es6/checkpoints/index.js +15 -13
  621. package/umd/es6/checkpoints/with-schemas/index.js +15 -13
  622. package/umd/es6/index.js +31 -22
  623. package/umd/es6/indexes/index.js +15 -13
  624. package/umd/es6/indexes/with-schemas/index.js +15 -13
  625. package/umd/es6/mergeable-store/index.js +26 -19
  626. package/umd/es6/mergeable-store/with-schemas/index.js +26 -19
  627. package/umd/es6/metrics/index.js +15 -13
  628. package/umd/es6/metrics/with-schemas/index.js +15 -13
  629. package/umd/es6/min/index.js +1 -1
  630. package/umd/es6/min/index.js.gz +0 -0
  631. package/umd/es6/min/mergeable-store/index.js +1 -1
  632. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  633. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  634. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  635. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  636. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  637. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  638. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  639. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  640. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  641. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  642. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  643. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  644. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  645. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  646. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  647. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  648. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  649. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  650. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  651. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  652. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  653. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  654. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  655. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  656. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  657. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  658. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  659. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  660. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  661. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  662. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  663. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  664. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  665. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  666. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  667. package/umd/es6/min/persisters/persister-partykit-server/index.js +1 -1
  668. package/umd/es6/min/persisters/persister-partykit-server/index.js.gz +0 -0
  669. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  670. package/umd/es6/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  671. package/umd/es6/min/persisters/persister-pglite/index.js +1 -0
  672. package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
  673. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  674. package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  675. package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
  676. package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
  677. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  678. package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  679. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  680. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  681. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  682. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  683. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  684. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  685. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  686. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  687. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  688. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  689. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  690. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  691. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  692. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  693. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  694. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  695. package/umd/es6/min/store/index.js +1 -1
  696. package/umd/es6/min/store/index.js.gz +0 -0
  697. package/umd/es6/min/store/with-schemas/index.js +1 -1
  698. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  699. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  700. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  701. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  702. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  703. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  704. package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  705. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  706. package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  707. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  708. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  709. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  710. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  711. package/umd/es6/min/with-schemas/index.js +1 -1
  712. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  713. package/umd/es6/persisters/index.js +5 -3
  714. package/umd/es6/persisters/persister-automerge/index.js +7 -4
  715. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +7 -4
  716. package/umd/es6/persisters/persister-browser/index.js +8 -7
  717. package/umd/es6/persisters/persister-browser/with-schemas/index.js +8 -7
  718. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +151 -106
  719. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +151 -106
  720. package/umd/es6/persisters/persister-electric-sql/index.js +151 -106
  721. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +151 -106
  722. package/umd/es6/persisters/persister-expo-sqlite/index.js +151 -106
  723. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +151 -106
  724. package/umd/es6/persisters/persister-file/index.js +9 -7
  725. package/umd/es6/persisters/persister-file/with-schemas/index.js +9 -7
  726. package/umd/es6/persisters/persister-indexed-db/index.js +5 -3
  727. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  728. package/umd/es6/persisters/persister-libsql/index.js +151 -106
  729. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +151 -106
  730. package/umd/es6/persisters/persister-partykit-client/index.js +8 -5
  731. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  732. package/umd/es6/persisters/persister-partykit-server/index.js +39 -24
  733. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +39 -24
  734. package/umd/es6/persisters/persister-pglite/index.js +1341 -0
  735. package/umd/es6/persisters/persister-pglite/with-schemas/index.js +1341 -0
  736. package/umd/es6/persisters/persister-postgres/index.js +171 -94
  737. package/umd/es6/persisters/persister-postgres/with-schemas/index.js +171 -94
  738. package/umd/es6/persisters/persister-powersync/index.js +153 -108
  739. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +153 -108
  740. package/umd/es6/persisters/persister-remote/index.js +8 -5
  741. package/umd/es6/persisters/persister-remote/with-schemas/index.js +8 -5
  742. package/umd/es6/persisters/persister-sqlite-wasm/index.js +151 -106
  743. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +151 -106
  744. package/umd/es6/persisters/persister-sqlite3/index.js +151 -106
  745. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +151 -106
  746. package/umd/es6/persisters/persister-yjs/index.js +5 -3
  747. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -3
  748. package/umd/es6/persisters/with-schemas/index.js +5 -3
  749. package/umd/es6/relationships/index.js +15 -13
  750. package/umd/es6/relationships/with-schemas/index.js +15 -13
  751. package/umd/es6/store/index.js +26 -19
  752. package/umd/es6/store/with-schemas/index.js +26 -19
  753. package/umd/es6/synchronizers/index.js +5 -3
  754. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  755. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  756. package/umd/es6/synchronizers/synchronizer-local/index.js +5 -3
  757. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  758. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +12 -10
  759. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
  760. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +83 -81
  761. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +83 -81
  762. package/umd/es6/synchronizers/with-schemas/index.js +5 -3
  763. package/umd/es6/ui-react-inspector/index.js +35 -27
  764. package/umd/es6/ui-react-inspector/with-schemas/index.js +35 -27
  765. package/umd/es6/with-schemas/index.js +31 -22
  766. package/umd/index.js +25 -14
  767. package/umd/indexes/index.js +9 -7
  768. package/umd/indexes/with-schemas/index.js +9 -7
  769. package/umd/mergeable-store/index.js +20 -11
  770. package/umd/mergeable-store/with-schemas/index.js +20 -11
  771. package/umd/metrics/index.js +9 -7
  772. package/umd/metrics/with-schemas/index.js +9 -7
  773. package/umd/min/index.js +1 -1
  774. package/umd/min/index.js.gz +0 -0
  775. package/umd/min/mergeable-store/index.js +1 -1
  776. package/umd/min/mergeable-store/index.js.gz +0 -0
  777. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  778. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  779. package/umd/min/persisters/persister-automerge/index.js +1 -1
  780. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  781. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  782. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  783. package/umd/min/persisters/persister-browser/index.js +1 -1
  784. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  785. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  786. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  787. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  788. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  789. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  790. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  791. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  792. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  793. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  794. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  795. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  796. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  797. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  798. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  799. package/umd/min/persisters/persister-file/index.js +1 -1
  800. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  801. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  802. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  803. package/umd/min/persisters/persister-libsql/index.js +1 -1
  804. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  805. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  806. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  807. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  808. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  809. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  810. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  811. package/umd/min/persisters/persister-partykit-server/index.js +1 -1
  812. package/umd/min/persisters/persister-partykit-server/index.js.gz +0 -0
  813. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  814. package/umd/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  815. package/umd/min/persisters/persister-pglite/index.js +1 -0
  816. package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
  817. package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -0
  818. package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  819. package/umd/min/persisters/persister-postgres/index.js +1 -1
  820. package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
  821. package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  822. package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  823. package/umd/min/persisters/persister-powersync/index.js +1 -1
  824. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  825. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  826. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  827. package/umd/min/persisters/persister-remote/index.js +1 -1
  828. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  829. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  830. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  831. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  832. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  833. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  834. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  835. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  836. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  837. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  838. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  839. package/umd/min/store/index.js +1 -1
  840. package/umd/min/store/index.js.gz +0 -0
  841. package/umd/min/store/with-schemas/index.js +1 -1
  842. package/umd/min/store/with-schemas/index.js.gz +0 -0
  843. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  844. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  845. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  846. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  847. package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  848. package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  849. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  850. package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  851. package/umd/min/tools/index.js +1 -1
  852. package/umd/min/tools/index.js.gz +0 -0
  853. package/umd/min/tools/with-schemas/index.js +1 -1
  854. package/umd/min/tools/with-schemas/index.js.gz +0 -0
  855. package/umd/min/ui-react-inspector/index.js +1 -1
  856. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  857. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  858. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  859. package/umd/min/with-schemas/index.js +1 -1
  860. package/umd/min/with-schemas/index.js.gz +0 -0
  861. package/umd/persisters/index.js +5 -3
  862. package/umd/persisters/persister-automerge/index.js +7 -4
  863. package/umd/persisters/persister-automerge/with-schemas/index.js +7 -4
  864. package/umd/persisters/persister-browser/index.js +8 -7
  865. package/umd/persisters/persister-browser/with-schemas/index.js +8 -7
  866. package/umd/persisters/persister-cr-sqlite-wasm/index.js +103 -62
  867. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +103 -62
  868. package/umd/persisters/persister-electric-sql/index.js +103 -62
  869. package/umd/persisters/persister-electric-sql/with-schemas/index.js +103 -62
  870. package/umd/persisters/persister-expo-sqlite/index.js +103 -62
  871. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +103 -62
  872. package/umd/persisters/persister-file/index.js +9 -7
  873. package/umd/persisters/persister-file/with-schemas/index.js +9 -7
  874. package/umd/persisters/persister-indexed-db/index.js +5 -3
  875. package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -3
  876. package/umd/persisters/persister-libsql/index.js +103 -62
  877. package/umd/persisters/persister-libsql/with-schemas/index.js +103 -62
  878. package/umd/persisters/persister-partykit-client/index.js +8 -5
  879. package/umd/persisters/persister-partykit-client/with-schemas/index.js +8 -5
  880. package/umd/persisters/persister-partykit-server/index.js +39 -27
  881. package/umd/persisters/persister-partykit-server/with-schemas/index.js +39 -27
  882. package/umd/persisters/persister-pglite/index.js +1010 -0
  883. package/umd/persisters/persister-pglite/with-schemas/index.js +1010 -0
  884. package/umd/persisters/persister-postgres/index.js +126 -54
  885. package/umd/persisters/persister-postgres/with-schemas/index.js +126 -54
  886. package/umd/persisters/persister-powersync/index.js +105 -64
  887. package/umd/persisters/persister-powersync/with-schemas/index.js +105 -64
  888. package/umd/persisters/persister-remote/index.js +8 -5
  889. package/umd/persisters/persister-remote/with-schemas/index.js +8 -5
  890. package/umd/persisters/persister-sqlite-wasm/index.js +103 -62
  891. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +103 -62
  892. package/umd/persisters/persister-sqlite3/index.js +103 -62
  893. package/umd/persisters/persister-sqlite3/with-schemas/index.js +103 -62
  894. package/umd/persisters/persister-yjs/index.js +5 -3
  895. package/umd/persisters/persister-yjs/with-schemas/index.js +5 -3
  896. package/umd/persisters/with-schemas/index.js +5 -3
  897. package/umd/relationships/index.js +9 -7
  898. package/umd/relationships/with-schemas/index.js +9 -7
  899. package/umd/store/index.js +20 -11
  900. package/umd/store/with-schemas/index.js +20 -11
  901. package/umd/synchronizers/index.js +5 -3
  902. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +5 -3
  903. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +5 -3
  904. package/umd/synchronizers/synchronizer-local/index.js +5 -3
  905. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +5 -3
  906. package/umd/synchronizers/synchronizer-ws-client/index.js +12 -10
  907. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +12 -10
  908. package/umd/synchronizers/synchronizer-ws-server/index.js +34 -27
  909. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +34 -27
  910. package/umd/synchronizers/with-schemas/index.js +5 -3
  911. package/umd/tools/index.js +1 -1
  912. package/umd/tools/with-schemas/index.js +1 -1
  913. package/umd/ui-react-inspector/index.js +29 -19
  914. package/umd/ui-react-inspector/with-schemas/index.js +29 -19
  915. package/umd/with-schemas/index.js +25 -14
  916. package/with-schemas/index.js +25 -14
@@ -1 +1 @@
1
- "use strict";const t=globalThis.window,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=t=>Array.isArray(t),r=t=>{throw Error(t)},n=Object,o=t=>n.getPrototypeOf(t),i=n.keys,c=n.freeze,g=t=>(t=>!e(t)&&a(o(t),(t=>t==n.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),y=JSON.parse,l=t=>new Map(t),d=(t,e)=>t?.get(e),u=(t,a,s)=>{return e(s)?(r=t,n=a,r?.delete(n),t):t?.set(a,s);var r,n},p=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||u(t,e,a()),d(t,e)},v=l(),h=l(),w="storage",S=(n,o,i,l)=>((t,n,o,i,y,l,w,S={},C=[])=>{let A,b,f,L=0,M=0,O=0;p(v,C,(()=>0)),p(h,C,(()=>[]));const[m,N,P,T,E]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:r("Store type not supported by this Persister"))(w,t),J=e=>{(m&&s(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},k=async t=>(2!=L&&(L=1,M++,await j((async()=>{try{const t=await n();s(t)?J(t):r("Content is not an array "+t)}catch(e){l?.(e),t&&E(t)}L=0}))),z),x=()=>(b&&(y(b),b=void 0),z),D=async t=>(1!=L&&(L=2,O++,await j((async()=>{try{await o(N,t)}catch(t){l?.(t)}L=0}))),z),I=()=>(a(f,t.delListener),f=void 0,z),j=async(...t)=>(((t,...e)=>{t.push(...e)})(d(h,C),...t),await(async()=>{if(!d(v,C)){for(u(v,C,1);!e((t=d(h,C),A=t.shift()));)try{await A()}catch(t){l?.(t)}u(v,C,0)}var t})(),z),z={load:k,startAutoLoad:async t=>{await x().load(t);try{b=await i((async(t,e)=>{e||t?2!=L&&(L=1,M++,J(e??t),L=0):await k()}))}catch(t){l?.(t)}return z},stopAutoLoad:x,isAutoLoading:()=>!e(b),save:D,startAutoSave:async()=>(await I().save(),f=t.addDidFinishTransactionListener((()=>{const t=P();T(t)&&D(t)})),z),stopAutoSave:I,isAutoSaving:()=>!e(f),schedule:j,getStore:()=>t,destroy:()=>(d(h,C).splice(0,void 0),x().stopAutoSave()),getStats:()=>({loads:M,saves:O}),...S};return c(z)})(n,(async()=>{return t=i.getItem(o),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return i.setItem(o,(e=t(),JSON.stringify(e,((t,e)=>void 0===e?"":e))));var e}),(e=>{const a=t=>{if(t.storageArea===i&&t.key===o)try{e(y(t.newValue))}catch{e()}};return t.addEventListener(w,a),a}),(e=>t.removeEventListener(w,e)),l,3,{getStorageName:()=>o});exports.createLocalPersister=(t,e,a)=>S(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>S(t,e,sessionStorage,a);
1
+ "use strict";const t=globalThis.window,e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=t=>Array.isArray(t),r=t=>{throw Error(t)},n=Object,o=t=>n.getPrototypeOf(t),i=n.keys,c=n.freeze,g=t=>(t=>!e(t)&&a(o(t),(t=>t==n.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),y=JSON.stringify,l=JSON.parse,d=t=>new Map(t),u=(t,e)=>t?.get(e),v=(t,a,s)=>{return e(s)?(r=t,n=a,r?.delete(n),t):t?.set(a,s);var r,n},p=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||v(t,e,a()),u(t,e)},h=d(),w=d(),S="storage",C=(n,o,i,d)=>((t,n,o,i,y,l,d,S={},C=[])=>{let A,b,f,L=0,M=0,m=0;p(h,C,(()=>0)),p(w,C,(()=>[]));const[O,P,T,E,N]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:r("Store type not supported by this Persister"))(d,t),k=e=>{(O&&s(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=L&&(L=1,M++,await j((async()=>{try{const t=await n();s(t)?k(t):r("Content is not an array "+t)}catch(e){l?.(e),t&&N(t)}L=0}))),z),D=()=>(b&&(y(b),b=void 0),z),I=async t=>(1!=L&&(L=2,m++,await j((async()=>{try{await o(P,t)}catch(t){l?.(t)}L=0}))),z),J=()=>(a(f,t.delListener),f=void 0,z),j=async(...t)=>(((t,...e)=>{t.push(...e)})(u(w,C),...t),await(async()=>{if(!u(h,C)){for(v(h,C,1);!e((t=u(w,C),A=t.shift()));)try{await A()}catch(t){l?.(t)}v(h,C,0)}var t})(),z),z={load:x,startAutoLoad:async t=>{await D().load(t);try{b=await i((async(t,e)=>{e||t?2!=L&&(L=1,M++,k(e??t),L=0):await x()}))}catch(t){l?.(t)}return z},stopAutoLoad:D,isAutoLoading:()=>!e(b),save:I,startAutoSave:async()=>(await J().save(),f=t.addDidFinishTransactionListener((()=>{const t=T();E(t)&&I(t)})),z),stopAutoSave:J,isAutoSaving:()=>!e(f),schedule:j,getStore:()=>t,destroy:()=>(u(w,C).splice(0,void 0),D().stopAutoSave()),getStats:()=>({loads:M,saves:m}),...S};return c(z)})(n,(async()=>{return t=i.getItem(o),l(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return i.setItem(o,(e=t(),y(e,((t,e)=>void 0===e?"":e))));var e}),(e=>{const a=t=>{if(t.storageArea===i&&t.key===o)try{e(l(t.newValue))}catch{e()}};return t.addEventListener(S,a),a}),(e=>t.removeEventListener(S,e)),d,3,{getStorageName:()=>o});exports.createLocalPersister=(t,e,a)=>C(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>C(t,e,sessionStorage,a);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,$="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),G=(a,t)=>E(U(a),(([a,e])=>t(e,a))),H=a=>j.values(a),W=a=>w(B(a)),q=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==W(a),z=a=>new Map(a),K=(a,t)=>a?.get(t),Q=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),V=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(P(a,t)||V(a,t,e()),K(a,t)),Z=z(),aa=z(),ta=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;X(Z,w,(()=>0)),X(aa,w,(()=>[]));const[N,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),T=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?T(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(K(aa,w),...a),await(async()=>{if(!K(Z,w)){for(V(Z,w,1);!r((a=K(aa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}V(Z,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(K(aa,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ea=a=>new Set(l(a)||r(a)?a:[a]),na=(a,t)=>a?.add(t),sa=(a,t,n,s,i)=>{const o=z();return[async()=>{o.clear(),E(await n(a,t),(({tn:a,cn:t})=>na(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(K(o,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!q(t)))):{},async(t,n,s,c,l,y=!1)=>{const w=ea();G(s??{},(a=>E(B(a??{}),(a=>na(w,a)))));const d=_(w);if(!y&&l&&A(d)&&P(o,t))return await a("DROP "+S+D(t)),void V(o,t);const v=K(o,t),N=ea(_(v));if(A(d)||(P(o,t)?await u(E([n,...d],(async(e,s)=>{F(N,e)||(await a(T+D(t)+"ADD"+D(e)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),na(v,e))}))):(await a("CREATE "+S+D(t)+`(${D(n)}text PRIMARY KEY${p(E(d,(a=>e+D(a)+"json")))});`),V(o,t,ea([n,...d])))),await u([...!y&&c?E(_(N),(async e=>{e!=n&&(await a(T+D(t)+"DROP"+D(e)),F(v,e))})):[]]),y)r(s)?await a($+D(t)+O+" true"):await u(G(s,(async(e,s)=>{r(e)?await a($+D(t)+O+D(n)+"=$1",[s]):A(d)||await ia(a,t,n,B(e),[s,...H(e)],i)})));else if(A(d))P(o,t)&&await a($+D(t)+O+" true");else{const e=g(_(K(o,t)),(a=>a!=n)),r=[],c=[];G(s??{},((a,t)=>{m(r,t,...E(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,n,e,r,i),await a($+D(t)+O+D(n)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,n,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+ra(i,w(s)+1)+(r?"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e):""),E(i,(a=>a??null))),ra=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v)=>{const[p,E,A,g]=sa(t,y,w,s,v),m=ta(a,(async()=>await g((async()=>{return await p(),a=(await E(o,c))[N]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await p(),await A(o,c,{[N]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m)=>{const[C,O,S,T]=sa(t,v,p,s,m),$=async(a,t)=>await u(Q(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await S(d,h,{[N]:a},!0,!0,t):null,I=ta(a,(async()=>await T((async()=>{await C();const a=await(async()=>Y(g(await u(Q(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>y?(await O(d,h))[N]:{})();return q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await C(),r(t)){const[t,e]=a();await $(t),await f(e)}else await $(t[0],!0),await f(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(I.stopAutoLoad().stopAutoSave(),i(),I)},E);return I},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,va=ya+la,pa="autoLoadIntervalSeconds",Ea="rowId"+la,Aa="tableId",ga="tableName",ma="deleteEmptyColumns",Na="deleteEmptyTable",ha={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=z();return G(a,((a,o)=>{const l=y(H(k(t,c(a)?{[e]:a}:a)),0,W(t));r(l[0])||n(o,l[0])||(s(o,l[0]),V(i,o,l))})),i};exports.createCrSqliteWasmPersister=(a,e,n,s,r)=>((a,e,n,s,r,o,l,w,u,d="getDb",v)=>{let p,E,A;const[g,m,N,S]=(a=>{const e=(a=>k(ha,c(a)?{[ua]:a}:a??{}))(a),n=e[pa];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??h,e[va]??ya],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(H(k(Ca,r)),0,W(Ca)),l=o[2],w=ea(l),u=ea(l);return[0,n,[Oa(s,{[Aa]:null,[Ea]:h},Aa,(a=>P(u,a)),(a=>na(w,a))),Oa(i,{[ga]:null,[Ea]:h,[ma]:0,[Na]:0},ga,((a,t)=>P(u,t)),((a,t)=>na(w,t))),o],w]})(e);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(C+` ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==(p??=t)&&e==(E??=e)&&s==(A??=s)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>S.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),p=E=A=null,r(t)}),l,(()=>0),w,N,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,r,1,e);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d="getDb",v)=>{let p,E,A;const g=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,$,S]=(a=>{const e=(a=>k($a,c(a)?{[pa]:a}:a??{}))(a),n=e[ga];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[Aa]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(k(Sa,r)),0,q(Sa)),l=o[2],w=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(w,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[Oa]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(w,t))),o],w]})(e);return(m?ya:wa)(a,g,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await g(`${C} ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==p&&e==E&&n==A||(null!=p&&a(),p=t,E=e,A=n)}catch{}}),1e3*N),n=()=>{p=E=A=null,i(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),w,$,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>fa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,1,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,$="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),G=(a,t)=>E(U(a),(([a,e])=>t(e,a))),H=a=>j.values(a),W=a=>w(B(a)),q=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==W(a),z=a=>new Map(a),K=(a,t)=>a?.get(t),Q=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),V=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(P(a,t)||V(a,t,e()),K(a,t)),Z=z(),aa=z(),ta=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;X(Z,w,(()=>0)),X(aa,w,(()=>[]));const[N,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),T=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?T(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(K(aa,w),...a),await(async()=>{if(!K(Z,w)){for(V(Z,w,1);!r((a=K(aa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}V(Z,w,0)}var a})(),L),L={load:$,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(K(aa,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ea=a=>new Set(l(a)||r(a)?a:[a]),na=(a,t)=>a?.add(t),sa=(a,t,n,s,i)=>{const o=z();return[async()=>{o.clear(),E(await n(a,t),(({tn:a,cn:t})=>na(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(K(o,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!q(t)))):{},async(t,n,s,c,l,y=!1)=>{const w=ea();G(s??{},(a=>E(B(a??{}),(a=>na(w,a)))));const d=_(w);if(!y&&l&&A(d)&&P(o,t))return await a("DROP "+S+D(t)),void V(o,t);const v=K(o,t),N=ea(_(v));if(A(d)||(P(o,t)?await u(E([n,...d],(async(e,s)=>{F(N,e)||(await a(T+D(t)+"ADD"+D(e)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),na(v,e))}))):(await a("CREATE "+S+D(t)+`(${D(n)}text PRIMARY KEY${p(E(d,(a=>e+D(a)+"json")))});`),V(o,t,ea([n,...d])))),await u([...!y&&c?E(_(N),(async e=>{e!=n&&(await a(T+D(t)+"DROP"+D(e)),F(v,e))})):[]]),y)r(s)?await a($+D(t)+O+" true"):await u(G(s,(async(e,s)=>{r(e)?await a($+D(t)+O+D(n)+"=$1",[s]):A(d)||await ia(a,t,n,B(e),[s,...H(e)],i)})));else if(A(d))P(o,t)&&await a($+D(t)+O+" true");else{const e=g(_(K(o,t)),(a=>a!=n)),r=[],c=[];G(s??{},((a,t)=>{m(r,t,...E(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,n,e,r,i),await a($+D(t)+O+D(n)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,n,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+ra(i,w(s)+1)+(r?"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e):""),E(i,(a=>a??null))),ra=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v)=>{const[p,E,A,g]=sa(t,y,w,s,v),m=ta(a,(async()=>await g((async()=>{return await p(),a=(await E(o,c))[N]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await p(),await A(o,c,{[N]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m)=>{const[C,O,S,T]=sa(t,v,p,s,m),$=async(a,t)=>await u(Q(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await S(d,h,{[N]:a},!0,!0,t):null,I=ta(a,(async()=>await T((async()=>{await C();const a=await(async()=>Y(g(await u(Q(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>y?(await O(d,h))[N]:{})();return q(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await C(),r(t)){const[t,e]=a();await $(t),await f(e)}else await $(t[0],!0),await f(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(I.stopAutoLoad().stopAutoSave(),i(),I)},E);return I},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,va=ya+la,pa="autoLoadIntervalSeconds",Ea="rowId"+la,Aa="tableId",ga="tableName",ma="deleteEmptyColumns",Na="deleteEmptyTable",ha={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=z();return G(a,((a,o)=>{const l=y(H(k(t,c(a)?{[e]:a}:a)),0,W(t));r(l[0])||n(o,l[0])||(s(o,l[0]),V(i,o,l))})),i};exports.createCrSqliteWasmPersister=(a,e,n,s,r)=>((a,e,n,s,r,o,l,w,u,d="getDb",v)=>{let p,E,A;const[g,m,N,S]=(a=>{const e=(a=>k(ha,c(a)?{[ua]:a}:a??{}))(a),n=e[pa];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??h,e[va]??ya],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(H(k(Ca,r)),0,W(Ca)),l=o[2],w=ea(l),u=ea(l);return[0,n,[Oa(s,{[Aa]:null,[Ea]:h},Aa,(a=>P(u,a)),(a=>na(w,a))),Oa(i,{[ga]:null,[Ea]:h,[ma]:0,[Na]:0},ga,((a,t)=>P(u,t)),((a,t)=>na(w,t))),o],w]})(e);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(C+` ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==(p??=t)&&e==(E??=e)&&s==(A??=s)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>S.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),p=E=A=null,r(t)}),l,(()=>0),w,N,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,r,1,e);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),y=(a,t,e)=>a.slice(t,e),w=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),A=a=>0==w(a),g=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",$="TABLE",S="ALTER "+$,T="DELETE FROM",f=C+"*FROM",I="pragma_",R="data_version",b="schema_version",L="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>E(x(a),(([a,e])=>t(e,a))),W=a=>U.values(a),q=a=>w(B(a)),z=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==q(a),K=JSON.stringify,Q=JSON.parse,V=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=V(),na=V(),sa=(a,t,e,n,s,i,c,y={},w=[])=>{let u,v,p,E=0,A=0,g=0;ta(ea,w,(()=>0)),ta(na,w,(()=>[]));const[N,h,C,O,$]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await b((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&$(a)}E=0}))),L),f=()=>(v&&(s(v),v=void 0),L),I=async a=>(1!=E&&(E=2,g++,await b((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),L),R=()=>(o(p,a.delListener),p=void 0,L),b=async(...a)=>(m(X(na,w),...a),await(async()=>{if(!X(ea,w)){for(aa(ea,w,1);!r((a=X(na,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>{await f().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return L},stopAutoLoad:f,isAutoLoading:()=>!r(v),save:I,startAutoSave:async()=>(await R().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&I(a)})),L),stopAutoSave:R,isAutoSaving:()=>!r(p),schedule:b,getStore:()=>a,destroy:()=>(X(na,w).splice(0,void 0),f().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...y};return J(L)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const y=V();return[async()=>{y.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(y,a,ia),t)))},async(t,e)=>((a,t)=>P(X(y,a),t))(t,e)?Y(g(E(await a(f+D(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,l,w,d=!1)=>{const v=ia();H(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&w&&A(N)&&P(y,t))return await a("DROP "+$+D(t)),void aa(y,t);const h=X(y,t),C=ia(_(h));if(A(N)||(P(y,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+$+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(y,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+O+" true"):await u(H(s,(async(e,s)=>{r(e)?await a(T+D(t)+O+D(n)+"=$1",[s]):A(N)||await ca(a,t,n,B(e),[s,...c?E(W(e),c):W(e)],o)})));else if(A(N))P(y,t)&&await a(T+D(t)+O+" true");else{const e=g(_(X(y,t)),(a=>a!=n)),i=[],r=[];H(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+O+D(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,w(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(w(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),ya=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=oa(t,y,w,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[N]?.[l]??"null",Q(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[N]:{[l]:(t=a()??null,K(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},wa=(a,t,e,n,s,i,o,[c,l,[y,w,d]],v,p,E,A,m,C,O,$)=>{const[S,T,f,I]=oa(t,v,p,s,m,C,O,$),R=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await f(d,h,{[N]:a},!0,!0,t):null,L=sa(a,(async()=>await I((async()=>{await S();const a=await(async()=>Y(g(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>y?(await T(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await I((async()=>{if(await S(),r(t)){const[t,e]=a();await R(t),await b(e)}else await R(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[A]:()=>E,destroy:()=>(L.stopAutoLoad().stopAutoSave(),i(),L)},E);return L},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,Aa=da+ua,ga="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",$a={mode:va,[ga]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=V();return H(a,((a,o)=>{const l=y(W(k(t,c(a)?{[e]:a}:a)),0,q(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},fa=(a,e,n,s,r,o,l,w,u,d="getDb",v)=>{let p,E,A;const g=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,$,S]=(a=>{const e=(a=>k($a,c(a)?{[pa]:a}:a??{}))(a),n=e[ga];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[Aa]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=y(W(k(Sa,r)),0,q(Sa)),l=o[2],w=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(w,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[Oa]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(w,t))),o],w]})(e);return(m?ya:wa)(a,g,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await g(`${C} ${R} d,${b} s,TOTAL_CHANGES() c FROM ${I}${R} JOIN ${I}${b}`);t==p&&e==E&&n==A||(null!=p&&a(),p=t,E=e,A=n)}catch{}}),1e3*N),n=()=>{p=E=A=null,i(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),w,$,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${L}list()t,${L}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>fa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,1,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",b="WHERE",f="TABLE",O="ALTER "+f,T="DELETE FROM",S=N+"*FROM",$="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),q=(a,t)=>p(U(a),(([a,e])=>t(e,a))),G=a=>j.values(a),H=a=>y(B(a)),z=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==H(a),K=a=>new Map(a),Q=(a,t)=>a?.get(t),V=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(P(a,t)||W(a,t,e()),Q(a,t)),Z=K(),aa=K(),ta=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;X(Z,y,(()=>0)),X(aa,y,(()=>[]));const[h,C,N,b,f]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),O=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?O(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}p=0}))),D),S=()=>(v&&(s(v),v=void 0),D),$=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(Q(aa,y),...a),await(async()=>{if(!Q(Z,y)){for(W(Z,y,1);!r((a=Q(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}W(Z,y,0)}var a})(),D),D={load:T,startAutoLoad:async a=>{await S().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,O(t??a),p=0):await T()}))}catch(a){i?.(a)}return D},stopAutoLoad:S,isAutoLoading:()=>!r(v),save:$,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();b(a)&&$(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(Q(aa,y).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(D)},ea=a=>new Set(l(a)||r(a)?a:[a]),na=(a,t)=>a?.add(t),sa=(a,t,n,s,i)=>{const o=K();return[async()=>{o.clear(),p(await n(a,t),(({tn:a,cn:t})=>na(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(Q(o,a),t))(t,e)?Y(A(p(await a(S+L(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,c,l,w=!1)=>{const y=ea();q(s??{},(a=>p(B(a??{}),(a=>na(y,a)))));const d=_(y);if(!w&&l&&g(d)&&P(o,t))return await a("DROP "+f+L(t)),void W(o,t);const v=Q(o,t),h=ea(_(v));if(g(d)||(P(o,t)?await u(p([n,...d],(async(e,s)=>{F(h,e)||(await a(O+L(t)+"ADD"+L(e)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),na(v,e))}))):(await a("CREATE "+f+L(t)+`(${L(n)}text PRIMARY KEY${E(p(d,(a=>e+L(a)+"json")))});`),W(o,t,ea([n,...d])))),await u([...!w&&c?p(_(h),(async e=>{e!=n&&(await a(O+L(t)+"DROP"+L(e)),F(v,e))})):[]]),w)r(s)?await a(T+L(t)+b+" true"):await u(q(s,(async(e,s)=>{r(e)?await a(T+L(t)+b+L(n)+"=$1",[s]):g(d)||await ia(a,t,n,B(e),[s,...G(e)],i)})));else if(g(d))P(o,t)&&await a(T+L(t)+b+" true");else{const e=A(_(Q(o,t)),(a=>a!=n)),r=[],c=[];q(s??{},((a,t)=>{m(r,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,n,e,r,i),await a(T+L(t)+b+L(n)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,n,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+ra(i,y(s)+1)+(r?"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e):""),p(i,(a=>a??null))),ra=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v)=>{const[E,p,g,A]=sa(t,w,y,s,v),m=ta(a,(async()=>await A((async()=>{return await E(),a=(await p(o,c))[h]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m)=>{const[N,b,f,O]=sa(t,v,E,s,m),T=async(a,t)=>await u(V(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),S=async(a,t)=>y?await f(d,C,{[h]:a},!0,!0,t):null,$=ta(a,(async()=>await O((async()=>{await N();const a=await(async()=>Y(A(await u(V(c,(async([a,t],e)=>[a,await b(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>w?(await b(d,C))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await N(),r(t)){const[t,e]=a();await T(t),await S(e)}else await T(t[0],!0),await S(t[1],!0)}))),e,n,s,o,{[g]:()=>p,destroy:()=>($.stopAutoLoad().stopAutoSave(),i(),$)},p);return $},la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,va=wa+la,Ea="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Aa="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Na={load:0,save:0,[Aa]:t+"_values"},ba=(a,t,e,n,s)=>{const i=K();return q(a,((a,o)=>{const l=w(G(k(t,c(a)?{[e]:a}:a)),0,H(t));r(l[0])||n(o,l[0])||(s(o,l[0]),W(i,o,l))})),i};exports.createElectricSqlPersister=(a,e,n,s,r)=>((a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let E,p,g;const[A,m,h,f]=(a=>{const e=(a=>k(Ca,c(a)?{[ua]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[ua]??t;return[1,n,[a,e[da]??C,e[va]??wa],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(G(k(Na,r)),0,H(Na)),l=o[2],y=ea(l),u=ea(l);return[0,n,[ba(s,{[ga]:null,[pa]:C},ga,(a=>P(u,a)),(a=>na(y,a))),ba(i,{[Aa]:null,[pa]:C,[ma]:0,[ha]:0},Aa,((a,t)=>P(u,t)),((a,t)=>na(y,t))),o],y]})(e);return(A?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(N+` ${I} d,${R} s,TOTAL_CHANGES() c FROM ${$}${I} JOIN ${$}${R}`);t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),E=p=g=null,r(t)}),l,(()=>0),y,h,_(f),(async(a,t)=>await a(`${N} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,r,1,e,"getElectricClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let E,p,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,h,b,f]=(a=>{const e=(a=>q(ba,c(a)?{[Ea]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[Ea]??t;return[1,n,[a,e[pa]??C,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(q(fa,r)),0,z(fa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Oa(s,{[ha]:null,[ma]:C},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Ca]:null,[ma]:C,[Na]:0,[$a]:0},Ca,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(m?wa:ya)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${N} ${I} d,${R} s,TOTAL_CHANGES() c FROM ${S}${I} JOIN ${S}${R}`);t==E&&e==p&&n==g||(null!=E&&a(),E=t,p=e,g=n)}catch{}}),1e3*h),n=()=>{E=p=g=null,i(t)},o=s((t=>{f.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),y,b,_(f),(async(a,t)=>await a(`${N} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createElectricSqlPersister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,1,t,"getElectricClient");
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",b="WHERE",f="TABLE",O="ALTER "+f,T="DELETE FROM",S=N+"*FROM",$="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),q=(a,t)=>p(U(a),(([a,e])=>t(e,a))),G=a=>j.values(a),H=a=>y(B(a)),z=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==H(a),K=a=>new Map(a),Q=(a,t)=>a?.get(t),V=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(P(a,t)||W(a,t,e()),Q(a,t)),Z=K(),aa=K(),ta=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;X(Z,y,(()=>0)),X(aa,y,(()=>[]));const[h,C,N,b,f]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),O=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?O(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}p=0}))),D),S=()=>(v&&(s(v),v=void 0),D),$=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(Q(aa,y),...a),await(async()=>{if(!Q(Z,y)){for(W(Z,y,1);!r((a=Q(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}W(Z,y,0)}var a})(),D),D={load:T,startAutoLoad:async a=>{await S().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,O(t??a),p=0):await T()}))}catch(a){i?.(a)}return D},stopAutoLoad:S,isAutoLoading:()=>!r(v),save:$,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();b(a)&&$(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(Q(aa,y).splice(0,void 0),S().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(D)},ea=a=>new Set(l(a)||r(a)?a:[a]),na=(a,t)=>a?.add(t),sa=(a,t,n,s,i)=>{const o=K();return[async()=>{o.clear(),p(await n(a,t),(({tn:a,cn:t})=>na(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(Q(o,a),t))(t,e)?Y(A(p(await a(S+L(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,n,s,c,l,w=!1)=>{const y=ea();q(s??{},(a=>p(B(a??{}),(a=>na(y,a)))));const d=_(y);if(!w&&l&&g(d)&&P(o,t))return await a("DROP "+f+L(t)),void W(o,t);const v=Q(o,t),h=ea(_(v));if(g(d)||(P(o,t)?await u(p([n,...d],(async(e,s)=>{F(h,e)||(await a(O+L(t)+"ADD"+L(e)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),na(v,e))}))):(await a("CREATE "+f+L(t)+`(${L(n)}text PRIMARY KEY${E(p(d,(a=>e+L(a)+"json")))});`),W(o,t,ea([n,...d])))),await u([...!w&&c?p(_(h),(async e=>{e!=n&&(await a(O+L(t)+"DROP"+L(e)),F(v,e))})):[]]),w)r(s)?await a(T+L(t)+b+" true"):await u(q(s,(async(e,s)=>{r(e)?await a(T+L(t)+b+L(n)+"=$1",[s]):g(d)||await ia(a,t,n,B(e),[s,...G(e)],i)})));else if(g(d))P(o,t)&&await a(T+L(t)+b+" true");else{const e=A(_(Q(o,t)),(a=>a!=n)),r=[],c=[];q(s??{},((a,t)=>{m(r,t,...p(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,n,e,r,i),await a(T+L(t)+b+L(n)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,n,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+ra(i,y(s)+1)+(r?"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e):""),p(i,(a=>a??null))),ra=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v)=>{const[E,p,g,A]=sa(t,w,y,s,v),m=ta(a,(async()=>await A((async()=>{return await E(),a=(await p(o,c))[h]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m)=>{const[N,b,f,O]=sa(t,v,E,s,m),T=async(a,t)=>await u(V(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await f(e,n,a[r],s,i,t)}))),S=async(a,t)=>y?await f(d,C,{[h]:a},!0,!0,t):null,$=ta(a,(async()=>await O((async()=>{await N();const a=await(async()=>Y(A(await u(V(c,(async([a,t],e)=>[a,await b(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>w?(await b(d,C))[h]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await N(),r(t)){const[t,e]=a();await T(t),await S(e)}else await T(t[0],!0),await S(t[1],!0)}))),e,n,s,o,{[g]:()=>p,destroy:()=>($.stopAutoLoad().stopAutoSave(),i(),$)},p);return $},la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,va=wa+la,Ea="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Aa="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Na={load:0,save:0,[Aa]:t+"_values"},ba=(a,t,e,n,s)=>{const i=K();return q(a,((a,o)=>{const l=w(G(k(t,c(a)?{[e]:a}:a)),0,H(t));r(l[0])||n(o,l[0])||(s(o,l[0]),W(i,o,l))})),i};exports.createElectricSqlPersister=(a,e,n,s,r)=>((a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let E,p,g;const[A,m,h,f]=(a=>{const e=(a=>k(Ca,c(a)?{[ua]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[ua]??t;return[1,n,[a,e[da]??C,e[va]??wa],ea(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(G(k(Na,r)),0,H(Na)),l=o[2],y=ea(l),u=ea(l);return[0,n,[ba(s,{[ga]:null,[pa]:C},ga,(a=>P(u,a)),(a=>na(y,a))),ba(i,{[Aa]:null,[pa]:C,[ma]:0,[ha]:0},Aa,((a,t)=>P(u,t)),((a,t)=>na(y,t))),o],y]})(e);return(A?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(N+` ${I} d,${R} s,TOTAL_CHANGES() c FROM ${$}${I} JOIN ${$}${R}`);t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),E=p=g=null,r(t)}),l,(()=>0),y,h,_(f),(async(a,t)=>await a(`${N} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,r,1,e,"getElectricClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>p(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h="_",C="_id",N="SELECT",$="WHERE",b="TABLE",f="ALTER "+b,O="DELETE FROM",T=N+"*FROM",S="pragma_",I="data_version",R="schema_version",D="pragma_table_",L=a=>`"${a.replace(/"/g,'""')}"`,M=a=>E(p(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),B=U.entries,J=U.keys,Y=U.freeze,k=(a=[])=>U.fromEntries(a),q=(...a)=>U.assign({},...a),x=(a,t)=>(delete a[t],a),G=(a,t)=>p(B(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(J(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,E,p=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[h,C,N,$,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),f=t=>{(h&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,g++,await R((async()=>{try{const a=await t();l(a)?f(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&b(a)}p=0}))),D),T=()=>(v&&(s(v),v=void 0),D),S=async a=>(1!=p&&(p=2,A++,await R((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),I=()=>(o(E,a.delListener),E=void 0,D),R=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),D),D={load:O,startAutoLoad:async a=>{await T().load(a);try{v=await n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await O()}))}catch(a){i?.(a)}return D},stopAutoLoad:T,isAutoLoading:()=>!r(v),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=N();$(a)&&S(a)})),D),stopAutoSave:I,isAutoSaving:()=>!r(E),schedule:R,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),T().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return Y(D)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),p(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?k(A(p(await a(T+L(t)),(a=>{return[a[e],l?(t=x(a,e),n=l,k(G(t,((a,t)=>[t,n(a,t)])))):x(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>p(J(a??{}),(a=>ra(v,a)))));const h=_(v);if(!d&&y&&g(h)&&P(w,t))return await a("DROP "+b+L(t)),void aa(w,t);const C=X(w,t),N=ia(_(C));if(g(h)||(P(w,t)?await u(p([n,...h],(async(e,s)=>{F(N,e)||(await a(f+L(t)+"ADD"+L(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+L(t)+`(${L(n)})`),ra(C,e))}))):(await a("CREATE "+b+L(t)+`(${L(n)}${i} PRIMARY KEY${E(p(h,(a=>e+L(a)+i)))});`),aa(w,t,ia([n,...h])))),await u([...!d&&l?p(_(N),(async e=>{e!=n&&(await a(f+L(t)+"DROP"+L(e)),F(C,e))})):[]]),d)r(s)?await a(O+L(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(O+L(t)+$+L(n)+"=$1",[s]):g(h)||await ca(a,t,n,J(e),[s,...c?p(H(e),c):H(e)],o)})));else if(g(h))P(w,t)&&await a(O+L(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...p(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(O+L(t)+$+L(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+L(t)+"("+L(n)+E(p(s,(a=>e+L(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+L(n)+")DO UPDATE SET"+E(p(s,(a=>L(a)+"=excluded."+L(a))),e)),p(i,(a=>a??null))),la=(a,t)=>E(v(y(a)/t,(a=>"("+E(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,E)=>{const[p,g,A,m]=oa(t,w,y,s,v,E),C=sa(a,(async()=>await m((async()=>{return await p(),a=(await g(o,c))[h]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(C.stopAutoLoad().stopAutoSave(),i(),C)},u);return C},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,E,p,g,m,N,$,b)=>{const[f,O,T,S]=oa(t,v,E,s,m,N,$,b),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await T(e,n,a[r],s,i,t)}))),R=async(a,t)=>y?await T(d,C,{[h]:a},!0,!0,t):null,D=sa(a,(async()=>await S((async()=>{await f();const a=await(async()=>k(A(await u(Z(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await O(d,C))[h]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await S((async()=>{if(await f(),r(t)){const[t,e]=a();await I(t),await R(e)}else await I(t[0],!0),await R(t[1],!0)}))),e,n,s,o,{[g]:()=>p,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},p);return D},ua="ColumnName",da="store",va="json",Ea=da+"TableName",pa=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,ha="tableId",Ca="tableName",Na="deleteEmptyColumns",$a="deleteEmptyTable",ba={mode:va,[Aa]:1},fa={load:0,save:0,[Ca]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(q(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},Ta=(a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let E,p,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,h,b,f]=(a=>{const e=(a=>q(ba,c(a)?{[Ea]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[Ea]??t;return[1,n,[a,e[pa]??C,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(q(fa,r)),0,z(fa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Oa(s,{[ha]:null,[ma]:C},ha,(a=>P(u,a)),(a=>ra(y,a))),Oa(i,{[Ca]:null,[ma]:C,[Na]:0,[$a]:0},Ca,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(m?wa:ya)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${N} ${I} d,${R} s,TOTAL_CHANGES() c FROM ${S}${I} JOIN ${S}${R}`);t==E&&e==p&&n==g||(null!=E&&a(),E=t,p=e,g=n)}catch{}}),1e3*h),n=()=>{E=p=g=null,i(t)},o=s((t=>{f.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),y,b,_(f),(async(a,t)=>await a(`${N} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createElectricSqlPersister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,1,t,"getElectricClient");
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite");const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",O="SELECT",S="WHERE",T="TABLE",$="ALTER "+T,b="DELETE FROM",f=O+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,x=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,U=a=>j.getPrototypeOf(a),q=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),G=(a,t)=>A(q(a),(([a,e])=>t(e,a))),H=a=>j.values(a),z=a=>u(B(a)),K=a=>(a=>!o(a)&&c(U(a),(a=>a==j.prototype||o(U(a))),(()=>!0)))(a)&&0==z(a),Q=a=>new Map(a),V=(a,t)=>a?.get(t),W=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),X=(a,t,e)=>o(e)?(F(a,t),a):a?.set(t,e),Z=(a,t,e,n)=>(_(a,t)||X(a,t,e()),V(a,t)),aa=Q(),ta=Q(),ea=(a,t,e,n,s,i,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;Z(aa,w,(()=>0)),Z(ta,w,(()=>[]));const[m,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),T=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?T(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(V(ta,w),...a),await(async()=>{if(!V(aa,w)){for(X(aa,w,1);!o((a=V(ta,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}X(aa,w,0)}var a})(),R),R={load:$,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(V(ta,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},na=a=>new Set(y(a)||o(a)?a:[a]),sa=(a,t)=>a?.add(t),ia=(a,t,e,s,i)=>{const r=Q();return[async()=>{r.clear(),A(await e(a,t),(({tn:a,cn:t})=>sa(Z(r,a,na),t)))},async(t,e)=>((a,t)=>_(V(r,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!K(t)))):{},async(t,e,s,c,l,y=!1)=>{const w=na();G(s??{},(a=>A(B(a??{}),(a=>sa(w,a)))));const u=x(w);if(!y&&l&&g(u)&&_(r,t))return await a("DROP "+T+M(t)),void X(r,t);const v=V(r,t),p=na(x(v));if(g(u)||(_(r,t)?await d(A([e,...u],(async(n,s)=>{F(p,n)||(await a($+M(t)+"ADD"+M(n)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),sa(v,n))}))):(await a("CREATE "+T+M(t)+`(${M(e)}text PRIMARY KEY${E(A(u,(a=>n+M(a)+"json")))});`),X(r,t,na([e,...u])))),await d([...!y&&c?A(x(p),(async n=>{n!=e&&(await a($+M(t)+"DROP"+M(n)),F(v,n))})):[]]),y)o(s)?await a(b+M(t)+S+" true"):await d(G(s,(async(n,s)=>{o(n)?await a(b+M(t)+S+M(e)+"=$1",[s]):g(u)||await ra(a,t,e,B(n),[s,...H(n)],i)})));else if(g(u))_(r,t)&&await a(b+M(t)+S+" true");else{const n=m(x(V(r,t)),(a=>a!=e)),o=[],c=[];G(s??{},((a,t)=>{N(o,t,...A(n,(t=>a?.[t]))),N(c,t)})),await ra(a,t,e,n,o,i),await a(b+M(t)+S+M(e)+`NOT IN(${P(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ra=async(a,t,e,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+oa(i,u(s)+1)+(r?"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n):""),A(i,(a=>a??null))),oa=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),ca=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v)=>{const[p,E,A,g]=ia(t,y,w,s,v),m=ea(a,(async()=>await g((async()=>{return await p(),a=(await E(o,c))[h]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},la=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g)=>{const[N,O,S,T]=ia(t,v,p,s,g),$=async(a,t)=>await d(W(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await S(u,C,{[h]:a},!0,!0,t):null,f=ea(a,(async()=>await T((async()=>{await N();const a=await(async()=>Y(m(await d(W(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>y?(await O(u,C))[h]:{})();return K(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await N(),o(t)){const[t,e]=a();await $(t),await b(e)}else await $(t[0],!0),await b(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(f.stopAutoLoad().stopAutoSave(),i(),f)},E);return f},ya="ColumnName",wa="store",ua="json",da=wa+"TableName",va=wa+"Id"+ya,pa=wa+ya,Ea="autoLoadIntervalSeconds",Aa="rowId"+ya,ga="tableId",ma="tableName",Na="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ua,[Ea]:1},Oa={load:0,save:0,[ma]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=Q();return G(a,((a,r)=>{const c=w(H(k(t,l(a)?{[e]:a}:a)),0,z(t));o(c[0])||n(r,c[0])||(s(r,c[0]),X(i,r,c))})),i};exports.createExpoSqlitePersister=(t,n,s,i,o)=>((a,t,n,s,i,o,c,y,u,d="getDb",v)=>{let p,E,A;const[g,m,N,h]=(a=>{const t=(a=>k(Ca,l(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==ua){const a=t[da]??e;return[1,n,[a,t[va]??C,t[pa]??wa],na(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(H(k(Oa,r)),0,z(Oa)),c=o[2],y=na(c),u=na(c);return[0,n,[Sa(s,{[ga]:null,[Aa]:C},ga,(a=>_(u,a)),(a=>sa(y,a))),Sa(i,{[ma]:null,[Aa]:C,[Na]:0,[ha]:0},ma,((a,t)=>_(u,t)),((a,t)=>sa(y,t))),o],y]})(t);return(g?ca:la)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(O+` ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==(p??=t)&&e==(E??=e)&&s==(A??=s)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),p=E=A=null,i(t)}),c,(()=>0),y,N,x(h),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),i,o,3,n);
1
+ "use strict";var a=require("expo-sqlite");const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d="getDb",v)=>{let p,E,A;const g=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,h,S]=(a=>{const t=(a=>k(Sa,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==pa){const a=t[Ea]??e;return[1,n,[a,t[Aa]??C,t[ga]??va],ra(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(z(k(Ta,r)),0,K(Ta)),c=o[2],y=ra(c),u=ra(c);return[0,n,[ba(s,{[ha]:null,[Na]:C},ha,(a=>_(u,a)),(a=>oa(y,a))),ba(i,{[Ca]:null,[Na]:C,[$a]:0,[Oa]:0},Ca,((a,t)=>_(u,t)),((a,t)=>oa(y,t))),o],y]})(t);return(m?wa:ua)(a,g,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await g(`${$} ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==p&&e==E&&n==A||(null!=p&&a(),p=t,E=e,A=n)}catch{}}),1e3*N),n=()=>{p=E=A=null,r(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,(()=>0),y,h,F(S),(async(a,t)=>await a(`${$} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createExpoSqlitePersister=(t,e,n,s,i)=>fa(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,3,e);
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite");const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",O="SELECT",S="WHERE",T="TABLE",$="ALTER "+T,b="DELETE FROM",f=O+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,x=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,U=a=>j.getPrototypeOf(a),q=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),G=(a,t)=>A(q(a),(([a,e])=>t(e,a))),H=a=>j.values(a),z=a=>u(B(a)),K=a=>(a=>!o(a)&&c(U(a),(a=>a==j.prototype||o(U(a))),(()=>!0)))(a)&&0==z(a),Q=a=>new Map(a),V=(a,t)=>a?.get(t),W=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),X=(a,t,e)=>o(e)?(F(a,t),a):a?.set(t,e),Z=(a,t,e,n)=>(_(a,t)||X(a,t,e()),V(a,t)),aa=Q(),ta=Q(),ea=(a,t,e,n,s,i,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;Z(aa,w,(()=>0)),Z(ta,w,(()=>[]));const[m,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),T=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?T(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(V(ta,w),...a),await(async()=>{if(!V(aa,w)){for(X(aa,w,1);!o((a=V(ta,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}X(aa,w,0)}var a})(),R),R={load:$,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(V(ta,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},na=a=>new Set(y(a)||o(a)?a:[a]),sa=(a,t)=>a?.add(t),ia=(a,t,e,s,i)=>{const r=Q();return[async()=>{r.clear(),A(await e(a,t),(({tn:a,cn:t})=>sa(Z(r,a,na),t)))},async(t,e)=>((a,t)=>_(V(r,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!K(t)))):{},async(t,e,s,c,l,y=!1)=>{const w=na();G(s??{},(a=>A(B(a??{}),(a=>sa(w,a)))));const u=x(w);if(!y&&l&&g(u)&&_(r,t))return await a("DROP "+T+M(t)),void X(r,t);const v=V(r,t),p=na(x(v));if(g(u)||(_(r,t)?await d(A([e,...u],(async(n,s)=>{F(p,n)||(await a($+M(t)+"ADD"+M(n)+(0==s?"text":"json")),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),sa(v,n))}))):(await a("CREATE "+T+M(t)+`(${M(e)}text PRIMARY KEY${E(A(u,(a=>n+M(a)+"json")))});`),X(r,t,na([e,...u])))),await d([...!y&&c?A(x(p),(async n=>{n!=e&&(await a($+M(t)+"DROP"+M(n)),F(v,n))})):[]]),y)o(s)?await a(b+M(t)+S+" true"):await d(G(s,(async(n,s)=>{o(n)?await a(b+M(t)+S+M(e)+"=$1",[s]):g(u)||await ra(a,t,e,B(n),[s,...H(n)],i)})));else if(g(u))_(r,t)&&await a(b+M(t)+S+" true");else{const n=m(x(V(r,t)),(a=>a!=e)),o=[],c=[];G(s??{},((a,t)=>{N(o,t,...A(n,(t=>a?.[t]))),N(c,t)})),await ra(a,t,e,n,o,i),await a(b+M(t)+S+M(e)+`NOT IN(${P(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ra=async(a,t,e,s,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+oa(i,u(s)+1)+(r?"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n):""),A(i,(a=>a??null))),oa=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),ca=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v)=>{const[p,E,A,g]=ia(t,y,w,s,v),m=ea(a,(async()=>await g((async()=>{return await p(),a=(await E(o,c))[h]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await p(),await A(o,c,{[h]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},la=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g)=>{const[N,O,S,T]=ia(t,v,p,s,g),$=async(a,t)=>await d(W(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t)}))),b=async(a,t)=>w?await S(u,C,{[h]:a},!0,!0,t):null,f=ea(a,(async()=>await T((async()=>{await N();const a=await(async()=>Y(m(await d(W(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>y?(await O(u,C))[h]:{})();return K(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await N(),o(t)){const[t,e]=a();await $(t),await b(e)}else await $(t[0],!0),await b(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(f.stopAutoLoad().stopAutoSave(),i(),f)},E);return f},ya="ColumnName",wa="store",ua="json",da=wa+"TableName",va=wa+"Id"+ya,pa=wa+ya,Ea="autoLoadIntervalSeconds",Aa="rowId"+ya,ga="tableId",ma="tableName",Na="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ua,[Ea]:1},Oa={load:0,save:0,[ma]:e+"_values"},Sa=(a,t,e,n,s)=>{const i=Q();return G(a,((a,r)=>{const c=w(H(k(t,l(a)?{[e]:a}:a)),0,z(t));o(c[0])||n(r,c[0])||(s(r,c[0]),X(i,r,c))})),i};exports.createExpoSqlitePersister=(t,n,s,i,o)=>((a,t,n,s,i,o,c,y,u,d="getDb",v)=>{let p,E,A;const[g,m,N,h]=(a=>{const t=(a=>k(Ca,l(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==ua){const a=t[da]??e;return[1,n,[a,t[va]??C,t[pa]??wa],na(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(H(k(Oa,r)),0,z(Oa)),c=o[2],y=na(c),u=na(c);return[0,n,[Sa(s,{[ga]:null,[Aa]:C},ga,(a=>_(u,a)),(a=>sa(y,a))),Sa(i,{[ma]:null,[Aa]:C,[Na]:0,[ha]:0},ma,((a,t)=>_(u,t)),((a,t)=>sa(y,t))),o],y]})(t);return(g?ca:la)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(O+` ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==(p??=t)&&e==(E??=e)&&s==(A??=s)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),p=E=A=null,i(t)}),c,(()=>0),y,N,x(h),(async(a,t)=>await a(`${O} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${S} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),i,o,3,n);
1
+ "use strict";var a=require("expo-sqlite");const t=a=>typeof a,e="tinybase",n=",",s=t(""),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=a=>t(a)==s,y=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>A(Array(a).fill(0),((a,e)=>t(e))),E=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),h="_",C="_id",$="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,b="DELETE FROM",f=$+"*FROM",I="pragma_",L="data_version",R="schema_version",D="pragma_table_",M=a=>`"${a.replace(/"/g,'""')}"`,P=a=>E(A(a,((a,t)=>"$"+(t+1))),n),_=(a,t)=>a?.has(t)??!1,F=a=>[...a?.values()??[]],x=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),q=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),G=(a,t)=>(delete a[t],a),H=(a,t)=>A(q(a),(([a,e])=>t(e,a))),z=a=>U.values(a),K=a=>u(B(a)),Q=a=>(a=>!o(a)&&c(j(a),(a=>a==U.prototype||o(j(a))),(()=>!0)))(a)&&0==K(a),V=JSON.stringify,W=JSON.parse,X=a=>new Map(a),Z=(a,t)=>a?.get(t),aa=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),ta=(a,t,e)=>o(e)?(x(a,t),a):a?.set(t,e),ea=(a,t,e,n)=>(_(a,t)||ta(a,t,e()),Z(a,t)),na=X(),sa=X(),ia=(a,t,e,n,s,i,r,l={},w=[])=>{let u,d,p,E=0,A=0,g=0;ea(na,w,(()=>0)),ea(sa,w,(()=>[]));const[m,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!Q(a)||!Q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Q(a)||!Q(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),S=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,A++,await L((async()=>{try{const a=await t();y(a)?S(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(d&&(s(d),d=void 0),R),f=async a=>(1!=E&&(E=2,g++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(c(p,a.delListener),p=void 0,R),L=async(...a)=>(N(Z(sa,w),...a),await(async()=>{if(!Z(na,w)){for(ta(na,w,1);!o((a=Z(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}ta(na,w,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{d=await n((async(a,t)=>{t||a?2!=E&&(E=1,A++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!o(d),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!o(p),schedule:L,getStore:()=>a,destroy:()=>(Z(sa,w).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:A,saves:g}),...l};return J(R)},ra=a=>new Set(y(a)||o(a)?a:[a]),oa=(a,t)=>a?.add(t),ca=(a,t,e,s,i,r,c,l)=>{const y=X();return[async()=>{y.clear(),A(await e(a,t),(({tn:a,cn:t})=>oa(ea(y,a,ra),t)))},async(t,e)=>((a,t)=>_(Z(y,a),t))(t,e)?Y(m(A(await a(f+M(t)),(a=>{return[a[e],l?(t=G(a,e),n=l,Y(H(t,((a,t)=>[t,n(a,t)])))):G(a,e)];var t,n})),(([a,t])=>!o(a)&&!Q(t)))):{},async(t,e,s,l,w,u=!1)=>{const v=ra();H(s??{},(a=>A(B(a??{}),(a=>oa(v,a)))));const p=F(v);if(!u&&w&&g(p)&&_(y,t))return await a("DROP "+S+M(t)),void ta(y,t);const h=Z(y,t),C=ra(F(h));if(g(p)||(_(y,t)?await d(A([e,...p],(async(n,s)=>{x(C,n)||(await a(T+M(t)+"ADD"+M(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+M(t)+`(${M(e)})`),oa(h,n))}))):(await a("CREATE "+S+M(t)+`(${M(e)}${i} PRIMARY KEY${E(A(p,(a=>n+M(a)+i)))});`),ta(y,t,ra([e,...p])))),await d([...!u&&l?A(F(C),(async n=>{n!=e&&(await a(T+M(t)+"DROP"+M(n)),x(h,n))})):[]]),u)o(s)?await a(b+M(t)+O+" true"):await d(H(s,(async(n,s)=>{o(n)?await a(b+M(t)+O+M(e)+"=$1",[s]):g(p)||await la(a,t,e,B(n),[s,...c?A(z(n),c):z(n)],r)})));else if(g(p))_(y,t)&&await a(b+M(t)+O+" true");else{const n=m(F(Z(y,t)),(a=>a!=e)),i=[],o=[];H(s??{},((a,t)=>{N(i,t,...A(n,(t=>c?c(a?.[t]):a?.[t]))),N(o,t)})),await la(a,t,e,n,i,r),await a(b+M(t)+O+M(e)+`NOT IN(${P(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},la=async(a,t,e,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+M(t)+"("+M(e)+E(A(s,(a=>n+M(a))))+")VALUES"+ya(i,u(s)+1)+(r?"":"ON CONFLICT("+M(e)+")DO UPDATE SET"+E(A(s,(a=>M(a)+"=excluded."+M(a))),n)),A(i,(a=>a??null))),ya=(a,t)=>E(p(u(a)/t,(a=>"("+E(p(t,(e=>"$"+(a*t+e+1))),n)+")")),n),wa=(a,t,e,n,s,i,r,[o,c,l],y,w,u,d,v,p)=>{const[E,A,g,m]=ca(t,y,w,s,v,p),N=ia(a,(async()=>await m((async()=>{return await E(),a=(await A(o,c))[h]?.[l]??"null",W(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await g(o,c,{[h]:{[l]:(t=a()??null,V(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(N.stopAutoLoad().stopAutoSave(),i(),N)},u);return N},ua=(a,t,e,n,s,i,r,[c,l,[y,w,u]],v,p,E,A,g,N,$,O)=>{const[S,T,b,f]=ca(t,v,p,s,g,N,$,O),I=async(a,t)=>await d(aa(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>w?await b(u,C,{[h]:a},!0,!0,t):null,R=ia(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(m(await d(aa(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!Q(a[1])))))(),t=await(async()=>y?(await T(u,C))[h]:{})();return Q(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),o(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,r,{[A]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},da="ColumnName",va="store",pa="json",Ea=va+"TableName",Aa=va+"Id"+da,ga=va+da,ma="autoLoadIntervalSeconds",Na="rowId"+da,ha="tableId",Ca="tableName",$a="deleteEmptyColumns",Oa="deleteEmptyTable",Sa={mode:pa,[ma]:1},Ta={load:0,save:0,[Ca]:e+"_values"},ba=(a,t,e,n,s)=>{const i=X();return H(a,((a,r)=>{const c=w(z(k(t,l(a)?{[e]:a}:a)),0,K(t));o(c[0])||n(r,c[0])||(s(r,c[0]),ta(i,r,c))})),i},fa=(a,t,n,s,i,o,c,y,u,d="getDb",v)=>{let p,E,A;const g=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,h,S]=(a=>{const t=(a=>k(Sa,l(a)?{[Ea]:a}:a??{}))(a),n=t[ma];if(t.mode==pa){const a=t[Ea]??e;return[1,n,[a,t[Aa]??C,t[ga]??va],ra(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=w(z(k(Ta,r)),0,K(Ta)),c=o[2],y=ra(c),u=ra(c);return[0,n,[ba(s,{[ha]:null,[Na]:C},ha,(a=>_(u,a)),(a=>oa(y,a))),ba(i,{[Ca]:null,[Na]:C,[$a]:0,[Oa]:0},Ca,((a,t)=>_(u,t)),((a,t)=>oa(y,t))),o],y]})(t);return(m?wa:ua)(a,g,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await g(`${$} ${L} d,${R} s,TOTAL_CHANGES() c FROM ${I}${L} JOIN ${I}${R}`);t==p&&e==E&&n==A||(null!=p&&a(),p=t,E=e,A=n)}catch{}}),1e3*N),n=()=>{p=E=A=null,r(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,(()=>0),y,h,F(S),(async(a,t)=>await a(`${$} t.name tn,c.name cn FROM ${D}list()t,${D}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${P(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createExpoSqlitePersister=(t,e,n,s,i)=>fa(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,3,e);
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),e=require("fs/promises");const a="utf8",s=t=>null==t,r=(t,e,a)=>s(t)?a?.():e(t),n=t=>Array.isArray(t),i=t=>{throw Error(t)},o=Object,c=t=>o.getPrototypeOf(t),y=o.keys,l=o.freeze,g=t=>(t=>!s(t)&&r(c(t),(t=>t==o.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=t=>new Map(t),d=(t,e)=>t?.get(e),p=(t,e,a)=>{return s(a)?(r=t,n=e,r?.delete(n),t):t?.set(e,a);var r,n},h=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||p(t,e,a()),d(t,e)},v=u(),w=u();exports.createFilePersister=(o,c,y)=>((t,e,a,o,c,y,u,C={},S=[])=>{let f,A,b,F=0,M=0,L=0;h(v,S,(()=>0)),h(w,S,(()=>[]));const[O,P,T,q,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:i("Store type not supported by this Persister"))(u,t),D=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async t=>(2!=F&&(F=1,M++,await m((async()=>{try{const t=await e();n(t)?D(t):i("Content is not an array "+t)}catch(e){y?.(e),t&&x(t)}F=0}))),z),N=()=>(A&&(c(A),A=void 0),z),j=async t=>(1!=F&&(F=2,L++,await m((async()=>{try{await a(P,t)}catch(t){y?.(t)}F=0}))),z),k=()=>(r(b,t.delListener),b=void 0,z),m=async(...t)=>(((t,...e)=>{t.push(...e)})(d(w,S),...t),await(async()=>{if(!d(v,S)){for(p(v,S,1);!s((t=d(w,S),f=t.shift()));)try{await f()}catch(t){y?.(t)}p(v,S,0)}var t})(),z),z={load:J,startAutoLoad:async t=>{await N().load(t);try{A=await o((async(t,e)=>{e||t?2!=F&&(F=1,M++,D(e??t),F=0):await J()}))}catch(t){y?.(t)}return z},stopAutoLoad:N,isAutoLoading:()=>!s(A),save:j,startAutoSave:async()=>(await k().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();q(t)&&j(t)})),z),stopAutoSave:k,isAutoSaving:()=>!s(b),schedule:m,getStore:()=>t,destroy:()=>(d(w,S).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:M,saves:L}),...C};return l(z)})(o,(async()=>{return t=await e.readFile(c,a),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return await e.writeFile(c,(s=t(),JSON.stringify(s,((t,e)=>void 0===e?"":e))),a);var s}),(e=>(t.existsSync(c)||t.writeFileSync(c,"",a),t.watch(c,(()=>e())))),(t=>t?.close()),y,3,{getFilePath:()=>c});
1
+ "use strict";var t=require("fs"),e=require("fs/promises");const a="utf8",s=t=>null==t,r=(t,e,a)=>s(t)?a?.():e(t),n=t=>Array.isArray(t),i=t=>{throw Error(t)},o=Object,c=t=>o.getPrototypeOf(t),y=o.keys,l=o.freeze,g=t=>(t=>!s(t)&&r(c(t),(t=>t==o.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=JSON.stringify,d=JSON.parse,p=t=>new Map(t),h=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(r=t,n=e,r?.delete(n),t):t?.set(e,a);var r,n},w=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||v(t,e,a()),h(t,e)},C=p(),S=p();exports.createFilePersister=(o,c,y)=>((t,e,a,o,c,y,u,d={},p=[])=>{let f,A,b,F=0,M=0,L=0;w(C,p,(()=>0)),w(S,p,(()=>[]));const[O,P,T,q,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:i("Store type not supported by this Persister"))(u,t),D=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async t=>(2!=F&&(F=1,M++,await m((async()=>{try{const t=await e();n(t)?D(t):i("Content is not an array "+t)}catch(e){y?.(e),t&&x(t)}F=0}))),z),N=()=>(A&&(c(A),A=void 0),z),j=async t=>(1!=F&&(F=2,L++,await m((async()=>{try{await a(P,t)}catch(t){y?.(t)}F=0}))),z),k=()=>(r(b,t.delListener),b=void 0,z),m=async(...t)=>(((t,...e)=>{t.push(...e)})(h(S,p),...t),await(async()=>{if(!h(C,p)){for(v(C,p,1);!s((t=h(S,p),f=t.shift()));)try{await f()}catch(t){y?.(t)}v(C,p,0)}var t})(),z),z={load:J,startAutoLoad:async t=>{await N().load(t);try{A=await o((async(t,e)=>{e||t?2!=F&&(F=1,M++,D(e??t),F=0):await J()}))}catch(t){y?.(t)}return z},stopAutoLoad:N,isAutoLoading:()=>!s(A),save:j,startAutoSave:async()=>(await k().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();q(t)&&j(t)})),z),stopAutoSave:k,isAutoSaving:()=>!s(b),schedule:m,getStore:()=>t,destroy:()=>(h(S,p).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:M,saves:L}),...d};return l(z)})(o,(async()=>{return t=await e.readFile(c,a),d(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return await e.writeFile(c,(s=t(),u(s,((t,e)=>void 0===e?"":e))),a);var s}),(e=>(t.existsSync(c)||t.writeFileSync(c,"",a),t.watch(c,(()=>e())))),(t=>t?.close()),y,3,{getFilePath:()=>c});
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),e=require("fs/promises");const a="utf8",s=t=>null==t,r=(t,e,a)=>s(t)?a?.():e(t),n=t=>Array.isArray(t),i=t=>{throw Error(t)},o=Object,c=t=>o.getPrototypeOf(t),y=o.keys,l=o.freeze,g=t=>(t=>!s(t)&&r(c(t),(t=>t==o.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=t=>new Map(t),d=(t,e)=>t?.get(e),p=(t,e,a)=>{return s(a)?(r=t,n=e,r?.delete(n),t):t?.set(e,a);var r,n},h=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||p(t,e,a()),d(t,e)},v=u(),w=u();exports.createFilePersister=(o,c,y)=>((t,e,a,o,c,y,u,C={},S=[])=>{let f,A,b,F=0,M=0,L=0;h(v,S,(()=>0)),h(w,S,(()=>[]));const[O,P,T,q,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:i("Store type not supported by this Persister"))(u,t),D=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async t=>(2!=F&&(F=1,M++,await m((async()=>{try{const t=await e();n(t)?D(t):i("Content is not an array "+t)}catch(e){y?.(e),t&&x(t)}F=0}))),z),N=()=>(A&&(c(A),A=void 0),z),j=async t=>(1!=F&&(F=2,L++,await m((async()=>{try{await a(P,t)}catch(t){y?.(t)}F=0}))),z),k=()=>(r(b,t.delListener),b=void 0,z),m=async(...t)=>(((t,...e)=>{t.push(...e)})(d(w,S),...t),await(async()=>{if(!d(v,S)){for(p(v,S,1);!s((t=d(w,S),f=t.shift()));)try{await f()}catch(t){y?.(t)}p(v,S,0)}var t})(),z),z={load:J,startAutoLoad:async t=>{await N().load(t);try{A=await o((async(t,e)=>{e||t?2!=F&&(F=1,M++,D(e??t),F=0):await J()}))}catch(t){y?.(t)}return z},stopAutoLoad:N,isAutoLoading:()=>!s(A),save:j,startAutoSave:async()=>(await k().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();q(t)&&j(t)})),z),stopAutoSave:k,isAutoSaving:()=>!s(b),schedule:m,getStore:()=>t,destroy:()=>(d(w,S).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:M,saves:L}),...C};return l(z)})(o,(async()=>{return t=await e.readFile(c,a),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return await e.writeFile(c,(s=t(),JSON.stringify(s,((t,e)=>void 0===e?"":e))),a);var s}),(e=>(t.existsSync(c)||t.writeFileSync(c,"",a),t.watch(c,(()=>e())))),(t=>t?.close()),y,3,{getFilePath:()=>c});
1
+ "use strict";var t=require("fs"),e=require("fs/promises");const a="utf8",s=t=>null==t,r=(t,e,a)=>s(t)?a?.():e(t),n=t=>Array.isArray(t),i=t=>{throw Error(t)},o=Object,c=t=>o.getPrototypeOf(t),y=o.keys,l=o.freeze,g=t=>(t=>!s(t)&&r(c(t),(t=>t==o.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=JSON.stringify,d=JSON.parse,p=t=>new Map(t),h=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(r=t,n=e,r?.delete(n),t):t?.set(e,a);var r,n},w=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||v(t,e,a()),h(t,e)},C=p(),S=p();exports.createFilePersister=(o,c,y)=>((t,e,a,o,c,y,u,d={},p=[])=>{let f,A,b,F=0,M=0,L=0;w(C,p,(()=>0)),w(S,p,(()=>[]));const[O,P,T,q,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:i("Store type not supported by this Persister"))(u,t),D=e=>{(O&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async t=>(2!=F&&(F=1,M++,await m((async()=>{try{const t=await e();n(t)?D(t):i("Content is not an array "+t)}catch(e){y?.(e),t&&x(t)}F=0}))),z),N=()=>(A&&(c(A),A=void 0),z),j=async t=>(1!=F&&(F=2,L++,await m((async()=>{try{await a(P,t)}catch(t){y?.(t)}F=0}))),z),k=()=>(r(b,t.delListener),b=void 0,z),m=async(...t)=>(((t,...e)=>{t.push(...e)})(h(S,p),...t),await(async()=>{if(!h(C,p)){for(v(C,p,1);!s((t=h(S,p),f=t.shift()));)try{await f()}catch(t){y?.(t)}v(C,p,0)}var t})(),z),z={load:J,startAutoLoad:async t=>{await N().load(t);try{A=await o((async(t,e)=>{e||t?2!=F&&(F=1,M++,D(e??t),F=0):await J()}))}catch(t){y?.(t)}return z},stopAutoLoad:N,isAutoLoading:()=>!s(A),save:j,startAutoSave:async()=>(await k().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();q(t)&&j(t)})),z),stopAutoSave:k,isAutoSaving:()=>!s(b),schedule:m,getStore:()=>t,destroy:()=>(h(S,p).splice(0,void 0),N().stopAutoSave()),getStats:()=>({loads:M,saves:L}),...d};return l(z)})(o,(async()=>{return t=await e.readFile(c,a),d(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return await e.writeFile(c,(s=t(),u(s,((t,e)=>void 0===e?"":e))),a);var s}),(e=>(t.existsSync(c)||t.writeFileSync(c,"",a),t.watch(c,(()=>e())))),(t=>t?.close()),y,3,{getFilePath:()=>c});
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==s,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>n.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,$="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),q=(a,t)=>E(U(a),(([a,e])=>t(e,a))),G=a=>j.values(a),H=a=>y(B(a)),z=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==H(a),K=a=>new Map(a),Q=(a,t)=>a?.get(t),V=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,s)=>(P(a,t)||W(a,t,e()),Q(a,t)),Z=K(),aa=K(),ta=(a,t,e,s,n,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;X(Z,y,(()=>0)),X(aa,y,(()=>[]));const[N,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),T=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?T(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),R),b=()=>(v&&(n(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(Q(aa,y),...a),await(async()=>{if(!Q(Z,y)){for(W(Z,y,1);!r((a=Q(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}W(Z,y,0)}var a})(),R),R={load:$,startAutoLoad:async a=>{await b().load(a);try{v=await s((async(a,t)=>{t||a?2!=E&&(E=1,g++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(Q(aa,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ea=a=>new Set(l(a)||r(a)?a:[a]),sa=(a,t)=>a?.add(t),na=(a,t,s,n,i)=>{const o=K();return[async()=>{o.clear(),E(await s(a,t),(({tn:a,cn:t})=>sa(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(Q(o,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,s,n,c,l,w=!1)=>{const y=ea();q(n??{},(a=>E(B(a??{}),(a=>sa(y,a)))));const d=_(y);if(!w&&l&&g(d)&&P(o,t))return await a("DROP "+S+D(t)),void W(o,t);const v=Q(o,t),N=ea(_(v));if(g(d)||(P(o,t)?await u(E([s,...d],(async(e,n)=>{F(N,e)||(await a(T+D(t)+"ADD"+D(e)+(0==n?"text":"json")),0==n&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(s)})`),sa(v,e))}))):(await a("CREATE "+S+D(t)+`(${D(s)}text PRIMARY KEY${p(E(d,(a=>e+D(a)+"json")))});`),W(o,t,ea([s,...d])))),await u([...!w&&c?E(_(N),(async e=>{e!=s&&(await a(T+D(t)+"DROP"+D(e)),F(v,e))})):[]]),w)r(n)?await a($+D(t)+O+" true"):await u(q(n,(async(e,n)=>{r(e)?await a($+D(t)+O+D(s)+"=$1",[n]):g(d)||await ia(a,t,s,B(e),[n,...G(e)],i)})));else if(g(d))P(o,t)&&await a($+D(t)+O+" true");else{const e=A(_(Q(o,t)),(a=>a!=s)),r=[],c=[];q(n??{},((a,t)=>{m(r,t,...E(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,s,e,r,i),await a($+D(t)+O+D(s)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},ia=async(a,t,s,n,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+D(t)+"("+D(s)+p(E(n,(a=>e+D(a))))+")VALUES"+ra(i,y(n)+1)+(r?"ON CONFLICT("+D(s)+")DO UPDATE SET"+p(E(n,(a=>D(a)+"=excluded."+D(a))),e):""),E(i,(a=>a??null))),ra=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,s,n,i,r,[o,c,l],w,y,u,d,v)=>{const[p,E,g,A]=na(t,w,y,n,v),m=ta(a,(async()=>await A((async()=>{return await p(),a=(await E(o,c))[N]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await p(),await g(o,c,{[N]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,s,n,i,o,[c,l,[w,y,d]],v,p,E,g,m)=>{const[C,O,S,T]=na(t,v,p,n,m),$=async(a,t)=>await u(V(l,(async([e,s,n,i],r)=>{t&&!(r in a)||await S(e,s,a[r],n,i,t)}))),b=async(a,t)=>y?await S(d,h,{[N]:a},!0,!0,t):null,f=ta(a,(async()=>await T((async()=>{await C();const a=await(async()=>Y(A(await u(V(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>w?(await O(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await C(),r(t)){const[t,e]=a();await $(t),await b(e)}else await $(t[0],!0),await b(t[1],!0)}))),e,s,n,o,{[g]:()=>E,destroy:()=>(f.stopAutoLoad().stopAutoSave(),i(),f)},E);return f},la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,va=wa+la,pa="autoLoadIntervalSeconds",Ea="rowId"+la,ga="tableId",Aa="tableName",ma="deleteEmptyColumns",Na="deleteEmptyTable",ha={mode:ya,[pa]:1},Ca={load:0,save:0,[Aa]:t+"_values"},Oa=(a,t,e,s,n)=>{const i=K();return q(a,((a,o)=>{const l=w(G(k(t,c(a)?{[e]:a}:a)),0,H(t));r(l[0])||s(o,l[0])||(n(o,l[0]),W(i,o,l))})),i};exports.createLibSqlPersister=(a,e,s,n,r)=>((a,e,s,n,r,o,l,y,u,d="getDb",v)=>{let p,E,g;const[A,m,N,S]=(a=>{const e=(a=>k(ha,c(a)?{[ua]:a}:a??{}))(a),s=e[pa];if(e.mode==ya){const a=e[ua]??t;return[1,s,[a,e[da]??h,e[va]??wa],ea(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=e,o=w(G(k(Ca,r)),0,H(Ca)),l=o[2],y=ea(l),u=ea(l);return[0,s,[Oa(n,{[ga]:null,[Ea]:h},ga,(a=>P(u,a)),(a=>sa(y,a))),Oa(i,{[Aa]:null,[Ea]:h,[ma]:0,[Na]:0},Aa,((a,t)=>P(u,t)),((a,t)=>sa(y,t))),o],y]})(e);return(A?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(C+` ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==(p??=t)&&e==(E??=e)&&n==(g??=n)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>S.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),p=E=g=null,r(t)}),l,(()=>0),y,N,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,s,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),n,r,1,e,"getClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let p,E,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,O,S]=(a=>{const e=(a=>k(Oa,c(a)?{[pa]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(k(Sa,r)),0,z(Sa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(y,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[$a]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(m?wa:ya)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${C} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==p&&e==E&&n==g||(null!=p&&a(),p=t,E=e,g=n)}catch{}}),1e3*N),n=()=>{p=E=g=null,i(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),y,O,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createLibSqlPersister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,1,t,"getClient");
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==s,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>n.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",O="WHERE",S="TABLE",T="ALTER "+S,$="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),j=Object,x=a=>j.getPrototypeOf(a),U=j.entries,B=j.keys,J=j.freeze,Y=(a=[])=>j.fromEntries(a),k=(...a)=>j.assign({},...a),q=(a,t)=>E(U(a),(([a,e])=>t(e,a))),G=a=>j.values(a),H=a=>y(B(a)),z=a=>(a=>!r(a)&&o(x(a),(a=>a==j.prototype||r(x(a))),(()=>!0)))(a)&&0==H(a),K=a=>new Map(a),Q=(a,t)=>a?.get(t),V=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),X=(a,t,e,s)=>(P(a,t)||W(a,t,e()),Q(a,t)),Z=K(),aa=K(),ta=(a,t,e,s,n,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;X(Z,y,(()=>0)),X(aa,y,(()=>[]));const[N,h,C,O,S]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),T=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},$=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?T(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&S(a)}E=0}))),R),b=()=>(v&&(n(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(Q(aa,y),...a),await(async()=>{if(!Q(Z,y)){for(W(Z,y,1);!r((a=Q(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}W(Z,y,0)}var a})(),R),R={load:$,startAutoLoad:async a=>{await b().load(a);try{v=await s((async(a,t)=>{t||a?2!=E&&(E=1,g++,T(t??a),E=0):await $()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();O(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(Q(aa,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ea=a=>new Set(l(a)||r(a)?a:[a]),sa=(a,t)=>a?.add(t),na=(a,t,s,n,i)=>{const o=K();return[async()=>{o.clear(),E(await s(a,t),(({tn:a,cn:t})=>sa(X(o,a,ea),t)))},async(t,e)=>((a,t)=>P(Q(o,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!z(t)))):{},async(t,s,n,c,l,w=!1)=>{const y=ea();q(n??{},(a=>E(B(a??{}),(a=>sa(y,a)))));const d=_(y);if(!w&&l&&g(d)&&P(o,t))return await a("DROP "+S+D(t)),void W(o,t);const v=Q(o,t),N=ea(_(v));if(g(d)||(P(o,t)?await u(E([s,...d],(async(e,n)=>{F(N,e)||(await a(T+D(t)+"ADD"+D(e)+(0==n?"text":"json")),0==n&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(s)})`),sa(v,e))}))):(await a("CREATE "+S+D(t)+`(${D(s)}text PRIMARY KEY${p(E(d,(a=>e+D(a)+"json")))});`),W(o,t,ea([s,...d])))),await u([...!w&&c?E(_(N),(async e=>{e!=s&&(await a(T+D(t)+"DROP"+D(e)),F(v,e))})):[]]),w)r(n)?await a($+D(t)+O+" true"):await u(q(n,(async(e,n)=>{r(e)?await a($+D(t)+O+D(s)+"=$1",[n]):g(d)||await ia(a,t,s,B(e),[n,...G(e)],i)})));else if(g(d))P(o,t)&&await a($+D(t)+O+" true");else{const e=A(_(Q(o,t)),(a=>a!=s)),r=[],c=[];q(n??{},((a,t)=>{m(r,t,...E(e,(t=>a?.[t]))),m(c,t)})),await ia(a,t,s,e,r,i),await a($+D(t)+O+D(s)+`NOT IN(${M(c)})`,c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},ia=async(a,t,s,n,i,r=!0)=>await a("INSERT "+(r?"":"OR REPLACE ")+"INTO"+D(t)+"("+D(s)+p(E(n,(a=>e+D(a))))+")VALUES"+ra(i,y(n)+1)+(r?"ON CONFLICT("+D(s)+")DO UPDATE SET"+p(E(n,(a=>D(a)+"=excluded."+D(a))),e):""),E(i,(a=>a??null))),ra=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),oa=(a,t,e,s,n,i,r,[o,c,l],w,y,u,d,v)=>{const[p,E,g,A]=na(t,w,y,n,v),m=ta(a,(async()=>await A((async()=>{return await p(),a=(await E(o,c))[N]?.[l]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await A((async()=>{var t;await p(),await g(o,c,{[N]:{[l]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,r,{[d]:()=>u,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},u);return m},ca=(a,t,e,s,n,i,o,[c,l,[w,y,d]],v,p,E,g,m)=>{const[C,O,S,T]=na(t,v,p,n,m),$=async(a,t)=>await u(V(l,(async([e,s,n,i],r)=>{t&&!(r in a)||await S(e,s,a[r],n,i,t)}))),b=async(a,t)=>y?await S(d,h,{[N]:a},!0,!0,t):null,f=ta(a,(async()=>await T((async()=>{await C();const a=await(async()=>Y(A(await u(V(c,(async([a,t],e)=>[a,await O(e,t)]))),(a=>!z(a[1])))))(),t=await(async()=>w?(await O(d,h))[N]:{})();return z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await C(),r(t)){const[t,e]=a();await $(t),await b(e)}else await $(t[0],!0),await b(t[1],!0)}))),e,s,n,o,{[g]:()=>E,destroy:()=>(f.stopAutoLoad().stopAutoSave(),i(),f)},E);return f},la="ColumnName",wa="store",ya="json",ua=wa+"TableName",da=wa+"Id"+la,va=wa+la,pa="autoLoadIntervalSeconds",Ea="rowId"+la,ga="tableId",Aa="tableName",ma="deleteEmptyColumns",Na="deleteEmptyTable",ha={mode:ya,[pa]:1},Ca={load:0,save:0,[Aa]:t+"_values"},Oa=(a,t,e,s,n)=>{const i=K();return q(a,((a,o)=>{const l=w(G(k(t,c(a)?{[e]:a}:a)),0,H(t));r(l[0])||s(o,l[0])||(n(o,l[0]),W(i,o,l))})),i};exports.createLibSqlPersister=(a,e,s,n,r)=>((a,e,s,n,r,o,l,y,u,d="getDb",v)=>{let p,E,g;const[A,m,N,S]=(a=>{const e=(a=>k(ha,c(a)?{[ua]:a}:a??{}))(a),s=e[pa];if(e.mode==ya){const a=e[ua]??t;return[1,s,[a,e[da]??h,e[va]??wa],ea(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=e,o=w(G(k(Ca,r)),0,H(Ca)),l=o[2],y=ea(l),u=ea(l);return[0,s,[Oa(n,{[ga]:null,[Ea]:h},ga,(a=>P(u,a)),(a=>sa(y,a))),Oa(i,{[Aa]:null,[Ea]:h,[ma]:0,[Na]:0},Aa,((a,t)=>P(u,t)),((a,t)=>sa(y,t))),o],y]})(e);return(A?oa:ca)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(C+` ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==(p??=t)&&e==(E??=e)&&n==(g??=n)||(a(),p=t,E=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>S.has(t)?a():0))];var t,e}),(([a,t])=>{i(a),p=E=g=null,r(t)}),l,(()=>0),y,N,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${O} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,v)})(a,s,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),n,r,1,e,"getClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e=",",n=a(""),s=Promise,i=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),c=t=>a(t)==n,l=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,u=async a=>s.all(a),d=a=>{throw Error(a)},v=(a,t)=>E(Array(a).fill(0),((a,e)=>t(e))),p=(a,t="")=>a.join(t),E=(a,t)=>a.map(t),g=a=>0==y(a),A=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),N="_",h="_id",C="SELECT",$="WHERE",O="TABLE",S="ALTER "+O,T="DELETE FROM",b=C+"*FROM",f="pragma_",I="data_version",L="schema_version",R="pragma_table_",D=a=>`"${a.replace(/"/g,'""')}"`,M=a=>p(E(a,((a,t)=>"$"+(t+1))),e),P=(a,t)=>a?.has(t)??!1,_=a=>[...a?.values()??[]],F=(a,t)=>a?.delete(t),U=Object,j=a=>U.getPrototypeOf(a),x=U.entries,B=U.keys,J=U.freeze,Y=(a=[])=>U.fromEntries(a),k=(...a)=>U.assign({},...a),q=(a,t)=>(delete a[t],a),G=(a,t)=>E(x(a),(([a,e])=>t(e,a))),H=a=>U.values(a),z=a=>y(B(a)),K=a=>(a=>!r(a)&&o(j(a),(a=>a==U.prototype||r(j(a))),(()=>!0)))(a)&&0==z(a),Q=JSON.stringify,V=JSON.parse,W=a=>new Map(a),X=(a,t)=>a?.get(t),Z=(a,t)=>E([...a?.entries()??[]],(([a,e])=>t(e,a))),aa=(a,t,e)=>r(e)?(F(a,t),a):a?.set(t,e),ta=(a,t,e,n)=>(P(a,t)||aa(a,t,e()),X(a,t)),ea=W(),na=W(),sa=(a,t,e,n,s,i,c,w={},y=[])=>{let u,v,p,E=0,g=0,A=0;ta(ea,y,(()=>0)),ta(na,y,(()=>[]));const[N,h,C,$,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!K(a)||!K(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!K(a)||!K(t),t.setContent]:d("Store type not supported by this Persister"))(c,a),S=t=>{(N&&l(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,g++,await L((async()=>{try{const a=await t();l(a)?S(a):d("Content is not an array "+a)}catch(t){i?.(t),a&&O(a)}E=0}))),R),b=()=>(v&&(s(v),v=void 0),R),f=async a=>(1!=E&&(E=2,A++,await L((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),R),I=()=>(o(p,a.delListener),p=void 0,R),L=async(...a)=>(m(X(na,y),...a),await(async()=>{if(!X(ea,y)){for(aa(ea,y,1);!r((a=X(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}aa(ea,y,0)}var a})(),R),R={load:T,startAutoLoad:async a=>{await b().load(a);try{v=await n((async(a,t)=>{t||a?2!=E&&(E=1,g++,S(t??a),E=0):await T()}))}catch(a){i?.(a)}return R},stopAutoLoad:b,isAutoLoading:()=>!r(v),save:f,startAutoSave:async()=>(await I().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();$(a)&&f(a)})),R),stopAutoSave:I,isAutoSaving:()=>!r(p),schedule:L,getStore:()=>a,destroy:()=>(X(na,y).splice(0,void 0),b().stopAutoSave()),getStats:()=>({loads:g,saves:A}),...w};return J(R)},ia=a=>new Set(l(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),oa=(a,t,n,s,i,o,c,l)=>{const w=W();return[async()=>{w.clear(),E(await n(a,t),(({tn:a,cn:t})=>ra(ta(w,a,ia),t)))},async(t,e)=>((a,t)=>P(X(w,a),t))(t,e)?Y(A(E(await a(b+D(t)),(a=>{return[a[e],l?(t=q(a,e),n=l,Y(G(t,((a,t)=>[t,n(a,t)])))):q(a,e)];var t,n})),(([a,t])=>!r(a)&&!K(t)))):{},async(t,n,s,l,y,d=!1)=>{const v=ia();G(s??{},(a=>E(B(a??{}),(a=>ra(v,a)))));const N=_(v);if(!d&&y&&g(N)&&P(w,t))return await a("DROP "+O+D(t)),void aa(w,t);const h=X(w,t),C=ia(_(h));if(g(N)||(P(w,t)?await u(E([n,...N],(async(e,s)=>{F(C,e)||(await a(S+D(t)+"ADD"+D(e)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+D(t)+`(${D(n)})`),ra(h,e))}))):(await a("CREATE "+O+D(t)+`(${D(n)}${i} PRIMARY KEY${p(E(N,(a=>e+D(a)+i)))});`),aa(w,t,ia([n,...N])))),await u([...!d&&l?E(_(C),(async e=>{e!=n&&(await a(S+D(t)+"DROP"+D(e)),F(h,e))})):[]]),d)r(s)?await a(T+D(t)+$+" true"):await u(G(s,(async(e,s)=>{r(e)?await a(T+D(t)+$+D(n)+"=$1",[s]):g(N)||await ca(a,t,n,B(e),[s,...c?E(H(e),c):H(e)],o)})));else if(g(N))P(w,t)&&await a(T+D(t)+$+" true");else{const e=A(_(X(w,t)),(a=>a!=n)),i=[],r=[];G(s??{},((a,t)=>{m(i,t,...E(e,(t=>c?c(a?.[t]):a?.[t]))),m(r,t)})),await ca(a,t,n,e,i,o),await a(T+D(t)+$+D(n)+`NOT IN(${M(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ca=async(a,t,n,s,i,r=0)=>await a("INSERT "+(r?"OR REPLACE ":"")+"INTO"+D(t)+"("+D(n)+p(E(s,(a=>e+D(a))))+")VALUES"+la(i,y(s)+1)+(r?"":"ON CONFLICT("+D(n)+")DO UPDATE SET"+p(E(s,(a=>D(a)+"=excluded."+D(a))),e)),E(i,(a=>a??null))),la=(a,t)=>p(v(y(a)/t,(a=>"("+p(v(t,(e=>"$"+(a*t+e+1))),e)+")")),e),wa=(a,t,e,n,s,i,r,[o,c,l],w,y,u,d,v,p)=>{const[E,g,A,m]=oa(t,w,y,s,v,p),h=sa(a,(async()=>await m((async()=>{return await E(),a=(await g(o,c))[N]?.[l]??"null",V(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await E(),await A(o,c,{[N]:{[l]:(t=a()??null,Q(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>u,destroy:()=>(h.stopAutoLoad().stopAutoSave(),i(),h)},u);return h},ya=(a,t,e,n,s,i,o,[c,l,[w,y,d]],v,p,E,g,m,C,$,O)=>{const[S,T,b,f]=oa(t,v,p,s,m,C,$,O),I=async(a,t)=>await u(Z(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t)}))),L=async(a,t)=>y?await b(d,h,{[N]:a},!0,!0,t):null,R=sa(a,(async()=>await f((async()=>{await S();const a=await(async()=>Y(A(await u(Z(c,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!K(a[1])))))(),t=await(async()=>w?(await T(d,h))[N]:{})();return K(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await S(),r(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(R.stopAutoLoad().stopAutoSave(),i(),R)},E);return R},ua="ColumnName",da="store",va="json",pa=da+"TableName",Ea=da+"Id"+ua,ga=da+ua,Aa="autoLoadIntervalSeconds",ma="rowId"+ua,Na="tableId",ha="tableName",Ca="deleteEmptyColumns",$a="deleteEmptyTable",Oa={mode:va,[Aa]:1},Sa={load:0,save:0,[ha]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=W();return G(a,((a,o)=>{const l=w(H(k(t,c(a)?{[e]:a}:a)),0,z(t));r(l[0])||n(o,l[0])||(s(o,l[0]),aa(i,o,l))})),i},ba=(a,e,n,s,r,o,l,y,u,d="getDb",v)=>{let p,E,g;const A=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(n,o),[m,N,O,S]=(a=>{const e=(a=>k(Oa,c(a)?{[pa]:a}:a??{}))(a),n=e[Aa];if(e.mode==va){const a=e[pa]??t;return[1,n,[a,e[Ea]??h,e[ga]??da],ia(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(H(k(Sa,r)),0,z(Sa)),l=o[2],y=ia(l),u=ia(l);return[0,n,[Ta(s,{[Na]:null,[ma]:h},Na,(a=>P(u,a)),(a=>ra(y,a))),Ta(i,{[ha]:null,[ma]:h,[Ca]:0,[$a]:0},ha,((a,t)=>P(u,t)),((a,t)=>ra(y,t))),o],y]})(e);return(m?wa:ya)(a,A,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await A(`${C} ${I} d,${L} s,TOTAL_CHANGES() c FROM ${f}${I} JOIN ${f}${L}`);t==p&&e==E&&n==g||(null!=p&&a(),p=t,E=e,g=n)}catch{}}),1e3*N),n=()=>{p=E=g=null,i(t)},o=s((t=>{S.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(o)}}),(a=>a()),l,(()=>0),y,O,_(S),(async(a,t)=>await a(`${C} t.name tn,c.name cn FROM ${R}list()t,${R}info(t.name)c ${$} t.schema='main'AND t.type IN('table','view')AND t.name IN(${M(t)})ORDER BY t.name,c.name`,t)),u,d,"",v,(a=>!0===a?1:!1===a?0:a),void 0)};exports.createLibSqlPersister=(a,t,e,n,s)=>ba(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,1,t,"getClient");
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=e=>t(e)==a,n=t=>Array.isArray(t),i=t=>t.length,c=t=>{throw Error(t)},y=Object,d=t=>y.getPrototypeOf(t),g=y.keys,p=y.freeze,h=t=>(t=>!s(t)&&o(d(t),(t=>t==y.prototype||s(d(t))),(()=>!0)))(t)&&0==(t=>i(g(t)))(t),l=t=>JSON.stringify(t,((t,e)=>e instanceof Map?y.fromEntries([...e]):e)),v=JSON.parse,u="/store",w=t=>new Map(t),f=(t,e)=>t?.get(e),C=(t,e,a)=>{return s(a)?(o=t,r=e,o?.delete(r),t):t?.set(e,a);var o,r},S=(t,e,a,s)=>{var o,r;return o=t,r=e,o?.has(r)||C(t,e,a()),f(t,e)},A=w(),P=w(),b="message";exports.createPartyKitPersister=(t,a,y,d)=>{const{host:g,room:w}=a.partySocketOptions,{storeProtocol:m="https",storePath:L=u,messagePrefix:M=e}={...r(y)?{storeProtocol:y}:y},O=m+"://"+g+"/parties/"+a.name+"/"+w+L,E=async t=>await(await fetch(O,{...t?{method:"PUT",body:l(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,i,y,d,g={},l=[])=>{let v,u,w,b=0,m=0,L=0;S(A,l,(()=>0)),S(P,l,(()=>[]));const[M,O,E,T,j]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:c("Store type not supported by this Persister"))(d,t),k=e=>{(M&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=b&&(b=1,m++,await z((async()=>{try{const t=await e();n(t)?k(t):c("Content is not an array "+t)}catch(e){y?.(e),t&&j(t)}b=0}))),F),D=()=>(u&&(i(u),u=void 0),F),J=async t=>(1!=b&&(b=2,L++,await z((async()=>{try{await a(O,t)}catch(t){y?.(t)}b=0}))),F),N=()=>(o(w,t.delListener),w=void 0,F),z=async(...t)=>(((t,...e)=>{t.push(...e)})(f(P,l),...t),await(async()=>{if(!f(A,l)){for(C(A,l,1);!s((t=f(P,l),v=t.shift()));)try{await v()}catch(t){y?.(t)}C(A,l,0)}var t})(),F),F={load:x,startAutoLoad:async t=>{await D().load(t);try{u=await r((async(t,e)=>{e||t?2!=b&&(b=1,m++,k(e??t),b=0):await x()}))}catch(t){y?.(t)}return F},stopAutoLoad:D,isAutoLoading:()=>!s(u),save:J,startAutoSave:async()=>(await N().save(),w=t.addDidFinishTransactionListener((()=>{const t=E();T(t)&&J(t)})),F),stopAutoSave:N,isAutoSaving:()=>!s(w),schedule:z,getStore:()=>t,destroy:()=>(f(P,l).splice(0,void 0),D().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...g};return p(F)})(t,(async()=>await E()),(async(t,e)=>{var s;e?a.send(M+"s"+(r(s=e)?s:l(s))):await E(t())}),(t=>{const e=e=>o(((t,e)=>{const a=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[a],v((s=e,o=a+1,s.slice(o,void 0)))]:void 0;var s,o})(M,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(b,e),e}),(t=>{a.removeEventListener(b,t)}),d,1,{getConnection:()=>a})};
1
+ "use strict";const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=e=>t(e)==a,n=t=>Array.isArray(t),i=t=>t.length,c=t=>{throw Error(t)},y=Object,d=t=>y.getPrototypeOf(t),g=y.keys,p=y.freeze,h=t=>(t=>!s(t)&&o(d(t),(t=>t==y.prototype||s(d(t))),(()=>!0)))(t)&&0==(t=>i(g(t)))(t),l=JSON.stringify,v=JSON.parse,u=t=>l(t,((t,e)=>e instanceof Map?y.fromEntries([...e]):e)),w="/store",f=t=>new Map(t),C=(t,e)=>t?.get(e),S=(t,e,a)=>{return s(a)?(o=t,r=e,o?.delete(r),t):t?.set(e,a);var o,r},A=(t,e,a,s)=>{var o,r;return o=t,r=e,o?.has(r)||S(t,e,a()),C(t,e)},P=f(),b=f(),m="message";exports.createPartyKitPersister=(t,a,y,d)=>{const{host:g,room:l}=a.partySocketOptions,{storeProtocol:f="https",storePath:L=w,messagePrefix:M=e}={...r(y)?{storeProtocol:y}:y},O=f+"://"+g+"/parties/"+a.name+"/"+l+L,E=async t=>await(await fetch(O,{...t?{method:"PUT",body:u(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,i,y,d,g={},l=[])=>{let v,u,w,f=0,m=0,L=0;A(P,l,(()=>0)),A(b,l,(()=>[]));const[M,O,E,T,j]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:c("Store type not supported by this Persister"))(d,t),k=e=>{(M&&n(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=f&&(f=1,m++,await z((async()=>{try{const t=await e();n(t)?k(t):c("Content is not an array "+t)}catch(e){y?.(e),t&&j(t)}f=0}))),F),D=()=>(u&&(i(u),u=void 0),F),J=async t=>(1!=f&&(f=2,L++,await z((async()=>{try{await a(O,t)}catch(t){y?.(t)}f=0}))),F),N=()=>(o(w,t.delListener),w=void 0,F),z=async(...t)=>(((t,...e)=>{t.push(...e)})(C(b,l),...t),await(async()=>{if(!C(P,l)){for(S(P,l,1);!s((t=C(b,l),v=t.shift()));)try{await v()}catch(t){y?.(t)}S(P,l,0)}var t})(),F),F={load:x,startAutoLoad:async t=>{await D().load(t);try{u=await r((async(t,e)=>{e||t?2!=f&&(f=1,m++,k(e??t),f=0):await x()}))}catch(t){y?.(t)}return F},stopAutoLoad:D,isAutoLoading:()=>!s(u),save:J,startAutoSave:async()=>(await N().save(),w=t.addDidFinishTransactionListener((()=>{const t=E();T(t)&&J(t)})),F),stopAutoSave:N,isAutoSaving:()=>!s(w),schedule:z,getStore:()=>t,destroy:()=>(C(b,l).splice(0,void 0),D().stopAutoSave()),getStats:()=>({loads:m,saves:L}),...g};return p(F)})(t,(async()=>await E()),(async(t,e)=>{var s;e?a.send(M+"s"+(r(s=e)?s:u(s))):await E(t())}),(t=>{const e=e=>o(((t,e)=>{const a=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[a],v((s=e,o=a+1,s.slice(o,void 0)))]:void 0;var s,o})(M,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(m,e),e}),(t=>{a.removeEventListener(m,t)}),d,1,{getConnection:()=>a})};