tinybase 5.0.0-beta.17 → 5.0.0-beta.18

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 (357) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/store.cjs +1 -1
  36. package/lib/cjs/store.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers.cjs +1 -1
  42. package/lib/cjs/synchronizers.cjs.gz +0 -0
  43. package/lib/cjs/tinybase.cjs +1 -1
  44. package/lib/cjs/tinybase.cjs.gz +0 -0
  45. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  46. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  47. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  48. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters.cjs +1 -1
  80. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  81. package/lib/cjs-es6/store.cjs +1 -1
  82. package/lib/cjs-es6/store.cjs.gz +0 -0
  83. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  84. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  89. package/lib/cjs-es6/tinybase.cjs +1 -1
  90. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  91. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  92. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  93. package/lib/debug/mergeable-store.js +4 -1
  94. package/lib/debug/persisters/persister-automerge.js +5 -3
  95. package/lib/debug/persisters/persister-browser.js +5 -3
  96. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +5 -3
  97. package/lib/debug/persisters/persister-electric-sql.js +5 -3
  98. package/lib/debug/persisters/persister-expo-sqlite-next.js +5 -3
  99. package/lib/debug/persisters/persister-expo-sqlite.js +5 -3
  100. package/lib/debug/persisters/persister-file.js +5 -3
  101. package/lib/debug/persisters/persister-indexed-db.js +5 -3
  102. package/lib/debug/persisters/persister-libsql.js +5 -3
  103. package/lib/debug/persisters/persister-partykit-client.js +5 -3
  104. package/lib/debug/persisters/persister-powersync.js +5 -3
  105. package/lib/debug/persisters/persister-remote.js +5 -3
  106. package/lib/debug/persisters/persister-sqlite-wasm.js +5 -3
  107. package/lib/debug/persisters/persister-sqlite3.js +5 -3
  108. package/lib/debug/persisters/persister-yjs.js +5 -3
  109. package/lib/debug/persisters.js +5 -3
  110. package/lib/debug/store.js +1 -0
  111. package/lib/debug/synchronizers/synchronizer-local.js +5 -3
  112. package/lib/debug/synchronizers/synchronizer-ws-client.js +5 -3
  113. package/lib/debug/synchronizers.js +5 -3
  114. package/lib/debug/tinybase.js +9 -4
  115. package/lib/debug/ui-react-dom.js +7 -4
  116. package/lib/es6/mergeable-store.js +1 -1
  117. package/lib/es6/mergeable-store.js.gz +0 -0
  118. package/lib/es6/persisters/persister-automerge.js +1 -1
  119. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  120. package/lib/es6/persisters/persister-browser.js +1 -1
  121. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  123. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  124. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  125. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  127. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  128. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  129. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  130. package/lib/es6/persisters/persister-file.js +1 -1
  131. package/lib/es6/persisters/persister-file.js.gz +0 -0
  132. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  133. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  134. package/lib/es6/persisters/persister-libsql.js +1 -1
  135. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  136. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  137. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  138. package/lib/es6/persisters/persister-powersync.js +1 -1
  139. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  140. package/lib/es6/persisters/persister-remote.js +1 -1
  141. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  144. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  145. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  146. package/lib/es6/persisters/persister-yjs.js +1 -1
  147. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  148. package/lib/es6/persisters.js +1 -1
  149. package/lib/es6/persisters.js.gz +0 -0
  150. package/lib/es6/store.js +1 -1
  151. package/lib/es6/store.js.gz +0 -0
  152. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  153. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  154. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  155. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  156. package/lib/es6/synchronizers.js +1 -1
  157. package/lib/es6/synchronizers.js.gz +0 -0
  158. package/lib/es6/tinybase.js +1 -1
  159. package/lib/es6/tinybase.js.gz +0 -0
  160. package/lib/es6/ui-react-dom-debug.js +1 -1
  161. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  162. package/lib/mergeable-store.js +1 -1
  163. package/lib/mergeable-store.js.gz +0 -0
  164. package/lib/persisters/persister-automerge.js +1 -1
  165. package/lib/persisters/persister-automerge.js.gz +0 -0
  166. package/lib/persisters/persister-browser.js +1 -1
  167. package/lib/persisters/persister-browser.js.gz +0 -0
  168. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  169. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  170. package/lib/persisters/persister-electric-sql.js +1 -1
  171. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  172. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  173. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  176. package/lib/persisters/persister-file.js +1 -1
  177. package/lib/persisters/persister-file.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-libsql.js +1 -1
  181. package/lib/persisters/persister-libsql.js.gz +0 -0
  182. package/lib/persisters/persister-partykit-client.js +1 -1
  183. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  184. package/lib/persisters/persister-powersync.js +1 -1
  185. package/lib/persisters/persister-powersync.js.gz +0 -0
  186. package/lib/persisters/persister-remote.js +1 -1
  187. package/lib/persisters/persister-remote.js.gz +0 -0
  188. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-sqlite3.js +1 -1
  191. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  192. package/lib/persisters/persister-yjs.js +1 -1
  193. package/lib/persisters/persister-yjs.js.gz +0 -0
  194. package/lib/persisters.js +1 -1
  195. package/lib/persisters.js.gz +0 -0
  196. package/lib/store.js +1 -1
  197. package/lib/store.js.gz +0 -0
  198. package/lib/synchronizers/synchronizer-local.js +1 -1
  199. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  200. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  201. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  202. package/lib/synchronizers.js +1 -1
  203. package/lib/synchronizers.js.gz +0 -0
  204. package/lib/tinybase.js +1 -1
  205. package/lib/tinybase.js.gz +0 -0
  206. package/lib/types/checkpoints.d.ts +50 -3
  207. package/lib/types/common.d.ts +4 -0
  208. package/lib/types/indexes.d.ts +58 -14
  209. package/lib/types/mergeable-store.d.ts +9 -0
  210. package/lib/types/metrics.d.ts +46 -7
  211. package/lib/types/persisters/persister-automerge.d.ts +17 -4
  212. package/lib/types/persisters/persister-browser.d.ts +12 -0
  213. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
  214. package/lib/types/persisters/persister-electric-sql.d.ts +18 -3
  215. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +23 -8
  216. package/lib/types/persisters/persister-expo-sqlite.d.ts +17 -4
  217. package/lib/types/persisters/persister-file.d.ts +6 -0
  218. package/lib/types/persisters/persister-indexed-db.d.ts +6 -0
  219. package/lib/types/persisters/persister-libsql.d.ts +12 -0
  220. package/lib/types/persisters/persister-partykit-client.d.ts +11 -3
  221. package/lib/types/persisters/persister-partykit-server.d.ts +37 -14
  222. package/lib/types/persisters/persister-powersync.d.ts +13 -1
  223. package/lib/types/persisters/persister-remote.d.ts +6 -0
  224. package/lib/types/persisters/persister-sqlite-wasm.d.ts +14 -1
  225. package/lib/types/persisters/persister-sqlite3.d.ts +17 -4
  226. package/lib/types/persisters/persister-yjs.d.ts +18 -6
  227. package/lib/types/persisters.d.ts +75 -8
  228. package/lib/types/queries.d.ts +137 -9
  229. package/lib/types/relationships.d.ts +28 -4
  230. package/lib/types/store.d.ts +429 -18
  231. package/lib/types/synchronizers.d.ts +3 -0
  232. package/lib/types/tools.d.ts +45 -10
  233. package/lib/types/ui-react-dom.d.ts +136 -27
  234. package/lib/types/ui-react.d.ts +1806 -326
  235. package/lib/types/with-schemas/checkpoints.d.ts +50 -3
  236. package/lib/types/with-schemas/common.d.ts +4 -0
  237. package/lib/types/with-schemas/indexes.d.ts +58 -14
  238. package/lib/types/with-schemas/mergeable-store.d.ts +23 -0
  239. package/lib/types/with-schemas/metrics.d.ts +46 -7
  240. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +17 -4
  241. package/lib/types/with-schemas/persisters/persister-browser.d.ts +12 -0
  242. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
  243. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +18 -3
  244. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +24 -9
  245. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +18 -5
  246. package/lib/types/with-schemas/persisters/persister-file.d.ts +6 -0
  247. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +6 -0
  248. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +12 -0
  249. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +11 -3
  250. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +37 -14
  251. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +13 -1
  252. package/lib/types/with-schemas/persisters/persister-remote.d.ts +6 -0
  253. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +15 -2
  254. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +18 -5
  255. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +18 -6
  256. package/lib/types/with-schemas/persisters.d.ts +75 -8
  257. package/lib/types/with-schemas/queries.d.ts +137 -9
  258. package/lib/types/with-schemas/relationships.d.ts +28 -4
  259. package/lib/types/with-schemas/store.d.ts +429 -18
  260. package/lib/types/with-schemas/synchronizers.d.ts +3 -0
  261. package/lib/types/with-schemas/tools.d.ts +45 -10
  262. package/lib/types/with-schemas/ui-react-dom.d.ts +136 -27
  263. package/lib/types/with-schemas/ui-react.d.ts +1806 -326
  264. package/lib/umd/mergeable-store.js +1 -1
  265. package/lib/umd/mergeable-store.js.gz +0 -0
  266. package/lib/umd/persisters/persister-automerge.js +1 -1
  267. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  268. package/lib/umd/persisters/persister-browser.js +1 -1
  269. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  270. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  271. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  272. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  273. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  274. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  275. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  276. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  277. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  278. package/lib/umd/persisters/persister-file.js +1 -1
  279. package/lib/umd/persisters/persister-file.js.gz +0 -0
  280. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  281. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  282. package/lib/umd/persisters/persister-libsql.js +1 -1
  283. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  284. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  285. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  286. package/lib/umd/persisters/persister-powersync.js +1 -1
  287. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  288. package/lib/umd/persisters/persister-remote.js +1 -1
  289. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  290. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  291. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  292. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  293. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  294. package/lib/umd/persisters/persister-yjs.js +1 -1
  295. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  296. package/lib/umd/persisters.js +1 -1
  297. package/lib/umd/persisters.js.gz +0 -0
  298. package/lib/umd/store.js +1 -1
  299. package/lib/umd/store.js.gz +0 -0
  300. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  301. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  302. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  303. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  304. package/lib/umd/synchronizers.js +1 -1
  305. package/lib/umd/synchronizers.js.gz +0 -0
  306. package/lib/umd/tinybase.js +1 -1
  307. package/lib/umd/tinybase.js.gz +0 -0
  308. package/lib/umd/ui-react-dom-debug.js +1 -1
  309. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  310. package/lib/umd-es6/mergeable-store.js +1 -1
  311. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  313. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  315. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  317. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  319. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  321. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  323. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  324. package/lib/umd-es6/persisters/persister-file.js +1 -1
  325. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  326. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  327. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  328. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  329. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  330. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  331. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  332. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  333. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  334. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  335. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  336. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  337. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  338. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  339. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  340. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  341. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  342. package/lib/umd-es6/persisters.js +1 -1
  343. package/lib/umd-es6/persisters.js.gz +0 -0
  344. package/lib/umd-es6/store.js +1 -1
  345. package/lib/umd-es6/store.js.gz +0 -0
  346. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  347. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  348. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  349. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  350. package/lib/umd-es6/synchronizers.js +1 -1
  351. package/lib/umd-es6/synchronizers.js.gz +0 -0
  352. package/lib/umd-es6/tinybase.js +1 -1
  353. package/lib/umd-es6/tinybase.js.gz +0 -0
  354. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  355. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  356. package/package.json +25 -23
  357. package/readme.md +21 -3
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",u="Table",d=u+"s",g=u+i,h="Row",b=h+"Count",f=h+i,C="Cell",T=C+i,v="Value",V=v+"s",p=v+i,w=e=>t+e,y=(e,t)=>e.startsWith(t),R=(e,t)=>e.endsWith(t),S=Math.max,I=isFinite,M=e=>null==e,m=(e,t,s)=>M(e)?s?.():t(e),L=e=>e==s||e==n,H=t=>e(t)==l,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!M(e)&&m(A(e),(e=>e==z.prototype||M(A(e))),(()=>!0)),N=z.keys,j=z.freeze,U=(e=[])=>z.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>F(P(e),(([e,s])=>t(s,e))),K=(e,t)=>O(P(e),(([e,s])=>t(s,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),X=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Y=(e,t,s,n=0)=>M(e)||!k(e)||!n&&Q(e)||W(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||B(e,n)})),!!n||!Q(e)),Z=e=>new Set(J(e)||M(e)?e:[e]),$=(e,t)=>e?.add(t),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>M(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ce=(e,t)=>ne(e,((e,s)=>t(s,e))),ie=(e,t,s)=>M(s)?(ae(e,t),e):e?.set(t,s),ue=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ie(e,t,s()),oe(e,t)),de=(e,t,s,n=ie)=>(K(t,((t,n)=>s(e,n,t))),ce(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,Q),be=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,Q),fe=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>fe(e,fe),Te=e=>fe(e,Ce),ve=(e,t,s,n,a=0)=>m((s?ue:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ie(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ie(e,t[a]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let t=2166136261;return F(Ve.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},we=([e,t,s])=>[e,t,s],ye=([e,t])=>Re(e,t),Re=(e,t)=>t?[e,t]:[e],Se=e=>e[2],Ie=(e,t)=>pe(e+":"+t),Me=(e,t)=>t>e?(e?pe(e):0)^pe(t):0,me=(e,t)=>((e??"")>(t??"")?e:t)??"",Le=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},He=(e=t)=>Re(U(),e),Je=(e=t)=>[le(),e,0],Ee=([e,t,s],n=we)=>[ge(e,n),t,s],De=([e,t],s=ye)=>Re(ge(e,s),t),Fe=(t,n)=>{return J(t)&&3==D(t)&&(l=t[1],e(l)==s)&&e(t[2])==a&&I(t[2])&&n(t[0]);var l},Oe=/^\d+$/,xe=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Oe.test(t)&&D(e)<1e3&&x(e,t)}]},ze=e=>[e,e],Ae=()=>[le(),le()],Pe=e=>[...e],We=([e,t])=>e===t,ke=t=>{const s=e(t);return L(s)||s==a&&I(t)?s:void 0},Ne=e=>M(e)||!M(ke(e)),je=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ue=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),qe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Be=JSON.parse,Ge="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),Ke=le(O(Ge,((e,t)=>[e,t]))),Qe=e=>Ge[63&e],Xe=(e,t)=>oe(Ke,e[t])??0,Ye=(e,t,s)=>ie(e,t,oe(e,t)==-s?void 0:s),Ze=()=>{let e,s,n=!1,l=!1,i=0,y=[];const R=le(),S=le(),I=le(),J=le(),z=le(),A=le(),P=le(),W=le(),k=le(),N=le(),U=le(),G=le(),X=le(),Ve=le(),pe=Z(),we=le(),ye=le(),Re=le(),Se=le(),Ie=Ae(),Me=Ae(),me=Ae(),Le=Ae(),He=Ae(),Je=Ae(),Ee=Ae(),De=Ae(),Fe=Ae(),Oe=Ae(),Ne=Ae(),Ge=Ae(),Ke=Ae(),Qe=Ae(),Xe=Ae(),$e=Ae(),_e=Ae(),et=Ae(),tt=Ae(),st=Ae(),nt=Ae(),at=Ae(),lt=le(),rt=Ae(),[ot,ct,it,ut]=(e=>{let s;const[n,a]=xe(),l=le();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Js;const i=n(1);return ie(l,i,[e,a,r,o,c]),$(ve(a,r??[t],Z),i),i},(e,n,...a)=>F(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?x(n,e):null===s[t]?ne(e,(e=>a(e,t+1))):F([s[t],null],(s=>a(oe(e,s),t+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](s,...n??[],...a))))),e=>m(oe(l,e),(([,s,n])=>(ve(s,n??[t],void 0,(t=>(ae(t,e),te(t)?1:0))),ie(l,e),a(e),n))),e=>m(oe(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(t)?e(s,...r,...a(r)):M(t[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),dt=e=>{if(!Y(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!L(t)&&t!=a||(ke(e[o])!=t&&B(e,o),0))},gt=(t,s)=>(!e||ee(U,s)||jt(s))&&Y(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>Y(n?s:Tt(s,e,t),((n,a)=>m(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),bt=(t,s,n,a)=>e?m(oe(oe(U,t),n),(e=>ke(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):M(ke(a))?jt(t,s,n,a):a,ft=(e,t)=>Y(t?e:vt(e),((t,s)=>m(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),Ct=(e,t)=>s?m(oe(X,e),(s=>ke(t)!=s[r]?Ut(e,t,s[o]):t),(()=>Ut(e,t))):M(ke(t))?Ut(e,t):t,Tt=(e,t,s)=>(m(oe(G,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||jt(t,s,n)}))})),e),vt=e=>(s&&(ne(Ve,((t,s)=>{q(e,s)||(e[s]=t)})),ne(pe,(t=>{q(e,t)||Ut(t)}))),e),Vt=e=>de(U,e,((e,t,s)=>{const n=le(),a=Z();de(ue(U,t,le),s,((e,t,s)=>{ie(e,t,s),m(s[o],(e=>ie(n,t,e)),(()=>$(a,t)))})),ie(G,t,[n,a])}),((e,t)=>{ie(U,t),ie(G,t)})),pt=e=>de(X,e,((e,t,s)=>{ie(X,t,s),m(s[o],(e=>ie(Ve,t,e)),(()=>$(pe,t)))}),((e,t)=>{ie(X,t),ie(Ve,t),ae(pe,t)})),wt=e=>Q(e)?ws():Cs(e),yt=e=>de(Re,e,((e,t,s)=>Rt(t,s)),((e,t)=>Dt(t))),Rt=(e,t)=>de(ue(Re,e,(()=>(zt(e,1),ie(we,e,xe()),ie(ye,e,le()),le()))),t,((t,s,n)=>St(e,t,s,n)),((t,s)=>Ft(e,t,s))),St=(e,t,s,n,a)=>de(ue(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),It=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ie(s,n,a))},Mt=(e,t,s,n,a)=>m(oe(t,s),(t=>It(e,s,t,n,a)),(()=>St(e,t,s,Tt({[n]:a},e,s)))),mt=e=>Q(e)?Ss():Ts(e),Lt=e=>de(Se,e,((e,t,s)=>Ht(t,s)),((e,t)=>xt(t))),Ht=(e,t)=>{ee(Se,e)||kt(e,1);const s=oe(Se,e);t!==s&&(Nt(e,s,t),ie(Se,e,t))},Jt=(e,t)=>{const[s]=oe(we,e),n=s(t);return ee(oe(Re,e),n)?Jt(e,t):n},Et=e=>oe(Re,e)??Rt(e,{}),Dt=e=>Rt(e,{}),Ft=(e,t,s)=>{const[,n]=oe(we,e);n(s),St(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const r=oe(oe(G,e)?.[0],a);if(!M(r)&&!l)return It(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ie(n,t)};M(r)?o(a):ce(n,o),te(n)&&(At(e,s,-1),te(ie(t,s))&&(zt(e,-1),ie(Re,e),ie(we,e),ie(ye,e)))},xt=e=>{const t=oe(Ve,e);if(!M(t))return Ht(e,t);Nt(e,oe(Se,e)),kt(e,-1),ie(Se,e)},zt=(e,t)=>Ye(R,e,t),At=(e,t,s)=>Ye(ue(J,e,le),t,s)&&ie(I,e,ue(I,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(ye,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ye(ue(S,e,le),s,n),ie(a,s,l!=-n?l+n:null),Ye(ue(ue(z,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>{ue(ue(ue(A,e,le),t,le),s,(()=>[n,0]))[1]=a,y[3]?.(e,t,s,a)},kt=(e,t)=>Ye(P,e,t),Nt=(e,t,s)=>{ue(W,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},jt=(e,t,s,n,a)=>(x(ue(ue(ue(k,e,le),t,le),s,(()=>[])),n),a),Ut=(e,t,s)=>(x(ue(N,e,(()=>[])),t),s),qt=(e,t,s)=>m(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(ls(e,t,s))])),Bt=e=>m(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(cs(e))])),Gt=e=>te(k)||te($e[e])?0:ne(e?Te(k):k,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>ct($e[e],[s,n,a],t))))))),Kt=e=>te(N)||te(_e[e])?0:ne(e?fe(N):N,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return ct(t,n,(()=>ge(e))),ce(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Ie[e],void 0,t);const s=te(Oe[e]),a=te(Ke[e])&&te(Qe[e])&&te(Fe[e])&&te(Ne[e])&&te(Je[e])&&te(Ee[e])&&te(De[e])&&s&&te(me[e])&&te(Le[e]),l=te(Xe[e])&&te(Ge[e])&&te(He[e])&&te(Me[e]);if(!a||!l){const t=e?[fe(R),Ce(S),fe(I),Ce(J),Te(z),Te(A)]:[R,S,I,J,z,A];if(!a){Qt(t[0],me[e],Le[e]),ne(t[1],((t,s)=>Qt(t,Je[e],Ee[e],[s]))),ne(t[2],((t,s)=>{0!=t&&ct(De[e],[s],ts(s))}));const n=Z();ne(t[3],((t,a)=>{Qt(t,Fe[e],Ne[e],[a])&&!s&&(ct(Oe[e],[a,null]),$(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Z();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?$(n,a):ae(e,a))))),ne(n,(t=>ct(Oe[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ke[e],Qe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],c)=>{o!==t&&(ct(Xe[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Ge[e],[n,l],qt)})),a&&ct(He[e],[n],qt)})),s&&ct(Me[e],void 0,qt)}}},Yt=e=>{const t=bs();t!=l&&ct(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[fe(P),fe(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Zt=(e,...t)=>(ms((()=>e(...O(t,w)))),Js),$t=()=>be(Re),_t=()=>re(Re),es=e=>re(oe(ye,w(e))),ts=e=>_(oe(Re,w(e))),ss=e=>re(oe(Re,w(e))),ns=(e,t,s,n=0,a)=>{return O(E((r=oe(Re,w(e)),o=(e,s)=>[M(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,M(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(Re,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(Re,w(e)),w(t)),w(s)),rs=()=>ge(Se),os=()=>re(Se),cs=e=>oe(Se,w(e)),is=()=>!te(Re),us=e=>ee(Re,w(e)),ds=(e,t)=>ee(oe(ye,w(e)),w(t)),gs=(e,t)=>ee(oe(Re,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(Re,w(e)),w(t)),w(s)),bs=()=>!te(Se),fs=e=>ee(Se,w(e)),Cs=e=>Zt((()=>(e=>Y(e,gt,jt))(e)?yt(e):0)),Ts=e=>Zt((()=>ft(e)?Lt(e):0)),vs=e=>{try{wt(Be(e))}catch{}return Js},Vs=t=>Zt((()=>{if((e=Y(t,(e=>Y(e,dt))))&&(Vt(t),!te(Re))){const e=$t();ws(),Cs(e)}})),ps=e=>Zt((()=>{if(s=(e=>Y(e,dt))(e)){const t=rs();Ms(),Ss(),s=!0,pt(e),Ts(t)}})),ws=()=>Zt((()=>yt({}))),ys=e=>Zt((e=>ee(Re,e)?Dt(e):0),e),Rs=(e,t)=>Zt(((e,t)=>m(oe(Re,e),(s=>ee(s,t)?Ft(e,s,t):0))),e,t),Ss=()=>Zt((()=>Lt({}))),Is=()=>Zt((()=>{Vt({}),e=!1})),Ms=()=>Zt((()=>{pt({}),s=!1})),ms=(e,t)=>{if(-1!=i){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=i&&i++,1==i&&(y[0]?.(),ct(lt)),Js),Hs=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),te(A)||Xt(1),Kt(1),te(W)||Yt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>Ue(Js,t,e))),se(W)),ct(rt[0],void 0),i=-1,Gt(0),te(A)||Xt(0),Kt(0),te(W)||Yt(0),y[1]?.(),ct(rt[1],void 0),y[2]?.(),i=0,n=is(),l=bs(),F([R,S,I,J,z,A,k,P,W,N],se))),Js),Js={getContent:()=>[$t(),rs()],getTables:$t,getTableIds:_t,getTable:e=>he(oe(Re,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(Re,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:us,hasTableCell:ds,hasRow:gs,hasCell:hs,hasValues:bs,hasValue:fs,getTablesJson:()=>qe(Re),getValuesJson:()=>qe(Se),getJson:()=>qe([Re,Se]),getTablesSchemaJson:()=>qe(U),getValuesSchemaJson:()=>qe(X),getSchemaJson:()=>qe([U,X]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Zt((()=>{(Q(e)?ws:Cs)(e),(Q(t)?Ss:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Zt((e=>gt(t,e)?Rt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ht(e,t,s)?St(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ms((()=>{let n;return ht(e,n,t)&&(e=w(e),St(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>Mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>m(bt(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>Mt(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Zt((()=>ft(e,1)?K(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Zt((e=>m(Ct(e,H(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Zt((()=>{K(e[0],((e,t)=>M(e)?ys(t):K(e,((e,s)=>M(e)?Rs(t,s):K(e,((e,n)=>je(Js,t,s,n,e))))))),K(e[1],((e,t)=>Ue(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{mt(Be(e))}catch{}return Js},setJson:e=>Zt((()=>{try{const[t,s]=Be(e);wt(t),mt(s)}catch{vs(e)}})),setTablesSchema:Vs,setValuesSchema:ps,setSchema:(e,t)=>Zt((()=>{Vs(e),ps(t)})),delTables:ws,delTable:ys,delRow:Rs,delCell:(e,t,s,n)=>Zt(((e,t,s)=>m(oe(Re,e),(a=>m(oe(a,t),(l=>ee(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:Ss,delValue:e=>Zt((e=>ee(Se,e)?xt(e):0),e),delTablesSchema:Is,delValuesSchema:Ms,delSchema:()=>Zt((()=>{Is(),Ms()})),transaction:ms,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(R,t)?void 0:ge(e,((e,s)=>-1===oe(oe(J,t),s)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),te,Q)),te,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!te(A),!te(W),be(A,Pe,We),be(k),ge(W,Pe,We),ge(N),ge(R),he(J),be(z),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(Re,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(oe(ye,w(e)),t),forEachRow:(e,t)=>ne(oe(Re,w(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(oe(oe(Re,w(e)),w(t)),s),forEachValue:e=>ce(Se,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var c,i,u;i=o,D(c=r)===D(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,l(Js,e,t,s,n,a,o))}),Oe[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(ut(e),Js),delListener:e=>(it(e),Js),getListenerStats:()=>({}),createStore:Ze,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>y=[e,t,s,n,a]};return K({[c+d]:[0,Ie,[],()=>[is()]],[d]:[0,Me],[g]:[0,me],[c+u]:[1,Le,[_t],e=>[us(...e)]],[u]:[1,He,[_t]],[u+T]:[1,Je,[_t]],[c+u+C]:[2,Ee,[_t,es],e=>[ds(...e)]],[b]:[1,De,[_t]],[f]:[1,Fe,[_t]],[c+h]:[2,Ne,[_t,ss],e=>[gs(...e)]],[h]:[2,Ge,[_t,ss]],[T]:[2,Ke,[_t,ss]],[c+C]:[3,Qe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Xe,[_t,ss,as],e=>ze(ls(...e))],InvalidCell:[3,$e],[c+V]:[0,et,[],()=>[bs()]],[V]:[0,tt],[p]:[0,st],[c+v]:[1,nt,[os],e=>[fs(...e)]],[v]:[1,at,[os],e=>ze(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),j(Js)},$e=2**36,_e=2**30,et=2**24,tt=2**18,st=4096,nt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},at=(e=t)=>[Je(e),Je(e)],lt=e=>{let s=1,n=at(),a=0;const l=le(),r=Z(),[o,c]=(e=>{let t=0,s=-1;const n=m(e,(e=>{const t=pe(e);return Qe(t/et)+Qe(t/tt)+Qe(t/st)+Qe(t/64)+Qe(t)}),(()=>((e=16)=>{return t=(e,t)=>e+Qe(t),crypto.getRandomValues(new Uint8Array(e)).reduce(t,"");var t})(5))),a=e=>{const n=t,[a,l]=M(e)||""==e?[0,0]:[Xe(r=e,0)*$e+Xe(r,1)*_e+Xe(r,2)*et+Xe(r,3)*tt+Xe(r,4)*st+64*Xe(r,5)+Xe(r,6),Xe(r,7)*tt+Xe(r,8)*st+64*Xe(r,9)+Xe(r,10)];var r;t=S(n,a,Date.now()),s=t==n?t==a?S(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,Qe((e=t)/$e)+Qe(e/_e)+Qe(e/et)+Qe(e/tt)+Qe(e/st)+Qe(e/64)+Qe(e)+Qe(l/tt)+Qe(l/st)+Qe(l/64)+Qe(l)+n;var e,l},a]})(e),i=Ze(),u=e=>{const t=s;return s=0,e(),s=t,f},d=(e,s=0)=>{const a={},l={},[[r,o=t,i=0],u]=e,[d,h]=n,[b,f,C]=d;let T=s?i:C,v=o;G(r,(([e,n=t,l=0],r)=>{const o=ue(b,r,Je),[c,i,u]=o;let d=s?l:u,h=n;G(e,((e,t)=>{const[n,l,o]=g(e,ue(c,t,Je),X(X(a,r,U),t,U),s);d^=s?0:(l?Ie(t,l):0)^Ie(t,o),h=me(h,n)})),d^=s?0:Me(i,n),Le(o,d,n),T^=s?0:(u?Ie(r,u):0)^Ie(r,o[2]),v=me(v,h)})),T^=s?0:Me(f,o),Le(d,T,o);const[V]=g(u,h,l,s);return c(me(v,V)),[a,l,1]},g=(e,s,n,a)=>{const[l,r=t,o=0]=e,[c,i,u]=s;let d=r,g=a?o:u;return G(l,(([e,s,l=0],r)=>{const o=ue(c,r,(()=>[void 0,t,0])),[,i,u]=o;(!i||s>i)&&(Le(o,a?l:pe(qe(e??null)+":"+s),s),o[0]=e,n[r]=e,g^=a?0:Ie(r,u)^Ie(r,o[2]),d=me(d,s))})),g^=a?0:Me(i,r),Le(s,g,r),[d,u,s[2]]},h=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],b=e=>u((()=>i.applyChanges(d(e)))),f={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Se),getMergeableTableDiff:e=>{const t=He(n[0][1]),s={};return ce(n[0][0],((n,[a,l,r])=>q(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=De([a,l],(e=>De(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n,,a])=>a!=e?ce(n,((e,[,,n])=>X(t,s,U)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=He(n[0][1]),s={};return G(e,((e,a)=>ce(oe(n[0][0],a)?.[0],((n,[l,r,o])=>q(e,n)?o!==e[n]?X(s,a,U)[n]=o:0:X(t[0],a,He)[0][n]=De([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n])=>G(e,((e,a)=>m(oe(n,a),(([n,,l])=>l!==e?ce(n,((e,[,,n])=>X(X(t,s,U),a,U)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return G(e,((e,s)=>G(e,((e,n)=>m(oe(t,s),(([t,l])=>m(oe(t,n),(([t,r])=>ce(t,((t,[o,c,i])=>i!==e[t]?X(X(a,s,(()=>He(l)))[0],n,(()=>He(r)))[0][t]=[o,c]:0)))))))))),Re(a,s)},getMergeableValuesHashes:()=>ge(n[1][0],Se),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=ge(t,ye,(([,,t],s)=>t==e?.[s]));return Re(a,s)},setMergeableContent:e=>u((()=>(e=>J(e)&&2==D(e)&&Fe(e[0],(e=>Y(e,(e=>Fe(e,(e=>Y(e,(e=>Fe(e,(e=>Y(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>Y(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=at(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),f),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,o={};ne(l,((t,s)=>m(oe(e,s),(([e,n])=>{const a={};ne(t,((t,s)=>m(oe(e,s),(([e,n])=>{const l={};ne(t,(t=>{m(oe(e,t),(([e,s])=>l[t]=Re(e,s)))})),a[s]=Re(l,n)})))),o[s]=Re(a,n)}))));const c={};return ne(r,(e=>m(oe(s,e),(([t,s])=>c[e]=Re(t,s))))),[Re(o,t),Re(c,a),1]},applyMergeableChanges:b,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),b(s)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{se(l),se(r)}),((e,n,r,c)=>{$(ue(ue(l,e,le),n,Z),r),s&&d([[{[e]:[{[n]:[{[r]:[c,a?t:o()]}]}]}],[{}],1])}),((e,n)=>{$(r,e),s&&d([[{}],[{[e]:[n,a?t:o()]}],1])})),K(i,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||R(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):y(t,"add")&&R(t,"Listener")?(...s)=>{const n=nt[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(f,...t),e(...s)}:e)),j(f)};export{lt as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",u="Table",d=u+"s",g=u+i,h="Row",b=h+"Count",f=h+i,C="Cell",T=C+i,v="Value",V=v+"s",p=v+i,w=e=>t+e,y=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),R=Math.max,S=isFinite,I=e=>null==e,m=(e,t,s)=>I(e)?s?.():t(e),L=e=>e==s||e==n,H=t=>e(t)==l,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!I(e)&&m(A(e),(e=>e==z.prototype||I(A(e))),(()=>!0)),N=z.keys,j=z.freeze,U=(e=[])=>z.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>F(P(e),(([e,s])=>t(s,e))),K=(e,t)=>O(P(e),(([e,s])=>t(s,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),X=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Y=(e,t,s,n=0)=>I(e)||!k(e)||!n&&Q(e)||W(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||B(e,n)})),!!n||!Q(e)),Z=e=>new Set(J(e)||I(e)?e:[e]),$=(e,t)=>e?.add(t),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>I(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ce=(e,t)=>ne(e,((e,s)=>t(s,e))),ie=(e,t,s)=>I(s)?(ae(e,t),e):e?.set(t,s),ue=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ie(e,t,s()),oe(e,t)),de=(e,t,s,n=ie)=>(K(t,((t,n)=>s(e,n,t))),ce(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,Q),be=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,Q),fe=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>fe(e,fe),Te=e=>fe(e,Ce),ve=(e,t,s,n,a=0)=>m((s?ue:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ie(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ie(e,t[a]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let t=2166136261;return F(Ve.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},we=([e,t,s])=>[e,t,s],ye=([e,t])=>Me(e,t),Me=(e,t)=>t?[e,t]:[e],Re=e=>e[2],Se=(e,t)=>pe(e+":"+t),Ie=(e,t)=>t>e?(e?pe(e):0)^pe(t):0,me=(e,t)=>((e??"")>(t??"")?e:t)??"",Le=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},He=(e=t)=>Me(U(),e),Je=(e=t)=>[le(),e,0],Ee=([e,t,s],n=we)=>[ge(e,n),t,s],De=([e,t],s=ye)=>Me(ge(e,s),t),Fe=(t,n)=>{return J(t)&&3==D(t)&&(l=t[1],e(l)==s)&&e(t[2])==a&&S(t[2])&&n(t[0]);var l},Oe=/^\d+$/,xe=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Oe.test(t)&&D(e)<1e3&&x(e,t)}]},ze=e=>[e,e],Ae=()=>[le(),le()],Pe=e=>[...e],We=([e,t])=>e===t,ke=t=>{const s=e(t);return L(s)||s==a&&S(t)?s:void 0},Ne=e=>I(e)||!I(ke(e)),je=(e,t,s,n,a)=>I(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ue=(e,t,s)=>I(s)?e.delValue(t):e.setValue(t,s),qe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Be=JSON.parse,Ge="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),Ke=le(O(Ge,((e,t)=>[e,t]))),Qe=e=>Ge[63&e],Xe=(e,t)=>oe(Ke,e[t])??0,Ye=(e,t,s)=>ie(e,t,oe(e,t)==-s?void 0:s),Ze=()=>{let e,s,n=!1,l=!1,i=0,y=[];const M=le(),R=le(),S=le(),J=le(),z=le(),A=le(),P=le(),W=le(),k=le(),N=le(),U=le(),G=le(),X=le(),Ve=le(),pe=Z(),we=le(),ye=le(),Me=le(),Re=le(),Se=Ae(),Ie=Ae(),me=Ae(),Le=Ae(),He=Ae(),Je=Ae(),Ee=Ae(),De=Ae(),Fe=Ae(),Oe=Ae(),Ne=Ae(),Ge=Ae(),Ke=Ae(),Qe=Ae(),Xe=Ae(),$e=Ae(),_e=Ae(),et=Ae(),tt=Ae(),st=Ae(),nt=Ae(),at=Ae(),lt=le(),rt=Ae(),[ot,ct,it,ut]=(e=>{let s;const[n,a]=xe(),l=le();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Js;const i=n(1);return ie(l,i,[e,a,r,o,c]),$(ve(a,r??[t],Z),i),i},(e,n,...a)=>F(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?x(n,e):null===s[t]?ne(e,(e=>a(e,t+1))):F([s[t],null],(s=>a(oe(e,s),t+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](s,...n??[],...a))))),e=>m(oe(l,e),(([,s,n])=>(ve(s,n??[t],void 0,(t=>(ae(t,e),te(t)?1:0))),ie(l,e),a(e),n))),e=>m(oe(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(t)?e(s,...r,...a(r)):I(t[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),dt=e=>{if(!Y(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!L(t)&&t!=a||(ke(e[o])!=t&&B(e,o),0))},gt=(t,s)=>(!e||ee(U,s)||jt(s))&&Y(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>Y(n?s:Tt(s,e,t),((n,a)=>m(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),bt=(t,s,n,a)=>e?m(oe(oe(U,t),n),(e=>ke(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):I(ke(a))?jt(t,s,n,a):a,ft=(e,t)=>Y(t?e:vt(e),((t,s)=>m(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),Ct=(e,t)=>s?m(oe(X,e),(s=>ke(t)!=s[r]?Ut(e,t,s[o]):t),(()=>Ut(e,t))):I(ke(t))?Ut(e,t):t,Tt=(e,t,s)=>(m(oe(G,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||jt(t,s,n)}))})),e),vt=e=>(s&&(ne(Ve,((t,s)=>{q(e,s)||(e[s]=t)})),ne(pe,(t=>{q(e,t)||Ut(t)}))),e),Vt=e=>de(U,e,((e,t,s)=>{const n=le(),a=Z();de(ue(U,t,le),s,((e,t,s)=>{ie(e,t,s),m(s[o],(e=>ie(n,t,e)),(()=>$(a,t)))})),ie(G,t,[n,a])}),((e,t)=>{ie(U,t),ie(G,t)})),pt=e=>de(X,e,((e,t,s)=>{ie(X,t,s),m(s[o],(e=>ie(Ve,t,e)),(()=>$(pe,t)))}),((e,t)=>{ie(X,t),ie(Ve,t),ae(pe,t)})),wt=e=>Q(e)?ws():Cs(e),yt=e=>de(Me,e,((e,t,s)=>Mt(t,s)),((e,t)=>Dt(t))),Mt=(e,t)=>de(ue(Me,e,(()=>(zt(e,1),ie(we,e,xe()),ie(ye,e,le()),le()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>Ft(e,t,s))),Rt=(e,t,s,n,a)=>de(ue(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>St(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),St=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ie(s,n,a))},It=(e,t,s,n,a)=>m(oe(t,s),(t=>St(e,s,t,n,a)),(()=>Rt(e,t,s,Tt({[n]:a},e,s)))),mt=e=>Q(e)?Rs():Ts(e),Lt=e=>de(Re,e,((e,t,s)=>Ht(t,s)),((e,t)=>xt(t))),Ht=(e,t)=>{ee(Re,e)||kt(e,1);const s=oe(Re,e);t!==s&&(Nt(e,s,t),ie(Re,e,t))},Jt=(e,t)=>{const[s]=oe(we,e),n=s(t);return ee(oe(Me,e),n)?Jt(e,t):n},Et=e=>oe(Me,e)??Mt(e,{}),Dt=e=>Mt(e,{}),Ft=(e,t,s)=>{const[,n]=oe(we,e);n(s),Rt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const r=oe(oe(G,e)?.[0],a);if(!I(r)&&!l)return St(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ie(n,t)};I(r)?o(a):ce(n,o),te(n)&&(At(e,s,-1),te(ie(t,s))&&(zt(e,-1),ie(Me,e),ie(we,e),ie(ye,e)))},xt=e=>{const t=oe(Ve,e);if(!I(t))return Ht(e,t);Nt(e,oe(Re,e)),kt(e,-1),ie(Re,e)},zt=(e,t)=>Ye(M,e,t),At=(e,t,s)=>Ye(ue(J,e,le),t,s)&&ie(S,e,ue(S,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(ye,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ye(ue(R,e,le),s,n),ie(a,s,l!=-n?l+n:null),Ye(ue(ue(z,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>{ue(ue(ue(A,e,le),t,le),s,(()=>[n,0]))[1]=a,y[3]?.(e,t,s,a)},kt=(e,t)=>Ye(P,e,t),Nt=(e,t,s)=>{ue(W,e,(()=>[t,0]))[1]=s,y[4]?.(e,s)},jt=(e,t,s,n,a)=>(x(ue(ue(ue(k,e,le),t,le),s,(()=>[])),n),a),Ut=(e,t,s)=>(x(ue(N,e,(()=>[])),t),s),qt=(e,t,s)=>m(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(ls(e,t,s))])),Bt=e=>m(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(cs(e))])),Gt=e=>te(k)||te($e[e])?0:ne(e?Te(k):k,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>ct($e[e],[s,n,a],t))))))),Kt=e=>te(N)||te(_e[e])?0:ne(e?fe(N):N,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return ct(t,n,(()=>ge(e))),ce(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Se[e],void 0,t);const s=te(Oe[e]),a=te(Ke[e])&&te(Qe[e])&&te(Fe[e])&&te(Ne[e])&&te(Je[e])&&te(Ee[e])&&te(De[e])&&s&&te(me[e])&&te(Le[e]),l=te(Xe[e])&&te(Ge[e])&&te(He[e])&&te(Ie[e]);if(!a||!l){const t=e?[fe(M),Ce(R),fe(S),Ce(J),Te(z),Te(A)]:[M,R,S,J,z,A];if(!a){Qt(t[0],me[e],Le[e]),ne(t[1],((t,s)=>Qt(t,Je[e],Ee[e],[s]))),ne(t[2],((t,s)=>{0!=t&&ct(De[e],[s],ts(s))}));const n=Z();ne(t[3],((t,a)=>{Qt(t,Fe[e],Ne[e],[a])&&!s&&(ct(Oe[e],[a,null]),$(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Z();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?$(n,a):ae(e,a))))),ne(n,(t=>ct(Oe[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ke[e],Qe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],c)=>{o!==t&&(ct(Xe[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Ge[e],[n,l],qt)})),a&&ct(He[e],[n],qt)})),s&&ct(Ie[e],void 0,qt)}}},Yt=e=>{const t=bs();t!=l&&ct(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[fe(P),fe(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Zt=(e,...t)=>(ms((()=>e(...O(t,w)))),Js),$t=()=>be(Me),_t=()=>re(Me),es=e=>re(oe(ye,w(e))),ts=e=>_(oe(Me,w(e))),ss=e=>re(oe(Me,w(e))),ns=(e,t,s,n=0,a)=>{return O(E((r=oe(Me,w(e)),o=(e,s)=>[I(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,I(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(Me,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(Me,w(e)),w(t)),w(s)),rs=()=>ge(Re),os=()=>re(Re),cs=e=>oe(Re,w(e)),is=()=>!te(Me),us=e=>ee(Me,w(e)),ds=(e,t)=>ee(oe(ye,w(e)),w(t)),gs=(e,t)=>ee(oe(Me,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(Me,w(e)),w(t)),w(s)),bs=()=>!te(Re),fs=e=>ee(Re,w(e)),Cs=e=>Zt((()=>(e=>Y(e,gt,jt))(e)?yt(e):0)),Ts=e=>Zt((()=>ft(e)?Lt(e):0)),vs=e=>{try{wt(Be(e))}catch{}return Js},Vs=t=>Zt((()=>{if((e=Y(t,(e=>Y(e,dt))))&&(Vt(t),!te(Me))){const e=$t();ws(),Cs(e)}})),ps=e=>Zt((()=>{if(s=(e=>Y(e,dt))(e)){const t=rs();Is(),Rs(),s=!0,pt(e),Ts(t)}})),ws=()=>Zt((()=>yt({}))),ys=e=>Zt((e=>ee(Me,e)?Dt(e):0),e),Ms=(e,t)=>Zt(((e,t)=>m(oe(Me,e),(s=>ee(s,t)?Ft(e,s,t):0))),e,t),Rs=()=>Zt((()=>Lt({}))),Ss=()=>Zt((()=>{Vt({}),e=!1})),Is=()=>Zt((()=>{pt({}),s=!1})),ms=(e,t)=>{if(-1!=i){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=i&&i++,1==i&&(y[0]?.(),ct(lt)),Js),Hs=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),te(A)||Xt(1),Kt(1),te(W)||Yt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>Ue(Js,t,e))),se(W)),ct(rt[0],void 0),i=-1,Gt(0),te(A)||Xt(0),Kt(0),te(W)||Yt(0),y[1]?.(),ct(rt[1],void 0),y[2]?.(),i=0,n=is(),l=bs(),F([M,R,S,J,z,A,k,P,W,N],se))),Js),Js={getContent:()=>[$t(),rs()],getTables:$t,getTableIds:_t,getTable:e=>he(oe(Me,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(Me,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:us,hasTableCell:ds,hasRow:gs,hasCell:hs,hasValues:bs,hasValue:fs,getTablesJson:()=>qe(Me),getValuesJson:()=>qe(Re),getJson:()=>qe([Me,Re]),getTablesSchemaJson:()=>qe(U),getValuesSchemaJson:()=>qe(X),getSchemaJson:()=>qe([U,X]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Zt((()=>{(Q(e)?ws:Cs)(e),(Q(t)?Rs:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Zt((e=>gt(t,e)?Mt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ht(e,t,s)?Rt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ms((()=>{let n;return ht(e,n,t)&&(e=w(e),Rt(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>It(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>m(bt(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>It(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Zt((()=>ft(e,1)?K(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Zt((e=>m(Ct(e,H(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Zt((()=>{K(e[0],((e,t)=>I(e)?ys(t):K(e,((e,s)=>I(e)?Ms(t,s):K(e,((e,n)=>je(Js,t,s,n,e))))))),K(e[1],((e,t)=>Ue(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{mt(Be(e))}catch{}return Js},setJson:e=>Zt((()=>{try{const[t,s]=Be(e);wt(t),mt(s)}catch{vs(e)}})),setTablesSchema:Vs,setValuesSchema:ps,setSchema:(e,t)=>Zt((()=>{Vs(e),ps(t)})),delTables:ws,delTable:ys,delRow:Ms,delCell:(e,t,s,n)=>Zt(((e,t,s)=>m(oe(Me,e),(a=>m(oe(a,t),(l=>ee(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:Rs,delValue:e=>Zt((e=>ee(Re,e)?xt(e):0),e),delTablesSchema:Ss,delValuesSchema:Is,delSchema:()=>Zt((()=>{Ss(),Is()})),transaction:ms,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(M,t)?void 0:ge(e,((e,s)=>-1===oe(oe(J,t),s)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),te,Q)),te,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!te(A),!te(W),be(A,Pe,We),be(k),ge(W,Pe,We),ge(N),ge(M),he(J),be(z),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(Me,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(oe(ye,w(e)),t),forEachRow:(e,t)=>ne(oe(Me,w(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(oe(oe(Me,w(e)),w(t)),s),forEachValue:e=>ce(Re,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var c,i,u;i=o,D(c=r)===D(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,l(Js,e,t,s,n,a,o))}),Oe[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(ut(e),Js),delListener:e=>(it(e),Js),getListenerStats:()=>({}),isMergeable:()=>!1,createStore:Ze,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>y=[e,t,s,n,a]};return K({[c+d]:[0,Se,[],()=>[is()]],[d]:[0,Ie],[g]:[0,me],[c+u]:[1,Le,[_t],e=>[us(...e)]],[u]:[1,He,[_t]],[u+T]:[1,Je,[_t]],[c+u+C]:[2,Ee,[_t,es],e=>[ds(...e)]],[b]:[1,De,[_t]],[f]:[1,Fe,[_t]],[c+h]:[2,Ne,[_t,ss],e=>[gs(...e)]],[h]:[2,Ge,[_t,ss]],[T]:[2,Ke,[_t,ss]],[c+C]:[3,Qe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Xe,[_t,ss,as],e=>ze(ls(...e))],InvalidCell:[3,$e],[c+V]:[0,et,[],()=>[bs()]],[V]:[0,tt],[p]:[0,st],[c+v]:[1,nt,[os],e=>[fs(...e)]],[v]:[1,at,[os],e=>ze(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),j(Js)},$e=2**36,_e=2**30,et=2**24,tt=2**18,st=4096,nt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},at=(e=t)=>[Je(e),Je(e)],lt=e=>{let s=1,n=at(),a=0;const l=le(),r=Z(),[o,c]=(e=>{let t=0,s=-1;const n=m(e,(e=>{const t=pe(e);return Qe(t/et)+Qe(t/tt)+Qe(t/st)+Qe(t/64)+Qe(t)}),(()=>((e=16)=>{return t=(e,t)=>e+Qe(t),crypto.getRandomValues(new Uint8Array(e)).reduce(t,"");var t})(5))),a=e=>{const n=t,[a,l]=I(e)||""==e?[0,0]:[Xe(r=e,0)*$e+Xe(r,1)*_e+Xe(r,2)*et+Xe(r,3)*tt+Xe(r,4)*st+64*Xe(r,5)+Xe(r,6),Xe(r,7)*tt+Xe(r,8)*st+64*Xe(r,9)+Xe(r,10)];var r;t=R(n,a,Date.now()),s=t==n?t==a?R(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,Qe((e=t)/$e)+Qe(e/_e)+Qe(e/et)+Qe(e/tt)+Qe(e/st)+Qe(e/64)+Qe(e)+Qe(l/tt)+Qe(l/st)+Qe(l/64)+Qe(l)+n;var e,l},a]})(e),i=Ze(),u=e=>{const t=s;return s=0,e(),s=t,f},d=(e,s=0)=>{const a={},l={},[[r,o=t,i=0],u]=e,[d,h]=n,[b,f,C]=d;let T=s?i:C,v=o;G(r,(([e,n=t,l=0],r)=>{const o=ue(b,r,Je),[c,i,u]=o;let d=s?l:u,h=n;G(e,((e,t)=>{const[n,l,o]=g(e,ue(c,t,Je),X(X(a,r,U),t,U),s);d^=s?0:(l?Se(t,l):0)^Se(t,o),h=me(h,n)})),d^=s?0:Ie(i,n),Le(o,d,n),T^=s?0:(u?Se(r,u):0)^Se(r,o[2]),v=me(v,h)})),T^=s?0:Ie(f,o),Le(d,T,o);const[V]=g(u,h,l,s);return c(me(v,V)),[a,l,1]},g=(e,s,n,a)=>{const[l,r=t,o=0]=e,[c,i,u]=s;let d=r,g=a?o:u;return G(l,(([e,s,l=0],r)=>{const o=ue(c,r,(()=>[void 0,t,0])),[,i,u]=o;(!i||s>i)&&(Le(o,a?l:pe(qe(e??null)+":"+s),s),o[0]=e,n[r]=e,g^=a?0:Se(r,u)^Se(r,o[2]),d=me(d,s))})),g^=a?0:Ie(i,r),Le(s,g,r),[d,u,s[2]]},h=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],b=e=>u((()=>i.applyChanges(d(e)))),f={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Re),getMergeableTableDiff:e=>{const t=He(n[0][1]),s={};return ce(n[0][0],((n,[a,l,r])=>q(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=De([a,l],(e=>De(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n,,a])=>a!=e?ce(n,((e,[,,n])=>X(t,s,U)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=He(n[0][1]),s={};return G(e,((e,a)=>ce(oe(n[0][0],a)?.[0],((n,[l,r,o])=>q(e,n)?o!==e[n]?X(s,a,U)[n]=o:0:X(t[0],a,He)[0][n]=De([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n])=>G(e,((e,a)=>m(oe(n,a),(([n,,l])=>l!==e?ce(n,((e,[,,n])=>X(X(t,s,U),a,U)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return G(e,((e,s)=>G(e,((e,n)=>m(oe(t,s),(([t,l])=>m(oe(t,n),(([t,r])=>ce(t,((t,[o,c,i])=>i!==e[t]?X(X(a,s,(()=>He(l)))[0],n,(()=>He(r)))[0][t]=[o,c]:0)))))))))),Me(a,s)},getMergeableValuesHashes:()=>ge(n[1][0],Re),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=ge(t,ye,(([,,t],s)=>t==e?.[s]));return Me(a,s)},setMergeableContent:e=>u((()=>(e=>J(e)&&2==D(e)&&Fe(e[0],(e=>Y(e,(e=>Fe(e,(e=>Y(e,(e=>Fe(e,(e=>Y(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>Y(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=at(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),f),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,o={};ne(l,((t,s)=>m(oe(e,s),(([e,n])=>{const a={};ne(t,((t,s)=>m(oe(e,s),(([e,n])=>{const l={};ne(t,(t=>{m(oe(e,t),(([e,s])=>l[t]=Me(e,s)))})),a[s]=Me(l,n)})))),o[s]=Me(a,n)}))));const c={};return ne(r,(e=>m(oe(s,e),(([t,s])=>c[e]=Me(t,s))))),[Me(o,t),Me(c,a),1]},applyMergeableChanges:b,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),b(s)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{se(l),se(r)}),((e,n,r,c)=>{$(ue(ue(l,e,le),n,Z),r),s&&d([[{[e]:[{[n]:[{[r]:[c,a?t:o()]}]}]}],[{}],1])}),((e,n)=>{$(r,e),s&&d([[{}],[{[e]:[n,a?t:o()]}],1])})),K(i,((e,t)=>f[t]=y(t,"set")||y(t,"del")||y(t,"apply")||M(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):y(t,"add")&&M(t,"Listener")?(...s)=>{const n=nt[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(f,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),j(f)};export{lt as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=Object,n=t=>a.getPrototypeOf(t),s=a.entries,o=a.keys,r=a.freeze,c=(t,a)=>e(t,(t=>t[a])),i=(t,e)=>e in t,g=(t,e)=>(delete t[e],t),y=(t,e)=>((t,e)=>t.map(e))(s(t),(([t,a])=>e(a,t))),d=t=>o(t).length,l=s=>(s=>!t(s)&&e(n(s),(e=>e==a.prototype||t(n(e))),(()=>!0)))(s)&&0==d(s),u=t=>new Map(t),v=(t,e)=>t?.get(e),h=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},p=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||h(t,e,a()),v(t,e)},w=u(),C=u(),A=(t,e)=>[t[e].t,t[e].v],f=(e,a,n,s)=>{const o=t(a)?e:((t,e,a)=>(i(t,e)||(t[e]={}),t[e]))(e,a);let r;return y(n,((t,e)=>{s(o,e,t)&&(r=1)})),y(o,((t,e)=>{i(n,e)||(g(o,e),r=1)})),!t(a)&&l(o)&&g(e,a),r},b=(a,n,s="tinybase",o)=>(n.change((t=>t[s]={})),((a,n,s,o,c,i,g,y={},d=[])=>{let u,A,f,b=0;p(w,d,(()=>0)),p(C,d,(()=>[]));const[L,S,M,m,D]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!l(t)||!l(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e),e.setContent]:0)(g,a),T=t=>{var e;(L&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async t=>(2!=b&&(b=1,await z((async()=>{try{T(await n())}catch(e){i?.(e),t&&D(t)}b=0}))),F),j=()=>(A&&(c(A),A=void 0),F),k=async t=>(1!=b&&(b=2,await z((async()=>{try{await s(S,t)}catch(t){i?.(t)}b=0}))),F),x=()=>(e(f,a.delListener),f=void 0,F),z=async(...e)=>(((t,...e)=>{t.push(...e)})(v(C,d),...e),await(async()=>{if(!v(w,d)){for(h(w,d,1);!t((e=v(C,d),u=e.shift()));)try{await u()}catch(t){i?.(t)}h(w,d,0)}var e})(),F),F={load:O,startAutoLoad:async t=>(await j().load(t),A=o((async(t,e)=>{e||t?2!=b&&(b=1,T(e??t),b=0):await O()})),F),stopAutoLoad:j,isAutoLoading:()=>!t(A),save:k,startAutoSave:async()=>(await x().save(),f=a.addDidFinishTransactionListener((()=>{const t=M();m(t)&&k(t)})),F),stopAutoSave:x,isAutoSaving:()=>!t(f),schedule:z,getStore:()=>a,destroy:()=>j().stopAutoSave(),getStats:()=>({}),...y};return r(F)})(a,(async()=>{const t=await n.doc();return 2==d(t[s])?A(t,s):void 0}),(async(a,o)=>n.change((n=>((a,n,s,o)=>{((t,e)=>{l(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[r,i]=A(a,n),d=()=>{u=1};let u=1;if(e(o,(([a,n])=>{u=0,y(a,((a,n)=>u?0:t(a)?g(r,n):e(r[n],(n=>y(a,((a,s)=>u?0:t(a)?g(n,s):e(c(n,s),(e=>y(a,((a,n)=>t(a)?g(e,n):e[n]=a))),d)))),d))),y(n,((e,a)=>u?0:t(e)?g(i,a):i[a]=e))})),u){const[t,e]=s();f(r,void 0,t,((t,e,a)=>f(r,e,a,((t,e,a)=>f(t,e,a,((t,e,a)=>{if(c(t,e)!==a)return t[e]=a,1})))))),f(i,void 0,e,((t,e,a)=>{c(i,e)!==a&&(i[e]=a)}))}})(n,s,a,o)))),(t=>{const e=({doc:e})=>t(A(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),o,1,{getDocHandle:()=>n}));export{b as createAutomergePersister};
1
+ const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=Object,n=t=>a.getPrototypeOf(t),s=a.entries,o=a.keys,r=a.freeze,i=(t,a)=>e(t,(t=>t[a])),c=(t,e)=>e in t,g=(t,e)=>(delete t[e],t),y=(t,e)=>((t,e)=>t.map(e))(s(t),(([t,a])=>e(a,t))),d=t=>o(t).length,l=s=>(s=>!t(s)&&e(n(s),(e=>e==a.prototype||t(n(e))),(()=>!0)))(s)&&0==d(s),h=t=>new Map(t),u=(t,e)=>t?.get(e),v=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},p=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||v(t,e,a()),u(t,e)},w=h(),C=h(),A=(t,e)=>[t[e].t,t[e].v],b=(e,a,n,s)=>{const o=t(a)?e:((t,e,a)=>(c(t,e)||(t[e]={}),t[e]))(e,a);let r;return y(n,((t,e)=>{s(o,e,t)&&(r=1)})),y(o,((t,e)=>{c(n,e)||(g(o,e),r=1)})),!t(a)&&l(o)&&g(e,a),r},f=(a,n,s="tinybase",o)=>(n.change((t=>t[s]={})),((a,n,s,o,i,c,g,y={},d=[])=>{let h,A,b,f=0;p(w,d,(()=>0)),p(C,d,(()=>[]));const[S,L,M,D,T]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!l(t)||!l(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,a),m=t=>{var e;(S&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async t=>(2!=f&&(f=1,await x((async()=>{try{m(await n())}catch(e){c?.(e),t&&T(t)}f=0}))),z),P=()=>(A&&(i(A),A=void 0),z),j=async t=>(1!=f&&(f=2,await x((async()=>{try{await s(L,t)}catch(t){c?.(t)}f=0}))),z),k=()=>(e(b,a.delListener),b=void 0,z),x=async(...e)=>(((t,...e)=>{t.push(...e)})(u(C,d),...e),await(async()=>{if(!u(w,d)){for(v(w,d,1);!t((e=u(C,d),h=e.shift()));)try{await h()}catch(t){c?.(t)}v(w,d,0)}var e})(),z),z={load:O,startAutoLoad:async t=>(await P().load(t),A=o((async(t,e)=>{e||t?2!=f&&(f=1,m(e??t),f=0):await O()})),z),stopAutoLoad:P,isAutoLoading:()=>!t(A),save:j,startAutoSave:async()=>(await k().save(),b=a.addDidFinishTransactionListener((()=>{const t=M();D(t)&&j(t)})),z),stopAutoSave:k,isAutoSaving:()=>!t(b),schedule:x,getStore:()=>a,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...y};return r(z)})(a,(async()=>{const t=await n.doc();return 2==d(t[s])?A(t,s):void 0}),(async(a,o)=>n.change((n=>((a,n,s,o)=>{((t,e)=>{l(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[r,c]=A(a,n),d=()=>{h=1};let h=1;if(e(o,(([a,n])=>{h=0,y(a,((a,n)=>h?0:t(a)?g(r,n):e(r[n],(n=>y(a,((a,s)=>h?0:t(a)?g(n,s):e(i(n,s),(e=>y(a,((a,n)=>t(a)?g(e,n):e[n]=a))),d)))),d))),y(n,((e,a)=>h?0:t(e)?g(c,a):c[a]=e))})),h){const[t,e]=s();b(r,void 0,t,((t,e,a)=>b(r,e,a,((t,e,a)=>b(t,e,a,((t,e,a)=>{if(i(t,e)!==a)return t[e]=a,1})))))),b(c,void 0,e,((t,e,a)=>{i(c,e)!==a&&(c[e]=a)}))}})(n,s,a,o)))),(t=>{const e=({doc:e})=>t(A(e,s));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),o,1,{getDocHandle:()=>n}));export{f as createAutomergePersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=Object,n=t=>a.getPrototypeOf(t),s=a.keys,r=a.freeze,o=r=>(s=>!t(s)&&e(n(s),(e=>e==a.prototype||t(n(e))),(()=>!0)))(r)&&0==(t=>s(t).length)(r),i=JSON.parse,c=t=>new Map(t),g=(t,e)=>t?.get(e),y=(e,a,n)=>{return t(n)?(s=e,r=a,s?.delete(r),e):e?.set(a,n);var s,r},l=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||y(t,e,a()),g(t,e)},d=c(),v=c(),u="storage",h=globalThis.window,p=(a,n,s,c)=>((a,n,s,i,c,u,h,p={},w=[])=>{let S,A,C,f=0;l(d,w,(()=>0)),l(v,w,(()=>[]));const[L,b,m,M,O]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:0)(h,a),N=t=>{var e;(L&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async t=>(2!=f&&(f=1,await E((async()=>{try{N(await n())}catch(e){u?.(e),t&&O(t)}f=0}))),I),J=()=>(A&&(c(A),A=void 0),I),k=async t=>(1!=f&&(f=2,await E((async()=>{try{await s(b,t)}catch(t){u?.(t)}f=0}))),I),D=()=>(e(C,a.delListener),C=void 0,I),E=async(...e)=>(((t,...e)=>{t.push(...e)})(g(v,w),...e),await(async()=>{if(!g(d,w)){for(y(d,w,1);!t((e=g(v,w),S=e.shift()));)try{await S()}catch(t){u?.(t)}y(d,w,0)}var e})(),I),I={load:T,startAutoLoad:async t=>(await J().load(t),A=i((async(t,e)=>{e||t?2!=f&&(f=1,N(e??t),f=0):await T()})),I),stopAutoLoad:J,isAutoLoading:()=>!t(A),save:k,startAutoSave:async()=>(await D().save(),C=a.addDidFinishTransactionListener((()=>{const t=m();M(t)&&k(t)})),I),stopAutoSave:D,isAutoSaving:()=>!t(C),schedule:E,getStore:()=>a,destroy:()=>J().stopAutoSave(),getStats:()=>({}),...p};return r(I)})(a,(async()=>{return t=s.getItem(n),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return s.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>void 0===e?"":e))));var e}),(t=>{const e=e=>{if(e.storageArea===s&&e.key===n)try{t(i(e.newValue))}catch{t()}};return h.addEventListener(u,e),e}),(t=>h.removeEventListener(u,t)),c,3,{getStorageName:()=>n}),w=(t,e,a)=>p(t,e,localStorage,a),S=(t,e,a)=>p(t,e,sessionStorage,a);export{w as createLocalPersister,S as createSessionPersister};
1
+ const t=t=>null==t,e=(e,a,r)=>t(e)?r?.():a(e),a=Object,r=t=>a.getPrototypeOf(t),s=a.keys,n=a.freeze,o=n=>(s=>!t(s)&&e(r(s),(e=>e==a.prototype||t(r(e))),(()=>!0)))(n)&&0==(t=>s(t).length)(n),i=JSON.parse,c=t=>new Map(t),g=(t,e)=>t?.get(e),y=(e,a,r)=>{return t(r)?(s=e,n=a,s?.delete(n),e):e?.set(a,r);var s,n},l=(t,e,a,r)=>{var s,n;return s=t,n=e,s?.has(n)||y(t,e,a()),g(t,e)},d=c(),u=c(),v="storage",p=globalThis.window,h=(a,r,s,c)=>((a,r,s,i,c,v,p,h={},w=[])=>{let S,A,C,b=0;l(d,w,(()=>0)),l(u,w,(()=>[]));const[f,L,M,O,m]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(p,a),N=t=>{var e;(f&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async t=>(2!=b&&(b=1,await D((async()=>{try{N(await r())}catch(e){v?.(e),t&&m(t)}b=0}))),I),E=()=>(A&&(c(A),A=void 0),I),J=async t=>(1!=b&&(b=2,await D((async()=>{try{await s(L,t)}catch(t){v?.(t)}b=0}))),I),k=()=>(e(C,a.delListener),C=void 0,I),D=async(...e)=>(((t,...e)=>{t.push(...e)})(g(u,w),...e),await(async()=>{if(!g(d,w)){for(y(d,w,1);!t((e=g(u,w),S=e.shift()));)try{await S()}catch(t){v?.(t)}y(d,w,0)}var e})(),I),I={load:T,startAutoLoad:async t=>(await E().load(t),A=i((async(t,e)=>{e||t?2!=b&&(b=1,N(e??t),b=0):await T()})),I),stopAutoLoad:E,isAutoLoading:()=>!t(A),save:J,startAutoSave:async()=>(await k().save(),C=a.addDidFinishTransactionListener((()=>{const t=M();O(t)&&J(t)})),I),stopAutoSave:k,isAutoSaving:()=>!t(C),schedule:D,getStore:()=>a,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...h};return n(I)})(a,(async()=>{return t=s.getItem(r),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return s.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>void 0===e?"":e))));var e}),(t=>{const e=e=>{if(e.storageArea===s&&e.key===r)try{t(i(e.newValue))}catch{t()}};return p.addEventListener(v,e),e}),(t=>p.removeEventListener(v,t)),c,3,{getStorageName:()=>r}),w=(t,e,a)=>h(t,e,localStorage,a),S=(t,e,a)=>h(t,e,sessionStorage,a);export{w as createLocalPersister,S as createSessionPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(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),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,h=a=>N.getPrototypeOf(a),R=N.entries,f=N.keys,L=N.freeze,S=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),b=(a,t)=>t in a,D=(a,t)=>p(R(a),(([a,e])=>t(e,a))),M=a=>N.values(a),$=a=>d(f(a)),_=a=>(a=>!o(a)&&l(h(a),(a=>a==N.prototype||o(h(a))),(()=>!0)))(a)&&0==$(a),P=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)=>o(e)?(T(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=>b(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||o(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=P();return[async()=>J(r,S(await E(p(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(p(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,P),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)=>!o(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,y,w=!1)=>{const u=W();D(c??{},(a=>p(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(d)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{T(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?p(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${v(p(d,(a=>n+k(a))))});`),B(r,t,P([[s,e],...p(d,(a=>[a,e]))]));if(w)o(c)?await a(q+k(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(d))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+v(p(r,(a=>n+k(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+k(s)+")DO UPDATE SET"+v(p(r,(a=>k(a)+"=excluded."+k(a))),n):e),p(c,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,c={},y=[])=>{let u,d,E,v=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[p,g,m,O,A]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),T=t=>{(p&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}v=0}))),I),h=()=>(d&&(s(d),d=void 0),I),R=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}v=0}))),I),f=()=>(l(E,a.delListener),E=void 0,I),S=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!o((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),I),I={load:N,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await N()})),I),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();O(a)&&R(a)})),I),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(I)},ra=(a,t,e,n,s,i,[r,c,o],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,c))[U]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,c,{[U]:{[o]:(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,c,[l,y,w]],u,d,v,p)=>{const[g,C,O,A]=aa(t,u,s,p),T=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!b(a,r)||await O(e,n,a[r],s,i,t)}))),N=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)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),o(t)){const[t,e]=a();await T(t),await N(e)}else await T(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,pa="tableId",ga="tableName",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=P();return D(a,((a,r)=>{const c=u(M(I(t,y(a)?{[e]:a}:a)),0,$(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Aa="pragma_",Ta="data_version",Na="schema_version",ha=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,w,d="getDb",E)=>{let v,p,g;const[m,C,T,N]=(a=>{const e=(a=>I(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(I(Ca,r)),0,$(Ca)),o=c[2],l=W(o),w=W(o);return[0,n,[Oa(s,{[pa]:null,[va]:Y},pa,(a=>O(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>O(w,t)),((a,t)=>z(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${Na} s,TOTAL_CHANGES() c FROM ${Aa}${Ta} JOIN ${Aa}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=p=g=null,i(t)}),o,l,T,A(N),w,d,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{ha 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),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(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=>d(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 u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(d)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(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(d,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(d,(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(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(d))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"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(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 u,d,E,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[v,g,m,O,A]=((a=1,t)=>a>1&&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),h=t=>{(v&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await S((async()=>{try{h(await t())}catch(t){i?.(t),a&&A(a)}p=0}))),b),N=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),b),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();O(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!c(E),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return L(b)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((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 v((async()=>{var t;await d(),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]],u,d,p,v)=>{const[g,C,O,A]=aa(t,u,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]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(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},Aa="pragma_",ha="data_version",Ta="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Ca,r)),0,P(Ca)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>O(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[pa]:Y,deleteEmptyColumns:0,deleteEmptyTable: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 ${ha} d,${Ta} s,TOTAL_CHANGES() c FROM ${Aa}${ha} JOIN ${Aa}${Ta}`);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,d,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{Na 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,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=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),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,b=f.freeze,L=(a=[])=>f.fromEntries(a),S=(...a)=>f.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(N(a),(([a,e])=>t(e,a))),M=a=>f.values(a),$=a=>d(R(a)),_=a=>(a=>!o(a)&&l(h(a),(a=>a==f.prototype||o(h(a))),(()=>!0)))(a)&&0==$(a),P=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)=>o(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(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(y(a)||o(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=P();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,P),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)=>!o(j(j(r,a),t)))(t,e)?L(m(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();I(c??{},(a=>g(R(a??{}),(a=>q(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!y&&l?g(O(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,P([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(V+G(t)+Z+" 1"):await E(I(c,(async(e,n)=>{o(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];I(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;J(na,w,(()=>0)),J(sa,w,(()=>[]));const[g,p,m,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),S),h=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=v&&(v=2,await L((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),S),R=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(H(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,w,0)}var a})(),S),S={load:f,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await f()})),S),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N(a)})),S),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return b(S)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,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,c))[k]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[k]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(B(c,(async([e,n,s,i],r)=>{t&&!D(a,r)||await A(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await A(y,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(y,x))[k]:{})();return _(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await f(e)}else await T(t[0],!0),await f(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=P();return I(a,((a,r)=>{const c=u(M(S(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Oa="pragma_",Ta="data_version",fa="schema_version",ha=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,f]=(a=>{const e=(a=>S(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(S(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Aa(s,{[ga]:null,[va]:x},ga,(a=>A(y,a)),(a=>q(l,a))),Aa(i,{[pa]:null,[va]:x,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>q(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${fa}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(f),y,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{ha 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,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;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[g,p,C,h,A]=((a=1,t)=>a>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(g&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await L((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}v=0}))),S),f=()=>(d&&(s(d),d=void 0),S),b=async a=>(1!=v&&(v=2,await L((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),S),N=()=>(l(E,a.delListener),E=void 0,S),L=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})(),S),S={load:T,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,O(t??a),v=0):await T()})),S),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();h(a)&&b(a)})),S),stopAutoSave:N,isAutoSaving:()=>!c(E),schedule:L,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({}),...o};return R(S)},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={mode:ya,[Ea]:1},ma={load:0,save:0,[pa]:t+"_values"},ha=(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},Aa="pragma_",Oa="data_version",Ta="schema_version",fa=(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(Ca,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(ma,r)),0,P(ma)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[ga]:null,[va]:x},ga,(a=>h(w,a)),(a=>q(l,a))),ha(i,{[pa]:null,[va]:x,deleteEmptyColumns:0,deleteEmptyTable: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 ${Oa} d,${Ta} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Ta}`);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{fa as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),c=Promise,o=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,v=async a=>c.all(a),m=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),R=f.entries,L=f.keys,S=f.freeze,b=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>p(R(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(L(a)),P=a=>(a=>!l(a)&&y(h(a),(a=>a==f.prototype||l(h(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),j(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 v(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,b(p(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?b(A(p(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!P(t)))):{},async(t,e,c,o,y,w=!1)=>{const u=q();M(c??{},(a=>p(L(a??{}),(a=>z(u,a)))));const d=N(u);if(!w&&y&&g(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(g(d)||O(r,t)){const s=j(r,t),i=q(x(s));await v([...p(d,(async e=>{T(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&o?p(N(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${m(p(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...p(d,(a=>[a,n]))]));if(w)l(c)?await a(Q+U(t)+aa+" 1"):await v(M(c,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):g(d)||await ea(a,t,e,L(n),[s,...$(n)],i)})));else if(g(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(x(j(r,t)),(a=>a!=e)),s=[],o=[];M(c??{},((a,t)=>{C(s,t,...p(n,(t=>a?.[t]))),C(o,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+m(p(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(c)/(E(i)+1)),1)+(o?"ON CONFLICT("+U(e)+")DO UPDATE SET"+m(p(i,(a=>U(a)+"=excluded."+U(a))),s):n),p(c,(a=>a??null))),na=a=>m(p(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,c={},o=[])=>{let w,d,E,v=0;J(sa,o,(()=>0)),J(ia,o,(()=>[]));const[m,p,g,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:0)(r,a),N=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await L((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),b),f=()=>(d&&(s(d),d=void 0),b),h=async a=>(1!=v&&(v=2,await L((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),L=async(...a)=>(C(j(ia,o),...a),await(async()=>{if(!j(sa,o)){for(H(sa,o,1);!l((a=j(ia,o),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,o,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,N(t??a),v=0):await T()})),b),stopAutoLoad:f,isAutoLoading:()=>!l(d),save:h,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();A(a)&&h(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:L,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({}),...c};return S(b)},ca=(a,t,e,n,s,i,[r,c,o],l,y,w,u)=>{const[d,E,v,m]=ta(t,l,s,u);return ra(a,(async()=>await m((async()=>{return await d(),a=(await E(r,c))[k]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await m((async()=>{var t;await d(),await v(r,c,{[k]:{[o]:(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,c,[o,y,w]],u,d,E,m)=>{const[p,g,C,O]=ta(t,u,s,m),N=async(a,t)=>await v(B(c,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await p();const a=await(async()=>b(A(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await g(w,G))[k]:{})();return P(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),l(t)){const[t,e]=a();await N(t),await T(e)}else await N(t[0],!0),await T(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,va="autoLoadIntervalSeconds",ma="rowId"+la,pa="tableId",ga="tableName",Aa={mode:wa,[va]:1},Ca={load:0,save:0,[ga]:e+"_values"},Oa=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const c=d($(I(t,w(a)?{[e]:a}:a)),0,_(t));l(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Na="pragma_",Ta="data_version",fa="schema_version",ha=(t,n,s,i,r)=>((a,t,n,s,i,r,c,l,y,u="getDb",E)=>{let v,m,p;const[g,A,C,T]=(a=>{const t=(a=>I(Aa,w(a)?{[ua]:a}:a??{}))(a),n=t[va];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,c=d($(I(Ca,r)),0,_(Ca)),o=c[2],l=q(o),y=q(o);return[0,n,[Oa(s,{[pa]:null,[ma]:G},pa,(a=>O(y,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[ma]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>O(y,t)),((a,t)=>z(l,t))),c],l]})(t);return(g?ca: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 ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Na}${Ta} JOIN ${Na}${fa}`);t==(v??=t)&&e==(m??=e)&&s==(p??=s)||(a(),v=t,m=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=m=p=null,i(t)}),c,l,C,N(T),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{ha as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as a}from"expo-sqlite/next";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),x=a=>[...a?.keys()??[]],j=(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()),j(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!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?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=j(r,t),i=q(x(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(x(j(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;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[v,g,m,A,O]=((a=1,t)=>a>1&&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),h=t=>{(v&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=p&&(p=1,await L((async()=>{try{h(await t())}catch(t){i?.(t),a&&O(a)}p=0}))),b),T=()=>(d&&(s(d),d=void 0),b),f=async a=>(1!=p&&(p=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),L=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),b),b={load:N,startAutoLoad:async a=>(await T().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await N()})),b),stopAutoLoad:T,isAutoLoading:()=>!l(d),save:f,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:L,getStore:()=>a,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...o};return S(b)},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={mode:wa,[pa]:1},Ca={load:0,save:0,[ma]:e+"_values"},Oa=(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},ha="pragma_",Na="data_version",Ta="schema_version",fa=(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(Aa,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(Ca,r)),0,$(Ca)),c=o[2],l=q(c),y=q(c);return[0,n,[Oa(s,{[ga]:null,[va]:G},ga,(a=>O(y,a)),(a=>z(l,a))),Oa(i,{[ma]:null,[va]:G,deleteEmptyColumns:0,deleteEmptyTable: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 ${Na} d,${Ta} s,TOTAL_CHANGES() c FROM ${ha}${Na} JOIN ${ha}${Ta}`);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{fa as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(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),m=a=>0==d(a),p=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,h=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),$=a=>d(f(a)),_=a=>(a=>!o(a)&&l(h(a),(a=>a==T.prototype||o(h(a))),(()=>!0)))(a)&&0==$(a),P=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(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),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||o(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=P();return[async()=>J(r,S(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,S(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,P),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)=>!o(j(j(r,a),t)))(t,e)?S(p(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,y,w=!1)=>{const u=W();I(c??{},(a=>g(f(a??{}),(a=>q(u,a)))));const d=O(u);if(!w&&y&&m(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(m(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{N(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?g(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),B(r,t,P([[s,e],...g(d,(a=>[a,e]))]));if(w)o(c)?await a(V+G(t)+Z+" 1"):await E(I(c,(async(e,n)=>{o(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):m(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(m(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=p(F(j(r,t)),(a=>a!=s)),n=[],o=[];I(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,c={},y=[])=>{let u,d,E,v=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[g,m,p,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),N=t=>{(g&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await S((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),b),h=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(m,a)}catch(a){i?.(a)}v=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!o((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,N(t??a),v=0):await T()})),b),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=p();A(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(b)},ra=(a,t,e,n,s,i,[r,c,o],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,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[Y]:{[o]:(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,c,[l,y,w]],u,d,v,g)=>{const[m,C,A,O]=aa(t,u,s,g),N=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!D(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await m();const a=await(async()=>S(p(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(w,k))[Y]:{})();return _(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),o(t)){const[t,e]=a();await N(t),await T(e)}else await N(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",ma="tableName",pa={mode:ya,[Ea]:1},Ca={load:0,save:0,[ma]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=P();return I(a,((a,r)=>{const c=u(M(b(t,y(a)?{[e]:a}:a)),0,$(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Oa="pragma_",Na="data_version",Ta="schema_version",ha=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,w,d="getDb",E)=>{let v,g,m;const[p,C,N,T]=(a=>{const e=(a=>b(pa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(b(Ca,r)),0,$(Ca)),o=c[2],l=W(o),w=W(o);return[0,n,[Aa(s,{[ga]:null,[va]:k},ga,(a=>A(w,a)),(a=>q(l,a))),Aa(i,{[ma]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>A(w,t)),((a,t)=>q(l,t))),c],l]})(e);return(p?ra:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ta} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${Ta}`);t==(v??=t)&&e==(g??=e)&&s==(m??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=m=null,i(t)}),o,l,N,O(T),w,d,E)})(a,n,(async(a,t=[])=>(await e.execAsync([{sql:a,args:t}],!1))[0].rows),(a=>e.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,e);export{ha as createExpoSqlitePersister};
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),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,T=a=>N.getPrototypeOf(a),R=N.entries,b=N.keys,f=N.freeze,L=(a=[])=>N.fromEntries(a),S=(...a)=>N.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>p(R(a),(([a,e])=>t(e,a))),M=a=>N.values(a),P=a=>d(b(a)),$=a=>(a=>!c(a)&&l(T(a),(a=>a==N.prototype||c(T(a))),(()=>!0)))(a)&&0==P(a),_=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)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(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),Y="_",k="_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()=>J(r,L(await E(p(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(p(await a(U+" 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)?L(m(p(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=>p(b(a??{}),(a=>q(u,a)))));const d=h(u);if(!w&&y&&g(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(g(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?p(h(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),B(r,t,_([[s,e],...p(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]):g(d)||await ta(a,t,s,b(e),[n,...M(e)],i)})));else if(g(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(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(p(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(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[p,g,m,A,h]=((a=1,t)=>a>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(p&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,await L((async()=>{try{O(await t())}catch(t){i?.(t),a&&h(a)}v=0}))),S),T=()=>(d&&(s(d),d=void 0),S),R=async a=>(1!=v&&(v=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}v=0}))),S),b=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),S),S={load:N,startAutoLoad:async a=>(await T().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,O(t??a),v=0):await N()})),S),stopAutoLoad:T,isAutoLoading:()=>!c(d),save:R,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&R(a)})),S),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:L,getStore:()=>a,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...o};return f(S)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[Y]?.[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,{[Y]:{[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,C,A,h]=aa(t,u,s,p),O=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await A(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await h((async()=>{await g();const a=await(async()=>L(m(await E(x(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 h((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await N(e)}else await O(t[0],!0),await N(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",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Aa=(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]),B(i,r,o))})),i},ha="pragma_",Oa="data_version",Na="schema_version",Ta=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,N]=(a=>{const e=(a=>S(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Ca,r)),0,P(Ca)),c=o[2],l=W(c),w=W(c);return[0,n,[Aa(s,{[pa]:null,[va]:k},pa,(a=>A(w,a)),(a=>q(l,a))),Aa(i,{[ga]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>A(w,t)),((a,t)=>q(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 ${Oa} d,${Na} s,TOTAL_CHANGES() c FROM ${ha}${Oa} JOIN ${ha}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,h(N),w,d,E)})(a,n,(async(a,t=[])=>(await e.execAsync([{sql:a,args:t}],!1))[0].rows),(a=>e.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,e);export{Ta as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const s="utf8",n=t=>null==t,r=(t,a,e)=>n(t)?e?.():a(t),o=Object,i=t=>o.getPrototypeOf(t),c=o.keys,y=o.freeze,g=t=>(t=>!n(t)&&r(i(t),(t=>t==o.prototype||n(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=t=>new Map(t),p=(t,a)=>t?.get(a),u=(t,a,e)=>{return n(e)?(s=t,r=a,s?.delete(r),t):t?.set(a,e);var s,r},d=(t,a,e,s)=>{var n,r;return n=t,r=a,n?.has(r)||u(t,a,e()),p(t,a)},v=l(),h=l(),f=(o,i,c)=>((t,a,e,s,o,i,c,l={},f=[])=>{let w,C,A,S=0;d(v,f,(()=>0)),d(h,f,(()=>[]));const[m,b,L,M,O]=((t=1,a)=>t>1&&"merge"in a?[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]:0)(c,t),T=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)},D=async t=>(2!=S&&(S=1,await P((async()=>{try{T(await a())}catch(a){i?.(a),t&&O(t)}S=0}))),j),F=()=>(C&&(o(C),C=void 0),j),J=async t=>(1!=S&&(S=2,await P((async()=>{try{await e(b,t)}catch(t){i?.(t)}S=0}))),j),N=()=>(r(A,t.delListener),A=void 0,j),P=async(...t)=>(((t,...a)=>{t.push(...a)})(p(h,f),...t),await(async()=>{if(!p(v,f)){for(u(v,f,1);!n((t=p(h,f),w=t.shift()));)try{await w()}catch(t){i?.(t)}u(v,f,0)}var t})(),j),j={load:D,startAutoLoad:async t=>(await F().load(t),C=s((async(t,a)=>{a||t?2!=S&&(S=1,T(a??t),S=0):await D()})),j),stopAutoLoad:F,isAutoLoading:()=>!n(C),save:J,startAutoSave:async()=>(await N().save(),A=t.addDidFinishTransactionListener((()=>{const t=L();M(t)&&J(t)})),j),stopAutoSave:N,isAutoSaving:()=>!n(A),schedule:P,getStore:()=>t,destroy:()=>F().stopAutoSave(),getStats:()=>({}),...l};return y(j)})(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{f as createFilePersister};
1
+ import{watch as t}from"fs";import{readFile as e,writeFile as a}from"fs/promises";const s="utf8",r=t=>null==t,n=(t,e,a)=>r(t)?a?.():e(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),p=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,a)=>{return r(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},d=(t,e,a,s)=>{var r,n;return r=t,n=e,r?.has(n)||u(t,e,a()),l(t,e)},h=p(),v=p(),w=(o,i,c)=>((t,e,a,s,o,i,c,p={},w=[])=>{let f,C,A,S=0;d(h,w,(()=>0)),d(v,w,(()=>[]));const[b,M,m,L,O]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(c,t),P=e=>{var a;(b&&(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!=S&&(S=1,await N((async()=>{try{P(await e())}catch(e){i?.(e),t&&O(t)}S=0}))),j),D=()=>(C&&(o(C),C=void 0),j),F=async t=>(1!=S&&(S=2,await N((async()=>{try{await a(M,t)}catch(t){i?.(t)}S=0}))),j),J=()=>(n(A,t.delListener),A=void 0,j),N=async(...t)=>(((t,...e)=>{t.push(...e)})(l(v,w),...t),await(async()=>{if(!l(h,w)){for(u(h,w,1);!r((t=l(v,w),f=t.shift()));)try{await f()}catch(t){i?.(t)}u(h,w,0)}var t})(),j),j={load:T,startAutoLoad:async t=>(await D().load(t),C=s((async(t,e)=>{e||t?2!=S&&(S=1,P(e??t),S=0):await T()})),j),stopAutoLoad:D,isAutoLoading:()=>!r(C),save:F,startAutoSave:async()=>(await J().save(),A=t.addDidFinishTransactionListener((()=>{const t=m();L(t)&&F(t)})),j),stopAutoSave:J,isAutoSaving:()=>!r(A),schedule:N,getStore:()=>t,destroy:()=>D().stopAutoSave(),getStats:()=>({}),...p};return y(j)})(o,(async()=>{return t=await e(i,s),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return await a(i,(e=t(),JSON.stringify(e,((t,e)=>void 0===e?"":e))),s);var e}),(e=>t(i,(()=>e()))),(t=>t?.close()),c,3,{getFilePath:()=>i});export{w as createFilePersister};
Binary file
@@ -1 +1 @@
1
- const t=Promise,e=clearInterval,a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=e=>new t(e),r=async e=>t.all(e),o=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,l=t=>i.getPrototypeOf(t),y=i.entries,d=i.keys,g=i.freeze,u=t=>(t=>!a(t)&&n(l(t),(t=>t==i.prototype||a(l(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,e,n)=>{return a(n)?(s=t,r=e,s?.delete(r),t):t?.set(e,n);var s,r},h=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||v(t,e,a()),p(t,e)},A=w(),b=w(),C=globalThis.window,S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>o(y(e),(([e,a])=>k(t,"put",{k:e,v:a}))))(e);o(await k(t,"getAllKeys"),(n=>((t,e)=>e in t)(e,n)?0:c(a,k(t,"delete",n)))),await r(a)},k=async(t,e,a)=>s(((n,s)=>{const r=t[e](a);r.onsuccess=()=>n(r.result),r.onerror=()=>s(`objectStore.${e} error`)})),m=(t,l,y=1,d)=>{const w=async(t,e=[],a=0)=>s(((n,s)=>{const c=(C?C.indexedDB:indexedDB).open(l,a?2:void 0);c.onupgradeneeded=()=>a&&o(S,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(S,"readwrite"),s=await r(o(S,(async(n,s)=>await t(a.objectStore(n),e[s]))));c.result.close(),n(s)}catch(t){c.result.close(),s(t)}},c.onerror=()=>s("indexedDB.open error")}));return((t,e,s,r,o,i,l,y={},d=[])=>{let w,C,S,f=0;h(A,d,(()=>0)),h(b,d,(()=>[]));const[D,k,m,L,M]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!u(t)||!u(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!u(t)||!u(e),e.setContent]:0)(l,t),j=e=>{var a;(D&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=f&&(f=1,await P((async()=>{try{j(await e())}catch(e){i?.(e),t&&M(t)}f=0}))),I),T=()=>(C&&(o(C),C=void 0),I),B=async t=>(1!=f&&(f=2,await P((async()=>{try{await s(k,t)}catch(t){i?.(t)}f=0}))),I),O=()=>(n(S,t.delListener),S=void 0,I),P=async(...t)=>(c(p(b,d),...t),await(async()=>{if(!p(A,d)){for(v(A,d,1);!a((t=p(b,d),w=t.shift()));)try{await w()}catch(t){i?.(t)}v(A,d,0)}var t})(),I),I={load:x,startAutoLoad:async t=>(await T().load(t),C=r((async(t,e)=>{e||t?2!=f&&(f=1,j(e??t),f=0):await x()})),I),stopAutoLoad:T,isAutoLoading:()=>!a(C),save:B,startAutoSave:async()=>(await O().save(),S=t.addDidFinishTransactionListener((()=>{const t=m();L(t)&&B(t)})),I),stopAutoSave:O,isAutoSaving:()=>!a(S),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...y};return g(I)})(t,(async()=>await w((async t=>((t=[])=>i.fromEntries(t))(o(await k(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await w((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>e(t)),d,1,{getDbName:()=>l})};export{m as createIndexedDbPersister,D as objectStoreMatch};
1
+ const t=Promise,e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=e=>new t(e),r=async e=>t.all(e),o=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,l=t=>i.getPrototypeOf(t),y=i.entries,d=i.keys,g=i.freeze,u=t=>(t=>!a(t)&&s(l(t),(t=>t==i.prototype||a(l(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),p=(t,e)=>t?.get(e),h=(t,e,s)=>{return a(s)?(n=t,r=e,n?.delete(r),t):t?.set(e,s);var n,r},v=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||h(t,e,a()),p(t,e)},b=w(),A=w(),C=globalThis.window,S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>o(y(e),(([e,a])=>M(t,"put",{k:e,v:a}))))(e);o(await M(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:c(a,M(t,"delete",s)))),await r(a)},M=async(t,e,a)=>n(((s,n)=>{const r=t[e](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${e} error`)})),k=(t,l,y=1,d)=>{const w=async(t,e=[],a=0)=>n(((s,n)=>{const c=(C?C.indexedDB:indexedDB).open(l,a?2:void 0);c.onupgradeneeded=()=>a&&o(S,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(S,"readwrite"),n=await r(o(S,(async(s,n)=>await t(a.objectStore(s),e[n]))));c.result.close(),s(n)}catch(t){c.result.close(),n(t)}},c.onerror=()=>n("indexedDB.open error")}));return((t,e,n,r,o,i,l,y={},d=[])=>{let w,C,S,f=0;v(b,d,(()=>0)),v(A,d,(()=>[]));const[D,M,k,L,j]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!u(t)||!u(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!u(t)||!u(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(l,t),m=e=>{var a;(D&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=f&&(f=1,await O((async()=>{try{m(await e())}catch(e){i?.(e),t&&j(t)}f=0}))),E),P=()=>(C&&(o(C),C=void 0),E),T=async t=>(1!=f&&(f=2,await O((async()=>{try{await n(M,t)}catch(t){i?.(t)}f=0}))),E),B=()=>(s(S,t.delListener),S=void 0,E),O=async(...t)=>(c(p(A,d),...t),await(async()=>{if(!p(b,d)){for(h(b,d,1);!a((t=p(A,d),w=t.shift()));)try{await w()}catch(t){i?.(t)}h(b,d,0)}var t})(),E),E={load:x,startAutoLoad:async t=>(await P().load(t),C=r((async(t,e)=>{e||t?2!=f&&(f=1,m(e??t),f=0):await x()})),E),stopAutoLoad:P,isAutoLoading:()=>!a(C),save:T,startAutoSave:async()=>(await B().save(),S=t.addDidFinishTransactionListener((()=>{const t=k();L(t)&&T(t)})),E),stopAutoSave:B,isAutoSaving:()=>!a(S),schedule:O,getStore:()=>t,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...y};return g(E)})(t,(async()=>await w((async t=>((t=[])=>i.fromEntries(t))(o(await M(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await w((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>e(t)),d,1,{getDbName:()=>l})};export{k as createIndexedDbPersister,D 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,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=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),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),N=Object,h=a=>N.getPrototypeOf(a),R=N.entries,f=N.keys,L=N.freeze,S=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),b=(a,t)=>t in a,D=(a,t)=>g(R(a),(([a,e])=>t(e,a))),M=a=>N.values(a),$=a=>d(f(a)),_=a=>(a=>!o(a)&&l(h(a),(a=>a==N.prototype||o(h(a))),(()=>!0)))(a)&&0==$(a),P=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(A(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=>b(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(y(a)||o(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=P();return[async()=>J(r,S(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,S(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,P),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)=>!o(j(j(r,a),t)))(t,e)?S(m(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();D(c??{},(a=>g(f(a??{}),(a=>q(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!y&&l?g(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),B(r,t,P([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(V+G(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;H(na,w,(()=>0)),H(sa,w,(()=>[]));const[g,p,m,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),I),h=()=>(d&&(s(d),d=void 0),I),R=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),I),f=()=>(l(E,a.delListener),E=void 0,I),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(B(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,w,0)}var a})(),I),I={load:N,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await N()})),I),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&R(a)})),I),stopAutoSave:f,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(I)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,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,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[Y]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(x(c,(async([e,n,s,i],r)=>{t&&!b(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>w?await A(y,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();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(y,k))[Y]:{})();return _(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await N(e)}else await T(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=P();return D(a,((a,r)=>{const c=u(M(I(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||n(r,c[0])||(s(r,c[0]),B(i,r,c))})),i},Oa="pragma_",Ta="data_version",Na="schema_version",ha=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,N]=(a=>{const e=(a=>I(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(I(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Aa(s,{[ga]:null,[va]:k},ga,(a=>A(y,a)),(a=>q(l,a))),Aa(i,{[pa]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>q(l,t))),c],l]})(e);return(m?ra: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 ${Ta} d,${Na} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${Na}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(N),y,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{ha 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),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=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=>d(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)=>(A(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),Y="_",k="_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()=>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(U+" 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(C(v(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();D(o??{},(a=>v(f(a??{}),(a=>q(u,a)))));const d=O(u);if(!w&&y&&g(d)&&A(r,t))return await a("DROP "+z+G(t)),void B(r,t);if(g(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{h(i,s)||(await a(K+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(O(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+G(a))))});`),B(r,t,_([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(d))A(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{m(n,t,...v(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)+p(v(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"+p(v(r,(a=>G(a)+"=excluded."+G(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 u,d,E,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[v,g,C,A,O]=((a=1,t)=>a>1&&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),h=t=>{(v&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await S((async()=>{try{h(await t())}catch(t){i?.(t),a&&O(a)}p=0}))),b),N=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),b),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();A(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!c(E),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return L(b)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),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 d(),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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,m,A,O]=aa(t,u,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await g();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,k))[Y]:{})();return $(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,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",Ca={mode:ya,[Ea]:1},ma={load:0,save:0,[ga]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(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},Oa="pragma_",ha="data_version",Ta="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[C,m,h,T]=(a=>{const e=(a=>b(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(ma,r)),0,P(ma)),c=o[2],l=W(c),w=W(c);return[0,n,[Aa(s,{[va]:null,[pa]:k},va,(a=>A(w,a)),(a=>q(l,a))),Aa(i,{[ga]:null,[pa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>A(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 ${ha} d,${Ta} s,TOTAL_CHANGES() c FROM ${Oa}${ha} JOIN ${Oa}${Ta}`);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,h,O(T),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{Na as createLibSqlPersister};
@@ -1 +1 @@
1
- const t=t=>typeof t,e="",a=t(e),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=e=>t(e)==a,r=t=>t.length,i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,d=i.freeze,g=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?i.fromEntries([...e]):e)),p=JSON.parse,v="/store",l=t=>new Map(t),u=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},f=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||w(t,e,a()),u(t,e)},C=l(),m=l(),A="message",S=(t,a,i,c)=>{const{host:y,room:l}=a.partySocketOptions,{storeProtocol:S="https",storePath:L=v,messagePrefix:b=e}={...o(i)?{storeProtocol:i}:i},M=S+"://"+y+"/parties/"+a.name+"/"+l+L,P=async t=>await(await fetch(M,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,o,r,i,c,y={},h=[])=>{let p,v,l,A=0;f(C,h,(()=>0)),f(m,h,(()=>[]));const[S,L,b,M,P]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:0)(c,t),O=e=>{var a;(S&&(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!=A&&(A=1,await x((async()=>{try{O(await e())}catch(e){i?.(e),t&&P(t)}A=0}))),D),E=()=>(v&&(r(v),v=void 0),D),j=async t=>(1!=A&&(A=2,await x((async()=>{try{await a(L,t)}catch(t){i?.(t)}A=0}))),D),k=()=>(n(l,t.delListener),l=void 0,D),x=async(...t)=>(((t,...e)=>{t.push(...e)})(u(m,h),...t),await(async()=>{if(!u(C,h)){for(w(C,h,1);!s((t=u(m,h),p=t.shift()));)try{await p()}catch(t){i?.(t)}w(C,h,0)}var t})(),D),D={load:T,startAutoLoad:async t=>(await E().load(t),v=o((async(t,e)=>{e||t?2!=A&&(A=1,O(e??t),A=0):await T()})),D),stopAutoLoad:E,isAutoLoading:()=>!s(v),save:j,startAutoSave:async()=>(await k().save(),l=t.addDidFinishTransactionListener((()=>{const t=b();M(t)&&j(t)})),D),stopAutoSave:k,isAutoSaving:()=>!s(l),schedule:x,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...y};return d(D)})(t,(async()=>await P()),(async(t,e)=>{var s;e?a.send(b+"s"+(o(s=e)?s:h(s))):await P(t())}),(t=>{const e=e=>n(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],p((n=e,o=s+1,n.slice(o,void 0)))]:void 0;var n,o})(b,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(A,e),e}),(t=>{a.removeEventListener(A,t)}),c,1,{getConnection:()=>a})};export{S as createPartyKitPersister};
1
+ const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),r=e=>t(e)==a,n=t=>t.length,i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,d=i.freeze,g=t=>(t=>!s(t)&&o(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>n(y(t)))(t),p=t=>JSON.stringify(t,((t,e)=>e instanceof Map?i.fromEntries([...e]):e)),h=JSON.parse,l="/store",v=t=>new Map(t),u=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,r=e,o?.delete(r),t):t?.set(e,a);var o,r},f=(t,e,a,s)=>{var o,r;return o=t,r=e,o?.has(r)||w(t,e,a()),u(t,e)},C=v(),S=v(),A="message",b=(t,a,i,c)=>{const{host:y,room:v}=a.partySocketOptions,{storeProtocol:b="https",storePath:m=l,messagePrefix:L=e}={...r(i)?{storeProtocol:i}:i},M=b+"://"+y+"/parties/"+a.name+"/"+v+m,P=async t=>await(await fetch(M,{...t?{method:"PUT",body:p(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,n,i,c,y={},p=[])=>{let h,l,v,A=0;f(C,p,(()=>0)),f(S,p,(()=>[]));const[b,m,L,M,P]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(c,t),O=e=>{var a;(b&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async t=>(2!=A&&(A=1,await x((async()=>{try{O(await e())}catch(e){i?.(e),t&&P(t)}A=0}))),D),T=()=>(l&&(n(l),l=void 0),D),j=async t=>(1!=A&&(A=2,await x((async()=>{try{await a(m,t)}catch(t){i?.(t)}A=0}))),D),k=()=>(o(v,t.delListener),v=void 0,D),x=async(...t)=>(((t,...e)=>{t.push(...e)})(u(S,p),...t),await(async()=>{if(!u(C,p)){for(w(C,p,1);!s((t=u(S,p),h=t.shift()));)try{await h()}catch(t){i?.(t)}w(C,p,0)}var t})(),D),D={load:E,startAutoLoad:async t=>(await T().load(t),l=r((async(t,e)=>{e||t?2!=A&&(A=1,O(e??t),A=0):await E()})),D),stopAutoLoad:T,isAutoLoading:()=>!s(l),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=L();M(t)&&j(t)})),D),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:x,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...y};return d(D)})(t,(async()=>await P()),(async(t,e)=>{var s;e?a.send(L+"s"+(r(s=e)?s:p(s))):await P(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=n(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,r=s+1,o.slice(r,void 0)))]:void 0;var o,r})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(A,e),e}),(t=>{a.removeEventListener(A,t)}),c,1,{getConnection:()=>a})};export{b as createPartyKitPersister};
@@ -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),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),f=O.entries,R=O.keys,b=O.freeze,L=(a=[])=>O.fromEntries(a),S=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(f(a),(([a,e])=>t(e,a))),M=a=>O.values(a),_=a=>d(R(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==_(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)=>(A(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),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(y(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,L(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,L(v(await a(U+" 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)?L(m(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=W();D(o??{},(a=>v(R(a??{}),(a=>z(u,a)))));const d=T(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{h(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!y&&l?v(T(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(y)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(q+G(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+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)+g(v(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"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},w=[])=>{let u,d,E,g=0;H(na,w,(()=>0)),H(sa,w,(()=>[]));const[v,p,m,A,T]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:0)(r,a),h=t=>{(v&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=g&&(g=1,await L((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}g=0}))),S),N=()=>(d&&(s(d),d=void 0),S),f=async a=>(1!=g&&(g=2,await L((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),S),R=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(B(na,w,1);!c((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,w,0)}var a})(),S),S={load:O,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,h(t??a),g=0):await O()})),S),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:f,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f(a)})),S),stopAutoSave:R,isAutoSaving:()=>!c(E),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return b(S)},ra=(a,t,e,n,s,i,[r,o,c],l,w,y,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),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 d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},oa=(a,t,e,n,s,i,[r,o,[l,w,y]],u,d,g,v)=>{const[p,C,A,T]=aa(t,u,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),O=async(a,t)=>w?await A(y,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await p();const a=await(async()=>L(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await C(y,k))[Y]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await p(),c(t)){const[t,e]=a();await h(t),await O(e)}else await h(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(S(t,w(a)?{[e]:a}:a)),0,_(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",ha="data_version",Oa="schema_version",Na=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,y,d="getDb",E)=>{let g,v,p;const[m,C,h,O]=(a=>{const e=(a=>S(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Ca,r)),0,_(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Aa(s,{[va]:null,[ga]:k},va,(a=>A(y,a)),(a=>z(l,a))),Aa(i,{[pa]:null,[ga]:k,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,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 ${ha} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${ha} JOIN ${Ta}${Oa}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,h,T(O),y,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{Na as createPowerSyncPersister};
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),g=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.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)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(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)=>(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),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="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=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(p(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(p(await a(U+" 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(C(p(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();D(o??{},(a=>p(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&v(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(v(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(p(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):v(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(v(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...p(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+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)+g(p(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"+g(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>g(p(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[p,v,C,m,A]=((a=1,t)=>a>1&&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=>{(p&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=g&&(g=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),L),N=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=g&&(g=2,await S((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),L),f=()=>(l(E,a.delListener),E=void 0,L),S=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),L),L={load:O,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,T(t??a),g=0):await O()})),L),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=C();m(a)&&b(a)})),L),stopAutoSave:f,isAutoSaving:()=>!c(E),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return R(L)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await g(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)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,p)=>{const[v,h,m,A]=aa(t,u,s,p),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await v();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await v(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,pa="tableId",va="tableName",Ca={mode:ya,[Ea]:1},ha={load:0,save:0,[va]:t+"_values"},ma=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(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},Aa="pragma_",Ta="data_version",Oa="schema_version",Na=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,p,v;const[C,h,T,O]=(a=>{const e=(a=>L(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(ha,r)),0,P(ha)),c=o[2],l=W(c),w=W(c);return[0,n,[ma(s,{[pa]:null,[ga]:k},pa,(a=>m(w,a)),(a=>z(l,a))),ma(i,{[va]:null,[ga]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>m(w,t)),((a,t)=>z(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 ${Ta} d,${Oa} s,TOTAL_CHANGES() c FROM ${Aa}${Ta} JOIN ${Aa}${Oa}`);t==(g??=t)&&e==(p??=e)&&s==(v??=s)||(a(),g=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=p=v=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)p(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{Na as createPowerSyncPersister};
@@ -1 +1 @@
1
- const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=Object,s=t=>n.getPrototypeOf(t),r=n.keys,o=n.freeze,i=t=>(t=>!e(t)&&a(s(t),(t=>t==n.prototype||e(s(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=JSON.parse,y=t=>new Map(t),g=(t,e)=>t?.get(e),l=(t,a,n)=>{return e(n)?(s=t,r=a,s?.delete(r),t):t?.set(a,n);var s,r},h=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||l(t,e,a()),g(t,e)},d=y(),p=y(),u=t=>t.headers.get("ETag"),v=(s,r,y,v=5,w)=>{let f;return((t,n,s,r,c,y,u,v={},w=[])=>{let f,C,A,S=0;h(d,w,(()=>0)),h(p,w,(()=>[]));const[b,M,T,L,O]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:0)(u,t),m=e=>{var a;(b&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},D=async t=>(2!=S&&(S=1,await I((async()=>{try{m(await n())}catch(e){y?.(e),t&&O(t)}S=0}))),J),E=()=>(C&&(c(C),C=void 0),J),j=async t=>(1!=S&&(S=2,await I((async()=>{try{await s(M,t)}catch(t){y?.(t)}S=0}))),J),x=()=>(a(A,t.delListener),A=void 0,J),I=async(...t)=>(((t,...e)=>{t.push(...e)})(g(p,w),...t),await(async()=>{if(!g(d,w)){for(l(d,w,1);!e((t=g(p,w),f=t.shift()));)try{await f()}catch(t){y?.(t)}l(d,w,0)}var t})(),J),J={load:D,startAutoLoad:async t=>(await E().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,m(e??t),S=0):await D()})),J),stopAutoLoad:E,isAutoLoading:()=>!e(C),save:j,startAutoSave:async()=>(await x().save(),A=t.addDidFinishTransactionListener((()=>{const t=T();L(t)&&j(t)})),J),stopAutoSave:x,isAutoSaving:()=>!e(A),schedule:I,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...v};return o(J)})(s,(async()=>{const t=await fetch(r);return f=u(t),c(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),n=u(a);e(f)||e(n)||n==f||(f=n,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,y]})};export{v as createRemotePersister};
1
+ const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=Object,s=t=>n.getPrototypeOf(t),r=n.keys,o=n.freeze,i=t=>(t=>!e(t)&&a(s(t),(t=>t==n.prototype||e(s(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=JSON.parse,y=t=>new Map(t),g=(t,e)=>t?.get(e),l=(t,a,n)=>{return e(n)?(s=t,r=a,s?.delete(r),t):t?.set(a,n);var s,r},h=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)||l(t,e,a()),g(t,e)},p=y(),d=y(),u=t=>t.headers.get("ETag"),v=(s,r,y,v=5,w)=>{let f;return((t,n,s,r,c,y,u,v={},w=[])=>{let f,C,A,S=0;h(p,w,(()=>0)),h(d,w,(()=>[]));const[b,M,T,L,O]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,t),E=e=>{var a;(b&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},m=async t=>(2!=S&&(S=1,await x((async()=>{try{E(await n())}catch(e){y?.(e),t&&O(t)}S=0}))),I),D=()=>(C&&(c(C),C=void 0),I),P=async t=>(1!=S&&(S=2,await x((async()=>{try{await s(M,t)}catch(t){y?.(t)}S=0}))),I),j=()=>(a(A,t.delListener),A=void 0,I),x=async(...t)=>(((t,...e)=>{t.push(...e)})(g(d,w),...t),await(async()=>{if(!g(p,w)){for(l(p,w,1);!e((t=g(d,w),f=t.shift()));)try{await f()}catch(t){y?.(t)}l(p,w,0)}var t})(),I),I={load:m,startAutoLoad:async t=>(await D().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,E(e??t),S=0):await m()})),I),stopAutoLoad:D,isAutoLoading:()=>!e(C),save:P,startAutoSave:async()=>(await j().save(),A=t.addDidFinishTransactionListener((()=>{const t=T();L(t)&&P(t)})),I),stopAutoSave:j,isAutoSaving:()=>!e(A),schedule:x,getStore:()=>t,destroy:()=>D().stopAutoSave(),getStats:()=>({}),...v};return o(I)})(s,(async()=>{const t=await fetch(r);return f=u(t),c(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),n=u(a);e(f)||e(n)||n==f||(f=n,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,y]})};export{v as createRemotePersister};