tinybase 5.0.0-beta.26 → 5.0.0-beta.28

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 (741) hide show
  1. package/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
  2. package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
  3. package/@types/checkpoints/index.d.cts +30 -1
  4. package/@types/checkpoints/index.d.ts +30 -1
  5. package/@types/checkpoints/with-schemas/index.d.cts +30 -1
  6. package/@types/checkpoints/with-schemas/index.d.ts +30 -1
  7. package/@types/common/index.d.cts +9 -0
  8. package/@types/common/index.d.ts +9 -0
  9. package/@types/common/with-schemas/index.d.cts +9 -0
  10. package/@types/common/with-schemas/index.d.ts +9 -0
  11. package/@types/index.d.cts +1 -0
  12. package/@types/index.d.ts +1 -0
  13. package/@types/indexes/index.d.cts +32 -1
  14. package/@types/indexes/index.d.ts +32 -1
  15. package/@types/indexes/with-schemas/index.d.cts +32 -1
  16. package/@types/indexes/with-schemas/index.d.ts +32 -1
  17. package/@types/mergeable-store/index.d.cts +0 -2
  18. package/@types/mergeable-store/index.d.ts +0 -2
  19. package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
  20. package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
  21. package/@types/metrics/index.d.cts +30 -4
  22. package/@types/metrics/index.d.ts +30 -4
  23. package/@types/metrics/with-schemas/index.d.cts +30 -4
  24. package/@types/metrics/with-schemas/index.d.ts +30 -4
  25. package/@types/persisters/index.d.cts +246 -62
  26. package/@types/persisters/index.d.ts +246 -62
  27. package/@types/persisters/persister-automerge/index.d.cts +13 -9
  28. package/@types/persisters/persister-automerge/index.d.ts +13 -9
  29. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +13 -9
  30. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +13 -9
  31. package/@types/persisters/persister-browser/index.d.cts +25 -15
  32. package/@types/persisters/persister-browser/index.d.ts +25 -15
  33. package/@types/persisters/persister-browser/with-schemas/index.d.cts +25 -15
  34. package/@types/persisters/persister-browser/with-schemas/index.d.ts +25 -15
  35. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +12 -9
  36. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +12 -9
  37. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +12 -9
  38. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +12 -9
  39. package/@types/persisters/persister-electric-sql/index.d.cts +12 -9
  40. package/@types/persisters/persister-electric-sql/index.d.ts +12 -9
  41. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +12 -9
  42. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +12 -9
  43. package/@types/persisters/persister-expo-sqlite/index.d.cts +14 -10
  44. package/@types/persisters/persister-expo-sqlite/index.d.ts +14 -10
  45. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +14 -10
  46. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +14 -10
  47. package/@types/persisters/persister-file/index.d.cts +14 -8
  48. package/@types/persisters/persister-file/index.d.ts +14 -8
  49. package/@types/persisters/persister-file/with-schemas/index.d.cts +14 -8
  50. package/@types/persisters/persister-file/with-schemas/index.d.ts +14 -8
  51. package/@types/persisters/persister-indexed-db/index.d.cts +13 -8
  52. package/@types/persisters/persister-indexed-db/index.d.ts +13 -8
  53. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +13 -8
  54. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +13 -8
  55. package/@types/persisters/persister-libsql/index.d.cts +13 -8
  56. package/@types/persisters/persister-libsql/index.d.ts +13 -8
  57. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +13 -8
  58. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +13 -8
  59. package/@types/persisters/persister-partykit-client/index.d.cts +24 -13
  60. package/@types/persisters/persister-partykit-client/index.d.ts +24 -13
  61. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +24 -13
  62. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +24 -13
  63. package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
  64. package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
  65. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
  66. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
  67. package/@types/persisters/persister-powersync/index.d.cts +15 -9
  68. package/@types/persisters/persister-powersync/index.d.ts +15 -9
  69. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +15 -9
  70. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +15 -9
  71. package/@types/persisters/persister-remote/index.d.cts +15 -10
  72. package/@types/persisters/persister-remote/index.d.ts +15 -10
  73. package/@types/persisters/persister-remote/with-schemas/index.d.cts +15 -10
  74. package/@types/persisters/persister-remote/with-schemas/index.d.ts +15 -10
  75. package/@types/persisters/persister-sqlite-wasm/index.d.cts +14 -9
  76. package/@types/persisters/persister-sqlite-wasm/index.d.ts +14 -9
  77. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +14 -9
  78. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +14 -9
  79. package/@types/persisters/persister-sqlite3/index.d.cts +14 -9
  80. package/@types/persisters/persister-sqlite3/index.d.ts +14 -9
  81. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +14 -9
  82. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +14 -9
  83. package/@types/persisters/persister-yjs/index.d.cts +13 -8
  84. package/@types/persisters/persister-yjs/index.d.ts +13 -8
  85. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +13 -8
  86. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +13 -8
  87. package/@types/persisters/with-schemas/index.d.cts +280 -63
  88. package/@types/persisters/with-schemas/index.d.ts +280 -63
  89. package/@types/queries/index.d.cts +64 -5
  90. package/@types/queries/index.d.ts +64 -5
  91. package/@types/queries/with-schemas/index.d.cts +64 -5
  92. package/@types/queries/with-schemas/index.d.ts +64 -5
  93. package/@types/relationships/index.d.cts +34 -1
  94. package/@types/relationships/index.d.ts +34 -1
  95. package/@types/relationships/with-schemas/index.d.cts +34 -1
  96. package/@types/relationships/with-schemas/index.d.ts +34 -1
  97. package/@types/store/index.d.cts +125 -0
  98. package/@types/store/index.d.ts +125 -0
  99. package/@types/store/with-schemas/index.d.cts +125 -0
  100. package/@types/store/with-schemas/index.d.ts +125 -0
  101. package/@types/synchronizers/index.d.cts +375 -41
  102. package/@types/synchronizers/index.d.ts +375 -41
  103. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
  104. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
  105. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
  106. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
  107. package/@types/synchronizers/synchronizer-local/index.d.cts +62 -3
  108. package/@types/synchronizers/synchronizer-local/index.d.ts +62 -3
  109. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -3
  110. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -3
  111. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +110 -3
  112. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +110 -3
  113. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +121 -3
  114. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +121 -3
  115. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
  116. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
  117. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
  118. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
  119. package/@types/synchronizers/with-schemas/index.d.cts +372 -42
  120. package/@types/synchronizers/with-schemas/index.d.ts +372 -42
  121. package/@types/tools/index.d.cts +22 -0
  122. package/@types/tools/index.d.ts +22 -0
  123. package/@types/tools/with-schemas/index.d.cts +22 -0
  124. package/@types/tools/with-schemas/index.d.ts +22 -0
  125. package/@types/ui-react/index.d.cts +375 -1
  126. package/@types/ui-react/index.d.ts +375 -1
  127. package/@types/ui-react/with-schemas/index.d.cts +100 -1
  128. package/@types/ui-react/with-schemas/index.d.ts +100 -1
  129. package/@types/ui-react-dom/index.d.cts +112 -0
  130. package/@types/ui-react-dom/index.d.ts +112 -0
  131. package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
  132. package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
  133. package/@types/ui-react-inspector/index.d.cts +6 -2
  134. package/@types/ui-react-inspector/index.d.ts +6 -2
  135. package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
  136. package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
  137. package/@types/with-schemas/index.d.cts +1 -0
  138. package/@types/with-schemas/index.d.ts +1 -0
  139. package/cjs/es6/index.cjs +49 -43
  140. package/cjs/es6/min/index.cjs +1 -1
  141. package/cjs/es6/min/index.cjs.gz +0 -0
  142. package/cjs/es6/min/metrics/index.cjs +1 -1
  143. package/cjs/es6/min/metrics/index.cjs.gz +0 -0
  144. package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
  145. package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
  146. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  147. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  148. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  149. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  150. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  151. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  152. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  153. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  154. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  155. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  156. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  157. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  159. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  160. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  161. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  163. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  164. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  165. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  167. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  168. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  169. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  171. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  172. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  173. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/es6/min/queries/index.cjs +1 -1
  175. package/cjs/es6/min/queries/index.cjs.gz +0 -0
  176. package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
  177. package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  179. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  180. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  181. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  182. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  183. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  184. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  185. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  186. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  187. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  188. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  189. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/es6/min/ui-react/index.cjs +1 -1
  191. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  192. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  193. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  195. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  196. package/cjs/es6/persisters/index.cjs +5 -5
  197. package/cjs/es6/persisters/persister-automerge/index.cjs +5 -5
  198. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  199. package/cjs/es6/persisters/persister-browser/index.cjs +5 -5
  200. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +5 -5
  201. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  202. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  203. package/cjs/es6/persisters/persister-electric-sql/index.cjs +11 -11
  204. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  205. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +11 -11
  206. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  207. package/cjs/es6/persisters/persister-file/index.cjs +5 -5
  208. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +5 -5
  209. package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -5
  210. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  211. package/cjs/es6/persisters/persister-libsql/index.cjs +11 -11
  212. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  213. package/cjs/es6/persisters/persister-partykit-client/index.cjs +5 -5
  214. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  215. package/cjs/es6/persisters/persister-powersync/index.cjs +11 -11
  216. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  217. package/cjs/es6/persisters/persister-remote/index.cjs +5 -5
  218. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +5 -5
  219. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +11 -11
  220. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  221. package/cjs/es6/persisters/persister-sqlite3/index.cjs +11 -11
  222. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  223. package/cjs/es6/persisters/persister-yjs/index.cjs +5 -5
  224. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  225. package/cjs/es6/persisters/with-schemas/index.cjs +5 -5
  226. package/cjs/es6/synchronizers/index.cjs +49 -43
  227. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
  228. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
  229. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +53 -48
  230. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -48
  231. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +61 -62
  232. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
  233. package/cjs/es6/synchronizers/with-schemas/index.cjs +49 -43
  234. package/cjs/es6/ui-react/index.cjs +137 -75
  235. package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
  236. package/cjs/es6/ui-react-inspector/index.cjs +5 -5
  237. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -5
  238. package/cjs/es6/with-schemas/index.cjs +49 -43
  239. package/cjs/index.cjs +49 -43
  240. package/cjs/min/index.cjs +1 -1
  241. package/cjs/min/index.cjs.gz +0 -0
  242. package/cjs/min/metrics/index.cjs +1 -1
  243. package/cjs/min/metrics/index.cjs.gz +0 -0
  244. package/cjs/min/metrics/with-schemas/index.cjs +1 -1
  245. package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
  246. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  247. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  248. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  249. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  250. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  251. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  252. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  253. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  254. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  255. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  256. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  257. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  258. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  259. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  260. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  261. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  262. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  263. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  264. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  265. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  266. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  267. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  268. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  269. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  270. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  271. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  272. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  273. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  274. package/cjs/min/queries/index.cjs +1 -1
  275. package/cjs/min/queries/index.cjs.gz +0 -0
  276. package/cjs/min/queries/with-schemas/index.cjs +1 -1
  277. package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
  278. package/cjs/min/synchronizers/index.cjs +1 -1
  279. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  280. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  281. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  282. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  283. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  284. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  285. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  286. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  287. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  288. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  289. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  290. package/cjs/min/ui-react/index.cjs +1 -1
  291. package/cjs/min/ui-react/index.cjs.gz +0 -0
  292. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  293. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  294. package/cjs/min/with-schemas/index.cjs +1 -1
  295. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  296. package/cjs/persisters/index.cjs +5 -5
  297. package/cjs/persisters/persister-automerge/index.cjs +5 -5
  298. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +5 -5
  299. package/cjs/persisters/persister-browser/index.cjs +5 -5
  300. package/cjs/persisters/persister-browser/with-schemas/index.cjs +5 -5
  301. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
  302. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
  303. package/cjs/persisters/persister-electric-sql/index.cjs +11 -11
  304. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
  305. package/cjs/persisters/persister-expo-sqlite/index.cjs +11 -11
  306. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
  307. package/cjs/persisters/persister-file/index.cjs +5 -5
  308. package/cjs/persisters/persister-file/with-schemas/index.cjs +5 -5
  309. package/cjs/persisters/persister-indexed-db/index.cjs +5 -5
  310. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
  311. package/cjs/persisters/persister-libsql/index.cjs +11 -11
  312. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +11 -11
  313. package/cjs/persisters/persister-partykit-client/index.cjs +5 -5
  314. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
  315. package/cjs/persisters/persister-powersync/index.cjs +11 -11
  316. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +11 -11
  317. package/cjs/persisters/persister-remote/index.cjs +5 -5
  318. package/cjs/persisters/persister-remote/with-schemas/index.cjs +5 -5
  319. package/cjs/persisters/persister-sqlite-wasm/index.cjs +11 -11
  320. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
  321. package/cjs/persisters/persister-sqlite3/index.cjs +11 -11
  322. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
  323. package/cjs/persisters/persister-yjs/index.cjs +5 -5
  324. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -5
  325. package/cjs/persisters/with-schemas/index.cjs +5 -5
  326. package/cjs/synchronizers/index.cjs +49 -43
  327. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
  328. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
  329. package/cjs/synchronizers/synchronizer-local/index.cjs +53 -53
  330. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -53
  331. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +61 -62
  332. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
  333. package/cjs/synchronizers/with-schemas/index.cjs +49 -43
  334. package/cjs/ui-react/index.cjs +139 -74
  335. package/cjs/ui-react/with-schemas/index.cjs +139 -74
  336. package/cjs/ui-react-inspector/index.cjs +5 -5
  337. package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -5
  338. package/cjs/with-schemas/index.cjs +49 -43
  339. package/es6/index.js +49 -43
  340. package/es6/min/index.js +1 -1
  341. package/es6/min/index.js.gz +0 -0
  342. package/es6/min/metrics/index.js +1 -1
  343. package/es6/min/metrics/index.js.gz +0 -0
  344. package/es6/min/metrics/with-schemas/index.js +1 -1
  345. package/es6/min/metrics/with-schemas/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  347. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  349. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  351. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  352. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  354. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  355. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  356. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  357. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  358. package/es6/min/persisters/persister-libsql/index.js +1 -1
  359. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  360. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  361. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  362. package/es6/min/persisters/persister-powersync/index.js +1 -1
  363. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  364. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  365. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  366. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  367. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  368. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  369. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  370. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  371. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  372. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  373. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  374. package/es6/min/queries/index.js +1 -1
  375. package/es6/min/queries/index.js.gz +0 -0
  376. package/es6/min/queries/with-schemas/index.js +1 -1
  377. package/es6/min/queries/with-schemas/index.js.gz +0 -0
  378. package/es6/min/synchronizers/index.js +1 -1
  379. package/es6/min/synchronizers/index.js.gz +0 -0
  380. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  381. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  382. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  383. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  384. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  385. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  386. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  387. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  388. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  389. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  390. package/es6/min/ui-react/index.js +1 -1
  391. package/es6/min/ui-react/index.js.gz +0 -0
  392. package/es6/min/ui-react/with-schemas/index.js +1 -1
  393. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  394. package/es6/min/with-schemas/index.js +1 -1
  395. package/es6/min/with-schemas/index.js.gz +0 -0
  396. package/es6/persisters/index.js +5 -5
  397. package/es6/persisters/persister-automerge/index.js +5 -5
  398. package/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  399. package/es6/persisters/persister-browser/index.js +5 -5
  400. package/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  401. package/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  402. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  403. package/es6/persisters/persister-electric-sql/index.js +11 -11
  404. package/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  405. package/es6/persisters/persister-expo-sqlite/index.js +11 -11
  406. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  407. package/es6/persisters/persister-file/index.js +5 -5
  408. package/es6/persisters/persister-file/with-schemas/index.js +5 -5
  409. package/es6/persisters/persister-indexed-db/index.js +5 -5
  410. package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  411. package/es6/persisters/persister-libsql/index.js +11 -11
  412. package/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  413. package/es6/persisters/persister-partykit-client/index.js +5 -5
  414. package/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  415. package/es6/persisters/persister-powersync/index.js +11 -11
  416. package/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  417. package/es6/persisters/persister-remote/index.js +5 -5
  418. package/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  419. package/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  420. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  421. package/es6/persisters/persister-sqlite3/index.js +11 -11
  422. package/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  423. package/es6/persisters/persister-yjs/index.js +5 -5
  424. package/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  425. package/es6/persisters/with-schemas/index.js +5 -5
  426. package/es6/synchronizers/index.js +49 -44
  427. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
  428. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
  429. package/es6/synchronizers/synchronizer-local/index.js +53 -48
  430. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +53 -48
  431. package/es6/synchronizers/synchronizer-ws-client/index.js +61 -62
  432. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
  433. package/es6/synchronizers/with-schemas/index.js +49 -44
  434. package/es6/ui-react/index.js +137 -75
  435. package/es6/ui-react/with-schemas/index.js +137 -75
  436. package/es6/ui-react-inspector/index.js +5 -5
  437. package/es6/ui-react-inspector/with-schemas/index.js +5 -5
  438. package/es6/with-schemas/index.js +49 -43
  439. package/index.js +49 -43
  440. package/min/index.js +1 -1
  441. package/min/index.js.gz +0 -0
  442. package/min/metrics/index.js +1 -1
  443. package/min/metrics/index.js.gz +0 -0
  444. package/min/metrics/with-schemas/index.js +1 -1
  445. package/min/metrics/with-schemas/index.js.gz +0 -0
  446. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  447. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  448. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  449. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  450. package/min/persisters/persister-electric-sql/index.js +1 -1
  451. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  452. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  453. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  454. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  455. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  456. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  457. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  458. package/min/persisters/persister-libsql/index.js +1 -1
  459. package/min/persisters/persister-libsql/index.js.gz +0 -0
  460. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  461. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  462. package/min/persisters/persister-powersync/index.js +1 -1
  463. package/min/persisters/persister-powersync/index.js.gz +0 -0
  464. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  465. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  466. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  467. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  468. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  469. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  470. package/min/persisters/persister-sqlite3/index.js +1 -1
  471. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  472. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  473. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  474. package/min/queries/index.js +1 -1
  475. package/min/queries/index.js.gz +0 -0
  476. package/min/queries/with-schemas/index.js +1 -1
  477. package/min/queries/with-schemas/index.js.gz +0 -0
  478. package/min/synchronizers/index.js +1 -1
  479. package/min/synchronizers/index.js.gz +0 -0
  480. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  481. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  482. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  483. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  484. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  485. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  486. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  487. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  488. package/min/synchronizers/with-schemas/index.js +1 -1
  489. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  490. package/min/ui-react/index.js +1 -1
  491. package/min/ui-react/index.js.gz +0 -0
  492. package/min/ui-react/with-schemas/index.js +1 -1
  493. package/min/ui-react/with-schemas/index.js.gz +0 -0
  494. package/min/with-schemas/index.js +1 -1
  495. package/min/with-schemas/index.js.gz +0 -0
  496. package/package.json +109 -5
  497. package/persisters/index.js +5 -5
  498. package/persisters/persister-automerge/index.js +5 -5
  499. package/persisters/persister-automerge/with-schemas/index.js +5 -5
  500. package/persisters/persister-browser/index.js +5 -5
  501. package/persisters/persister-browser/with-schemas/index.js +5 -5
  502. package/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  503. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  504. package/persisters/persister-electric-sql/index.js +11 -11
  505. package/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  506. package/persisters/persister-expo-sqlite/index.js +11 -11
  507. package/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  508. package/persisters/persister-file/index.js +5 -5
  509. package/persisters/persister-file/with-schemas/index.js +5 -5
  510. package/persisters/persister-indexed-db/index.js +5 -5
  511. package/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  512. package/persisters/persister-libsql/index.js +11 -11
  513. package/persisters/persister-libsql/with-schemas/index.js +11 -11
  514. package/persisters/persister-partykit-client/index.js +5 -5
  515. package/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  516. package/persisters/persister-powersync/index.js +11 -11
  517. package/persisters/persister-powersync/with-schemas/index.js +11 -11
  518. package/persisters/persister-remote/index.js +5 -5
  519. package/persisters/persister-remote/with-schemas/index.js +5 -5
  520. package/persisters/persister-sqlite-wasm/index.js +11 -11
  521. package/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  522. package/persisters/persister-sqlite3/index.js +11 -11
  523. package/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  524. package/persisters/persister-yjs/index.js +5 -5
  525. package/persisters/persister-yjs/with-schemas/index.js +5 -5
  526. package/persisters/with-schemas/index.js +5 -5
  527. package/readme.md +10 -10
  528. package/releases.md +8 -8
  529. package/synchronizers/index.js +49 -44
  530. package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
  531. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
  532. package/synchronizers/synchronizer-local/index.js +53 -53
  533. package/synchronizers/synchronizer-local/with-schemas/index.js +53 -53
  534. package/synchronizers/synchronizer-ws-client/index.js +61 -62
  535. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
  536. package/synchronizers/with-schemas/index.js +49 -44
  537. package/ui-react/index.js +139 -74
  538. package/ui-react/with-schemas/index.js +139 -74
  539. package/ui-react-inspector/index.js +5 -5
  540. package/ui-react-inspector/with-schemas/index.js +5 -5
  541. package/umd/es6/index.js +52 -43
  542. package/umd/es6/min/index.js +1 -1
  543. package/umd/es6/min/index.js.gz +0 -0
  544. package/umd/es6/min/metrics/index.js +1 -1
  545. package/umd/es6/min/metrics/index.js.gz +0 -0
  546. package/umd/es6/min/metrics/with-schemas/index.js +1 -1
  547. package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
  548. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  549. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  550. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  551. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  552. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  553. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  554. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  555. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  556. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  557. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  558. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  559. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  560. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  561. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  562. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  563. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  564. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  565. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  566. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  567. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  568. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  569. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  570. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  571. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  572. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  573. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  574. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  575. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  576. package/umd/es6/min/queries/index.js +1 -1
  577. package/umd/es6/min/queries/index.js.gz +0 -0
  578. package/umd/es6/min/queries/with-schemas/index.js +1 -1
  579. package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
  580. package/umd/es6/min/synchronizers/index.js +1 -1
  581. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  582. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  583. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  584. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  585. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  586. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  587. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  588. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  589. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  590. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  591. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  592. package/umd/es6/min/ui-react/index.js +1 -1
  593. package/umd/es6/min/ui-react/index.js.gz +0 -0
  594. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  595. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  596. package/umd/es6/min/with-schemas/index.js +1 -1
  597. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  598. package/umd/es6/persisters/index.js +5 -5
  599. package/umd/es6/persisters/persister-automerge/index.js +5 -5
  600. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
  601. package/umd/es6/persisters/persister-browser/index.js +5 -5
  602. package/umd/es6/persisters/persister-browser/with-schemas/index.js +5 -5
  603. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  604. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  605. package/umd/es6/persisters/persister-electric-sql/index.js +11 -11
  606. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  607. package/umd/es6/persisters/persister-expo-sqlite/index.js +11 -11
  608. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  609. package/umd/es6/persisters/persister-file/index.js +5 -5
  610. package/umd/es6/persisters/persister-file/with-schemas/index.js +5 -5
  611. package/umd/es6/persisters/persister-indexed-db/index.js +5 -5
  612. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  613. package/umd/es6/persisters/persister-libsql/index.js +11 -11
  614. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
  615. package/umd/es6/persisters/persister-partykit-client/index.js +5 -5
  616. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  617. package/umd/es6/persisters/persister-powersync/index.js +11 -11
  618. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
  619. package/umd/es6/persisters/persister-remote/index.js +5 -5
  620. package/umd/es6/persisters/persister-remote/with-schemas/index.js +5 -5
  621. package/umd/es6/persisters/persister-sqlite-wasm/index.js +11 -11
  622. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  623. package/umd/es6/persisters/persister-sqlite3/index.js +11 -11
  624. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  625. package/umd/es6/persisters/persister-yjs/index.js +5 -5
  626. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
  627. package/umd/es6/persisters/with-schemas/index.js +5 -5
  628. package/umd/es6/synchronizers/index.js +52 -43
  629. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
  630. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
  631. package/umd/es6/synchronizers/synchronizer-local/index.js +56 -48
  632. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +56 -48
  633. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +64 -62
  634. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -62
  635. package/umd/es6/synchronizers/with-schemas/index.js +52 -43
  636. package/umd/es6/ui-react/index.js +135 -72
  637. package/umd/es6/ui-react/with-schemas/index.js +135 -72
  638. package/umd/es6/ui-react-inspector/index.js +5 -5
  639. package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -5
  640. package/umd/es6/with-schemas/index.js +52 -43
  641. package/umd/index.js +52 -47
  642. package/umd/min/index.js +1 -1
  643. package/umd/min/index.js.gz +0 -0
  644. package/umd/min/metrics/index.js +1 -1
  645. package/umd/min/metrics/index.js.gz +0 -0
  646. package/umd/min/metrics/with-schemas/index.js +1 -1
  647. package/umd/min/metrics/with-schemas/index.js.gz +0 -0
  648. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  649. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  650. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  651. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  652. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  653. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  654. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  655. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  656. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  657. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  658. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  659. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  660. package/umd/min/persisters/persister-libsql/index.js +1 -1
  661. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  662. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  663. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  664. package/umd/min/persisters/persister-powersync/index.js +1 -1
  665. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  666. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  667. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  668. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  669. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  670. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  671. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  672. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  673. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  674. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  675. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  676. package/umd/min/queries/index.js +1 -1
  677. package/umd/min/queries/index.js.gz +0 -0
  678. package/umd/min/queries/with-schemas/index.js +1 -1
  679. package/umd/min/queries/with-schemas/index.js.gz +0 -0
  680. package/umd/min/synchronizers/index.js +1 -1
  681. package/umd/min/synchronizers/index.js.gz +0 -0
  682. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  683. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  684. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  685. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  686. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  687. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  688. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  689. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  690. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  691. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  692. package/umd/min/ui-react/index.js +1 -1
  693. package/umd/min/ui-react/index.js.gz +0 -0
  694. package/umd/min/ui-react/with-schemas/index.js +1 -1
  695. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  696. package/umd/min/with-schemas/index.js +1 -1
  697. package/umd/min/with-schemas/index.js.gz +0 -0
  698. package/umd/persisters/index.js +5 -5
  699. package/umd/persisters/persister-automerge/index.js +5 -5
  700. package/umd/persisters/persister-automerge/with-schemas/index.js +5 -5
  701. package/umd/persisters/persister-browser/index.js +5 -5
  702. package/umd/persisters/persister-browser/with-schemas/index.js +5 -5
  703. package/umd/persisters/persister-cr-sqlite-wasm/index.js +11 -11
  704. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
  705. package/umd/persisters/persister-electric-sql/index.js +11 -11
  706. package/umd/persisters/persister-electric-sql/with-schemas/index.js +11 -11
  707. package/umd/persisters/persister-expo-sqlite/index.js +11 -11
  708. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
  709. package/umd/persisters/persister-file/index.js +5 -5
  710. package/umd/persisters/persister-file/with-schemas/index.js +5 -5
  711. package/umd/persisters/persister-indexed-db/index.js +5 -5
  712. package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -5
  713. package/umd/persisters/persister-libsql/index.js +11 -11
  714. package/umd/persisters/persister-libsql/with-schemas/index.js +11 -11
  715. package/umd/persisters/persister-partykit-client/index.js +5 -5
  716. package/umd/persisters/persister-partykit-client/with-schemas/index.js +5 -5
  717. package/umd/persisters/persister-powersync/index.js +11 -11
  718. package/umd/persisters/persister-powersync/with-schemas/index.js +11 -11
  719. package/umd/persisters/persister-remote/index.js +5 -5
  720. package/umd/persisters/persister-remote/with-schemas/index.js +5 -5
  721. package/umd/persisters/persister-sqlite-wasm/index.js +11 -11
  722. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
  723. package/umd/persisters/persister-sqlite3/index.js +11 -11
  724. package/umd/persisters/persister-sqlite3/with-schemas/index.js +11 -11
  725. package/umd/persisters/persister-yjs/index.js +5 -5
  726. package/umd/persisters/persister-yjs/with-schemas/index.js +5 -5
  727. package/umd/persisters/with-schemas/index.js +5 -5
  728. package/umd/synchronizers/index.js +52 -47
  729. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
  730. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
  731. package/umd/synchronizers/synchronizer-local/index.js +56 -57
  732. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +56 -57
  733. package/umd/synchronizers/synchronizer-ws-client/index.js +64 -66
  734. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -66
  735. package/umd/synchronizers/with-schemas/index.js +52 -47
  736. package/umd/ui-react/index.js +140 -71
  737. package/umd/ui-react/with-schemas/index.js +140 -71
  738. package/umd/ui-react-inspector/index.js +5 -5
  739. package/umd/ui-react-inspector/with-schemas/index.js +5 -5
  740. package/umd/with-schemas/index.js +52 -47
  741. package/with-schemas/index.js +49 -43
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,r="",n=t(r),s=t(t),i=Math,o=i.max,c=i.min,a=isFinite,d=e=>null==e,l=(e,t,r)=>d(e)?r?.():t(e),u=e=>Array.isArray(e),f=e=>e.length,v=()=>{},h=(e,t)=>e.forEach(t),g=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),p=(e,...t)=>e.push(...t),y=Object.freeze,m=e=>e?.size??0,L=(b=m,e=>M(x(e),((e,t)=>e+b(t)),0));var b;const w=(e,t)=>e?.has(t)??!1,T=e=>d(e)||0==m(e),x=e=>[...e?.values()??[]],I=e=>e.clear(),E=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),S=e=>new Map(e),j=(e,t)=>e?.get(t),k=(e,t)=>E(e,((e,r)=>t(r,e))),z=(e,t,r)=>d(r)?(R(e,t),e):e?.set(t,r),A=(e,t,r,n)=>(w(e,t)?n?.(j(e,t)):z(e,t,r()),j(e,t)),D=(e,t,r,n,s=0)=>l((r?A:j)(e,t[s],s>f(t)-2?r:S),(i=>{if(s>f(t)-2)return n?.(i)&&z(e,t[s]),i;const o=D(i,t,r,n,s+1);return T(i)&&z(e,t[s]),o})),N=S([["avg",[(e,t)=>g(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:o(t,e)]],["min",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:c(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),B=e=>new Set(u(e)||d(e)?e:[e]),C=(e,t)=>e?.add(t),F=/^\d+$/,O=((e,i)=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const i=S(),[o,c,g]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??r+t++,t=>{F.test(t)&&f(e)<1e3&&p(e,t)}]})(),i=S();return[(e,s,o,c=[],a=(()=>[]))=>{t??=Q;const d=n(1);return z(i,d,[e,s,o,c,a]),C(D(s,o??[r],B),d),d},(e,n,...s)=>h(((e,t=[r])=>{const n=[],s=(e,r)=>r==f(t)?p(n,e):null===t[r]?E(e,(e=>s(e,r+1))):h([t[r],null],(t=>s(j(e,t),r+1)));return s(e,0),n})(e,n),(e=>E(e,(e=>j(i,e)[0](t,...n??[],...s))))),e=>l(j(i,e),(([,t,n])=>(D(t,n??[r],void 0,(t=>(R(t,e),T(t)?1:0))),z(i,e),s(e),n))),e=>l(j(i,e),(([e,,r=[],n,s])=>{const i=(...o)=>{const c=f(o);c==f(r)?e(t,...o,...s(o)):d(r[c])?h(n[c]?.(...o)??[],(e=>i(...o,e))):i(...o,r[c])};i()}))]})(),[M,b,O,W,$,q,G,,H,J,K,P]=((e,t,n,s,i)=>{const o=e.hasRow,c=S(),a=S(),v=S(),g=S(),M=S(),p=S(),y=(t,r,...n)=>{const s=A(p,t,B);return h(n,(t=>C(s,t)&&r&&e.callListener(t))),n},m=(t,...r)=>l(j(p,t),(n=>{h(0==f(r)?x(n):r,(t=>{e.delListener(t),R(n,t)})),T(n)&&z(p,t)})),L=(e,r)=>{z(c,e,r),w(a,e)||(z(a,e,t()),z(g,e,S()),z(M,e,S()),i(v))},b=e=>{z(c,e),z(a,e),z(g,e),z(M,e),m(e),i(v)};return[()=>e,()=>{return e=c,[...e?.keys()??[]];var e},e=>k(a,e),e=>w(a,e),e=>j(c,e),e=>j(a,e),(e,t)=>z(a,e,t),L,(t,n,s,i,c)=>{L(t,n);const a=S(),l=S(),v=j(g,t),p=j(M,t),b=t=>{const s=r=>e.getCell(n,t,r),h=j(v,t),g=o(n,t)?(M=i(s,t),isNaN(M)||d(M)||!0===M||!1===M||M===r?void 0:1*M):void 0;var M,y,m,L;if(h===g||u(h)&&u(g)&&(m=g,f(y=h)===f(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||z(a,t,[h,g]),!d(c)){const e=j(p,t),r=o(n,t)?c(s,t):void 0;e!=r&&z(l,t,r)}},T=e=>{s((()=>{E(a,(([,e],t)=>z(v,t,e))),E(l,((e,t)=>z(p,t,e)))}),a,l,v,p,e),I(a),I(l)};k(v,b),e.hasTable(n)&&h(e.getRowIds(n),(e=>{w(v,e)||b(e)})),T(!0),m(t),y(t,0,e.addRowListener(n,null,((e,t,r)=>b(r))),e.addTableListener(n,(()=>T())))},b,e=>s(e,v),()=>k(p,b),y,m]})(e,v,0,o,c),Q={setMetricDefinition:(e,r,o,l,u,f,v)=>{const h=t(o)==s?[o,u,f,v]:j(N,o)??j(N,"sum");return H(e,r,((t,r,n,s,o,l)=>{const u=q(e),f=m(s);l||=d(u),t();let v=((e,t,r,n,s,i=!1)=>{if(T(r))return;const[o,c,a,l]=s;return i||=d(e),E(n,(([r,n])=>{i||(e=d(r)?c?.(e,n,t++):d(n)?a?.(e,r,t--):l?.(e,n,r,t),i||=d(e))})),i?o(x(r),m(r)):e})(u,f,s,r,h,l);a(v)||(v=void 0),v!=u&&(G(e,v),c(i,[e],v,u))}),(1,t(g=l)==n?e=>e(g):g??(()=>1))),Q;var g},delMetricDefinition:e=>(J(e),Q),getStore:M,getMetricIds:b,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:K,addMetricListener:(e,t)=>o(t,i,[e]),delListener:e=>(g(e),Q),destroy:P,getListenerStats:()=>({metric:L(i)})};return y(Q)})(e)),o.get(e))})();e.createMetrics=O},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,r="",n=t(r),s=t(t),i=Math,o=i.max,c=i.min,a=isFinite,d=e=>null==e,l=(e,t,r)=>d(e)?r?.():t(e),u=e=>Array.isArray(e),f=e=>e.length,v=()=>{},h=(e,t)=>e.forEach(t),g=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),p=(e,...t)=>e.push(...t),y=Object.freeze,m=e=>e?.size??0,L=(b=m,e=>M(x(e),((e,t)=>e+b(t)),0));var b;const w=(e,t)=>e?.has(t)??!1,T=e=>d(e)||0==m(e),x=e=>[...e?.values()??[]],I=e=>e.clear(),E=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),S=e=>new Map(e),j=(e,t)=>e?.get(t),k=(e,t)=>E(e,((e,r)=>t(r,e))),z=(e,t,r)=>d(r)?(R(e,t),e):e?.set(t,r),A=(e,t,r,n)=>(w(e,t)?n?.(j(e,t)):z(e,t,r()),j(e,t)),D=(e,t,r,n,s=0)=>l((r?A:j)(e,t[s],s>f(t)-2?r:S),(i=>{if(s>f(t)-2)return n?.(i)&&z(e,t[s]),i;const o=D(i,t,r,n,s+1);return T(i)&&z(e,t[s]),o})),N=S([["avg",[(e,t)=>g(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:o(t,e)]],["min",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:c(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),B=e=>new Set(u(e)||d(e)?e:[e]),C=(e,t)=>e?.add(t),F=/^\d+$/,O=((e,i)=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const i=S(),[o,c,g]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??r+t++,t=>{F.test(t)&&f(e)<1e3&&p(e,t)}]})(),i=S();return[(e,s,o,c=[],a=(()=>[]))=>{t??=Q;const d=n(1);return z(i,d,[e,s,o,c,a]),C(D(s,o??[r],B),d),d},(e,n,...s)=>h(((e,t=[r])=>{const n=[],s=(e,r)=>r==f(t)?p(n,e):null===t[r]?E(e,(e=>s(e,r+1))):h([t[r],null],(t=>s(j(e,t),r+1)));return s(e,0),n})(e,n),(e=>E(e,(e=>j(i,e)[0](t,...n??[],...s))))),e=>l(j(i,e),(([,t,n])=>(D(t,n??[r],void 0,(t=>(R(t,e),T(t)?1:0))),z(i,e),s(e),n))),e=>l(j(i,e),(([e,,r=[],n,s])=>{const i=(...o)=>{const c=f(o);c==f(r)?e(t,...o,...s(o)):d(r[c])?h(n[c]?.(...o)??[],(e=>i(...o,e))):i(...o,r[c])};i()}))]})(),[M,b,O,W,$,q,G,,H,J,K,P]=((e,t,n,s,i)=>{const o=e.hasRow,c=S(),a=S(),v=S(),g=S(),M=S(),p=S(),y=(t,r,...n)=>{const s=A(p,t,B);return h(n,(t=>C(s,t)&&r&&e.callListener(t))),n},m=(t,...r)=>l(j(p,t),(n=>{h(0==f(r)?x(n):r,(t=>{e.delListener(t),R(n,t)})),T(n)&&z(p,t)})),L=(e,r)=>{z(c,e,r),w(a,e)||(z(a,e,t()),z(g,e,S()),z(M,e,S()),i(v))},b=e=>{z(c,e),z(a,e),z(g,e),z(M,e),m(e),i(v)};return[()=>e,()=>{return e=c,[...e?.keys()??[]];var e},e=>k(a,e),e=>w(a,e),e=>j(c,e),e=>j(a,e),(e,t)=>z(a,e,t),L,(t,n,s,i,c)=>{L(t,n);const a=S(),l=S(),v=j(g,t),p=j(M,t),b=t=>{const s=r=>e.getCell(n,t,r),h=j(v,t),g=o(n,t)?(M=i(s,t),isNaN(M)||d(M)||!0===M||!1===M||M===r?void 0:1*M):void 0;var M,y,m,L;if(h===g||u(h)&&u(g)&&(m=g,f(y=h)===f(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||z(a,t,[h,g]),!d(c)){const e=j(p,t),r=o(n,t)?c(s,t):void 0;e!=r&&z(l,t,r)}},T=e=>{s((()=>{E(a,(([,e],t)=>z(v,t,e))),E(l,((e,t)=>z(p,t,e)))}),a,l,v,p,e),I(a),I(l)};k(v,b),e.hasTable(n)&&h(e.getRowIds(n),(e=>{w(v,e)||b(e)})),T(!0),m(t),y(t,0,e.addRowListener(n,null,((e,t,r)=>b(r))),e.addTableListener(n,(()=>T())))},b,e=>s(e,v),()=>k(p,b),y,m]})(e,v,0,o,c),Q={setMetricDefinition:(e,r,o,l,u,f,v)=>{const h=t(o)==s?[o,u,f,v]:j(N,o)??j(N,"sum");return H(e,r,((t,r,n,s,o,l)=>{const u=q(e),f=m(s);l||=d(u),t();let v=((e,t,r,n,s,i=!1)=>{if(T(r))return;const[o,c,a,l]=s;return i||=d(e),E(n,(([r,n])=>{i||(e=d(r)?c?.(e,n,t++):d(n)?a?.(e,r,t--):l?.(e,n,r,t),i||=d(e))})),i?o(x(r),m(r)):e})(u,f,s,r,h,l);a(v)||(v=void 0),v!=u&&(G(e,v),c(i,[e],v,u))}),t(g=l)==n?e=>e(g):g??(()=>1)),Q;var g},delMetricDefinition:e=>(J(e),Q),getStore:M,getMetricIds:b,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:K,addMetricListener:(e,t)=>o(t,i,[e]),delListener:e=>(g(e),Q),destroy:P,getListenerStats:()=>({metric:L(i)})};return y(Q)})(e)),o.get(e))})();e.createMetrics=O},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),S=A.entries,b=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(h(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&h(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||h(r,t)){const s=j(r,t),i=G(x(s));await E([...f(u,(async e=>{O(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?f(T(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))h(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+v(f(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+v(f(i,(a=>k(a)+"=excluded."+k(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,m,h,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&O(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,A(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,C,h]=ta(t,d,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Ta="pragma_",Oa="data_version",Aa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,C,O]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[pa]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=G(c),y=G(c);return[0,n,[ha(s,{[fa]:null,[va]:Y},fa,(a=>h(y,a)),(a=>z(l,a))),ha(i,{[ga]:null,[va]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${Oa} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,C,T(O),y,d,p)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),S=A.entries,b=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(h(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&h(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||h(r,t)){const s=j(r,t),i=G(x(s));await E([...f(u,(async e=>{O(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?f(T(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))h(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+v(f(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+v(f(i,(a=>k(a)+"=excluded."+k(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,m,h,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&O(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,A(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,C,h]=ta(t,d,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:wa,[Ea]:1},Ta={load:0,save:0,[ga]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Aa="pragma_",Na="data_version",Sa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,C,O]=(a=>{const t=(a=>I(ha,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[pa]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ta,r)),0,$(Ta)),c=o[2],l=G(c),y=G(c);return[0,n,[Oa(s,{[fa]:null,[va]:Y},fa,(a=>h(y,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Sa} s,TOTAL_CHANGES() c FROM ${Aa}${Na} JOIN ${Aa}${Sa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,C,T(O),y,d,p)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),S=A.entries,b=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(h(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&h(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||h(r,t)){const s=j(r,t),i=G(x(s));await E([...f(u,(async e=>{O(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?f(T(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))h(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+v(f(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+v(f(i,(a=>k(a)+"=excluded."+k(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,m,h,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&O(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,A(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,C,h]=ta(t,d,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Ta="pragma_",Oa="data_version",Aa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,C,O]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[pa]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=G(c),y=G(c);return[0,n,[ha(s,{[fa]:null,[va]:Y},fa,(a=>h(y,a)),(a=>z(l,a))),ha(i,{[ga]:null,[va]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${Oa} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,C,T(O),y,d,p)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),S=A.entries,b=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>f(S(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(h(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>f(b(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&h(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||h(r,t)){const s=j(r,t),i=G(x(s));await E([...f(u,(async e=>{O(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?f(T(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))h(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+v(f(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+v(f(i,(a=>k(a)+"=excluded."+k(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,m,h,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&O(a)}E=0}))),D),S=()=>(u&&(s(u),u=void 0),D),b=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await S().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,v++,A(t??a),E=0):await N()})),D),stopAutoLoad:S,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,C,h]=ta(t,d,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:wa,[Ea]:1},Ta={load:0,save:0,[ga]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Aa="pragma_",Na="data_version",Sa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,C,O]=(a=>{const t=(a=>I(ha,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[pa]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ta,r)),0,$(Ta)),c=o[2],l=G(c),y=G(c);return[0,n,[Oa(s,{[fa]:null,[va]:Y},fa,(a=>h(y,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Sa} s,TOTAL_CHANGES() c FROM ${Aa}${Na} JOIN ${Aa}${Sa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,C,T(O),y,d,p)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),D=(...a)=>A.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>v(N(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(g(u)||C(r,t)){const s=x(r,t),i=W(j(s));await p([...v(u,(async e=>{b(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?v(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0,f=0,v=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,h,C,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,f++,await D((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}p=0}))),I),N=()=>(u&&(s(u),u=void 0),I),S=async a=>(1!=p&&(p=2,v++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}p=0}))),I),L=()=>(y(E,a.delListener),E=void 0,I),D=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),I),I={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,f++,A(t??a),p=0):await O()})),I),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(I)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,m,C]=ta(t,d,s,f),T=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await v();const a=await(async()=>L(h(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await b(e)}else await T(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha={mode:wa,[pa]:1},ma={load:0,save:0,[ga]:e+"_values"},Ca=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Ta="pragma_",ba="data_version",Aa="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,h,m,b]=(a=>{const t=(a=>D(ha,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(ma,r)),0,$(ma)),c=o[2],l=W(c),y=W(c);return[0,n,[Ca(s,{[va]:null,[fa]:k},va,(a=>C(y,a)),(a=>z(l,a))),Ca(i,{[ga]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ba} JOIN ${Ta}${Aa}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,m,T(b),y,d,E)})(a,n,(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()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),D=(...a)=>A.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>v(N(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(g(u)||C(r,t)){const s=x(r,t),i=W(j(s));await p([...v(u,(async e=>{b(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?v(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0,f=0,v=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,h,C,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,f++,await D((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}p=0}))),I),N=()=>(u&&(s(u),u=void 0),I),S=async a=>(1!=p&&(p=2,v++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}p=0}))),I),L=()=>(y(E,a.delListener),E=void 0,I),D=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),I),I={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,f++,A(t??a),p=0):await O()})),I),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(I)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,m,C]=ta(t,d,s,f),T=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await v();const a=await(async()=>L(h(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await b(e)}else await T(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:wa,[pa]:1},Ta={load:0,save:0,[ga]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,h,m,b]=(a=>{const t=(a=>D(Ca,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(Ta,r)),0,$(Ta)),c=o[2],l=W(c),y=W(c);return[0,n,[ba(s,{[va]:null,[fa]:k},va,(a=>C(y,a)),(a=>z(l,a))),ba(i,{[ga]:null,[fa]:k,[ha]:0,[ma]:0},ga,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,m,T(b),y,d,E)})(a,n,(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()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),D=(...a)=>A.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>v(N(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(g(u)||C(r,t)){const s=x(r,t),i=W(j(s));await p([...v(u,(async e=>{b(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?v(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0,f=0,v=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,h,C,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,f++,await D((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}p=0}))),I),N=()=>(u&&(s(u),u=void 0),I),S=async a=>(1!=p&&(p=2,v++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}p=0}))),I),L=()=>(y(E,a.delListener),E=void 0,I),D=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),I),I={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,f++,A(t??a),p=0):await O()})),I),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(I)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,m,C]=ta(t,d,s,f),T=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await v();const a=await(async()=>L(h(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await b(e)}else await T(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha={mode:wa,[pa]:1},ma={load:0,save:0,[ga]:e+"_values"},Ca=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Ta="pragma_",ba="data_version",Aa="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,h,m,b]=(a=>{const t=(a=>D(ha,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(ma,r)),0,$(ma)),c=o[2],l=W(c),y=W(c);return[0,n,[Ca(s,{[va]:null,[fa]:k},va,(a=>C(y,a)),(a=>z(l,a))),Ca(i,{[ga]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ba} JOIN ${Ta}${Aa}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,m,T(b),y,d,E)})(a,n,(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()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),D=(...a)=>A.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>v(N(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(h(v(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(g(u)||C(r,t)){const s=x(r,t),i=W(j(s));await p([...v(u,(async e=>{b(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?v(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...v(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(v(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(v(i,(a=>G(a)+"=excluded."+G(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0,f=0,v=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[g,h,C,T,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=p&&(p=1,f++,await D((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}p=0}))),I),N=()=>(u&&(s(u),u=void 0),I),S=async a=>(1!=p&&(p=2,v++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}p=0}))),I),L=()=>(y(E,a.delListener),E=void 0,I),D=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),I),I={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,f++,A(t??a),p=0):await O()})),I),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:f,saves:v}),...o};return R(I)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,m,C]=ta(t,d,s,f),T=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await v();const a=await(async()=>L(h(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await b(e)}else await T(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ca={mode:wa,[pa]:1},Ta={load:0,save:0,[ga]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,h,m,b]=(a=>{const t=(a=>D(Ca,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(Ta,r)),0,$(Ta)),c=o[2],l=W(c),y=W(c);return[0,n,[ba(s,{[va]:null,[fa]:k},va,(a=>C(y,a)),(a=>z(l,a))),ba(i,{[ga]:null,[fa]:k,[ha]:0,[ma]:0},ga,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,m,T(b),y,d,E)})(a,n,(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()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",r=e(n),o=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==r,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),h=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,L=b.keys,R=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>g(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),$=a=>E(L(a)),_=a=>(a=>!y(a)&&w(N(a),(a=>a==b.prototype||y(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,s)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,s=H)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:s(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,s)=>{const r=F();return[async()=>Y(r,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!y(j(j(r,a),t)))(t,e)?D(h(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,o,c,l,w=!1)=>{const d=z();P(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=T(d);if(!w&&l&&m(u)&&C(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(m(u)||C(r,t)){const s=j(r,t),i=z(q(s));await v([...g(u,(async e=>{O(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(Q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)y(o)?await a(X+U(t)+ta+" 1"):await v(P(o,(async(n,i)=>{y(n)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await sa(a,t,e,L(n),[i,...x(n)],s)})));else if(m(u))C(r,t)&&await a(X+U(t)+ta+" 1");else{const n=h(q(j(r,t)),(a=>a!=e)),i=[],c=[];P(o??{},((a,t)=>{A(i,t,...g(n,(t=>a?.[t]))),A(c,t)})),await sa(a,t,e,n,i,s),await a(X+U(t)+ta+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},sa=async(a,t,e,s,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(s,(a=>i+U(a))))+")VALUES"+p(o(`,(?${o(",?",E(s))})`,E(r)/(E(s)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(s,(a=>U(a)+"=excluded."+U(a))),i):n),g(r,(a=>a??null))),na=a=>f(g(a,(()=>"?")),i),ia=F(),ra=F(),oa=(a,t,e,s,n,i,r,o={},c=[])=>{let l,d,p,E=0,v=0,f=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[g,m,h,C,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await D((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),I),N=()=>(d&&(n(d),d=void 0),I),S=async a=>(1!=E&&(E=2,f++,await D((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),I),L=()=>(w(p,a.delListener),p=void 0,I),D=async(...a)=>(A(j(ra,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();C(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!y(p),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(I)},ca=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},la=(a,t,e,s,n,i,[r,o,[c,l,w]],d,u,p,E)=>{const[f,g,m,A]=ea(t,d,n,E),C=async(a,t)=>await v(B(o,(async([e,s,n,i],r)=>{t&&!M(a,r)||await m(e,s,a[r],n,i,t)}))),T=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return oa(a,(async()=>await A((async()=>{await f();const a=await(async()=>D(h(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),y(t)){const[t,e]=a();await C(t),await T(e)}else await C(t[0],!0),await T(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",ha={mode:da,[va]:1},Aa={load:0,save:0,[ma]:s+"_values"},Ca=(a,t,e,s,n)=>{const i=F();return P(a,((a,r)=>{const o=p(x(I(t,d(a)?{[e]:a}:a)),0,$(t));y(o[0])||s(r,o[0])||(n(r,o[0]),H(i,r,o))})),i},Ta="pragma_",Oa="data_version",ba="schema_version";a.createExpoSqlitePersister=(a,e,n,i,r)=>((a,t,e,n,i,r,o,c,y,w="getDb",u)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(ha,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??s;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=p(x(I(Aa,r)),0,$(Aa)),c=o[2],l=z(c),y=z(c);return[0,e,[Ca(n,{[ga]:null,[fa]:G},ga,(a=>C(y,a)),(a=>K(l,a))),Ca(i,{[ma]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>C(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(g?ca:la)(a,r?async(a,t)=>(r(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:s,c:n}]=await e(`SELECT ${Oa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${Oa} JOIN ${Ta}${ba}`);t==(E??=t)&&s==(v??=s)&&n==(f??=n)||(a(),E=t,v=s)}catch{}},s=m,t(),setInterval(t,1e3*s)),n((t=>A.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),E=v=f=null,i(t)}),o,c,h,T(A),y,w,u)})(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,r,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={},a["expo-sqlite"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",r=e(n),o=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==r,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),h=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,L=b.keys,R=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>g(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),$=a=>E(L(a)),_=a=>(a=>!y(a)&&w(N(a),(a=>a==b.prototype||y(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,s)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,s=H)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:s(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,s)=>{const r=F();return[async()=>Y(r,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!y(j(j(r,a),t)))(t,e)?D(h(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,o,c,l,w=!1)=>{const d=z();P(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=T(d);if(!w&&l&&m(u)&&C(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(m(u)||C(r,t)){const s=j(r,t),i=z(q(s));await v([...g(u,(async e=>{O(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(Q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)y(o)?await a(X+U(t)+ta+" 1"):await v(P(o,(async(n,i)=>{y(n)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await sa(a,t,e,L(n),[i,...x(n)],s)})));else if(m(u))C(r,t)&&await a(X+U(t)+ta+" 1");else{const n=h(q(j(r,t)),(a=>a!=e)),i=[],c=[];P(o??{},((a,t)=>{A(i,t,...g(n,(t=>a?.[t]))),A(c,t)})),await sa(a,t,e,n,i,s),await a(X+U(t)+ta+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},sa=async(a,t,e,s,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(s,(a=>i+U(a))))+")VALUES"+p(o(`,(?${o(",?",E(s))})`,E(r)/(E(s)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(s,(a=>U(a)+"=excluded."+U(a))),i):n),g(r,(a=>a??null))),na=a=>f(g(a,(()=>"?")),i),ia=F(),ra=F(),oa=(a,t,e,s,n,i,r,o={},c=[])=>{let l,d,p,E=0,v=0,f=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[g,m,h,C,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await D((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),I),N=()=>(d&&(n(d),d=void 0),I),S=async a=>(1!=E&&(E=2,f++,await D((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),I),L=()=>(w(p,a.delListener),p=void 0,I),D=async(...a)=>(A(j(ra,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();C(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!y(p),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(I)},ca=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},la=(a,t,e,s,n,i,[r,o,[c,l,w]],d,u,p,E)=>{const[f,g,m,A]=ea(t,d,n,E),C=async(a,t)=>await v(B(o,(async([e,s,n,i],r)=>{t&&!M(a,r)||await m(e,s,a[r],n,i,t)}))),T=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return oa(a,(async()=>await A((async()=>{await f();const a=await(async()=>D(h(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),y(t)){const[t,e]=a();await C(t),await T(e)}else await C(t[0],!0),await T(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",ha="deleteEmptyColumns",Aa="deleteEmptyTable",Ca={mode:da,[va]:1},Ta={load:0,save:0,[ma]:s+"_values"},Oa=(a,t,e,s,n)=>{const i=F();return P(a,((a,r)=>{const o=p(x(I(t,d(a)?{[e]:a}:a)),0,$(t));y(o[0])||s(r,o[0])||(n(r,o[0]),H(i,r,o))})),i},ba="pragma_",Na="data_version",Sa="schema_version";a.createExpoSqlitePersister=(a,e,n,i,r)=>((a,t,e,n,i,r,o,c,y,w="getDb",u)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ca,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??s;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=p(x(I(Ta,r)),0,$(Ta)),c=o[2],l=z(c),y=z(c);return[0,e,[Oa(n,{[ga]:null,[fa]:G},ga,(a=>C(y,a)),(a=>K(l,a))),Oa(i,{[ma]:null,[fa]:G,[ha]:0,[Aa]:0},ma,((a,t)=>C(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(g?ca:la)(a,r?async(a,t)=>(r(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:s,c:n}]=await e(`SELECT ${Na} d,${Sa} s,TOTAL_CHANGES() c FROM ${ba}${Na} JOIN ${ba}${Sa}`);t==(E??=t)&&s==(v??=s)&&n==(f??=n)||(a(),E=t,v=s)}catch{}},s=m,t(),setInterval(t,1e3*s)),n((t=>A.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),E=v=f=null,i(t)}),o,c,h,T(A),y,w,u)})(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,r,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={},a["expo-sqlite"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",r=e(n),o=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==r,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),h=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,L=b.keys,R=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>g(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),$=a=>E(L(a)),_=a=>(a=>!y(a)&&w(N(a),(a=>a==b.prototype||y(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,s)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,s=H)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:s(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,s)=>{const r=F();return[async()=>Y(r,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!y(j(j(r,a),t)))(t,e)?D(h(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,o,c,l,w=!1)=>{const d=z();P(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=T(d);if(!w&&l&&m(u)&&C(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(m(u)||C(r,t)){const s=j(r,t),i=z(q(s));await v([...g(u,(async e=>{O(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(Q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)y(o)?await a(X+U(t)+ta+" 1"):await v(P(o,(async(n,i)=>{y(n)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await sa(a,t,e,L(n),[i,...x(n)],s)})));else if(m(u))C(r,t)&&await a(X+U(t)+ta+" 1");else{const n=h(q(j(r,t)),(a=>a!=e)),i=[],c=[];P(o??{},((a,t)=>{A(i,t,...g(n,(t=>a?.[t]))),A(c,t)})),await sa(a,t,e,n,i,s),await a(X+U(t)+ta+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},sa=async(a,t,e,s,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(s,(a=>i+U(a))))+")VALUES"+p(o(`,(?${o(",?",E(s))})`,E(r)/(E(s)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(s,(a=>U(a)+"=excluded."+U(a))),i):n),g(r,(a=>a??null))),na=a=>f(g(a,(()=>"?")),i),ia=F(),ra=F(),oa=(a,t,e,s,n,i,r,o={},c=[])=>{let l,d,p,E=0,v=0,f=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[g,m,h,C,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await D((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),I),N=()=>(d&&(n(d),d=void 0),I),S=async a=>(1!=E&&(E=2,f++,await D((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),I),L=()=>(w(p,a.delListener),p=void 0,I),D=async(...a)=>(A(j(ra,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();C(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!y(p),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(I)},ca=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},la=(a,t,e,s,n,i,[r,o,[c,l,w]],d,u,p,E)=>{const[f,g,m,A]=ea(t,d,n,E),C=async(a,t)=>await v(B(o,(async([e,s,n,i],r)=>{t&&!M(a,r)||await m(e,s,a[r],n,i,t)}))),T=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return oa(a,(async()=>await A((async()=>{await f();const a=await(async()=>D(h(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),y(t)){const[t,e]=a();await C(t),await T(e)}else await C(t[0],!0),await T(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",ha={mode:da,[va]:1},Aa={load:0,save:0,[ma]:s+"_values"},Ca=(a,t,e,s,n)=>{const i=F();return P(a,((a,r)=>{const o=p(x(I(t,d(a)?{[e]:a}:a)),0,$(t));y(o[0])||s(r,o[0])||(n(r,o[0]),H(i,r,o))})),i},Ta="pragma_",Oa="data_version",ba="schema_version";a.createExpoSqlitePersister=(a,e,n,i,r)=>((a,t,e,n,i,r,o,c,y,w="getDb",u)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(ha,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??s;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=p(x(I(Aa,r)),0,$(Aa)),c=o[2],l=z(c),y=z(c);return[0,e,[Ca(n,{[ga]:null,[fa]:G},ga,(a=>C(y,a)),(a=>K(l,a))),Ca(i,{[ma]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>C(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(g?ca:la)(a,r?async(a,t)=>(r(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:s,c:n}]=await e(`SELECT ${Oa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${Oa} JOIN ${Ta}${ba}`);t==(E??=t)&&s==(v??=s)&&n==(f??=n)||(a(),E=t,v=s)}catch{}},s=m,t(),setInterval(t,1e3*s)),n((t=>A.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),E=v=f=null,i(t)}),o,c,h,T(A),y,w,u)})(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,r,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={},a["expo-sqlite"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,s="tinybase",n="",i=",",r=e(n),o=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==r,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),h=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,L=b.keys,R=b.freeze,D=(a=[])=>b.fromEntries(a),I=(...a)=>b.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>g(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),$=a=>E(L(a)),_=a=>(a=>!y(a)&&w(N(a),(a=>a==b.prototype||y(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,s)=>(C(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,s=H)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:s(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,s)=>{const r=F();return[async()=>Y(r,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!y(j(j(r,a),t)))(t,e)?D(h(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,o,c,l,w=!1)=>{const d=z();P(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=T(d);if(!w&&l&&m(u)&&C(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(m(u)||C(r,t)){const s=j(r,t),i=z(q(s));await v([...g(u,(async e=>{O(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(Q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)y(o)?await a(X+U(t)+ta+" 1"):await v(P(o,(async(n,i)=>{y(n)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await sa(a,t,e,L(n),[i,...x(n)],s)})));else if(m(u))C(r,t)&&await a(X+U(t)+ta+" 1");else{const n=h(q(j(r,t)),(a=>a!=e)),i=[],c=[];P(o??{},((a,t)=>{A(i,t,...g(n,(t=>a?.[t]))),A(c,t)})),await sa(a,t,e,n,i,s),await a(X+U(t)+ta+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},sa=async(a,t,e,s,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(s,(a=>i+U(a))))+")VALUES"+p(o(`,(?${o(",?",E(s))})`,E(r)/(E(s)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(s,(a=>U(a)+"=excluded."+U(a))),i):n),g(r,(a=>a??null))),na=a=>f(g(a,(()=>"?")),i),ia=F(),ra=F(),oa=(a,t,e,s,n,i,r,o={},c=[])=>{let l,d,p,E=0,v=0,f=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[g,m,h,C,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await D((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),I),N=()=>(d&&(n(d),d=void 0),I),S=async a=>(1!=E&&(E=2,f++,await D((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),I),L=()=>(w(p,a.delListener),p=void 0,I),D=async(...a)=>(A(j(ra,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=h();C(a)&&S(a)})),I),stopAutoSave:L,isAutoSaving:()=>!y(p),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return R(I)},ca=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},la=(a,t,e,s,n,i,[r,o,[c,l,w]],d,u,p,E)=>{const[f,g,m,A]=ea(t,d,n,E),C=async(a,t)=>await v(B(o,(async([e,s,n,i],r)=>{t&&!M(a,r)||await m(e,s,a[r],n,i,t)}))),T=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return oa(a,(async()=>await A((async()=>{await f();const a=await(async()=>D(h(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),y(t)){const[t,e]=a();await C(t),await T(e)}else await C(t[0],!0),await T(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",ha="deleteEmptyColumns",Aa="deleteEmptyTable",Ca={mode:da,[va]:1},Ta={load:0,save:0,[ma]:s+"_values"},Oa=(a,t,e,s,n)=>{const i=F();return P(a,((a,r)=>{const o=p(x(I(t,d(a)?{[e]:a}:a)),0,$(t));y(o[0])||s(r,o[0])||(n(r,o[0]),H(i,r,o))})),i},ba="pragma_",Na="data_version",Sa="schema_version";a.createExpoSqlitePersister=(a,e,n,i,r)=>((a,t,e,n,i,r,o,c,y,w="getDb",u)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ca,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??s;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=p(x(I(Ta,r)),0,$(Ta)),c=o[2],l=z(c),y=z(c);return[0,e,[Oa(n,{[ga]:null,[fa]:G},ga,(a=>C(y,a)),(a=>K(l,a))),Oa(i,{[ma]:null,[fa]:G,[ha]:0,[Aa]:0},ma,((a,t)=>C(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(g?ca:la)(a,r?async(a,t)=>(r(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:s,c:n}]=await e(`SELECT ${Na} d,${Sa} s,TOTAL_CHANGES() c FROM ${ba}${Na} JOIN ${ba}${Sa}`);t==(E??=t)&&s==(v??=s)&&n==(f??=n)||(a(),E=t,v=s)}catch{}},s=m,t(),setInterval(t,1e3*s)),n((t=>A.has(t)?a():0))];var t,s}),(([a,t])=>{l(a),E=v=f=null,i(t)}),o,c,h,T(A),y,w,u)})(a,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,r,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={},a["expo-sqlite"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=Object,T=a=>C.getPrototypeOf(a),A=C.entries,O=C.keys,b=C.freeze,L=(a=[])=>C.fromEntries(a),N=(...a)=>C.assign({},...a),R=(a,t)=>t in a,S=(a,t)=>f(A(a),(([a,e])=>t(e,a))),I=a=>C.values(a),D=a=>p(O(a)),M=a=>(a=>!l(a)&&y(T(a),(a=>a==C.prototype||l(T(a))),(()=>!0)))(a)&&0==D(a),P=(a,t)=>a?.has(t)??!1,$=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(_(a,t),a):a?.set(t,e),H=(a,t,e,s)=>(P(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,s=q)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>R(t,e)?0:s(a,e))),a),Y=F(),k=F(),G=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(Y,c,(()=>0)),H(k,c,(()=>[]));const[g,m,C,T,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(j(k,c),...a),await(async()=>{if(!j(Y,c)){for(q(Y,c,1);!l((a=j(k,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(Y,c,0)}var a})(),D),D={load:L,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await L()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&R(a)})),D),stopAutoSave:S,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return b(D)},U="_",W="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(d(a)||l(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",sa="WHERE",na=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+ea+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ra(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(ta+z(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!M(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=V();S(o??{},(a=>f(O(a??{}),(a=>Q(d,a)))));const u=$(d);if(!w&&y&&g(u)&&P(r,t))return await a("DROP "+X+z(t)),void q(r,t);if(g(u)||P(r,t)){const n=j(r,t),i=V(x(n));await E([...f(u,(async e=>{_(i,e)||(await a(Z+z(t)+"ADD"+z(e)),q(n,e,s))})),...!w&&c?f($(i),(async s=>{s!=e&&(await a(Z+z(t)+"DROP"+z(s)),q(n,s))})):[]])}else await a("CREATE "+X+z(t)+"("+z(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+z(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(aa+z(t)+sa+" 1"):await E(S(o,(async(s,n)=>{l(s)?await a(aa+z(t)+sa+z(e)+"=?",[n]):g(u)||await ia(a,t,e,O(s),[n,...I(s)],i)})));else if(g(u))P(r,t)&&await a(aa+z(t)+sa+" 1");else{const s=m(x(j(r,t)),(a=>a!=e)),n=[],c=[];S(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ia(a,t,e,s,n,i),await a(aa+z(t)+sa+z(e)+"NOT IN("+ra(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ia=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+z(t)+"("+z(e)+v(f(i,(a=>n+z(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+z(e)+")DO UPDATE SET"+v(f(i,(a=>z(a)+"=excluded."+z(a))),n):s),f(o,(a=>a??null))),ra=a=>v(f(a,(()=>"?")),n),oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=na(t,l,n,d);return G(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,C]=na(t,d,n,v),T=async(a,t)=>await E(B(o,(async([e,s,n,i],r)=>{t&&!R(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await C((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>c?(await g(w,W))[U]:{})();return M(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[ga]:e+"_values"},Ca=(a,t,e,s,n)=>{const i=F();return S(a,((a,r)=>{const o=u(I(N(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Ta="pragma_",Aa="data_version",Oa="schema_version";a.createLibSqlPersister=(a,t,s,n,i)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,C]=(a=>{const t=(a=>N(ma,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??W,t[pa]??ya],V(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(I(N(ha,r)),0,D(ha)),c=o[2],l=V(c),y=V(c);return[0,s,[Ca(n,{[fa]:null,[va]:W},fa,(a=>P(y,a)),(a=>Q(l,a))),Ca(i,{[ga]:null,[va]:W,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>P(y,t)),((a,t)=>Q(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,$(C),y,d,p)})(a,s,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=Object,T=a=>C.getPrototypeOf(a),A=C.entries,O=C.keys,b=C.freeze,L=(a=[])=>C.fromEntries(a),N=(...a)=>C.assign({},...a),R=(a,t)=>t in a,S=(a,t)=>f(A(a),(([a,e])=>t(e,a))),I=a=>C.values(a),D=a=>p(O(a)),M=a=>(a=>!l(a)&&y(T(a),(a=>a==C.prototype||l(T(a))),(()=>!0)))(a)&&0==D(a),P=(a,t)=>a?.has(t)??!1,$=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(_(a,t),a):a?.set(t,e),H=(a,t,e,s)=>(P(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,s=q)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>R(t,e)?0:s(a,e))),a),Y=F(),k=F(),G=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(Y,c,(()=>0)),H(k,c,(()=>[]));const[g,m,C,T,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(j(k,c),...a),await(async()=>{if(!j(Y,c)){for(q(Y,c,1);!l((a=j(k,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(Y,c,0)}var a})(),D),D={load:L,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await L()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&R(a)})),D),stopAutoSave:S,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return b(D)},U="_",W="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(d(a)||l(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",sa="WHERE",na=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+ea+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ra(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(ta+z(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!M(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=V();S(o??{},(a=>f(O(a??{}),(a=>Q(d,a)))));const u=$(d);if(!w&&y&&g(u)&&P(r,t))return await a("DROP "+X+z(t)),void q(r,t);if(g(u)||P(r,t)){const n=j(r,t),i=V(x(n));await E([...f(u,(async e=>{_(i,e)||(await a(Z+z(t)+"ADD"+z(e)),q(n,e,s))})),...!w&&c?f($(i),(async s=>{s!=e&&(await a(Z+z(t)+"DROP"+z(s)),q(n,s))})):[]])}else await a("CREATE "+X+z(t)+"("+z(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+z(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(aa+z(t)+sa+" 1"):await E(S(o,(async(s,n)=>{l(s)?await a(aa+z(t)+sa+z(e)+"=?",[n]):g(u)||await ia(a,t,e,O(s),[n,...I(s)],i)})));else if(g(u))P(r,t)&&await a(aa+z(t)+sa+" 1");else{const s=m(x(j(r,t)),(a=>a!=e)),n=[],c=[];S(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ia(a,t,e,s,n,i),await a(aa+z(t)+sa+z(e)+"NOT IN("+ra(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ia=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+z(t)+"("+z(e)+v(f(i,(a=>n+z(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+z(e)+")DO UPDATE SET"+v(f(i,(a=>z(a)+"=excluded."+z(a))),n):s),f(o,(a=>a??null))),ra=a=>v(f(a,(()=>"?")),n),oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=na(t,l,n,d);return G(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,C]=na(t,d,n,v),T=async(a,t)=>await E(B(o,(async([e,s,n,i],r)=>{t&&!R(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await C((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>c?(await g(w,W))[U]:{})();return M(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:wa,[Ea]:1},Ta={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return S(a,((a,r)=>{const o=u(I(N(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Oa="pragma_",ba="data_version",La="schema_version";a.createLibSqlPersister=(a,t,s,n,i)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,C]=(a=>{const t=(a=>N(Ca,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??W,t[pa]??ya],V(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(I(N(Ta,r)),0,D(Ta)),c=o[2],l=V(c),y=V(c);return[0,s,[Aa(n,{[fa]:null,[va]:W},fa,(a=>P(y,a)),(a=>Q(l,a))),Aa(i,{[ga]:null,[va]:W,[ma]:0,[ha]:0},ga,((a,t)=>P(y,t)),((a,t)=>Q(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${La} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${La}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,$(C),y,d,p)})(a,s,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=Object,T=a=>C.getPrototypeOf(a),A=C.entries,O=C.keys,b=C.freeze,L=(a=[])=>C.fromEntries(a),N=(...a)=>C.assign({},...a),R=(a,t)=>t in a,S=(a,t)=>f(A(a),(([a,e])=>t(e,a))),I=a=>C.values(a),D=a=>p(O(a)),M=a=>(a=>!l(a)&&y(T(a),(a=>a==C.prototype||l(T(a))),(()=>!0)))(a)&&0==D(a),P=(a,t)=>a?.has(t)??!1,$=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(_(a,t),a):a?.set(t,e),H=(a,t,e,s)=>(P(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,s=q)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>R(t,e)?0:s(a,e))),a),Y=F(),k=F(),G=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(Y,c,(()=>0)),H(k,c,(()=>[]));const[g,m,C,T,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(j(k,c),...a),await(async()=>{if(!j(Y,c)){for(q(Y,c,1);!l((a=j(k,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(Y,c,0)}var a})(),D),D={load:L,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await L()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&R(a)})),D),stopAutoSave:S,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return b(D)},U="_",W="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(d(a)||l(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",sa="WHERE",na=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+ea+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ra(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(ta+z(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!M(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=V();S(o??{},(a=>f(O(a??{}),(a=>Q(d,a)))));const u=$(d);if(!w&&y&&g(u)&&P(r,t))return await a("DROP "+X+z(t)),void q(r,t);if(g(u)||P(r,t)){const n=j(r,t),i=V(x(n));await E([...f(u,(async e=>{_(i,e)||(await a(Z+z(t)+"ADD"+z(e)),q(n,e,s))})),...!w&&c?f($(i),(async s=>{s!=e&&(await a(Z+z(t)+"DROP"+z(s)),q(n,s))})):[]])}else await a("CREATE "+X+z(t)+"("+z(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+z(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(aa+z(t)+sa+" 1"):await E(S(o,(async(s,n)=>{l(s)?await a(aa+z(t)+sa+z(e)+"=?",[n]):g(u)||await ia(a,t,e,O(s),[n,...I(s)],i)})));else if(g(u))P(r,t)&&await a(aa+z(t)+sa+" 1");else{const s=m(x(j(r,t)),(a=>a!=e)),n=[],c=[];S(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ia(a,t,e,s,n,i),await a(aa+z(t)+sa+z(e)+"NOT IN("+ra(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ia=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+z(t)+"("+z(e)+v(f(i,(a=>n+z(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+z(e)+")DO UPDATE SET"+v(f(i,(a=>z(a)+"=excluded."+z(a))),n):s),f(o,(a=>a??null))),ra=a=>v(f(a,(()=>"?")),n),oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=na(t,l,n,d);return G(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,C]=na(t,d,n,v),T=async(a,t)=>await E(B(o,(async([e,s,n,i],r)=>{t&&!R(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await C((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>c?(await g(w,W))[U]:{})();return M(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[ga]:e+"_values"},Ca=(a,t,e,s,n)=>{const i=F();return S(a,((a,r)=>{const o=u(I(N(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Ta="pragma_",Aa="data_version",Oa="schema_version";a.createLibSqlPersister=(a,t,s,n,i)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,C]=(a=>{const t=(a=>N(ma,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??W,t[pa]??ya],V(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(I(N(ha,r)),0,D(ha)),c=o[2],l=V(c),y=V(c);return[0,s,[Ca(n,{[fa]:null,[va]:W},fa,(a=>P(y,a)),(a=>Q(l,a))),Ca(i,{[ga]:null,[va]:W,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>P(y,t)),((a,t)=>Q(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,$(C),y,d,p)})(a,s,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=Object,T=a=>C.getPrototypeOf(a),A=C.entries,O=C.keys,b=C.freeze,L=(a=[])=>C.fromEntries(a),N=(...a)=>C.assign({},...a),R=(a,t)=>t in a,S=(a,t)=>f(A(a),(([a,e])=>t(e,a))),I=a=>C.values(a),D=a=>p(O(a)),M=a=>(a=>!l(a)&&y(T(a),(a=>a==C.prototype||l(T(a))),(()=>!0)))(a)&&0==D(a),P=(a,t)=>a?.has(t)??!1,$=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(_(a,t),a):a?.set(t,e),H=(a,t,e,s)=>(P(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,s=q)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>R(t,e)?0:s(a,e))),a),Y=F(),k=F(),G=(a,t,e,s,n,i,r,o={},c=[])=>{let w,u,p,E=0,v=0,f=0;H(Y,c,(()=>0)),H(k,c,(()=>[]));const[g,m,C,T,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!M(a)||!M(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!M(a)||!M(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),S=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(j(k,c),...a),await(async()=>{if(!j(Y,c)){for(q(Y,c,1);!l((a=j(k,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(Y,c,0)}var a})(),D),D={load:L,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await L()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=C();T(a)&&R(a)})),D),stopAutoSave:S,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...o};return b(D)},U="_",W="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(d(a)||l(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",sa="WHERE",na=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(f(await a("SELECT name "+ea+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ra(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(ta+z(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!M(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=V();S(o??{},(a=>f(O(a??{}),(a=>Q(d,a)))));const u=$(d);if(!w&&y&&g(u)&&P(r,t))return await a("DROP "+X+z(t)),void q(r,t);if(g(u)||P(r,t)){const n=j(r,t),i=V(x(n));await E([...f(u,(async e=>{_(i,e)||(await a(Z+z(t)+"ADD"+z(e)),q(n,e,s))})),...!w&&c?f($(i),(async s=>{s!=e&&(await a(Z+z(t)+"DROP"+z(s)),q(n,s))})):[]])}else await a("CREATE "+X+z(t)+"("+z(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+z(a))))});`),q(r,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(o)?await a(aa+z(t)+sa+" 1"):await E(S(o,(async(s,n)=>{l(s)?await a(aa+z(t)+sa+z(e)+"=?",[n]):g(u)||await ia(a,t,e,O(s),[n,...I(s)],i)})));else if(g(u))P(r,t)&&await a(aa+z(t)+sa+" 1");else{const s=m(x(j(r,t)),(a=>a!=e)),n=[],c=[];S(o??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ia(a,t,e,s,n,i),await a(aa+z(t)+sa+z(e)+"NOT IN("+ra(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ia=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+z(t)+"("+z(e)+v(f(i,(a=>n+z(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+z(e)+")DO UPDATE SET"+v(f(i,(a=>z(a)+"=excluded."+z(a))),n):s),f(o,(a=>a??null))),ra=a=>v(f(a,(()=>"?")),n),oa=(a,t,e,s,n,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=na(t,l,n,d);return G(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,C]=na(t,d,n,v),T=async(a,t)=>await E(B(o,(async([e,s,n,i],r)=>{t&&!R(a,r)||await h(e,s,a[r],n,i,t)}))),A=async(a,t)=>y?await h(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await C((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>c?(await g(w,W))[U]:{})();return M(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:wa,[Ea]:1},Ta={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return S(a,((a,r)=>{const o=u(I(N(t,w(a)?{[e]:a}:a)),0,D(t));l(o[0])||s(r,o[0])||(n(r,o[0]),q(i,r,o))})),i},Oa="pragma_",ba="data_version",La="schema_version";a.createLibSqlPersister=(a,t,s,n,i)=>((a,t,s,n,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,C]=(a=>{const t=(a=>N(Ca,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??W,t[pa]??ya],V(a)]}const{tables:{load:n={},save:i={}}={},values:r={}}=t,o=u(I(N(Ta,r)),0,D(Ta)),c=o[2],l=V(c),y=V(c);return[0,s,[Aa(n,{[fa]:null,[va]:W},fa,(a=>P(y,a)),(a=>Q(l,a))),Aa(i,{[ga]:null,[va]:W,[ma]:0,[ha]:0},ga,((a,t)=>P(y,t)),((a,t)=>Q(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:n}]=await s(`SELECT ${ba} d,${La} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${La}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,$(C),y,d,p)})(a,s,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha={mode:wa,[Ea]:1},ma={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",ba="data_version",Aa="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(ha,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(ma,r)),0,_(ma)),c=o[2],l=z(c),y=z(c);return[0,n,[Ta(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),Ta(i,{[va]:null,[ga]:G,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ca}${ba} JOIN ${Ca}${Aa}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha={mode:wa,[Ea]:1},ma={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",ba="data_version",Aa="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(ha,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(ma,r)),0,_(ma)),c=o[2],l=z(c),y=z(c);return[0,n,[Ta(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),Ta(i,{[va]:null,[ga]:G,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ca}${ba} JOIN ${Ca}${Aa}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0,g=0,f=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,h,T,C,b]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),A=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,g++,await I((async()=>{try{A(await t())}catch(t){i?.(t),a&&b(a)}E=0}))),D),N=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:O,startAutoLoad:async a=>(await N().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,g++,A(t??a),E=0):await O()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:S,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:f}),...o};return R(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha="deleteEmptyColumns",ma="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[va]:e+"_values"},ba=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Na="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ca,r)),0,_(Ca)),c=o[2],l=z(c),y=z(c);return[0,n,[ba(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),ba(i,{[va]:null,[ga]:G,[ha]:0,[ma]:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Na}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(ha,o)),0,P(ha)),c=r[2],l=U(c),y=U(c);return[0,s,[Ta(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Ta(i,{[ga]:null,[va]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra: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(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(Ca,o)),0,P(Ca)),c=r[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra: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(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(ha,o)),0,P(ha)),c=r[2],l=U(c),y=U(c);return[0,s,[Ta(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Ta(i,{[ga]:null,[va]:J,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra: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(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,_=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>p(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==P(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),k=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),B=(a,t,e,s)=>(T(a,t)||q(a,t,e()),x(a,t)),W=(a,t,e,s=q)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:s(a,e))),a),H="_",J="_id",Y=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(d(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=G+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=F();return[async()=>W(o,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(G+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,W(B(o,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(x(x(o,a),t)))(t,e)?L(m(f(await a(X+Y(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=U();_(r??{},(a=>f(R(a??{}),(a=>V(d,a)))));const u=C(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+z+Y(t)),void q(o,t);if(g(u)||T(o,t)){const n=x(o,t),i=U(j(n));await E([...f(u,(async e=>{A(i,e)||(await a(K+Y(t)+"ADD"+Y(e)),q(n,e,s))})),...!w&&c?f(C(i),(async s=>{s!=e&&(await a(K+Y(t)+"DROP"+Y(s)),q(n,s))})):[]])}else await a("CREATE "+z+Y(t)+"("+Y(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>n+Y(a))))});`),q(o,t,F([[e,s],...f(u,(a=>[a,s]))]));if(w)l(r)?await a(Q+Y(t)+aa+" 1"):await E(_(r,(async(s,n)=>{l(s)?await a(Q+Y(t)+aa+Y(e)+"=?",[n]):g(u)||await ea(a,t,e,R(s),[n,...M(s)],i)})));else if(g(u))T(o,t)&&await a(Q+Y(t)+aa+" 1");else{const s=m(j(x(o,t)),(a=>a!=e)),n=[],c=[];_(r??{},((a,t)=>{h(n,t,...f(s,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,s,n,i),await a(Q+Y(t)+aa+Y(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+Y(t)+"("+Y(e)+v(f(i,(a=>n+Y(a))))+")VALUES"+u(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+Y(e)+")DO UPDATE SET"+v(f(i,(a=>Y(a)+"=excluded."+Y(a))),n):s),f(r,(a=>a??null))),sa=a=>v(f(a,(()=>"?")),n),na=F(),ia=F(),oa=(a,t,e,s,n,i,o,r={},c=[])=>{let w,u,p,E=0,v=0,f=0;B(na,c,(()=>0)),B(ia,c,(()=>[]));const[g,m,T,C,A]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(o,a),O=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,v++,await I((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),D),N=()=>(u&&(n(u),u=void 0),D),R=async a=>(1!=E&&(E=2,f++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),D),L=()=>(y(p,a.delListener),p=void 0,D),I=async(...a)=>(h(x(ia,c),...a),await(async()=>{if(!x(na,c)){for(q(na,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(na,c,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await N().load(a),u=s((async(a,t)=>{t||a?2!=E&&(E=1,v++,O(t??a),E=0):await b()})),D),stopAutoLoad:N,isAutoLoading:()=>!l(u),save:R,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=T();C(a)&&R(a)})),D),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:I,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:v,saves:f}),...r};return S(D)},ra=(a,t,e,s,n,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,n,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[H]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[H]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,s,n,i,{[w]:()=>y},y)},ca=(a,t,e,s,n,i,[o,r,[c,y,w]],d,u,p,v)=>{const[f,g,h,T]=ta(t,d,n,v),C=async(a,t)=>await E(k(r,(async([e,s,n,i],o)=>{t&&!D(a,o)||await h(e,s,a[o],n,i,t)}))),A=async(a,t)=>y?await h(w,J,{[H]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await E(k(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await g(w,J))[H]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,s,n,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ta={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},Aa=(a,t,e,s,n)=>{const i=F();return _(a,((a,o)=>{const r=u(M(I(t,w(a)?{[e]:a}:a)),0,P(t));l(r[0])||s(o,r[0])||(n(o,r[0]),q(i,o,r))})),i},Oa="pragma_",ba="data_version",Na="schema_version";a.createSqliteWasmPersister=(a,t,s,n,i,o)=>((a,t,s,n,i,o,r,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(Ta,w(a)?{[da]:a}:a??{}))(a),s=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,s,[a,t[ua]??J,t[pa]??ya],U(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,r=u(M(I(Ca,o)),0,P(Ca)),c=r[2],l=U(c),y=U(c);return[0,s,[Aa(n,{[fa]:null,[va]:J},fa,(a=>T(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[va]:J,[ma]:0,[ha]:0},ga,((a,t)=>T(y,t)),((a,t)=>V(l,t))),r],l]})(t);return(g?ra: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(`SELECT ${ba} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${ba} JOIN ${Oa}${Na}`);t==(E??=t)&&e==(v??=e)&&n==(f??=n)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),r,l,h,C(A),y,d,p)})(a,n,(async(a,t=[])=>s.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(s,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(s,(()=>0),0)),i,o,3,s)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});