tinybase 5.0.3 → 5.0.5

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 (855) hide show
  1. package/cjs/es6/index.cjs +13 -6
  2. package/cjs/es6/mergeable-store/index.cjs +9 -5
  3. package/cjs/es6/mergeable-store/with-schemas/index.cjs +9 -5
  4. package/cjs/es6/min/index.cjs +1 -1
  5. package/cjs/es6/min/index.cjs.gz +0 -0
  6. package/cjs/es6/min/mergeable-store/index.cjs +1 -1
  7. package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
  8. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
  9. package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  10. package/cjs/es6/min/persisters/index.cjs +1 -1
  11. package/cjs/es6/min/persisters/index.cjs.gz +0 -0
  12. package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
  13. package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
  14. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  15. package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  16. package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
  17. package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
  18. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  19. package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  20. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  21. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  22. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  23. package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  24. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
  25. package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  26. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  27. package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  28. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  29. package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  30. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  31. package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  32. package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
  33. package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
  34. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  35. package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  36. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
  37. package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  38. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  39. package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  40. package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
  41. package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
  42. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  43. package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  44. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
  45. package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  46. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  47. package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  48. package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
  49. package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
  50. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  51. package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  52. package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
  53. package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
  54. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  55. package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  56. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  57. package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  58. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  59. package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  60. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
  61. package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  62. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  63. package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  64. package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
  65. package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
  66. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  67. package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  68. package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
  69. package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
  70. package/cjs/es6/min/store/index.cjs +1 -1
  71. package/cjs/es6/min/store/index.cjs.gz +0 -0
  72. package/cjs/es6/min/store/with-schemas/index.cjs +1 -1
  73. package/cjs/es6/min/store/with-schemas/index.cjs.gz +0 -0
  74. package/cjs/es6/min/synchronizers/index.cjs +1 -1
  75. package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
  76. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  77. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  78. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  79. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  80. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
  81. package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  82. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  83. package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  84. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  85. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  86. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  87. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  88. package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
  89. package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  90. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  91. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  92. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  93. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  94. package/cjs/es6/min/with-schemas/index.cjs +1 -1
  95. package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
  96. package/cjs/es6/persisters/index.cjs +4 -1
  97. package/cjs/es6/persisters/persister-automerge/index.cjs +4 -1
  98. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +4 -1
  99. package/cjs/es6/persisters/persister-browser/index.cjs +4 -1
  100. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +4 -1
  101. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +4 -1
  102. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +4 -1
  103. package/cjs/es6/persisters/persister-electric-sql/index.cjs +4 -1
  104. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +4 -1
  105. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +4 -1
  106. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +4 -1
  107. package/cjs/es6/persisters/persister-file/index.cjs +4 -1
  108. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +4 -1
  109. package/cjs/es6/persisters/persister-indexed-db/index.cjs +4 -1
  110. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +4 -1
  111. package/cjs/es6/persisters/persister-libsql/index.cjs +4 -1
  112. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +4 -1
  113. package/cjs/es6/persisters/persister-partykit-client/index.cjs +4 -1
  114. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +4 -1
  115. package/cjs/es6/persisters/persister-powersync/index.cjs +4 -1
  116. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +4 -1
  117. package/cjs/es6/persisters/persister-remote/index.cjs +4 -1
  118. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +4 -1
  119. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +4 -1
  120. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +4 -1
  121. package/cjs/es6/persisters/persister-sqlite3/index.cjs +4 -1
  122. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +4 -1
  123. package/cjs/es6/persisters/persister-yjs/index.cjs +4 -1
  124. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +4 -1
  125. package/cjs/es6/persisters/with-schemas/index.cjs +4 -1
  126. package/cjs/es6/store/index.cjs +9 -5
  127. package/cjs/es6/store/with-schemas/index.cjs +9 -5
  128. package/cjs/es6/synchronizers/index.cjs +4 -1
  129. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +4 -1
  130. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +4 -1
  131. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -1
  132. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -1
  133. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +4 -1
  134. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -1
  135. package/cjs/es6/synchronizers/with-schemas/index.cjs +4 -1
  136. package/cjs/es6/ui-react-inspector/index.cjs +13 -6
  137. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +13 -6
  138. package/cjs/es6/with-schemas/index.cjs +13 -6
  139. package/cjs/index.cjs +18 -11
  140. package/cjs/indexes/index.cjs +1 -1
  141. package/cjs/indexes/with-schemas/index.cjs +1 -1
  142. package/cjs/mergeable-store/index.cjs +9 -5
  143. package/cjs/mergeable-store/with-schemas/index.cjs +9 -5
  144. package/cjs/metrics/index.cjs +3 -3
  145. package/cjs/metrics/with-schemas/index.cjs +3 -3
  146. package/cjs/min/index.cjs +1 -1
  147. package/cjs/min/index.cjs.gz +0 -0
  148. package/cjs/min/mergeable-store/index.cjs +1 -1
  149. package/cjs/min/mergeable-store/index.cjs.gz +0 -0
  150. package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
  151. package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
  152. package/cjs/min/persisters/index.cjs +1 -1
  153. package/cjs/min/persisters/index.cjs.gz +0 -0
  154. package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
  155. package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
  156. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
  157. package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
  158. package/cjs/min/persisters/persister-browser/index.cjs +1 -1
  159. package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
  160. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
  161. package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
  163. package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  164. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
  165. package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
  167. package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
  168. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
  169. package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
  170. package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
  171. package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  172. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
  173. package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
  174. package/cjs/min/persisters/persister-file/index.cjs +1 -1
  175. package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
  176. package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
  177. package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
  178. package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
  179. package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
  180. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
  181. package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
  182. package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
  183. package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
  184. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
  185. package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
  186. package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
  187. package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
  188. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
  189. package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
  190. package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
  191. package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
  192. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
  193. package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
  194. package/cjs/min/persisters/persister-remote/index.cjs +1 -1
  195. package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
  196. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
  197. package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
  198. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
  199. package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  200. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
  201. package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
  202. package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
  203. package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
  204. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
  205. package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
  206. package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
  207. package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
  208. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
  209. package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
  210. package/cjs/min/persisters/with-schemas/index.cjs +1 -1
  211. package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
  212. package/cjs/min/store/index.cjs +1 -1
  213. package/cjs/min/store/index.cjs.gz +0 -0
  214. package/cjs/min/store/with-schemas/index.cjs +1 -1
  215. package/cjs/min/store/with-schemas/index.cjs.gz +0 -0
  216. package/cjs/min/synchronizers/index.cjs +1 -1
  217. package/cjs/min/synchronizers/index.cjs.gz +0 -0
  218. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
  219. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  220. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
  221. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  222. package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
  223. package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  224. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
  225. package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
  226. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  227. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  228. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  229. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  230. package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
  231. package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
  232. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  233. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  234. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  235. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  236. package/cjs/min/with-schemas/index.cjs +1 -1
  237. package/cjs/min/with-schemas/index.cjs.gz +0 -0
  238. package/cjs/persisters/index.cjs +4 -1
  239. package/cjs/persisters/persister-automerge/index.cjs +4 -1
  240. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +4 -1
  241. package/cjs/persisters/persister-browser/index.cjs +4 -1
  242. package/cjs/persisters/persister-browser/with-schemas/index.cjs +4 -1
  243. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +5 -2
  244. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +5 -2
  245. package/cjs/persisters/persister-electric-sql/index.cjs +5 -2
  246. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +5 -2
  247. package/cjs/persisters/persister-expo-sqlite/index.cjs +5 -2
  248. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +5 -2
  249. package/cjs/persisters/persister-file/index.cjs +4 -1
  250. package/cjs/persisters/persister-file/with-schemas/index.cjs +4 -1
  251. package/cjs/persisters/persister-indexed-db/index.cjs +4 -1
  252. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +4 -1
  253. package/cjs/persisters/persister-libsql/index.cjs +5 -2
  254. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +5 -2
  255. package/cjs/persisters/persister-partykit-client/index.cjs +4 -1
  256. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +4 -1
  257. package/cjs/persisters/persister-powersync/index.cjs +5 -2
  258. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +5 -2
  259. package/cjs/persisters/persister-remote/index.cjs +4 -1
  260. package/cjs/persisters/persister-remote/with-schemas/index.cjs +4 -1
  261. package/cjs/persisters/persister-sqlite-wasm/index.cjs +5 -2
  262. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +5 -2
  263. package/cjs/persisters/persister-sqlite3/index.cjs +5 -2
  264. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +5 -2
  265. package/cjs/persisters/persister-yjs/index.cjs +6 -3
  266. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +6 -3
  267. package/cjs/persisters/with-schemas/index.cjs +4 -1
  268. package/cjs/queries/index.cjs +2 -2
  269. package/cjs/queries/with-schemas/index.cjs +2 -2
  270. package/cjs/relationships/index.cjs +1 -1
  271. package/cjs/relationships/with-schemas/index.cjs +1 -1
  272. package/cjs/store/index.cjs +9 -5
  273. package/cjs/store/with-schemas/index.cjs +9 -5
  274. package/cjs/synchronizers/index.cjs +4 -1
  275. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +4 -1
  276. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +4 -1
  277. package/cjs/synchronizers/synchronizer-local/index.cjs +4 -1
  278. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -1
  279. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +4 -1
  280. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +4 -1
  281. package/cjs/synchronizers/with-schemas/index.cjs +4 -1
  282. package/cjs/ui-react-inspector/index.cjs +13 -6
  283. package/cjs/ui-react-inspector/with-schemas/index.cjs +13 -6
  284. package/cjs/with-schemas/index.cjs +18 -11
  285. package/es6/index.js +13 -6
  286. package/es6/mergeable-store/index.js +9 -5
  287. package/es6/mergeable-store/with-schemas/index.js +9 -5
  288. package/es6/min/index.js +1 -1
  289. package/es6/min/index.js.gz +0 -0
  290. package/es6/min/mergeable-store/index.js +1 -1
  291. package/es6/min/mergeable-store/index.js.gz +0 -0
  292. package/es6/min/mergeable-store/with-schemas/index.js +1 -1
  293. package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  294. package/es6/min/persisters/index.js +1 -1
  295. package/es6/min/persisters/index.js.gz +0 -0
  296. package/es6/min/persisters/persister-automerge/index.js +1 -1
  297. package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  298. package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  299. package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  300. package/es6/min/persisters/persister-browser/index.js +1 -1
  301. package/es6/min/persisters/persister-browser/index.js.gz +0 -0
  302. package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  303. package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  304. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  305. package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  306. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  307. package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  308. package/es6/min/persisters/persister-electric-sql/index.js +1 -1
  309. package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  310. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  311. package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  312. package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  313. package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  314. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  315. package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  316. package/es6/min/persisters/persister-file/index.js +1 -1
  317. package/es6/min/persisters/persister-file/index.js.gz +0 -0
  318. package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  319. package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  320. package/es6/min/persisters/persister-indexed-db/index.js +1 -1
  321. package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  322. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  323. package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  324. package/es6/min/persisters/persister-libsql/index.js +1 -1
  325. package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  326. package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  327. package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  328. package/es6/min/persisters/persister-partykit-client/index.js +1 -1
  329. package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  330. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  331. package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  332. package/es6/min/persisters/persister-powersync/index.js +1 -1
  333. package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  334. package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  335. package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  336. package/es6/min/persisters/persister-remote/index.js +1 -1
  337. package/es6/min/persisters/persister-remote/index.js.gz +0 -0
  338. package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  339. package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  340. package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  341. package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  342. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  343. package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  344. package/es6/min/persisters/persister-sqlite3/index.js +1 -1
  345. package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  346. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  347. package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  348. package/es6/min/persisters/persister-yjs/index.js +1 -1
  349. package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  350. package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  351. package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  352. package/es6/min/persisters/with-schemas/index.js +1 -1
  353. package/es6/min/persisters/with-schemas/index.js.gz +0 -0
  354. package/es6/min/store/index.js +1 -1
  355. package/es6/min/store/index.js.gz +0 -0
  356. package/es6/min/store/with-schemas/index.js +1 -1
  357. package/es6/min/store/with-schemas/index.js.gz +0 -0
  358. package/es6/min/synchronizers/index.js +1 -1
  359. package/es6/min/synchronizers/index.js.gz +0 -0
  360. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  361. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  362. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  363. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  364. package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  365. package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  366. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  367. package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  368. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  369. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  370. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  371. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  372. package/es6/min/synchronizers/with-schemas/index.js +1 -1
  373. package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  374. package/es6/min/ui-react-inspector/index.js +1 -1
  375. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  376. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  377. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  378. package/es6/min/with-schemas/index.js +1 -1
  379. package/es6/min/with-schemas/index.js.gz +0 -0
  380. package/es6/persisters/index.js +4 -1
  381. package/es6/persisters/persister-automerge/index.js +4 -1
  382. package/es6/persisters/persister-automerge/with-schemas/index.js +4 -1
  383. package/es6/persisters/persister-browser/index.js +4 -1
  384. package/es6/persisters/persister-browser/with-schemas/index.js +4 -1
  385. package/es6/persisters/persister-cr-sqlite-wasm/index.js +4 -1
  386. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -1
  387. package/es6/persisters/persister-electric-sql/index.js +4 -1
  388. package/es6/persisters/persister-electric-sql/with-schemas/index.js +4 -1
  389. package/es6/persisters/persister-expo-sqlite/index.js +4 -1
  390. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +4 -1
  391. package/es6/persisters/persister-file/index.js +4 -1
  392. package/es6/persisters/persister-file/with-schemas/index.js +4 -1
  393. package/es6/persisters/persister-indexed-db/index.js +4 -1
  394. package/es6/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  395. package/es6/persisters/persister-libsql/index.js +4 -1
  396. package/es6/persisters/persister-libsql/with-schemas/index.js +4 -1
  397. package/es6/persisters/persister-partykit-client/index.js +4 -1
  398. package/es6/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  399. package/es6/persisters/persister-powersync/index.js +4 -1
  400. package/es6/persisters/persister-powersync/with-schemas/index.js +4 -1
  401. package/es6/persisters/persister-remote/index.js +4 -1
  402. package/es6/persisters/persister-remote/with-schemas/index.js +4 -1
  403. package/es6/persisters/persister-sqlite-wasm/index.js +4 -1
  404. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -1
  405. package/es6/persisters/persister-sqlite3/index.js +4 -1
  406. package/es6/persisters/persister-sqlite3/with-schemas/index.js +4 -1
  407. package/es6/persisters/persister-yjs/index.js +4 -1
  408. package/es6/persisters/persister-yjs/with-schemas/index.js +4 -1
  409. package/es6/persisters/with-schemas/index.js +4 -1
  410. package/es6/store/index.js +9 -5
  411. package/es6/store/with-schemas/index.js +9 -5
  412. package/es6/synchronizers/index.js +4 -1
  413. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  414. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  415. package/es6/synchronizers/synchronizer-local/index.js +4 -1
  416. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  417. package/es6/synchronizers/synchronizer-ws-client/index.js +4 -1
  418. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  419. package/es6/synchronizers/with-schemas/index.js +4 -1
  420. package/es6/ui-react-inspector/index.js +13 -6
  421. package/es6/ui-react-inspector/with-schemas/index.js +13 -6
  422. package/es6/with-schemas/index.js +13 -6
  423. package/index.js +18 -11
  424. package/indexes/index.js +1 -1
  425. package/indexes/with-schemas/index.js +1 -1
  426. package/mergeable-store/index.js +9 -5
  427. package/mergeable-store/with-schemas/index.js +9 -5
  428. package/metrics/index.js +3 -3
  429. package/metrics/with-schemas/index.js +3 -3
  430. package/min/index.js +1 -1
  431. package/min/index.js.gz +0 -0
  432. package/min/mergeable-store/index.js +1 -1
  433. package/min/mergeable-store/index.js.gz +0 -0
  434. package/min/mergeable-store/with-schemas/index.js +1 -1
  435. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  436. package/min/persisters/index.js +1 -1
  437. package/min/persisters/index.js.gz +0 -0
  438. package/min/persisters/persister-automerge/index.js +1 -1
  439. package/min/persisters/persister-automerge/index.js.gz +0 -0
  440. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  441. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  442. package/min/persisters/persister-browser/index.js +1 -1
  443. package/min/persisters/persister-browser/index.js.gz +0 -0
  444. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  445. package/min/persisters/persister-browser/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-file/index.js +1 -1
  459. package/min/persisters/persister-file/index.js.gz +0 -0
  460. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  461. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  462. package/min/persisters/persister-indexed-db/index.js +1 -1
  463. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  464. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  465. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  466. package/min/persisters/persister-libsql/index.js +1 -1
  467. package/min/persisters/persister-libsql/index.js.gz +0 -0
  468. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  469. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  470. package/min/persisters/persister-partykit-client/index.js +1 -1
  471. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  472. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  473. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  474. package/min/persisters/persister-powersync/index.js +1 -1
  475. package/min/persisters/persister-powersync/index.js.gz +0 -0
  476. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  477. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  478. package/min/persisters/persister-remote/index.js +1 -1
  479. package/min/persisters/persister-remote/index.js.gz +0 -0
  480. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  481. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  482. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  483. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  484. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  485. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  486. package/min/persisters/persister-sqlite3/index.js +1 -1
  487. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  488. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  489. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  490. package/min/persisters/persister-yjs/index.js +1 -1
  491. package/min/persisters/persister-yjs/index.js.gz +0 -0
  492. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  493. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  494. package/min/persisters/with-schemas/index.js +1 -1
  495. package/min/persisters/with-schemas/index.js.gz +0 -0
  496. package/min/store/index.js +1 -1
  497. package/min/store/index.js.gz +0 -0
  498. package/min/store/with-schemas/index.js +1 -1
  499. package/min/store/with-schemas/index.js.gz +0 -0
  500. package/min/synchronizers/index.js +1 -1
  501. package/min/synchronizers/index.js.gz +0 -0
  502. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  503. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  504. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  505. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  506. package/min/synchronizers/synchronizer-local/index.js +1 -1
  507. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  508. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  509. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  510. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  511. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  512. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  513. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  514. package/min/synchronizers/with-schemas/index.js +1 -1
  515. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  516. package/min/ui-react-inspector/index.js +1 -1
  517. package/min/ui-react-inspector/index.js.gz +0 -0
  518. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  519. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  520. package/min/with-schemas/index.js +1 -1
  521. package/min/with-schemas/index.js.gz +0 -0
  522. package/package.json +4 -1
  523. package/persisters/index.js +4 -1
  524. package/persisters/persister-automerge/index.js +4 -1
  525. package/persisters/persister-automerge/with-schemas/index.js +4 -1
  526. package/persisters/persister-browser/index.js +4 -1
  527. package/persisters/persister-browser/with-schemas/index.js +4 -1
  528. package/persisters/persister-cr-sqlite-wasm/index.js +5 -2
  529. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +5 -2
  530. package/persisters/persister-electric-sql/index.js +5 -2
  531. package/persisters/persister-electric-sql/with-schemas/index.js +5 -2
  532. package/persisters/persister-expo-sqlite/index.js +5 -2
  533. package/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
  534. package/persisters/persister-file/index.js +4 -1
  535. package/persisters/persister-file/with-schemas/index.js +4 -1
  536. package/persisters/persister-indexed-db/index.js +4 -1
  537. package/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  538. package/persisters/persister-libsql/index.js +5 -2
  539. package/persisters/persister-libsql/with-schemas/index.js +5 -2
  540. package/persisters/persister-partykit-client/index.js +4 -1
  541. package/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  542. package/persisters/persister-powersync/index.js +5 -2
  543. package/persisters/persister-powersync/with-schemas/index.js +5 -2
  544. package/persisters/persister-remote/index.js +4 -1
  545. package/persisters/persister-remote/with-schemas/index.js +4 -1
  546. package/persisters/persister-sqlite-wasm/index.js +5 -2
  547. package/persisters/persister-sqlite-wasm/with-schemas/index.js +5 -2
  548. package/persisters/persister-sqlite3/index.js +5 -2
  549. package/persisters/persister-sqlite3/with-schemas/index.js +5 -2
  550. package/persisters/persister-yjs/index.js +6 -2
  551. package/persisters/persister-yjs/with-schemas/index.js +6 -2
  552. package/persisters/with-schemas/index.js +4 -1
  553. package/queries/index.js +2 -2
  554. package/queries/with-schemas/index.js +2 -2
  555. package/readme.md +2 -2
  556. package/relationships/index.js +1 -1
  557. package/relationships/with-schemas/index.js +1 -1
  558. package/releases.md +1 -1
  559. package/store/index.js +9 -5
  560. package/store/with-schemas/index.js +9 -5
  561. package/synchronizers/index.js +4 -1
  562. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  563. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  564. package/synchronizers/synchronizer-local/index.js +4 -1
  565. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  566. package/synchronizers/synchronizer-ws-client/index.js +4 -1
  567. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  568. package/synchronizers/with-schemas/index.js +4 -1
  569. package/ui-react-inspector/index.js +13 -6
  570. package/ui-react-inspector/with-schemas/index.js +13 -6
  571. package/umd/es6/index.js +13 -6
  572. package/umd/es6/mergeable-store/index.js +9 -5
  573. package/umd/es6/mergeable-store/with-schemas/index.js +9 -5
  574. package/umd/es6/min/index.js +1 -1
  575. package/umd/es6/min/index.js.gz +0 -0
  576. package/umd/es6/min/mergeable-store/index.js +1 -1
  577. package/umd/es6/min/mergeable-store/index.js.gz +0 -0
  578. package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
  579. package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
  580. package/umd/es6/min/persisters/index.js +1 -1
  581. package/umd/es6/min/persisters/index.js.gz +0 -0
  582. package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
  583. package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
  584. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  585. package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  586. package/umd/es6/min/persisters/persister-browser/index.js +1 -1
  587. package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
  588. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
  589. package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  590. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  591. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  592. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  593. package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  594. package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
  595. package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
  596. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  597. package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  598. package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
  599. package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  600. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  601. package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  602. package/umd/es6/min/persisters/persister-file/index.js +1 -1
  603. package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
  604. package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
  605. package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  606. package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
  607. package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
  608. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  609. package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  610. package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
  611. package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
  612. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  613. package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  614. package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
  615. package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
  616. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  617. package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  618. package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
  619. package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
  620. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  621. package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  622. package/umd/es6/min/persisters/persister-remote/index.js +1 -1
  623. package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
  624. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
  625. package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  626. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
  627. package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  628. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  629. package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  630. package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
  631. package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
  632. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  633. package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  634. package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
  635. package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
  636. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  637. package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  638. package/umd/es6/min/persisters/with-schemas/index.js +1 -1
  639. package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
  640. package/umd/es6/min/store/index.js +1 -1
  641. package/umd/es6/min/store/index.js.gz +0 -0
  642. package/umd/es6/min/store/with-schemas/index.js +1 -1
  643. package/umd/es6/min/store/with-schemas/index.js.gz +0 -0
  644. package/umd/es6/min/synchronizers/index.js +1 -1
  645. package/umd/es6/min/synchronizers/index.js.gz +0 -0
  646. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  647. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  648. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  649. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  650. package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
  651. package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  652. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  653. package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  654. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  655. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  656. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  657. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  658. package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
  659. package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
  660. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  661. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  662. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  663. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  664. package/umd/es6/min/with-schemas/index.js +1 -1
  665. package/umd/es6/min/with-schemas/index.js.gz +0 -0
  666. package/umd/es6/persisters/index.js +4 -1
  667. package/umd/es6/persisters/persister-automerge/index.js +4 -1
  668. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +4 -1
  669. package/umd/es6/persisters/persister-browser/index.js +4 -1
  670. package/umd/es6/persisters/persister-browser/with-schemas/index.js +4 -1
  671. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +4 -1
  672. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -1
  673. package/umd/es6/persisters/persister-electric-sql/index.js +4 -1
  674. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +4 -1
  675. package/umd/es6/persisters/persister-expo-sqlite/index.js +4 -1
  676. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +4 -1
  677. package/umd/es6/persisters/persister-file/index.js +4 -1
  678. package/umd/es6/persisters/persister-file/with-schemas/index.js +4 -1
  679. package/umd/es6/persisters/persister-indexed-db/index.js +4 -1
  680. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  681. package/umd/es6/persisters/persister-libsql/index.js +4 -1
  682. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +4 -1
  683. package/umd/es6/persisters/persister-partykit-client/index.js +4 -1
  684. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  685. package/umd/es6/persisters/persister-powersync/index.js +4 -1
  686. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +4 -1
  687. package/umd/es6/persisters/persister-remote/index.js +4 -1
  688. package/umd/es6/persisters/persister-remote/with-schemas/index.js +4 -1
  689. package/umd/es6/persisters/persister-sqlite-wasm/index.js +4 -1
  690. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -1
  691. package/umd/es6/persisters/persister-sqlite3/index.js +4 -1
  692. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +4 -1
  693. package/umd/es6/persisters/persister-yjs/index.js +4 -1
  694. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +4 -1
  695. package/umd/es6/persisters/with-schemas/index.js +4 -1
  696. package/umd/es6/store/index.js +9 -5
  697. package/umd/es6/store/with-schemas/index.js +9 -5
  698. package/umd/es6/synchronizers/index.js +4 -1
  699. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  700. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  701. package/umd/es6/synchronizers/synchronizer-local/index.js +4 -1
  702. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  703. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +4 -1
  704. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  705. package/umd/es6/synchronizers/with-schemas/index.js +4 -1
  706. package/umd/es6/ui-react-inspector/index.js +13 -6
  707. package/umd/es6/ui-react-inspector/with-schemas/index.js +13 -6
  708. package/umd/es6/with-schemas/index.js +13 -6
  709. package/umd/index.js +18 -11
  710. package/umd/indexes/index.js +1 -1
  711. package/umd/indexes/with-schemas/index.js +1 -1
  712. package/umd/mergeable-store/index.js +9 -5
  713. package/umd/mergeable-store/with-schemas/index.js +9 -5
  714. package/umd/metrics/index.js +3 -3
  715. package/umd/metrics/with-schemas/index.js +3 -3
  716. package/umd/min/index.js +1 -1
  717. package/umd/min/index.js.gz +0 -0
  718. package/umd/min/mergeable-store/index.js +1 -1
  719. package/umd/min/mergeable-store/index.js.gz +0 -0
  720. package/umd/min/mergeable-store/with-schemas/index.js +1 -1
  721. package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
  722. package/umd/min/persisters/index.js +1 -1
  723. package/umd/min/persisters/index.js.gz +0 -0
  724. package/umd/min/persisters/persister-automerge/index.js +1 -1
  725. package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
  726. package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  727. package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  728. package/umd/min/persisters/persister-browser/index.js +1 -1
  729. package/umd/min/persisters/persister-browser/index.js.gz +0 -0
  730. package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
  731. package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  732. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  733. package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  734. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  735. package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  736. package/umd/min/persisters/persister-electric-sql/index.js +1 -1
  737. package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
  738. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  739. package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  740. package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
  741. package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  742. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  743. package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  744. package/umd/min/persisters/persister-file/index.js +1 -1
  745. package/umd/min/persisters/persister-file/index.js.gz +0 -0
  746. package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
  747. package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  748. package/umd/min/persisters/persister-indexed-db/index.js +1 -1
  749. package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
  750. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  751. package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  752. package/umd/min/persisters/persister-libsql/index.js +1 -1
  753. package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
  754. package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  755. package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  756. package/umd/min/persisters/persister-partykit-client/index.js +1 -1
  757. package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
  758. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  759. package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  760. package/umd/min/persisters/persister-powersync/index.js +1 -1
  761. package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
  762. package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  763. package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  764. package/umd/min/persisters/persister-remote/index.js +1 -1
  765. package/umd/min/persisters/persister-remote/index.js.gz +0 -0
  766. package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
  767. package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  768. package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
  769. package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  770. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  771. package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  772. package/umd/min/persisters/persister-sqlite3/index.js +1 -1
  773. package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
  774. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  775. package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  776. package/umd/min/persisters/persister-yjs/index.js +1 -1
  777. package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
  778. package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  779. package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  780. package/umd/min/persisters/with-schemas/index.js +1 -1
  781. package/umd/min/persisters/with-schemas/index.js.gz +0 -0
  782. package/umd/min/store/index.js +1 -1
  783. package/umd/min/store/index.js.gz +0 -0
  784. package/umd/min/store/with-schemas/index.js +1 -1
  785. package/umd/min/store/with-schemas/index.js.gz +0 -0
  786. package/umd/min/synchronizers/index.js +1 -1
  787. package/umd/min/synchronizers/index.js.gz +0 -0
  788. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  789. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  790. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  791. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  792. package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
  793. package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  794. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  795. package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  796. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  797. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  798. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  799. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  800. package/umd/min/synchronizers/with-schemas/index.js +1 -1
  801. package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
  802. package/umd/min/ui-react-inspector/index.js +1 -1
  803. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  804. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  805. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  806. package/umd/min/with-schemas/index.js +1 -1
  807. package/umd/min/with-schemas/index.js.gz +0 -0
  808. package/umd/persisters/index.js +4 -1
  809. package/umd/persisters/persister-automerge/index.js +4 -1
  810. package/umd/persisters/persister-automerge/with-schemas/index.js +4 -1
  811. package/umd/persisters/persister-browser/index.js +4 -1
  812. package/umd/persisters/persister-browser/with-schemas/index.js +4 -1
  813. package/umd/persisters/persister-cr-sqlite-wasm/index.js +5 -2
  814. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +5 -2
  815. package/umd/persisters/persister-electric-sql/index.js +5 -2
  816. package/umd/persisters/persister-electric-sql/with-schemas/index.js +5 -2
  817. package/umd/persisters/persister-expo-sqlite/index.js +5 -2
  818. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +5 -2
  819. package/umd/persisters/persister-file/index.js +4 -1
  820. package/umd/persisters/persister-file/with-schemas/index.js +4 -1
  821. package/umd/persisters/persister-indexed-db/index.js +4 -1
  822. package/umd/persisters/persister-indexed-db/with-schemas/index.js +4 -1
  823. package/umd/persisters/persister-libsql/index.js +5 -2
  824. package/umd/persisters/persister-libsql/with-schemas/index.js +5 -2
  825. package/umd/persisters/persister-partykit-client/index.js +4 -1
  826. package/umd/persisters/persister-partykit-client/with-schemas/index.js +4 -1
  827. package/umd/persisters/persister-powersync/index.js +5 -2
  828. package/umd/persisters/persister-powersync/with-schemas/index.js +5 -2
  829. package/umd/persisters/persister-remote/index.js +4 -1
  830. package/umd/persisters/persister-remote/with-schemas/index.js +4 -1
  831. package/umd/persisters/persister-sqlite-wasm/index.js +5 -2
  832. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +5 -2
  833. package/umd/persisters/persister-sqlite3/index.js +5 -2
  834. package/umd/persisters/persister-sqlite3/with-schemas/index.js +5 -2
  835. package/umd/persisters/persister-yjs/index.js +6 -3
  836. package/umd/persisters/persister-yjs/with-schemas/index.js +6 -3
  837. package/umd/persisters/with-schemas/index.js +4 -1
  838. package/umd/queries/index.js +2 -2
  839. package/umd/queries/with-schemas/index.js +2 -2
  840. package/umd/relationships/index.js +1 -1
  841. package/umd/relationships/with-schemas/index.js +1 -1
  842. package/umd/store/index.js +9 -5
  843. package/umd/store/with-schemas/index.js +9 -5
  844. package/umd/synchronizers/index.js +4 -1
  845. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +4 -1
  846. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -1
  847. package/umd/synchronizers/synchronizer-local/index.js +4 -1
  848. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -1
  849. package/umd/synchronizers/synchronizer-ws-client/index.js +4 -1
  850. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -1
  851. package/umd/synchronizers/with-schemas/index.js +4 -1
  852. package/umd/ui-react-inspector/index.js +13 -6
  853. package/umd/ui-react-inspector/with-schemas/index.js +13 -6
  854. package/umd/with-schemas/index.js +18 -11
  855. package/with-schemas/index.js +18 -11
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(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),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,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),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(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 p(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=d(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(Oa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[da]??Y,e[ua]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[va]:null,[pa]:Y},va,(a=>O(w,a)),(a=>z(l,a))),ha(i,{[ga]:null,[pa]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>O(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(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,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,h,A(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{fa as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=a=>{throw Error(a)},v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==u(a),m=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),f=N.entries,L=N.keys,S=N.freeze,b=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(f(a),(([a,e])=>t(e,a))),P=a=>N.values(a),$=a=>u(L(a)),_=a=>(a=>!c(a)&&l(R(a),(a=>a==N.prototype||c(R(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),x(a,t)),U=(a,t,e,n=H)=>(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),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(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,s,i)=>{const r=F();return[async()=>U(r,b(await E(g(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,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,U(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?b(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=z();M(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=h(d);if(!w&&y&&C(u)&&A(r,t))return await a("DROP "+V+G(t)),void H(r,t);if(C(u)||A(r,t)){const n=x(r,t),i=z(j(n));await E([...g(u,(async s=>{T(i,s)||(await a(q+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(h(i),(async e=>{e!=s&&(await a(q+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+V+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(u,(a=>n+G(a))))});`),H(r,t,F([[s,e],...g(u,(a=>[a,e]))]));if(w)c(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+G(t)+aa+G(s)+"=?",[n]):C(u)||await ea(a,t,s,L(e),[n,...P(e)],i)})));else if(C(u))A(r,t)&&await a(Q+G(t)+aa+" 1");else{const e=m(j(x(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{O(n,t,...g(e,(t=>a?.[t]))),O(c,t)})),await ea(a,t,s,e,n,i),await a(Q+G(t)+aa+G(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,v=0,g=0,C=0;J(sa,y,(()=>0)),J(ia,y,(()=>[]));const[m,A,h,T,N]=((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]:p("Store type not supported by this Persister"))(r,a),R=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{const a=await t();w(a)?R(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),M),L=()=>(u&&(s(u),u=void 0),M),b=async a=>(1!=v&&(v=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(O(x(ia,y),...a),await(async()=>{if(!x(sa,y)){for(H(sa,y,1);!c((a=x(ia,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}H(sa,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),u=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(u),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:g,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=ta(t,l,s,d);return ra(a,(async()=>await v((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 v((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,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=ta(t,d,s,v),h=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>b(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",Ca="tableName",ma="deleteEmptyColumns",Oa="deleteEmptyTable",Aa={mode:wa,[pa]:1},ha={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(I(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",Ra="data_version",fa="schema_version",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[C,m,O,T]=(a=>{const e=(a=>I(Aa,y(a)?{[da]:a}:a??{}))(a),n=e[pa];if(e.mode==wa){const a=e[da]??t;return[1,n,[a,e[ua]??k,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=z(c),w=z(c);return[0,n,[Ta(s,{[ga]:null,[va]:k},ga,(a=>A(w,a)),(a=>K(l,a))),Ta(i,{[Ca]:null,[va]:k,[ma]:0,[Oa]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?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 ${Ra} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${fa}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,h(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{La as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(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),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,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),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(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 p(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=d(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(Oa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[da]??Y,e[ua]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[va]:null,[pa]:Y},va,(a=>O(w,a)),(a=>z(l,a))),ha(i,{[ga]:null,[pa]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>O(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(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,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,h,A(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{fa as createCrSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=a=>{throw Error(a)},v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==u(a),m=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,R=a=>N.getPrototypeOf(a),f=N.entries,L=N.keys,S=N.freeze,b=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(f(a),(([a,e])=>t(e,a))),P=a=>N.values(a),$=a=>u(L(a)),_=a=>(a=>!c(a)&&l(R(a),(a=>a==N.prototype||c(R(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),x(a,t)),U=(a,t,e,n=H)=>(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),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(w(a)||c(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,s,i)=>{const r=F();return[async()=>U(r,b(await E(g(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,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,U(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?b(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=z();M(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=h(d);if(!w&&y&&C(u)&&A(r,t))return await a("DROP "+V+G(t)),void H(r,t);if(C(u)||A(r,t)){const n=x(r,t),i=z(j(n));await E([...g(u,(async s=>{T(i,s)||(await a(q+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(h(i),(async e=>{e!=s&&(await a(q+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+V+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(u,(a=>n+G(a))))});`),H(r,t,F([[s,e],...g(u,(a=>[a,e]))]));if(w)c(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+G(t)+aa+G(s)+"=?",[n]):C(u)||await ea(a,t,s,L(e),[n,...P(e)],i)})));else if(C(u))A(r,t)&&await a(Q+G(t)+aa+" 1");else{const e=m(j(x(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{O(n,t,...g(e,(t=>a?.[t]))),O(c,t)})),await ea(a,t,s,e,n,i),await a(Q+G(t)+aa+G(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,v=0,g=0,C=0;J(sa,y,(()=>0)),J(ia,y,(()=>[]));const[m,A,h,T,N]=((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]:p("Store type not supported by this Persister"))(r,a),R=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{const a=await t();w(a)?R(a):p("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}v=0}))),M),L=()=>(u&&(s(u),u=void 0),M),b=async a=>(1!=v&&(v=2,C++,await D((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),I=()=>(l(E,a.delListener),E=void 0,M),D=async(...a)=>(O(x(ia,y),...a),await(async()=>{if(!x(sa,y)){for(H(sa,y,1);!c((a=x(ia,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}H(sa,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),u=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(u),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),M),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:g,saves:C}),...o};return S(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=ta(t,l,s,d);return ra(a,(async()=>await v((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 v((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,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=ta(t,d,s,v),h=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await g();const a=await(async()=>b(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",Ca="tableName",ma="deleteEmptyColumns",Oa="deleteEmptyTable",Aa={mode:wa,[pa]:1},ha={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(I(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",Ra="data_version",fa="schema_version",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[C,m,O,T]=(a=>{const e=(a=>I(Aa,y(a)?{[da]:a}:a??{}))(a),n=e[pa];if(e.mode==wa){const a=e[da]??t;return[1,n,[a,e[ua]??k,e[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=z(c),w=z(c);return[0,n,[Ta(s,{[ga]:null,[va]:k},ga,(a=>A(w,a)),(a=>K(l,a))),Ta(i,{[Ca]:null,[va]:k,[ma]:0,[Oa]:0},Ca,((a,t)=>A(w,t)),((a,t)=>K(l,t))),o],l]})(e);return(C?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 ${Ra} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${fa}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,h(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{La as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(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="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),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)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,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),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const o=u(M(S(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",ba="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,O,T]=(a=>{const e=(a=>S(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[ga]:null,[va]:x},ga,(a=>h(w,a)),(a=>q(l,a))),Oa(i,{[pa]:null,[va]:x,[Ca]:0,[ma]:0},pa,((a,t)=>h(w,t)),((a,t)=>q(l,t))),o],l]})(e);return(C?ra:oa)(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 ${fa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${ba}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Na as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),C=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,b=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,L=f.freeze,S=(a=[])=>f.fromEntries(a),D=(...a)=>f.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>p(N(a),(([a,e])=>t(e,a))),P=a=>f.values(a),$=a=>d(R(a)),_=a=>(a=>!c(a)&&l(b(a),(a=>a==f.prototype||c(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(A(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(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),x="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>k(r,S(await E(p(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,S(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,F),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!c(B(B(r,a),t)))(t,e)?S(m(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=q();M(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+K+U(t)),void J(r,t);if(C(d)||A(r,t)){const n=B(r,t),i=q(j(n));await E([...p(d,(async s=>{T(i,s)||(await a(V+U(t)+"ADD"+U(s)),J(n,s,e))})),...!w&&l?p(O(i),(async e=>{e!=s&&(await a(V+U(t)+"DROP"+U(e)),J(n,e))})):[]])}else await a("CREATE "+K+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(p(d,(a=>n+U(a))))});`),J(r,t,F([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,R(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=m(j(B(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{h(n,t,...p(e,(t=>a?.[t]))),h(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+g(p(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+g(p(r,(a=>U(a)+"=excluded."+U(a))),n):e),p(o,(a=>a??null))),na=a=>g(p(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,p=0,C=0;Y(sa,y,(()=>0)),Y(ia,y,(()=>[]));const[m,A,O,T,f]=((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]:v("Store type not supported by this Persister"))(r,a),b=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=g&&(g=1,p++,await I((async()=>{try{const a=await t();w(a)?b(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}g=0}))),M),R=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=g&&(g=2,C++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}g=0}))),M),D=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(h(B(ia,y),...a),await(async()=>{if(!B(sa,y)){for(J(sa,y,1);!c((a=B(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}J(sa,y,0)}var a})(),M),M={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,p++,b(t??a),g=0):await N()})),M),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await D().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&S(a)})),M),stopAutoSave:D,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:C}),...o};return L(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=ta(t,l,s,u);return ra(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[x]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[x]:{[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,[l,y,w]],u,d,v,g)=>{const[p,C,h,A]=ta(t,u,s,g),O=async(a,t)=>await E(H(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,G,{[x]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(m(await E(H(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,G))[x]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",ga="rowId"+la,pa="tableId",Ca="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Aa={mode:wa,[va]:1},Oa={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",ba="data_version",Na="schema_version",Ra=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,h,T]=(a=>{const e=(a=>D(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(D(Oa,r)),0,$(Oa)),c=o[2],l=q(c),w=q(c);return[0,n,[Ta(s,{[pa]:null,[ga]:G},pa,(a=>A(w,a)),(a=>z(l,a))),Ta(i,{[Ca]:null,[ga]:G,[ma]:0,[ha]:0},Ca,((a,t)=>A(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?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,${Na} s,TOTAL_CHANGES() c FROM ${fa}${ba} JOIN ${fa}${Na}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,h,O(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Ra as createElectricSqlPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(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="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),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)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,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),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const o=u(M(S(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",ba="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,O,T]=(a=>{const e=(a=>S(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[ga]:null,[va]:x},ga,(a=>h(w,a)),(a=>q(l,a))),Oa(i,{[pa]:null,[va]:x,[Ca]:0,[ma]:0},pa,((a,t)=>h(w,t)),((a,t)=>q(l,t))),o],l]})(e);return(C?ra:oa)(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 ${fa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${ba}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Na as createElectricSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),C=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,b=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,L=f.freeze,S=(a=[])=>f.fromEntries(a),D=(...a)=>f.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>p(N(a),(([a,e])=>t(e,a))),P=a=>f.values(a),$=a=>d(R(a)),_=a=>(a=>!c(a)&&l(b(a),(a=>a==f.prototype||c(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(A(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(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),x="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,s,i)=>{const r=F();return[async()=>k(r,S(await E(p(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,S(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,F),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!c(B(B(r,a),t)))(t,e)?S(m(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=q();M(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&C(d)&&A(r,t))return await a("DROP "+K+U(t)),void J(r,t);if(C(d)||A(r,t)){const n=B(r,t),i=q(j(n));await E([...p(d,(async s=>{T(i,s)||(await a(V+U(t)+"ADD"+U(s)),J(n,s,e))})),...!w&&l?p(O(i),(async e=>{e!=s&&(await a(V+U(t)+"DROP"+U(e)),J(n,e))})):[]])}else await a("CREATE "+K+U(t)+"("+U(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(p(d,(a=>n+U(a))))});`),J(r,t,F([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Q+U(t)+aa+" 1"):await E(M(o,(async(e,n)=>{c(e)?await a(Q+U(t)+aa+U(s)+"=?",[n]):C(d)||await ea(a,t,s,R(e),[n,...P(e)],i)})));else if(C(d))A(r,t)&&await a(Q+U(t)+aa+" 1");else{const e=m(j(B(r,t)),(a=>a!=s)),n=[],c=[];M(o??{},((a,t)=>{h(n,t,...p(e,(t=>a?.[t]))),h(c,t)})),await ea(a,t,s,e,n,i),await a(Q+U(t)+aa+U(s)+"NOT IN("+na(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ea=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+U(t)+"("+U(s)+g(p(r,(a=>n+U(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+U(s)+")DO UPDATE SET"+g(p(r,(a=>U(a)+"=excluded."+U(a))),n):e),p(o,(a=>a??null))),na=a=>g(p(a,(()=>"?")),n),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,p=0,C=0;Y(sa,y,(()=>0)),Y(ia,y,(()=>[]));const[m,A,O,T,f]=((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]:v("Store type not supported by this Persister"))(r,a),b=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=g&&(g=1,p++,await I((async()=>{try{const a=await t();w(a)?b(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&f(a)}g=0}))),M),R=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=g&&(g=2,C++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}g=0}))),M),D=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(h(B(ia,y),...a),await(async()=>{if(!B(sa,y)){for(J(sa,y,1);!c((a=B(ia,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}J(sa,y,0)}var a})(),M),M={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,p++,b(t??a),g=0):await N()})),M),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await D().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();T(a)&&S(a)})),M),stopAutoSave:D,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:C}),...o};return L(M)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=ta(t,l,s,u);return ra(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[x]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[x]:{[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,[l,y,w]],u,d,v,g)=>{const[p,C,h,A]=ta(t,u,s,g),O=async(a,t)=>await E(H(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,G,{[x]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(m(await E(H(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,G))[x]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",ga="rowId"+la,pa="tableId",Ca="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Aa={mode:wa,[va]:1},Oa={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,y(a)?{[e]:a}:a)),0,$(t));c(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",ba="data_version",Na="schema_version",Ra=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,h,T]=(a=>{const e=(a=>D(Aa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??G,e[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(P(D(Oa,r)),0,$(Oa)),c=o[2],l=q(c),w=q(c);return[0,n,[Ta(s,{[pa]:null,[ga]:G},pa,(a=>A(w,a)),(a=>z(l,a))),Ta(i,{[Ca]:null,[ga]:G,[ma]:0,[ha]:0},Ca,((a,t)=>A(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?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,${Na} s,TOTAL_CHANGES() c FROM ${fa}${ba} JOIN ${fa}${Na}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,h,O(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Ra as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as a}from"expo-sqlite";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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(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),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(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,b(g(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!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(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 u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(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)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((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),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(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]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:wa,[pa]:1},ha={load:0,save:0,[ma]:e+"_values"},Na=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(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},Ta="pragma_",fa="data_version",Ra="schema_version",La=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,N]=(a=>{const t=(a=>I(Oa,w(a)?{[ua]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??G,t[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=q(c),y=q(c);return[0,n,[Na(s,{[ga]:null,[va]:G},ga,(a=>O(y,a)),(a=>z(l,a))),Na(i,{[ma]:null,[va]:G,[Aa]:0,[Ca]:0},ma,((a,t)=>O(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(m?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 ${fa} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,h(N),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{La as createExpoSqlitePersister};
1
+ import{addDatabaseChangeListener as a}from"expo-sqlite";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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=a=>{throw Error(a)},g=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==E(a),C=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,R=a=>f.getPrototypeOf(a),L=f.entries,S=f.keys,b=f.freeze,I=(a=[])=>f.fromEntries(a),D=(...a)=>f.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>m(L(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(S(a)),F=a=>(a=>!l(a)&&y(R(a),(a=>a==f.prototype||l(R(a))),(()=>!0)))(a)&&0==_(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(h(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:n(a,e))),a),G="_",U="_id",W=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",z=a=>new Set(u(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=q+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,i)=>{const r=j();return[async()=>k(r,I(await p(m(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(q+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,j),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!l(B(B(r,a),t)))(t,e)?I(C(m(await a(Z+W(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!F(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=z();P(o??{},(a=>m(S(a??{}),(a=>K(u,a)))));const d=N(u);if(!w&&y&&A(d)&&h(r,t))return await a("DROP "+V+W(t)),void J(r,t);if(A(d)||h(r,t)){const s=B(r,t),i=z(x(s));await p([...m(d,(async e=>{T(i,e)||(await a(Q+W(t)+"ADD"+W(e)),J(s,e,n))})),...!w&&c?m(N(i),(async n=>{n!=e&&(await a(Q+W(t)+"DROP"+W(n)),J(s,n))})):[]])}else await a("CREATE "+V+W(t)+"("+W(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(m(d,(a=>s+W(a))))});`),J(r,t,j([[e,n],...m(d,(a=>[a,n]))]));if(w)l(o)?await a(X+W(t)+ta+" 1"):await p(P(o,(async(n,s)=>{l(n)?await a(X+W(t)+ta+W(e)+"=?",[s]):A(d)||await na(a,t,e,S(n),[s,...$(n)],i)})));else if(A(d))h(r,t)&&await a(X+W(t)+ta+" 1");else{const n=C(x(B(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{O(s,t,...m(n,(t=>a?.[t]))),O(c,t)})),await na(a,t,e,n,s,i),await a(X+W(t)+ta+W(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+W(t)+"("+W(e)+g(m(i,(a=>s+W(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+W(e)+")DO UPDATE SET"+g(m(i,(a=>W(a)+"=excluded."+W(a))),s):n),m(o,(a=>a??null))),sa=a=>g(m(a,(()=>"?")),s),ia=j(),ra=j(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,g=0,m=0;Y(ia,c,(()=>0)),Y(ra,c,(()=>[]));const[A,C,h,N,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!F(a)||!F(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!F(a)||!F(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),f=t=>{(A&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();u(a)?f(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&T(a)}p=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=p&&(p=2,m++,await D((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),M),I=()=>(y(E,a.delListener),E=void 0,M),D=async(...a)=>(O(B(ra,c),...a),await(async()=>{if(!B(ia,c)){for(J(ia,c,1);!l((a=B(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}J(ia,c,0)}var a})(),M),M={load:R,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await R()})),M),stopAutoLoad:L,isAutoLoading:()=>!l(d),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();N(a)&&S(a)})),M),stopAutoSave:I,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:g,saves:m}),...o};return b(M)},ca=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ea(t,l,s,u);return oa(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[G]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[G]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},la=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,A,O]=ea(t,u,s,v),h=async(a,t)=>await p(H(o,(async([e,n,s,i],r)=>{t&&!M(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await A(w,U,{[G]:a},!0,!0,t):null;return oa(a,(async()=>await O((async()=>{await g();const a=await(async()=>I(C(await p(H(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>c?(await m(w,U))[G]:{})();return F(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},ya="ColumnName",wa="store",ua="json",da=wa+"TableName",Ea=wa+"Id"+ya,pa=wa+ya,va="autoLoadIntervalSeconds",ga="rowId"+ya,ma="tableId",Aa="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",ha={mode:ua,[va]:1},Na={load:0,save:0,[Aa]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=j();return P(a,((a,r)=>{const o=d($(D(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",Ra="data_version",La="schema_version",Sa=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,O]=(a=>{const t=(a=>D(ha,w(a)?{[da]:a}:a??{}))(a),n=t[va];if(t.mode==ua){const a=t[da]??e;return[1,n,[a,t[Ea]??U,t[pa]??wa],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d($(D(Na,r)),0,_(Na)),c=o[2],l=z(c),y=z(c);return[0,n,[Ta(s,{[ma]:null,[ga]:U},ma,(a=>h(y,a)),(a=>K(l,a))),Ta(i,{[Aa]:null,[ga]:U,[Ca]:0,[Oa]:0},Aa,((a,t)=>h(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(m?ca:la)(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 ${Ra} d,${La} s,TOTAL_CHANGES() c FROM ${fa}${Ra} JOIN ${fa}${La}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,N(O),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{Sa as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as a}from"expo-sqlite";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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(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),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(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,b(g(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!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(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 u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(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)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((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),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(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]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:wa,[pa]:1},ha={load:0,save:0,[ma]:e+"_values"},Na=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(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},Ta="pragma_",fa="data_version",Ra="schema_version",La=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,N]=(a=>{const t=(a=>I(Oa,w(a)?{[ua]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??G,t[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=q(c),y=q(c);return[0,n,[Na(s,{[ga]:null,[va]:G},ga,(a=>O(y,a)),(a=>z(l,a))),Na(i,{[ma]:null,[va]:G,[Aa]:0,[Ca]:0},ma,((a,t)=>O(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(m?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 ${fa} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,h(N),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{La as createExpoSqlitePersister};
1
+ import{addDatabaseChangeListener as a}from"expo-sqlite";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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=a=>{throw Error(a)},g=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==E(a),C=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,R=a=>f.getPrototypeOf(a),L=f.entries,S=f.keys,b=f.freeze,I=(a=[])=>f.fromEntries(a),D=(...a)=>f.assign({},...a),M=(a,t)=>t in a,P=(a,t)=>m(L(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(S(a)),F=a=>(a=>!l(a)&&y(R(a),(a=>a==f.prototype||l(R(a))),(()=>!0)))(a)&&0==_(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(h(a,t)||J(a,t,e()),B(a,t)),k=(a,t,e,n=J)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>M(t,e)?0:n(a,e))),a),G="_",U="_id",W=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",z=a=>new Set(u(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=q+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,i)=>{const r=j();return[async()=>k(r,I(await p(m(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(q+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,k(Y(r,t,j),e,((a,t,e)=>{e!=B(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!l(B(B(r,a),t)))(t,e)?I(C(m(await a(Z+W(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!F(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=z();P(o??{},(a=>m(S(a??{}),(a=>K(u,a)))));const d=N(u);if(!w&&y&&A(d)&&h(r,t))return await a("DROP "+V+W(t)),void J(r,t);if(A(d)||h(r,t)){const s=B(r,t),i=z(x(s));await p([...m(d,(async e=>{T(i,e)||(await a(Q+W(t)+"ADD"+W(e)),J(s,e,n))})),...!w&&c?m(N(i),(async n=>{n!=e&&(await a(Q+W(t)+"DROP"+W(n)),J(s,n))})):[]])}else await a("CREATE "+V+W(t)+"("+W(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(m(d,(a=>s+W(a))))});`),J(r,t,j([[e,n],...m(d,(a=>[a,n]))]));if(w)l(o)?await a(X+W(t)+ta+" 1"):await p(P(o,(async(n,s)=>{l(n)?await a(X+W(t)+ta+W(e)+"=?",[s]):A(d)||await na(a,t,e,S(n),[s,...$(n)],i)})));else if(A(d))h(r,t)&&await a(X+W(t)+ta+" 1");else{const n=C(x(B(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{O(s,t,...m(n,(t=>a?.[t]))),O(c,t)})),await na(a,t,e,n,s,i),await a(X+W(t)+ta+W(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+W(t)+"("+W(e)+g(m(i,(a=>s+W(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+W(e)+")DO UPDATE SET"+g(m(i,(a=>W(a)+"=excluded."+W(a))),s):n),m(o,(a=>a??null))),sa=a=>g(m(a,(()=>"?")),s),ia=j(),ra=j(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,g=0,m=0;Y(ia,c,(()=>0)),Y(ra,c,(()=>[]));const[A,C,h,N,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!F(a)||!F(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!F(a)||!F(t),t.setContent]:v("Store type not supported by this Persister"))(r,a),f=t=>{(A&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();u(a)?f(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&T(a)}p=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=p&&(p=2,m++,await D((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),M),I=()=>(y(E,a.delListener),E=void 0,M),D=async(...a)=>(O(B(ra,c),...a),await(async()=>{if(!B(ia,c)){for(J(ia,c,1);!l((a=B(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}J(ia,c,0)}var a})(),M),M={load:R,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await R()})),M),stopAutoLoad:L,isAutoLoading:()=>!l(d),save:S,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();N(a)&&S(a)})),M),stopAutoSave:I,isAutoSaving:()=>!l(E),schedule:D,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:g,saves:m}),...o};return b(M)},ca=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ea(t,l,s,u);return oa(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[G]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[G]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},la=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,A,O]=ea(t,u,s,v),h=async(a,t)=>await p(H(o,(async([e,n,s,i],r)=>{t&&!M(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await A(w,U,{[G]:a},!0,!0,t):null;return oa(a,(async()=>await O((async()=>{await g();const a=await(async()=>I(C(await p(H(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!F(a[1])))))(),t=await(async()=>c?(await m(w,U))[G]:{})();return F(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},ya="ColumnName",wa="store",ua="json",da=wa+"TableName",Ea=wa+"Id"+ya,pa=wa+ya,va="autoLoadIntervalSeconds",ga="rowId"+ya,ma="tableId",Aa="tableName",Ca="deleteEmptyColumns",Oa="deleteEmptyTable",ha={mode:ua,[va]:1},Na={load:0,save:0,[Aa]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=j();return P(a,((a,r)=>{const o=d($(D(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),J(i,r,o))})),i},fa="pragma_",Ra="data_version",La="schema_version",Sa=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,O]=(a=>{const t=(a=>D(ha,w(a)?{[da]:a}:a??{}))(a),n=t[va];if(t.mode==ua){const a=t[da]??e;return[1,n,[a,t[Ea]??U,t[pa]??wa],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d($(D(Na,r)),0,_(Na)),c=o[2],l=z(c),y=z(c);return[0,n,[Ta(s,{[ma]:null,[ga]:U},ma,(a=>h(y,a)),(a=>K(l,a))),Ta(i,{[Aa]:null,[ga]:U,[Ca]:0,[Oa]:0},Aa,((a,t)=>h(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(m?ca:la)(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 ${Ra} d,${La} s,TOTAL_CHANGES() c FROM ${fa}${Ra} JOIN ${fa}${La}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,N(O),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{Sa as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s="utf8",r=t=>null==t,n=(t,a,e)=>r(t)?e?.():a(t),o=Object,i=t=>o.getPrototypeOf(t),c=o.keys,y=o.freeze,g=t=>(t=>!r(t)&&n(i(t),(t=>t==o.prototype||r(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=t=>new Map(t),p=(t,a)=>t?.get(a),d=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},u=(t,a,e,s)=>{var r,n;return r=t,n=a,r?.has(n)||d(t,a,e()),p(t,a)},v=l(),h=l(),w=(o,i,c)=>((t,a,e,s,o,i,c,l={},w=[])=>{let f,C,A,S=0,b=0,M=0;u(v,w,(()=>0)),u(h,w,(()=>[]));const[m,L,O,P,T]=((t=1,a)=>1!=t&&a.isMergeable()?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!g(t)||!g(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!g(t)||!g(a),a.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(c,t),D=a=>{var e;(m&&(e=a?.[0],Array.isArray(e))?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},F=async t=>(2!=S&&(S=1,b++,await k((async()=>{try{D(await a())}catch(a){i?.(a),t&&T(t)}S=0}))),x),J=()=>(C&&(o(C),C=void 0),x),N=async t=>(1!=S&&(S=2,M++,await k((async()=>{try{await e(L,t)}catch(t){i?.(t)}S=0}))),x),j=()=>(n(A,t.delListener),A=void 0,x),k=async(...t)=>(((t,...a)=>{t.push(...a)})(p(h,w),...t),await(async()=>{if(!p(v,w)){for(d(v,w,1);!r((t=p(h,w),f=t.shift()));)try{await f()}catch(t){i?.(t)}d(v,w,0)}var t})(),x),x={load:F,startAutoLoad:async t=>(await J().load(t),C=s((async(t,a)=>{a||t?2!=S&&(S=1,b++,D(a??t),S=0):await F()})),x),stopAutoLoad:J,isAutoLoading:()=>!r(C),save:N,startAutoSave:async()=>(await j().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();P(t)&&N(t)})),x),stopAutoSave:j,isAutoSaving:()=>!r(A),schedule:k,getStore:()=>t,destroy:()=>J().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...l};return y(x)})(o,(async()=>{return t=await a(i,s),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await e(i,(a=t(),JSON.stringify(a,((t,a)=>void 0===a?"":a))),s);var a}),(a=>t(i,(()=>a()))),(t=>t?.close()),c,3,{getFilePath:()=>i});export{w as createFilePersister};
1
+ import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s="utf8",r=t=>null==t,n=(t,a,e)=>r(t)?e?.():a(t),o=t=>Array.isArray(t),i=t=>{throw Error(t)},c=Object,y=t=>c.getPrototypeOf(t),g=c.keys,l=c.freeze,p=t=>(t=>!r(t)&&n(y(t),(t=>t==c.prototype||r(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),d=t=>new Map(t),u=(t,a)=>t?.get(a),h=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},v=(t,a,e,s)=>{var r,n;return r=t,n=a,r?.has(n)||h(t,a,e()),u(t,a)},w=d(),f=d(),C=(c,y,g)=>((t,a,e,s,c,y,g,d={},C=[])=>{let A,S,b,M=0,m=0,L=0;v(w,C,(()=>0)),v(f,C,(()=>[]));const[O,P,T,D,F]=((t=1,a)=>1!=t&&a.isMergeable()?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!p(t)||!p(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!p(t)||!p(a),a.setContent]:i("Store type not supported by this Persister"))(g,t),J=a=>{(O&&o(a?.[0])?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},N=async t=>(2!=M&&(M=1,m++,await z((async()=>{try{const t=await a();o(t)?J(t):i("Content is not an array "+t)}catch(a){y?.(a),t&&F(t)}M=0}))),E),j=()=>(S&&(c(S),S=void 0),E),k=async t=>(1!=M&&(M=2,L++,await z((async()=>{try{await e(P,t)}catch(t){y?.(t)}M=0}))),E),x=()=>(n(b,t.delListener),b=void 0,E),z=async(...t)=>(((t,...a)=>{t.push(...a)})(u(f,C),...t),await(async()=>{if(!u(w,C)){for(h(w,C,1);!r((t=u(f,C),A=t.shift()));)try{await A()}catch(t){y?.(t)}h(w,C,0)}var t})(),E),E={load:N,startAutoLoad:async t=>(await j().load(t),S=s((async(t,a)=>{a||t?2!=M&&(M=1,m++,J(a??t),M=0):await N()})),E),stopAutoLoad:j,isAutoLoading:()=>!r(S),save:k,startAutoSave:async()=>(await x().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();D(t)&&k(t)})),E),stopAutoSave:x,isAutoSaving:()=>!r(b),schedule:z,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:m,saves:L}),...d};return l(E)})(c,(async()=>{return t=await a(y,s),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await e(y,(a=t(),JSON.stringify(a,((t,a)=>void 0===a?"":a))),s);var a}),(a=>t(y,(()=>a()))),(t=>t?.close()),g,3,{getFilePath:()=>y});export{C as createFilePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s="utf8",r=t=>null==t,n=(t,a,e)=>r(t)?e?.():a(t),o=Object,i=t=>o.getPrototypeOf(t),c=o.keys,y=o.freeze,g=t=>(t=>!r(t)&&n(i(t),(t=>t==o.prototype||r(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=t=>new Map(t),p=(t,a)=>t?.get(a),d=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},u=(t,a,e,s)=>{var r,n;return r=t,n=a,r?.has(n)||d(t,a,e()),p(t,a)},v=l(),h=l(),w=(o,i,c)=>((t,a,e,s,o,i,c,l={},w=[])=>{let f,C,A,S=0,b=0,M=0;u(v,w,(()=>0)),u(h,w,(()=>[]));const[m,L,O,P,T]=((t=1,a)=>1!=t&&a.isMergeable()?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!g(t)||!g(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!g(t)||!g(a),a.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(c,t),D=a=>{var e;(m&&(e=a?.[0],Array.isArray(e))?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},F=async t=>(2!=S&&(S=1,b++,await k((async()=>{try{D(await a())}catch(a){i?.(a),t&&T(t)}S=0}))),x),J=()=>(C&&(o(C),C=void 0),x),N=async t=>(1!=S&&(S=2,M++,await k((async()=>{try{await e(L,t)}catch(t){i?.(t)}S=0}))),x),j=()=>(n(A,t.delListener),A=void 0,x),k=async(...t)=>(((t,...a)=>{t.push(...a)})(p(h,w),...t),await(async()=>{if(!p(v,w)){for(d(v,w,1);!r((t=p(h,w),f=t.shift()));)try{await f()}catch(t){i?.(t)}d(v,w,0)}var t})(),x),x={load:F,startAutoLoad:async t=>(await J().load(t),C=s((async(t,a)=>{a||t?2!=S&&(S=1,b++,D(a??t),S=0):await F()})),x),stopAutoLoad:J,isAutoLoading:()=>!r(C),save:N,startAutoSave:async()=>(await j().save(),A=t.addDidFinishTransactionListener((()=>{const t=O();P(t)&&N(t)})),x),stopAutoSave:j,isAutoSaving:()=>!r(A),schedule:k,getStore:()=>t,destroy:()=>J().stopAutoSave(),getStats:()=>({loads:b,saves:M}),...l};return y(x)})(o,(async()=>{return t=await a(i,s),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await e(i,(a=t(),JSON.stringify(a,((t,a)=>void 0===a?"":a))),s);var a}),(a=>t(i,(()=>a()))),(t=>t?.close()),c,3,{getFilePath:()=>i});export{w as createFilePersister};
1
+ import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s="utf8",r=t=>null==t,n=(t,a,e)=>r(t)?e?.():a(t),o=t=>Array.isArray(t),i=t=>{throw Error(t)},c=Object,y=t=>c.getPrototypeOf(t),g=c.keys,l=c.freeze,p=t=>(t=>!r(t)&&n(y(t),(t=>t==c.prototype||r(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),d=t=>new Map(t),u=(t,a)=>t?.get(a),h=(t,a,e)=>{return r(e)?(s=t,n=a,s?.delete(n),t):t?.set(a,e);var s,n},v=(t,a,e,s)=>{var r,n;return r=t,n=a,r?.has(n)||h(t,a,e()),u(t,a)},w=d(),f=d(),C=(c,y,g)=>((t,a,e,s,c,y,g,d={},C=[])=>{let A,S,b,M=0,m=0,L=0;v(w,C,(()=>0)),v(f,C,(()=>[]));const[O,P,T,D,F]=((t=1,a)=>1!=t&&a.isMergeable()?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!p(t)||!p(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!p(t)||!p(a),a.setContent]:i("Store type not supported by this Persister"))(g,t),J=a=>{(O&&o(a?.[0])?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},N=async t=>(2!=M&&(M=1,m++,await z((async()=>{try{const t=await a();o(t)?J(t):i("Content is not an array "+t)}catch(a){y?.(a),t&&F(t)}M=0}))),E),j=()=>(S&&(c(S),S=void 0),E),k=async t=>(1!=M&&(M=2,L++,await z((async()=>{try{await e(P,t)}catch(t){y?.(t)}M=0}))),E),x=()=>(n(b,t.delListener),b=void 0,E),z=async(...t)=>(((t,...a)=>{t.push(...a)})(u(f,C),...t),await(async()=>{if(!u(w,C)){for(h(w,C,1);!r((t=u(f,C),A=t.shift()));)try{await A()}catch(t){y?.(t)}h(w,C,0)}var t})(),E),E={load:N,startAutoLoad:async t=>(await j().load(t),S=s((async(t,a)=>{a||t?2!=M&&(M=1,m++,J(a??t),M=0):await N()})),E),stopAutoLoad:j,isAutoLoading:()=>!r(S),save:k,startAutoSave:async()=>(await x().save(),b=t.addDidFinishTransactionListener((()=>{const t=T();D(t)&&k(t)})),E),stopAutoSave:x,isAutoSaving:()=>!r(b),schedule:z,getStore:()=>t,destroy:()=>j().stopAutoSave(),getStats:()=>({loads:m,saves:L}),...d};return l(E)})(c,(async()=>{return t=await a(y,s),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await e(y,(a=t(),JSON.stringify(a,((t,a)=>void 0===a?"":a))),s);var a}),(a=>t(y,(()=>a()))),(t=>t?.close()),g,3,{getFilePath:()=>y});export{C as createFilePersister};
@@ -1 +1 @@
1
- const t=Promise,e=globalThis.window,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),r=e=>new t(e),o=async e=>t.all(e),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),l=Object,y=t=>l.getPrototypeOf(t),d=l.entries,g=l.keys,u=l.freeze,w=t=>(t=>!s(t)&&n(y(t),(t=>t==l.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),p=t=>new Map(t),h=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(n=t,r=e,n?.delete(r),t):t?.set(e,a);var n,r},b=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||v(t,e,a()),h(t,e)},A=p(),C=p(),S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>c(d(e),(([e,a])=>M(t,"put",{k:e,v:a}))))(e);c(await M(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:i(a,M(t,"delete",s)))),await o(a)},M=async(t,e,a)=>r(((s,n)=>{const r=t[e](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${e} error`)})),k=(t,y,d=1,g)=>{const p=async(t,a=[],s=0)=>r(((n,r)=>{const i=(e?e.indexedDB:indexedDB).open(y,s?2:void 0);i.onupgradeneeded=()=>s&&c(S,(t=>{try{i.result.createObjectStore(t,f)}catch{}})),i.onsuccess=async()=>{try{const e=i.result.transaction(S,"readwrite"),s=await o(c(S,(async(s,n)=>await t(e.objectStore(s),a[n]))));i.result.close(),n(s)}catch(t){i.result.close(),r(t)}},i.onerror=()=>r("indexedDB.open error")}));return((t,e,a,r,o,c,l,y={},d=[])=>{let g,p,S,f=0,D=0,M=0;b(A,d,(()=>0)),b(C,d,(()=>[]));const[k,L,j,m,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!w(t)||!w(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(l,t),P=e=>{var a;(k&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},T=async t=>(2!=f&&(f=1,D++,await I((async()=>{try{P(await e())}catch(e){c?.(e),t&&x(t)}f=0}))),z),B=()=>(p&&(o(p),p=void 0),z),O=async t=>(1!=f&&(f=2,M++,await I((async()=>{try{await a(L,t)}catch(t){c?.(t)}f=0}))),z),E=()=>(n(S,t.delListener),S=void 0,z),I=async(...t)=>(i(h(C,d),...t),await(async()=>{if(!h(A,d)){for(v(A,d,1);!s((t=h(C,d),g=t.shift()));)try{await g()}catch(t){c?.(t)}v(A,d,0)}var t})(),z),z={load:T,startAutoLoad:async t=>(await B().load(t),p=r((async(t,e)=>{e||t?2!=f&&(f=1,D++,P(e??t),f=0):await T()})),z),stopAutoLoad:B,isAutoLoading:()=>!s(p),save:O,startAutoSave:async()=>(await E().save(),S=t.addDidFinishTransactionListener((()=>{const t=j();m(t)&&O(t)})),z),stopAutoSave:E,isAutoSaving:()=>!s(S),schedule:I,getStore:()=>t,destroy:()=>B().stopAutoSave(),getStats:()=>({loads:D,saves:M}),...y};return u(z)})(t,(async()=>await p((async t=>((t=[])=>l.fromEntries(t))(c(await M(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await p((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*d)),(t=>a(t)),g,1,{getDbName:()=>y})};export{k as createIndexedDbPersister,D as objectStoreMatch};
1
+ const t=Promise,e=globalThis.window,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),r=t=>Array.isArray(t),o=e=>new t(e),c=async e=>t.all(e),i=t=>{throw Error(t)},l=(t,e)=>t.map(e),y=(t,...e)=>t.push(...e),d=Object,g=t=>d.getPrototypeOf(t),u=d.entries,w=d.keys,p=d.freeze,h=t=>(t=>!s(t)&&n(g(t),(t=>t==d.prototype||s(g(t))),(()=>!0)))(t)&&0==(t=>w(t).length)(t),v=t=>new Map(t),b=(t,e)=>t?.get(e),A=(t,e,a)=>{return s(a)?(n=t,r=e,n?.delete(r),t):t?.set(e,a);var n,r},C=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||A(t,e,a()),b(t,e)},S=v(),f=v(),D=["t","v"],M={keyPath:"k"},k=async(t,e)=>{const a=((e,a)=>l(u(e),(([e,a])=>L(t,"put",{k:e,v:a}))))(e);l(await L(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:y(a,L(t,"delete",s)))),await c(a)},L=async(t,e,a)=>o(((s,n)=>{const r=t[e](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${e} error`)})),j=(t,g,u=1,w)=>{const v=async(t,a=[],s=0)=>o(((n,r)=>{const o=(e?e.indexedDB:indexedDB).open(g,s?2:void 0);o.onupgradeneeded=()=>s&&l(D,(t=>{try{o.result.createObjectStore(t,M)}catch{}})),o.onsuccess=async()=>{try{const e=o.result.transaction(D,"readwrite"),s=await c(l(D,(async(s,n)=>await t(e.objectStore(s),a[n]))));o.result.close(),n(s)}catch(t){o.result.close(),r(t)}},o.onerror=()=>r("indexedDB.open error")}));return((t,e,a,o,c,l,d,g={},u=[])=>{let w,v,D,M=0,k=0,L=0;C(S,u,(()=>0)),C(f,u,(()=>[]));const[j,m,x,P,T]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:i("Store type not supported by this Persister"))(d,t),B=e=>{(j&&r(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},O=async t=>(2!=M&&(M=1,k++,await F((async()=>{try{const t=await e();r(t)?B(t):i("Content is not an array "+t)}catch(e){l?.(e),t&&T(t)}M=0}))),K),E=()=>(v&&(c(v),v=void 0),K),I=async t=>(1!=M&&(M=2,L++,await F((async()=>{try{await a(m,t)}catch(t){l?.(t)}M=0}))),K),z=()=>(n(D,t.delListener),D=void 0,K),F=async(...t)=>(y(b(f,u),...t),await(async()=>{if(!b(S,u)){for(A(S,u,1);!s((t=b(f,u),w=t.shift()));)try{await w()}catch(t){l?.(t)}A(S,u,0)}var t})(),K),K={load:O,startAutoLoad:async t=>(await E().load(t),v=o((async(t,e)=>{e||t?2!=M&&(M=1,k++,B(e??t),M=0):await O()})),K),stopAutoLoad:E,isAutoLoading:()=>!s(v),save:I,startAutoSave:async()=>(await z().save(),D=t.addDidFinishTransactionListener((()=>{const t=x();P(t)&&I(t)})),K),stopAutoSave:z,isAutoSaving:()=>!s(D),schedule:F,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({loads:k,saves:L}),...g};return p(K)})(t,(async()=>await v((async t=>((t=[])=>d.fromEntries(t))(l(await L(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await v((async(t,e)=>await k(t,e)),t(),1)),(t=>setInterval(t,1e3*u)),(t=>a(t)),w,1,{getDbName:()=>g})};export{j as createIndexedDbPersister,k as objectStoreMatch};
@@ -1 +1 @@
1
- const t=Promise,e=globalThis.window,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),r=e=>new t(e),o=async e=>t.all(e),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),l=Object,y=t=>l.getPrototypeOf(t),d=l.entries,g=l.keys,u=l.freeze,w=t=>(t=>!s(t)&&n(y(t),(t=>t==l.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),p=t=>new Map(t),h=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(n=t,r=e,n?.delete(r),t):t?.set(e,a);var n,r},b=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||v(t,e,a()),h(t,e)},A=p(),C=p(),S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>c(d(e),(([e,a])=>M(t,"put",{k:e,v:a}))))(e);c(await M(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:i(a,M(t,"delete",s)))),await o(a)},M=async(t,e,a)=>r(((s,n)=>{const r=t[e](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${e} error`)})),k=(t,y,d=1,g)=>{const p=async(t,a=[],s=0)=>r(((n,r)=>{const i=(e?e.indexedDB:indexedDB).open(y,s?2:void 0);i.onupgradeneeded=()=>s&&c(S,(t=>{try{i.result.createObjectStore(t,f)}catch{}})),i.onsuccess=async()=>{try{const e=i.result.transaction(S,"readwrite"),s=await o(c(S,(async(s,n)=>await t(e.objectStore(s),a[n]))));i.result.close(),n(s)}catch(t){i.result.close(),r(t)}},i.onerror=()=>r("indexedDB.open error")}));return((t,e,a,r,o,c,l,y={},d=[])=>{let g,p,S,f=0,D=0,M=0;b(A,d,(()=>0)),b(C,d,(()=>[]));const[k,L,j,m,x]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!w(t)||!w(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!w(t)||!w(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(l,t),P=e=>{var a;(k&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},T=async t=>(2!=f&&(f=1,D++,await I((async()=>{try{P(await e())}catch(e){c?.(e),t&&x(t)}f=0}))),z),B=()=>(p&&(o(p),p=void 0),z),O=async t=>(1!=f&&(f=2,M++,await I((async()=>{try{await a(L,t)}catch(t){c?.(t)}f=0}))),z),E=()=>(n(S,t.delListener),S=void 0,z),I=async(...t)=>(i(h(C,d),...t),await(async()=>{if(!h(A,d)){for(v(A,d,1);!s((t=h(C,d),g=t.shift()));)try{await g()}catch(t){c?.(t)}v(A,d,0)}var t})(),z),z={load:T,startAutoLoad:async t=>(await B().load(t),p=r((async(t,e)=>{e||t?2!=f&&(f=1,D++,P(e??t),f=0):await T()})),z),stopAutoLoad:B,isAutoLoading:()=>!s(p),save:O,startAutoSave:async()=>(await E().save(),S=t.addDidFinishTransactionListener((()=>{const t=j();m(t)&&O(t)})),z),stopAutoSave:E,isAutoSaving:()=>!s(S),schedule:I,getStore:()=>t,destroy:()=>B().stopAutoSave(),getStats:()=>({loads:D,saves:M}),...y};return u(z)})(t,(async()=>await p((async t=>((t=[])=>l.fromEntries(t))(c(await M(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await p((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*d)),(t=>a(t)),g,1,{getDbName:()=>y})};export{k as createIndexedDbPersister,D as objectStoreMatch};
1
+ const t=Promise,e=globalThis.window,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),r=t=>Array.isArray(t),o=e=>new t(e),c=async e=>t.all(e),i=t=>{throw Error(t)},l=(t,e)=>t.map(e),y=(t,...e)=>t.push(...e),d=Object,g=t=>d.getPrototypeOf(t),u=d.entries,w=d.keys,p=d.freeze,h=t=>(t=>!s(t)&&n(g(t),(t=>t==d.prototype||s(g(t))),(()=>!0)))(t)&&0==(t=>w(t).length)(t),v=t=>new Map(t),b=(t,e)=>t?.get(e),A=(t,e,a)=>{return s(a)?(n=t,r=e,n?.delete(r),t):t?.set(e,a);var n,r},C=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||A(t,e,a()),b(t,e)},S=v(),f=v(),D=["t","v"],M={keyPath:"k"},k=async(t,e)=>{const a=((e,a)=>l(u(e),(([e,a])=>L(t,"put",{k:e,v:a}))))(e);l(await L(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:y(a,L(t,"delete",s)))),await c(a)},L=async(t,e,a)=>o(((s,n)=>{const r=t[e](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${e} error`)})),j=(t,g,u=1,w)=>{const v=async(t,a=[],s=0)=>o(((n,r)=>{const o=(e?e.indexedDB:indexedDB).open(g,s?2:void 0);o.onupgradeneeded=()=>s&&l(D,(t=>{try{o.result.createObjectStore(t,M)}catch{}})),o.onsuccess=async()=>{try{const e=o.result.transaction(D,"readwrite"),s=await c(l(D,(async(s,n)=>await t(e.objectStore(s),a[n]))));o.result.close(),n(s)}catch(t){o.result.close(),r(t)}},o.onerror=()=>r("indexedDB.open error")}));return((t,e,a,o,c,l,d,g={},u=[])=>{let w,v,D,M=0,k=0,L=0;C(S,u,(()=>0)),C(f,u,(()=>[]));const[j,m,x,P,T]=((t=1,e)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:i("Store type not supported by this Persister"))(d,t),B=e=>{(j&&r(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},O=async t=>(2!=M&&(M=1,k++,await F((async()=>{try{const t=await e();r(t)?B(t):i("Content is not an array "+t)}catch(e){l?.(e),t&&T(t)}M=0}))),K),E=()=>(v&&(c(v),v=void 0),K),I=async t=>(1!=M&&(M=2,L++,await F((async()=>{try{await a(m,t)}catch(t){l?.(t)}M=0}))),K),z=()=>(n(D,t.delListener),D=void 0,K),F=async(...t)=>(y(b(f,u),...t),await(async()=>{if(!b(S,u)){for(A(S,u,1);!s((t=b(f,u),w=t.shift()));)try{await w()}catch(t){l?.(t)}A(S,u,0)}var t})(),K),K={load:O,startAutoLoad:async t=>(await E().load(t),v=o((async(t,e)=>{e||t?2!=M&&(M=1,k++,B(e??t),M=0):await O()})),K),stopAutoLoad:E,isAutoLoading:()=>!s(v),save:I,startAutoSave:async()=>(await z().save(),D=t.addDidFinishTransactionListener((()=>{const t=x();P(t)&&I(t)})),K),stopAutoSave:z,isAutoSaving:()=>!s(D),schedule:F,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({loads:k,saves:L}),...g};return p(K)})(t,(async()=>await v((async t=>((t=[])=>d.fromEntries(t))(l(await L(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await v((async(t,e)=>await k(t,e)),t(),1)),(t=>setInterval(t,1e3*u)),(t=>a(t)),w,1,{getDbName:()=>g})};export{j as createIndexedDbPersister,k as objectStoreMatch};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:ya,[Ea]:1},Oa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return S(a,((a,r)=>{const o=u(b(f(t,y(a)?{[e]:a}:a)),0,I(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>f(Aa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??W,e[da]??la],K(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(b(f(Oa,r)),0,I(Oa)),c=o[2],l=K(c),w=K(c);return[0,n,[ha(s,{[pa]:null,[va]:W},pa,(a=>M(w,a)),(a=>V(l,a))),ha(i,{[ga]:null,[va]:W,[Ca]:0,[ma]:0},ga,((a,t)=>M(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(C?ra:oa)(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,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,P(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{fa as createLibSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==d(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=Object,h=a=>O.getPrototypeOf(a),T=O.entries,N=O.keys,R=O.freeze,f=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),S=(a,t)=>t in a,b=(a,t)=>g(T(a),(([a,e])=>t(e,a))),I=a=>O.values(a),D=a=>d(N(a)),M=a=>(a=>!c(a)&&l(h(a),(a=>a==O.prototype||c(h(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),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(_(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(P(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(b(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>S(t,e)?0:n(a,e))),a),k=F(),G=F(),U=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,g=0,C=0;J(k,y,(()=>0)),J(G,y,(()=>[]));const[m,O,h,T,N]=((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]:v("Store type not supported by this Persister"))(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();w(a)?f(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}p=0}))),P),S=()=>(d&&(s(d),d=void 0),P),b=async a=>(1!=p&&(p=2,C++,await D((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),P),I=()=>(l(E,a.delListener),E=void 0,P),D=async(...a)=>(A(x(G,y),...a),await(async()=>{if(!x(k,y)){for(H(k,y,1);!c((a=x(G,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(k,y,0)}var a})(),P),P={load:L,startAutoLoad:async a=>(await S().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await L()})),P),stopAutoLoad:S,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),P),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:g,saves:C}),...o};return R(P)},W="_",q="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(w(a)||c(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",na="WHERE",sa=(a,t,s,i)=>{const r=F();return[async()=>Y(r,f(await E(g(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,f(g(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?f(m(g(await a(ta+z(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!M(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=V();b(o??{},(a=>g(N(a??{}),(a=>Q(u,a)))));const d=$(u);if(!w&&y&&C(d)&&P(r,t))return await a("DROP "+X+z(t)),void H(r,t);if(C(d)||P(r,t)){const n=x(r,t),i=V(j(n));await E([...g(d,(async s=>{_(i,s)||(await a(Z+z(t)+"ADD"+z(s)),H(n,s,e))})),...!w&&l?g($(i),(async e=>{e!=s&&(await a(Z+z(t)+"DROP"+z(e)),H(n,e))})):[]])}else await a("CREATE "+X+z(t)+"("+z(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(d,(a=>n+z(a))))});`),H(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(aa+z(t)+na+" 1"):await E(b(o,(async(e,n)=>{c(e)?await a(aa+z(t)+na+z(s)+"=?",[n]):C(d)||await ia(a,t,s,N(e),[n,...I(e)],i)})));else if(C(d))P(r,t)&&await a(aa+z(t)+na+" 1");else{const e=m(j(x(r,t)),(a=>a!=s)),n=[],c=[];b(o??{},((a,t)=>{A(n,t,...g(e,(t=>a?.[t]))),A(c,t)})),await ia(a,t,s,e,n,i),await a(aa+z(t)+na+z(s)+"NOT IN("+ra(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+z(t)+"("+z(s)+p(g(r,(a=>n+z(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+z(s)+")DO UPDATE SET"+p(g(r,(a=>z(a)+"=excluded."+z(a))),n):e),g(o,(a=>a??null))),ra=a=>p(g(a,(()=>"?")),n),oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=sa(t,l,s,u);return U(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[W]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[W]:{[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,[l,y,w]],u,d,v,p)=>{const[g,C,A,O]=sa(t,u,s,p),h=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!S(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,q,{[W]:a},!0,!0,t):null;return U(a,(async()=>await O((async()=>{await g();const a=await(async()=>f(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await C(w,q))[W]:{})();return M(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Ca="tableName",ma="deleteEmptyColumns",Aa="deleteEmptyTable",Oa={mode:wa,[va]:1},ha={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return b(a,((a,r)=>{const o=u(I(L(t,y(a)?{[e]:a}:a)),0,D(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",Ra="data_version",fa="schema_version",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>L(Oa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??q,e[Ea]??ya],V(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(I(L(ha,r)),0,D(ha)),c=o[2],l=V(c),w=V(c);return[0,n,[Ta(s,{[ga]:null,[pa]:q},ga,(a=>P(w,a)),(a=>Q(l,a))),Ta(i,{[Ca]:null,[pa]:q,[ma]:0,[Aa]:0},Ca,((a,t)=>P(w,t)),((a,t)=>Q(l,t))),o],l]})(e);return(C?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 ${Ra} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${fa}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,$(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{La as createLibSqlPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:ya,[Ea]:1},Oa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return S(a,((a,r)=>{const o=u(b(f(t,y(a)?{[e]:a}:a)),0,I(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>f(Aa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??W,e[da]??la],K(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(b(f(Oa,r)),0,I(Oa)),c=o[2],l=K(c),w=K(c);return[0,n,[ha(s,{[pa]:null,[va]:W},pa,(a=>M(w,a)),(a=>V(l,a))),ha(i,{[ga]:null,[va]:W,[Ca]:0,[ma]:0},ga,((a,t)=>M(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(C?ra:oa)(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,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,P(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{fa as createLibSqlPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=a=>{throw Error(a)},p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),C=a=>0==d(a),m=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),O=Object,h=a=>O.getPrototypeOf(a),T=O.entries,N=O.keys,R=O.freeze,f=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),S=(a,t)=>t in a,b=(a,t)=>g(T(a),(([a,e])=>t(e,a))),I=a=>O.values(a),D=a=>d(N(a)),M=a=>(a=>!c(a)&&l(h(a),(a=>a==O.prototype||c(h(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),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(_(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(P(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(b(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>S(t,e)?0:n(a,e))),a),k=F(),G=F(),U=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,g=0,C=0;J(k,y,(()=>0)),J(G,y,(()=>[]));const[m,O,h,T,N]=((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]:v("Store type not supported by this Persister"))(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L=async a=>(2!=p&&(p=1,g++,await D((async()=>{try{const a=await t();w(a)?f(a):v("Content is not an array "+a)}catch(t){i?.(t),a&&N(a)}p=0}))),P),S=()=>(d&&(s(d),d=void 0),P),b=async a=>(1!=p&&(p=2,C++,await D((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),P),I=()=>(l(E,a.delListener),E=void 0,P),D=async(...a)=>(A(x(G,y),...a),await(async()=>{if(!x(k,y)){for(H(k,y,1);!c((a=x(G,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(k,y,0)}var a})(),P),P={load:L,startAutoLoad:async a=>(await S().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,g++,f(t??a),p=0):await L()})),P),stopAutoLoad:S,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await I().save(),E=a.addDidFinishTransactionListener((()=>{const a=h();T(a)&&b(a)})),P),stopAutoSave:I,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>S().stopAutoSave(),getStats:()=>({loads:g,saves:C}),...o};return R(P)},W="_",q="_id",z=a=>`"${a.replace(/"/g,'""')}"`,K="SELECT",V=a=>new Set(w(a)||c(a)?a:[a]),Q=(a,t)=>a?.add(t),X="TABLE",Z="ALTER "+X,aa="DELETE FROM",ta=K+"*FROM",ea="FROM pragma_table_",na="WHERE",sa=(a,t,s,i)=>{const r=F();return[async()=>Y(r,f(await E(g(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,f(g(await a(K+" name,type "+ea+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(x(x(r,a),t)))(t,e)?f(m(g(await a(ta+z(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!M(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=V();b(o??{},(a=>g(N(a??{}),(a=>Q(u,a)))));const d=$(u);if(!w&&y&&C(d)&&P(r,t))return await a("DROP "+X+z(t)),void H(r,t);if(C(d)||P(r,t)){const n=x(r,t),i=V(j(n));await E([...g(d,(async s=>{_(i,s)||(await a(Z+z(t)+"ADD"+z(s)),H(n,s,e))})),...!w&&l?g($(i),(async e=>{e!=s&&(await a(Z+z(t)+"DROP"+z(e)),H(n,e))})):[]])}else await a("CREATE "+X+z(t)+"("+z(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(d,(a=>n+z(a))))});`),H(r,t,F([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(aa+z(t)+na+" 1"):await E(b(o,(async(e,n)=>{c(e)?await a(aa+z(t)+na+z(s)+"=?",[n]):C(d)||await ia(a,t,s,N(e),[n,...I(e)],i)})));else if(C(d))P(r,t)&&await a(aa+z(t)+na+" 1");else{const e=m(j(x(r,t)),(a=>a!=s)),n=[],c=[];b(o??{},((a,t)=>{A(n,t,...g(e,(t=>a?.[t]))),A(c,t)})),await ia(a,t,s,e,n,i),await a(aa+z(t)+na+z(s)+"NOT IN("+ra(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ia=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+z(t)+"("+z(s)+p(g(r,(a=>n+z(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+z(s)+")DO UPDATE SET"+p(g(r,(a=>z(a)+"=excluded."+z(a))),n):e),g(o,(a=>a??null))),ra=a=>p(g(a,(()=>"?")),n),oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=sa(t,l,s,u);return U(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[W]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[W]:{[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,[l,y,w]],u,d,v,p)=>{const[g,C,A,O]=sa(t,u,s,p),h=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!S(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,q,{[W]:a},!0,!0,t):null;return U(a,(async()=>await O((async()=>{await g();const a=await(async()=>f(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!M(a[1])))))(),t=await(async()=>l?(await C(w,q))[W]:{})();return M(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,va="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",Ca="tableName",ma="deleteEmptyColumns",Aa="deleteEmptyTable",Oa={mode:wa,[va]:1},ha={load:0,save:0,[Ca]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return b(a,((a,r)=>{const o=u(I(L(t,y(a)?{[e]:a}:a)),0,D(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Na="pragma_",Ra="data_version",fa="schema_version",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>L(Oa,y(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[da]??q,e[Ea]??ya],V(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(I(L(ha,r)),0,D(ha)),c=o[2],l=V(c),w=V(c);return[0,n,[Ta(s,{[ga]:null,[pa]:q},ga,(a=>P(w,a)),(a=>Q(l,a))),Ta(i,{[Ca]:null,[pa]:q,[ma]:0,[Aa]:0},Ca,((a,t)=>P(w,t)),((a,t)=>Q(l,t))),o],l]})(e);return(C?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 ${Ra} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Ra} JOIN ${Na}${fa}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,$(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{La as createLibSqlPersister};