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
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",c="default",i="Has",u="Ids",d="Table",g=d+"s",h=d+u,f="Row",b=f+"Count",T=f+u,C="Cell",p=C+u,v="Value",V=v+"s",y=v+u,w=e=>s+e,S=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),R=Math.max,m=isFinite,I=e=>null==e,L=(e,t,s)=>I(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),D=(e,t,s)=>e.slice(t,s),x=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!I(e)&&L(P(e),(e=>e==A.prototype||I(P(e))),(()=>!0)),N=A.keys,B=A.freeze,U=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),X=e=>k(e)&&0==(e=>x(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>I(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),$=e=>new Set(E(e)||I(e)?e:[e]),_=(e,t)=>e?.add(t),ee=e=>e?.size??0,te=(e,t)=>e?.has(t)??!1,se=e=>I(e)||0==ee(e),ne=e=>e.clear(),ae=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),re=e=>new Map(e),oe=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),ie=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>I(s)?(le(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(te(e,t)?n?.(ce(e,t)):ue(e,t,s()),ce(e,t)),ge=(e,t,s,n=ue)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),he=(e,t,s,n)=>{const a={};return ae(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),se,X),be=(e,t,s)=>he(e,(e=>fe(e,t,s)),se,X),Te=(e,t)=>{const s=re();return ae(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>Te(e,Te),pe=e=>Te(e,Ce),ve=(e,t,s,n,a=0)=>L((s?de:ce)(e,t[a],a>x(t)-2?s:re),(l=>{if(a>x(t)-2)return n?.(l)&&ue(e,t[a]),l;const r=ve(l,t,s,n,a+1);return se(l)&&ue(e,t[a]),r})),Ve=new globalThis.TextEncoder,ye=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],Se=([e,t])=>Me(e,t),Me=(e,t)=>t?[e,t]:[e],Re=e=>e[2],me=(e,t)=>ye(e+":"+t),Ie=(e,t)=>t>e?(e?ye(e):0)^ye(t):0,Le=(e,t)=>((e??"")>(t??"")?e:t)??"",He=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Je=(e=s)=>Me(U(),e),Ee=(e=s)=>[re(),e,0],De=([e,t,s],n=we)=>[he(e,n),t,s],xe=([e,t],s=Se)=>Me(he(e,s),t),Fe=(e,s)=>{return E(e)&&3==x(e)&&(a=e[1],t(a)==n)&&t(e[2])==l&&m(e[2])&&s(e[0]);var a},Oe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Oe.test(t)&&x(e)<1e3&&z(e,t)}]},Ae=e=>[e,e],Pe=()=>[re(),re()],We=e=>[...e],je=([e,t])=>e===t,ke=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},Ne=e=>I(e)||!I(ke(e)),Be=(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?A.fromEntries([...t]):t)),Ge=JSON.parse,Ke="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),Qe=re(O(Ke,((e,t)=>[e,t]))),Xe=e=>Ke[63&e],Ye=(e,t)=>ce(Qe,e[t])??0,Ze=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),$e=()=>{let e,t,n=!1,a=!1,r=0,u=[];const S=re(),M=re(),R=re(),m=re(),E=re(),A=re(),P=re(),W=re(),j=re(),k=re(),N=re(),U=re(),K=re(),Y=re(),Ve=$(),ye=re(),we=re(),Se=re(),Me=re(),Re=Pe(),me=Pe(),Ie=Pe(),Le=Pe(),He=Pe(),Je=Pe(),Ee=Pe(),De=Pe(),xe=Pe(),Fe=Pe(),Oe=Pe(),Ne=Pe(),Ke=Pe(),Qe=Pe(),Xe=Pe(),Ye=Pe(),_e=Pe(),et=Pe(),tt=Pe(),st=Pe(),nt=Pe(),at=Pe(),lt=re(),rt=Pe(),[ot,ct,it,ut]=(e=>{let t;const[n,a]=ze(),l=re();return[(e,a,r,o=[],c=(()=>[]))=>{t??=Js;const i=n(1);return ue(l,i,[e,a,r,o,c]),_(ve(a,r??[s],$),i),i},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==x(t)?z(n,e):null===t[s]?ae(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(ce(e,t),s+1)));return a(e,0),n})(e,n),(e=>ae(e,(e=>ce(l,e)[0](t,...n??[],...a))))),e=>L(ce(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(le(t,e),se(t)?1:0))),ue(l,e),a(e),n))),e=>L(ce(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=x(r);o==x(s)?e(t,...r,...a(r)):I(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),dt=e=>{if(!Z(e,((e,t)=>[o,c].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(ke(e[c])!=t&&G(e,c),0))},gt=(t,s)=>(!e||te(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Ct(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(ce(ce(N,t),n),(e=>ke(a)!=e[o]?Nt(t,s,n,a,e[c]):a),(()=>Nt(t,s,n,a))):I(ke(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:pt(e),((t,s)=>L(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?L(ce(K,e),(t=>ke(s)!=t[o]?Bt(e,s,t[c]):s),(()=>Bt(e,s))):I(ke(s))?Bt(e,s):s,Ct=(e,t,s)=>(L(ce(U,t),(([n,a])=>{ae(n,((t,s)=>{q(e,s)||(e[s]=t)})),ae(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ae(Y,((t,s)=>{q(e,s)||(e[s]=t)})),ae(Ve,(t=>{q(e,t)||Bt(t)}))),e),vt=e=>ge(N,e,((e,t,s)=>{const n=re(),a=$();ge(de(N,t,re),s,((e,t,s)=>{ue(e,t,s),L(s[c],(e=>ue(n,t,e)),(()=>_(a,t)))})),ue(U,t,[n,a])}),((e,t)=>{ue(N,t),ue(U,t)})),Vt=e=>ge(K,e,((e,t,s)=>{ue(K,t,s),L(s[c],(e=>ue(Y,t,e)),(()=>_(Ve,t)))}),((e,t)=>{ue(K,t),ue(Y,t),le(Ve,t)})),yt=e=>X(e)?ys():Ts(e),wt=e=>ge(Se,e,((e,t,s)=>St(t,s)),((e,t)=>Dt(t))),St=(e,t)=>ge(de(Se,e,(()=>(zt(e,1),ue(ye,e,ze()),ue(we,e,re()),re()))),t,((t,s,n)=>Mt(e,t,s,n)),((t,s)=>xt(e,t,s))),Mt=(e,t,s,n,a)=>ge(de(t,s,(()=>(At(e,s,1),re()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Rt=(e,t,s,n,a)=>{te(s,n)||Pt(e,t,n,1);const l=ce(s,n);a!==l&&(Wt(e,t,n,l,a),ue(s,n,a))},mt=(e,t,s,n,a)=>L(ce(t,s),(t=>Rt(e,s,t,n,a)),(()=>Mt(e,t,s,Ct({[n]:a},e,s)))),It=e=>X(e)?Ms():Cs(e),Lt=e=>ge(Me,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{te(Me,e)||jt(e,1);const s=ce(Me,e);t!==s&&(kt(e,s,t),ue(Me,e,t))},Jt=(e,t)=>{const[s]=ce(ye,e),n=s(t);return te(ce(Se,e),n)?Jt(e,t):n},Et=e=>ce(Se,e)??St(e,{}),Dt=e=>St(e,{}),xt=(e,t,s)=>{const[,n]=ce(ye,e);n(s),Mt(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=ce(ce(U,e)?.[0],a);if(!I(r)&&!l)return Rt(e,s,n,a,r);const o=t=>{Wt(e,s,t,ce(n,t)),Pt(e,s,t,-1),ue(n,t)};I(r)?o(a):ie(n,o),se(n)&&(At(e,s,-1),se(ue(t,s))&&(zt(e,-1),ue(Se,e),ue(ye,e),ue(we,e)))},Ot=e=>{const t=ce(Y,e);if(!I(t))return Ht(e,t);kt(e,ce(Me,e)),jt(e,-1),ue(Me,e)},zt=(e,t)=>Ze(S,e,t),At=(e,t,s)=>Ze(de(m,e,re),t,s)&&ue(R,e,de(R,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=ce(we,e),l=ce(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ze(de(M,e,re),s,n),ue(a,s,l!=-n?l+n:null),Ze(de(de(E,e,re),t,re),s,n)},Wt=(e,t,s,n,a)=>{de(de(de(A,e,re),t,re),s,(()=>[n,0]))[1]=a,u[3]?.(e,t,s,a)},jt=(e,t)=>Ze(P,e,t),kt=(e,t,s)=>{de(W,e,(()=>[t,0]))[1]=s,u[4]?.(e,s)},Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,re),t,re),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),Ut=(e,t,s)=>L(ce(ce(ce(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ae(ls(e,t,s))])),qt=e=>L(ce(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ae(cs(e))])),Gt=e=>se(j)||se(Ye[e])?0:ae(e?pe(j):j,((t,s)=>ae(t,((t,n)=>ae(t,((t,a)=>ct(Ye[e],[s,n,a],t))))))),Kt=e=>se(k)||se(_e[e])?0:ae(e?Te(k):k,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!se(e))return ct(t,n,(()=>he(e))),ie(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Re[e],void 0,t);const s=se(Fe[e]),a=se(Ke[e])&&se(Qe[e])&&se(xe[e])&&se(Oe[e])&&se(Je[e])&&se(Ee[e])&&se(De[e])&&s&&se(Ie[e])&&se(Le[e]),l=se(Xe[e])&&se(Ne[e])&&se(He[e])&&se(me[e]);if(!a||!l){const t=e?[Te(S),Ce(M),Te(R),Ce(m),pe(E),pe(A)]:[S,M,R,m,E,A];if(!a){Qt(t[0],Ie[e],Le[e]),ae(t[1],((t,s)=>Qt(t,Je[e],Ee[e],[s]))),ae(t[2],((t,s)=>{0!=t&&ct(De[e],[s],ts(s))}));const n=$();ae(t[3],((t,a)=>{Qt(t,xe[e],Oe[e],[a])&&!s&&(ct(Fe[e],[a,null]),_(n,a))})),s||ae(t[5],((t,s)=>{if(!te(n,s)){const n=$();ae(t,(e=>ae(e,(([t,s],a)=>s!==t?_(n,a):le(e,a))))),ae(n,(t=>ct(Fe[e],[s,t])))}})),ae(t[4],((t,s)=>ae(t,((t,n)=>Qt(t,Ke[e],Qe[e],[s,n])))))}if(!l){let s;ae(t[5],((t,n)=>{let a;ae(t,((t,l)=>{let r;ae(t,(([t,o],c)=>{o!==t&&(ct(Xe[e],[n,l,c],o,t,Ut),s=a=r=1)})),r&&ct(Ne[e],[n,l],Ut)})),a&&ct(He[e],[n],Ut)})),s&&ct(me[e],void 0,Ut)}}},Yt=e=>{const t=fs();t!=a&&ct(et[e],void 0,t);const s=se(st[e])&&se(nt[e]),n=se(at[e])&&se(tt[e]);if(!s||!n){const t=e?[Te(P),Te(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ae(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,qt),s=1)})),s&&ct(tt[e],void 0,qt)}}},Zt=(e,...t)=>(Is((()=>e(...O(t,w)))),Js),$t=()=>be(Se),_t=()=>oe(Se),es=e=>oe(ce(we,w(e))),ts=e=>ee(ce(Se,w(e))),ss=e=>oe(ce(Se,w(e))),ns=(e,t,s,n=0,a)=>{return O(D((r=ce(Se,w(e)),o=(e,s)=>[I(t)?s:ce(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)=>oe(ce(ce(Se,w(e)),w(t))),ls=(e,t,s)=>ce(ce(ce(Se,w(e)),w(t)),w(s)),rs=()=>he(Me),os=()=>oe(Me),cs=e=>ce(Me,w(e)),is=()=>!se(Se),us=e=>te(Se,w(e)),ds=(e,t)=>te(ce(we,w(e)),w(t)),gs=(e,t)=>te(ce(Se,w(e)),w(t)),hs=(e,t,s)=>te(ce(ce(Se,w(e)),w(t)),w(s)),fs=()=>!se(Me),bs=e=>te(Me,w(e)),Ts=e=>Zt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Cs=e=>Zt((()=>bt(e)?Lt(e):0)),ps=e=>{try{yt(Ge(e))}catch{}return Js},vs=t=>Zt((()=>{if((e=Z(t,(e=>Z(e,dt))))&&(vt(t),!se(Se))){const e=$t();ys(),Ts(e)}})),Vs=e=>Zt((()=>{if(t=(e=>Z(e,dt))(e)){const s=rs();ms(),Ms(),t=!0,Vt(e),Cs(s)}})),ys=()=>Zt((()=>wt({}))),ws=e=>Zt((e=>te(Se,e)?Dt(e):0),e),Ss=(e,t)=>Zt(((e,t)=>L(ce(Se,e),(s=>te(s,t)?xt(e,s,t):0))),e,t),Ms=()=>Zt((()=>Lt({}))),Rs=()=>Zt((()=>{vt({}),e=!1})),ms=()=>Zt((()=>{Vt({}),t=!1})),Is=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&(u[0]?.(),ct(lt)),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),se(A)||Xt(1),Kt(1),se(W)||Yt(1),e?.(Js)&&(ae(A,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Be(Js,t,s,n,e))))))),ne(A),ae(W,(([e],t)=>Ue(Js,t,e))),ne(W)),ct(rt[0],void 0),r=-1,Gt(0),se(A)||Xt(0),Kt(0),se(W)||Yt(0),u[1]?.(),ct(rt[1],void 0),u[2]?.(),r=0,n=is(),a=fs(),F([S,M,R,m,E,A,j,P,W,k],ne))),Js),Js={getContent:()=>[$t(),rs()],getTables:$t,getTableIds:_t,getTable:e=>fe(ce(Se,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>he(ce(ce(Se,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:fs,hasValue:bs,getTablesJson:()=>qe(Se),getValuesJson:()=>qe(Me),getJson:()=>qe([Se,Me]),getTablesSchemaJson:()=>qe(N),getValuesSchemaJson:()=>qe(K),getSchemaJson:()=>qe([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Zt((()=>{(X(e)?ys:Ts)(e),(X(t)?Ms:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Zt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ht(e,t,s)?Mt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=w(e),Mt(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);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Zt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Zt((e=>L(Tt(e,J(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Zt((()=>{Q(e[0],((e,t)=>I(e)?ws(t):Q(e,((e,s)=>I(e)?Ss(t,s):Q(e,((e,n)=>Be(Js,t,s,n,e))))))),Q(e[1],((e,t)=>Ue(Js,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{It(Ge(e))}catch{}return Js},setJson:e=>Zt((()=>{try{const[t,s]=Ge(e);yt(t),It(s)}catch{ps(e)}})),setTablesSchema:vs,setValuesSchema:Vs,setSchema:(e,t)=>Zt((()=>{vs(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Zt(((e,t,s)=>L(ce(Se,e),(a=>L(ce(a,t),(l=>te(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Ms,delValue:e=>Zt((e=>te(Me,e)?Ot(e):0),e),delTablesSchema:Rs,delValuesSchema:ms,delSchema:()=>Zt((()=>{Rs(),ms()})),transaction:Is,startTransaction:Ls,getTransactionChanges:()=>[he(A,((e,t)=>-1===ce(S,t)?void 0:he(e,((e,s)=>-1===ce(ce(m,t),s)?void 0:he(e,(([,e])=>e),(e=>je(e)))),se,X)),se,X),he(W,(([,e])=>e),(e=>je(e))),1],getTransactionLog:()=>[!se(A),!se(W),be(A,We,je),be(j),he(W,We,je),he(k),he(S),fe(m),be(E),he(P)],finishTransaction:Hs,forEachTable:e=>ae(Se,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(ce(we,w(e)),t),forEachRow:(e,t)=>ae(ce(Se,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(ce(ce(Se,w(e)),w(t)),s),forEachValue:e=>ie(Me,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,x(c=r)===x(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,l(Js,e,t,s,n,a,o))}),Fe[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:$e,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>u=[e,t,s,n,a]};return Q({[i+g]:[0,Re,[],()=>[is()]],[g]:[0,me],[h]:[0,Ie],[i+d]:[1,Le,[_t],e=>[us(...e)]],[d]:[1,He,[_t]],[d+p]:[1,Je,[_t]],[i+d+C]:[2,Ee,[_t,es],e=>[ds(...e)]],[b]:[1,De,[_t]],[T]:[1,xe,[_t]],[i+f]:[2,Oe,[_t,ss],e=>[gs(...e)]],[f]:[2,Ne,[_t,ss]],[p]:[2,Ke,[_t,ss]],[i+C]:[3,Qe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Xe,[_t,ss,as],e=>Ae(ls(...e))],InvalidCell:[3,Ye],[i+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[i+v]:[1,nt,[os],e=>[bs(...e)]],[v]:[1,at,[os],e=>Ae(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?D(a,0,e):void 0,s,n)})),B(Js)},_e=2**36,et=2**30,tt=2**24,st=2**18,nt=4096,at={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},lt=(e=s)=>[Ee(e),Ee(e)];e.createMergeableStore=e=>{let t=1,n=lt(),a=0;const l=re(),r=$(),[o,c]=(e=>{let t=0,s=-1;const n=L(e,(e=>{const t=ye(e);return Xe(t/tt)+Xe(t/st)+Xe(t/nt)+Xe(t/64)+Xe(t)}),(()=>((e=16)=>{return t=(e,t)=>e+Xe(t),crypto.getRandomValues(new Uint8Array(e)).reduce(t,"");var t})(5))),a=e=>{const n=t,[a,l]=I(e)||""==e?[0,0]:[Ye(r=e,0)*_e+Ye(r,1)*et+Ye(r,2)*tt+Ye(r,3)*st+Ye(r,4)*nt+64*Ye(r,5)+Ye(r,6),Ye(r,7)*st+Ye(r,8)*nt+64*Ye(r,9)+Ye(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,Xe((e=t)/_e)+Xe(e/et)+Xe(e/tt)+Xe(e/st)+Xe(e/nt)+Xe(e/64)+Xe(e)+Xe(l/st)+Xe(l/nt)+Xe(l/64)+Xe(l)+n;var e,l},a]})(e),i=$e(),u=e=>{const s=t;return t=0,e(),t=s,b},d=(e,t=0)=>{const a={},l={},[[r,o=s,i=0],u]=e,[d,h]=n,[f,b,T]=d;let C=t?i:T,p=o;K(r,(([e,n=s,l=0],r)=>{const o=de(f,r,Ee),[c,i,u]=o;let d=t?l:u,h=n;K(e,((e,s)=>{const[n,l,o]=g(e,de(c,s,Ee),Y(Y(a,r,U),s,U),t);d^=t?0:(l?me(s,l):0)^me(s,o),h=Le(h,n)})),d^=t?0:Ie(i,n),He(o,d,n),C^=t?0:(u?me(r,u):0)^me(r,o[2]),p=Le(p,h)})),C^=t?0:Ie(b,o),He(d,C,o);const[v]=g(u,h,l,t);return c(Le(p,v)),[a,l,1]},g=(e,t,n,a)=>{const[l,r=s,o=0]=e,[c,i,u]=t;let d=r,g=a?o:u;return K(l,(([e,t,l=0],r)=>{const o=de(c,r,(()=>[void 0,s,0])),[,i,u]=o;(!i||t>i)&&(He(o,a?l:ye(qe(e??null)+":"+t),t),o[0]=e,n[r]=e,g^=a?0:me(r,u)^me(r,o[2]),d=Le(d,t))})),g^=a?0:Ie(i,r),He(t,g,r),[d,u,t[2]]},h=()=>[De(n[0],(e=>De(e,(e=>De(e))))),De(n[1])],f=e=>u((()=>i.applyChanges(d(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>he(n[0][0],Re),getMergeableTableDiff:e=>{const t=Je(n[0][1]),s={};return ie(n[0][0],((n,[a,l,r])=>q(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=xe([a,l],(e=>xe(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return K(e,((e,s)=>L(ce(n[0][0],s),(([n,,a])=>a!=e?ie(n,((e,[,,n])=>Y(t,s,U)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Je(n[0][1]),s={};return K(e,((e,a)=>ie(ce(n[0][0],a)?.[0],((n,[l,r,o])=>q(e,n)?o!==e[n]?Y(s,a,U)[n]=o:0:Y(t[0],a,Je)[0][n]=xe([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return K(e,((e,s)=>L(ce(n[0][0],s),(([n])=>K(e,((e,a)=>L(ce(n,a),(([n,,l])=>l!==e?ie(n,((e,[,,n])=>Y(Y(t,s,U),a,U)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return K(e,((e,s)=>K(e,((e,n)=>L(ce(t,s),(([t,l])=>L(ce(t,n),(([t,r])=>ie(t,((t,[o,c,i])=>i!==e[t]?Y(Y(a,s,(()=>Je(l)))[0],n,(()=>Je(r)))[0][t]=[o,c]:0)))))))))),Me(a,s)},getMergeableValuesHashes:()=>he(n[1][0],Re),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=he(t,Se,(([,,t],s)=>t==e?.[s]));return Me(a,s)},setMergeableContent:e=>u((()=>(e=>E(e)&&2==x(e)&&Fe(e[0],(e=>Z(e,(e=>Fe(e,(e=>Z(e,(e=>Fe(e,(e=>Z(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>Z(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=lt(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,o={};ae(l,((t,s)=>L(ce(e,s),(([e,n])=>{const a={};ae(t,((t,s)=>L(ce(e,s),(([e,n])=>{const l={};ae(t,(t=>{L(ce(e,t),(([e,s])=>l[t]=Me(e,s)))})),a[s]=Me(l,n)})))),o[s]=Me(a,n)}))));const c={};return ae(r,(e=>L(ce(s,e),(([t,s])=>c[e]=Me(t,s))))),[Me(o,t),Me(c,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{ne(l),ne(r)}),((e,n,r,c)=>{_(de(de(l,e,re),n,$),r),t&&d([[{[e]:[{[n]:[{[r]:[c,a?s:o()]}]}]}],[{}],1])}),((e,n)=>{_(r,e),t&&d([[{}],[{[e]:[n,a?s:o()]}],1])})),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||M(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&M(t,"Listener")?(...s)=>{const n=at[D(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",c="default",i="Has",u="Ids",d="Table",g=d+"s",h=d+u,f="Row",b=f+"Count",T=f+u,C="Cell",p=C+u,v="Value",V=v+"s",y=v+u,w=e=>s+e,M=(e,t)=>e.startsWith(t),S=(e,t)=>e.endsWith(t),R=Math.max,m=isFinite,I=e=>null==e,L=(e,t,s)=>I(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),D=(e,t,s)=>e.slice(t,s),x=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!I(e)&&L(P(e),(e=>e==A.prototype||I(P(e))),(()=>!0)),N=A.keys,B=A.freeze,U=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),X=e=>k(e)&&0==(e=>x(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>I(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),$=e=>new Set(E(e)||I(e)?e:[e]),_=(e,t)=>e?.add(t),ee=e=>e?.size??0,te=(e,t)=>e?.has(t)??!1,se=e=>I(e)||0==ee(e),ne=e=>e.clear(),ae=(e,t)=>e?.forEach(t),le=(e,t)=>e?.delete(t),re=e=>new Map(e),oe=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),ie=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>I(s)?(le(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(te(e,t)?n?.(ce(e,t)):ue(e,t,s()),ce(e,t)),ge=(e,t,s,n=ue)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),he=(e,t,s,n)=>{const a={};return ae(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),se,X),be=(e,t,s)=>he(e,(e=>fe(e,t,s)),se,X),Te=(e,t)=>{const s=re();return ae(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>Te(e,Te),pe=e=>Te(e,Ce),ve=(e,t,s,n,a=0)=>L((s?de:ce)(e,t[a],a>x(t)-2?s:re),(l=>{if(a>x(t)-2)return n?.(l)&&ue(e,t[a]),l;const r=ve(l,t,s,n,a+1);return se(l)&&ue(e,t[a]),r})),Ve=new globalThis.TextEncoder,ye=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],Me=([e,t])=>Se(e,t),Se=(e,t)=>t?[e,t]:[e],Re=e=>e[2],me=(e,t)=>ye(e+":"+t),Ie=(e,t)=>t>e?(e?ye(e):0)^ye(t):0,Le=(e,t)=>((e??"")>(t??"")?e:t)??"",He=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Je=(e=s)=>Se(U(),e),Ee=(e=s)=>[re(),e,0],De=([e,t,s],n=we)=>[he(e,n),t,s],xe=([e,t],s=Me)=>Se(he(e,s),t),Fe=(e,s)=>{return E(e)&&3==x(e)&&(a=e[1],t(a)==n)&&t(e[2])==l&&m(e[2])&&s(e[0]);var a},Oe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Oe.test(t)&&x(e)<1e3&&z(e,t)}]},Ae=e=>[e,e],Pe=()=>[re(),re()],We=e=>[...e],je=([e,t])=>e===t,ke=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},Ne=e=>I(e)||!I(ke(e)),Be=(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?A.fromEntries([...t]):t)),Ge=JSON.parse,Ke="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(s),Qe=re(O(Ke,((e,t)=>[e,t]))),Xe=e=>Ke[63&e],Ye=(e,t)=>ce(Qe,e[t])??0,Ze=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),$e=()=>{let e,t,n=!1,a=!1,r=0,u=[];const M=re(),S=re(),R=re(),m=re(),E=re(),A=re(),P=re(),W=re(),j=re(),k=re(),N=re(),U=re(),K=re(),Y=re(),Ve=$(),ye=re(),we=re(),Me=re(),Se=re(),Re=Pe(),me=Pe(),Ie=Pe(),Le=Pe(),He=Pe(),Je=Pe(),Ee=Pe(),De=Pe(),xe=Pe(),Fe=Pe(),Oe=Pe(),Ne=Pe(),Ke=Pe(),Qe=Pe(),Xe=Pe(),Ye=Pe(),_e=Pe(),et=Pe(),tt=Pe(),st=Pe(),nt=Pe(),at=Pe(),lt=re(),rt=Pe(),[ot,ct,it,ut]=(e=>{let t;const[n,a]=ze(),l=re();return[(e,a,r,o=[],c=(()=>[]))=>{t??=Js;const i=n(1);return ue(l,i,[e,a,r,o,c]),_(ve(a,r??[s],$),i),i},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==x(t)?z(n,e):null===t[s]?ae(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(ce(e,t),s+1)));return a(e,0),n})(e,n),(e=>ae(e,(e=>ce(l,e)[0](t,...n??[],...a))))),e=>L(ce(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(le(t,e),se(t)?1:0))),ue(l,e),a(e),n))),e=>L(ce(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=x(r);o==x(s)?e(t,...r,...a(r)):I(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),dt=e=>{if(!Z(e,((e,t)=>[o,c].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(ke(e[c])!=t&&G(e,c),0))},gt=(t,s)=>(!e||te(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Ct(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(ce(ce(N,t),n),(e=>ke(a)!=e[o]?Nt(t,s,n,a,e[c]):a),(()=>Nt(t,s,n,a))):I(ke(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:pt(e),((t,s)=>L(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?L(ce(K,e),(t=>ke(s)!=t[o]?Bt(e,s,t[c]):s),(()=>Bt(e,s))):I(ke(s))?Bt(e,s):s,Ct=(e,t,s)=>(L(ce(U,t),(([n,a])=>{ae(n,((t,s)=>{q(e,s)||(e[s]=t)})),ae(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ae(Y,((t,s)=>{q(e,s)||(e[s]=t)})),ae(Ve,(t=>{q(e,t)||Bt(t)}))),e),vt=e=>ge(N,e,((e,t,s)=>{const n=re(),a=$();ge(de(N,t,re),s,((e,t,s)=>{ue(e,t,s),L(s[c],(e=>ue(n,t,e)),(()=>_(a,t)))})),ue(U,t,[n,a])}),((e,t)=>{ue(N,t),ue(U,t)})),Vt=e=>ge(K,e,((e,t,s)=>{ue(K,t,s),L(s[c],(e=>ue(Y,t,e)),(()=>_(Ve,t)))}),((e,t)=>{ue(K,t),ue(Y,t),le(Ve,t)})),yt=e=>X(e)?ys():Ts(e),wt=e=>ge(Me,e,((e,t,s)=>Mt(t,s)),((e,t)=>Dt(t))),Mt=(e,t)=>ge(de(Me,e,(()=>(zt(e,1),ue(ye,e,ze()),ue(we,e,re()),re()))),t,((t,s,n)=>St(e,t,s,n)),((t,s)=>xt(e,t,s))),St=(e,t,s,n,a)=>ge(de(t,s,(()=>(At(e,s,1),re()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Rt=(e,t,s,n,a)=>{te(s,n)||Pt(e,t,n,1);const l=ce(s,n);a!==l&&(Wt(e,t,n,l,a),ue(s,n,a))},mt=(e,t,s,n,a)=>L(ce(t,s),(t=>Rt(e,s,t,n,a)),(()=>St(e,t,s,Ct({[n]:a},e,s)))),It=e=>X(e)?Ss():Cs(e),Lt=e=>ge(Se,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{te(Se,e)||jt(e,1);const s=ce(Se,e);t!==s&&(kt(e,s,t),ue(Se,e,t))},Jt=(e,t)=>{const[s]=ce(ye,e),n=s(t);return te(ce(Me,e),n)?Jt(e,t):n},Et=e=>ce(Me,e)??Mt(e,{}),Dt=e=>Mt(e,{}),xt=(e,t,s)=>{const[,n]=ce(ye,e);n(s),St(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=ce(ce(U,e)?.[0],a);if(!I(r)&&!l)return Rt(e,s,n,a,r);const o=t=>{Wt(e,s,t,ce(n,t)),Pt(e,s,t,-1),ue(n,t)};I(r)?o(a):ie(n,o),se(n)&&(At(e,s,-1),se(ue(t,s))&&(zt(e,-1),ue(Me,e),ue(ye,e),ue(we,e)))},Ot=e=>{const t=ce(Y,e);if(!I(t))return Ht(e,t);kt(e,ce(Se,e)),jt(e,-1),ue(Se,e)},zt=(e,t)=>Ze(M,e,t),At=(e,t,s)=>Ze(de(m,e,re),t,s)&&ue(R,e,de(R,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=ce(we,e),l=ce(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ze(de(S,e,re),s,n),ue(a,s,l!=-n?l+n:null),Ze(de(de(E,e,re),t,re),s,n)},Wt=(e,t,s,n,a)=>{de(de(de(A,e,re),t,re),s,(()=>[n,0]))[1]=a,u[3]?.(e,t,s,a)},jt=(e,t)=>Ze(P,e,t),kt=(e,t,s)=>{de(W,e,(()=>[t,0]))[1]=s,u[4]?.(e,s)},Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,re),t,re),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),Ut=(e,t,s)=>L(ce(ce(ce(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ae(ls(e,t,s))])),qt=e=>L(ce(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ae(cs(e))])),Gt=e=>se(j)||se(Ye[e])?0:ae(e?pe(j):j,((t,s)=>ae(t,((t,n)=>ae(t,((t,a)=>ct(Ye[e],[s,n,a],t))))))),Kt=e=>se(k)||se(_e[e])?0:ae(e?Te(k):k,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!se(e))return ct(t,n,(()=>he(e))),ie(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Re[e],void 0,t);const s=se(Fe[e]),a=se(Ke[e])&&se(Qe[e])&&se(xe[e])&&se(Oe[e])&&se(Je[e])&&se(Ee[e])&&se(De[e])&&s&&se(Ie[e])&&se(Le[e]),l=se(Xe[e])&&se(Ne[e])&&se(He[e])&&se(me[e]);if(!a||!l){const t=e?[Te(M),Ce(S),Te(R),Ce(m),pe(E),pe(A)]:[M,S,R,m,E,A];if(!a){Qt(t[0],Ie[e],Le[e]),ae(t[1],((t,s)=>Qt(t,Je[e],Ee[e],[s]))),ae(t[2],((t,s)=>{0!=t&&ct(De[e],[s],ts(s))}));const n=$();ae(t[3],((t,a)=>{Qt(t,xe[e],Oe[e],[a])&&!s&&(ct(Fe[e],[a,null]),_(n,a))})),s||ae(t[5],((t,s)=>{if(!te(n,s)){const n=$();ae(t,(e=>ae(e,(([t,s],a)=>s!==t?_(n,a):le(e,a))))),ae(n,(t=>ct(Fe[e],[s,t])))}})),ae(t[4],((t,s)=>ae(t,((t,n)=>Qt(t,Ke[e],Qe[e],[s,n])))))}if(!l){let s;ae(t[5],((t,n)=>{let a;ae(t,((t,l)=>{let r;ae(t,(([t,o],c)=>{o!==t&&(ct(Xe[e],[n,l,c],o,t,Ut),s=a=r=1)})),r&&ct(Ne[e],[n,l],Ut)})),a&&ct(He[e],[n],Ut)})),s&&ct(me[e],void 0,Ut)}}},Yt=e=>{const t=fs();t!=a&&ct(et[e],void 0,t);const s=se(st[e])&&se(nt[e]),n=se(at[e])&&se(tt[e]);if(!s||!n){const t=e?[Te(P),Te(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ae(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,qt),s=1)})),s&&ct(tt[e],void 0,qt)}}},Zt=(e,...t)=>(Is((()=>e(...O(t,w)))),Js),$t=()=>be(Me),_t=()=>oe(Me),es=e=>oe(ce(we,w(e))),ts=e=>ee(ce(Me,w(e))),ss=e=>oe(ce(Me,w(e))),ns=(e,t,s,n=0,a)=>{return O(D((r=ce(Me,w(e)),o=(e,s)=>[I(t)?s:ce(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)=>oe(ce(ce(Me,w(e)),w(t))),ls=(e,t,s)=>ce(ce(ce(Me,w(e)),w(t)),w(s)),rs=()=>he(Se),os=()=>oe(Se),cs=e=>ce(Se,w(e)),is=()=>!se(Me),us=e=>te(Me,w(e)),ds=(e,t)=>te(ce(we,w(e)),w(t)),gs=(e,t)=>te(ce(Me,w(e)),w(t)),hs=(e,t,s)=>te(ce(ce(Me,w(e)),w(t)),w(s)),fs=()=>!se(Se),bs=e=>te(Se,w(e)),Ts=e=>Zt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Cs=e=>Zt((()=>bt(e)?Lt(e):0)),ps=e=>{try{yt(Ge(e))}catch{}return Js},vs=t=>Zt((()=>{if((e=Z(t,(e=>Z(e,dt))))&&(vt(t),!se(Me))){const e=$t();ys(),Ts(e)}})),Vs=e=>Zt((()=>{if(t=(e=>Z(e,dt))(e)){const s=rs();ms(),Ss(),t=!0,Vt(e),Cs(s)}})),ys=()=>Zt((()=>wt({}))),ws=e=>Zt((e=>te(Me,e)?Dt(e):0),e),Ms=(e,t)=>Zt(((e,t)=>L(ce(Me,e),(s=>te(s,t)?xt(e,s,t):0))),e,t),Ss=()=>Zt((()=>Lt({}))),Rs=()=>Zt((()=>{vt({}),e=!1})),ms=()=>Zt((()=>{Vt({}),t=!1})),Is=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&(u[0]?.(),ct(lt)),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),se(A)||Xt(1),Kt(1),se(W)||Yt(1),e?.(Js)&&(ae(A,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Be(Js,t,s,n,e))))))),ne(A),ae(W,(([e],t)=>Ue(Js,t,e))),ne(W)),ct(rt[0],void 0),r=-1,Gt(0),se(A)||Xt(0),Kt(0),se(W)||Yt(0),u[1]?.(),ct(rt[1],void 0),u[2]?.(),r=0,n=is(),a=fs(),F([M,S,R,m,E,A,j,P,W,k],ne))),Js),Js={getContent:()=>[$t(),rs()],getTables:$t,getTableIds:_t,getTable:e=>fe(ce(Me,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>he(ce(ce(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:fs,hasValue:bs,getTablesJson:()=>qe(Me),getValuesJson:()=>qe(Se),getJson:()=>qe([Me,Se]),getTablesSchemaJson:()=>qe(N),getValuesSchemaJson:()=>qe(K),getSchemaJson:()=>qe([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Zt((()=>{(X(e)?ys:Ts)(e),(X(t)?Ss:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Zt((e=>gt(t,e)?Mt(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)=>Is((()=>{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);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Zt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Zt((e=>L(Tt(e,J(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Zt((()=>{Q(e[0],((e,t)=>I(e)?ws(t):Q(e,((e,s)=>I(e)?Ms(t,s):Q(e,((e,n)=>Be(Js,t,s,n,e))))))),Q(e[1],((e,t)=>Ue(Js,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{It(Ge(e))}catch{}return Js},setJson:e=>Zt((()=>{try{const[t,s]=Ge(e);yt(t),It(s)}catch{ps(e)}})),setTablesSchema:vs,setValuesSchema:Vs,setSchema:(e,t)=>Zt((()=>{vs(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ms,delCell:(e,t,s,n)=>Zt(((e,t,s)=>L(ce(Me,e),(a=>L(ce(a,t),(l=>te(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Ss,delValue:e=>Zt((e=>te(Se,e)?Ot(e):0),e),delTablesSchema:Rs,delValuesSchema:ms,delSchema:()=>Zt((()=>{Rs(),ms()})),transaction:Is,startTransaction:Ls,getTransactionChanges:()=>[he(A,((e,t)=>-1===ce(M,t)?void 0:he(e,((e,s)=>-1===ce(ce(m,t),s)?void 0:he(e,(([,e])=>e),(e=>je(e)))),se,X)),se,X),he(W,(([,e])=>e),(e=>je(e))),1],getTransactionLog:()=>[!se(A),!se(W),be(A,We,je),be(j),he(W,We,je),he(k),he(M),fe(m),be(E),he(P)],finishTransaction:Hs,forEachTable:e=>ae(Me,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(ce(we,w(e)),t),forEachRow:(e,t)=>ae(ce(Me,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(ce(ce(Me,w(e)),w(t)),s),forEachValue:e=>ie(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,x(c=r)===x(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,l(Js,e,t,s,n,a,o))}),Fe[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:$e,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>u=[e,t,s,n,a]};return Q({[i+g]:[0,Re,[],()=>[is()]],[g]:[0,me],[h]:[0,Ie],[i+d]:[1,Le,[_t],e=>[us(...e)]],[d]:[1,He,[_t]],[d+p]:[1,Je,[_t]],[i+d+C]:[2,Ee,[_t,es],e=>[ds(...e)]],[b]:[1,De,[_t]],[T]:[1,xe,[_t]],[i+f]:[2,Oe,[_t,ss],e=>[gs(...e)]],[f]:[2,Ne,[_t,ss]],[p]:[2,Ke,[_t,ss]],[i+C]:[3,Qe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Xe,[_t,ss,as],e=>Ae(ls(...e))],InvalidCell:[3,Ye],[i+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[i+v]:[1,nt,[os],e=>[bs(...e)]],[v]:[1,at,[os],e=>Ae(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?D(a,0,e):void 0,s,n)})),B(Js)},_e=2**36,et=2**30,tt=2**24,st=2**18,nt=4096,at={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},lt=(e=s)=>[Ee(e),Ee(e)];e.createMergeableStore=e=>{let t=1,n=lt(),a=0;const l=re(),r=$(),[o,c]=(e=>{let t=0,s=-1;const n=L(e,(e=>{const t=ye(e);return Xe(t/tt)+Xe(t/st)+Xe(t/nt)+Xe(t/64)+Xe(t)}),(()=>((e=16)=>{return t=(e,t)=>e+Xe(t),crypto.getRandomValues(new Uint8Array(e)).reduce(t,"");var t})(5))),a=e=>{const n=t,[a,l]=I(e)||""==e?[0,0]:[Ye(r=e,0)*_e+Ye(r,1)*et+Ye(r,2)*tt+Ye(r,3)*st+Ye(r,4)*nt+64*Ye(r,5)+Ye(r,6),Ye(r,7)*st+Ye(r,8)*nt+64*Ye(r,9)+Ye(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,Xe((e=t)/_e)+Xe(e/et)+Xe(e/tt)+Xe(e/st)+Xe(e/nt)+Xe(e/64)+Xe(e)+Xe(l/st)+Xe(l/nt)+Xe(l/64)+Xe(l)+n;var e,l},a]})(e),i=$e(),u=e=>{const s=t;return t=0,e(),t=s,b},d=(e,t=0)=>{const a={},l={},[[r,o=s,i=0],u]=e,[d,h]=n,[f,b,T]=d;let C=t?i:T,p=o;K(r,(([e,n=s,l=0],r)=>{const o=de(f,r,Ee),[c,i,u]=o;let d=t?l:u,h=n;K(e,((e,s)=>{const[n,l,o]=g(e,de(c,s,Ee),Y(Y(a,r,U),s,U),t);d^=t?0:(l?me(s,l):0)^me(s,o),h=Le(h,n)})),d^=t?0:Ie(i,n),He(o,d,n),C^=t?0:(u?me(r,u):0)^me(r,o[2]),p=Le(p,h)})),C^=t?0:Ie(b,o),He(d,C,o);const[v]=g(u,h,l,t);return c(Le(p,v)),[a,l,1]},g=(e,t,n,a)=>{const[l,r=s,o=0]=e,[c,i,u]=t;let d=r,g=a?o:u;return K(l,(([e,t,l=0],r)=>{const o=de(c,r,(()=>[void 0,s,0])),[,i,u]=o;(!i||t>i)&&(He(o,a?l:ye(qe(e??null)+":"+t),t),o[0]=e,n[r]=e,g^=a?0:me(r,u)^me(r,o[2]),d=Le(d,t))})),g^=a?0:Ie(i,r),He(t,g,r),[d,u,t[2]]},h=()=>[De(n[0],(e=>De(e,(e=>De(e))))),De(n[1])],f=e=>u((()=>i.applyChanges(d(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>he(n[0][0],Re),getMergeableTableDiff:e=>{const t=Je(n[0][1]),s={};return ie(n[0][0],((n,[a,l,r])=>q(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=xe([a,l],(e=>xe(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return K(e,((e,s)=>L(ce(n[0][0],s),(([n,,a])=>a!=e?ie(n,((e,[,,n])=>Y(t,s,U)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Je(n[0][1]),s={};return K(e,((e,a)=>ie(ce(n[0][0],a)?.[0],((n,[l,r,o])=>q(e,n)?o!==e[n]?Y(s,a,U)[n]=o:0:Y(t[0],a,Je)[0][n]=xe([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return K(e,((e,s)=>L(ce(n[0][0],s),(([n])=>K(e,((e,a)=>L(ce(n,a),(([n,,l])=>l!==e?ie(n,((e,[,,n])=>Y(Y(t,s,U),a,U)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return K(e,((e,s)=>K(e,((e,n)=>L(ce(t,s),(([t,l])=>L(ce(t,n),(([t,r])=>ie(t,((t,[o,c,i])=>i!==e[t]?Y(Y(a,s,(()=>Je(l)))[0],n,(()=>Je(r)))[0][t]=[o,c]:0)))))))))),Se(a,s)},getMergeableValuesHashes:()=>he(n[1][0],Re),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=he(t,Me,(([,,t],s)=>t==e?.[s]));return Se(a,s)},setMergeableContent:e=>u((()=>(e=>E(e)&&2==x(e)&&Fe(e[0],(e=>Z(e,(e=>Fe(e,(e=>Z(e,(e=>Fe(e,(e=>Z(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>Z(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=lt(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,o={};ae(l,((t,s)=>L(ce(e,s),(([e,n])=>{const a={};ae(t,((t,s)=>L(ce(e,s),(([e,n])=>{const l={};ae(t,(t=>{L(ce(e,t),(([e,s])=>l[t]=Se(e,s)))})),a[s]=Se(l,n)})))),o[s]=Se(a,n)}))));const c={};return ae(r,(e=>L(ce(s,e),(([t,s])=>c[e]=Se(t,s))))),[Se(o,t),Se(c,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{ne(l),ne(r)}),((e,n,r,c)=>{_(de(de(l,e,re),n,$),r),t&&d([[{[e]:[{[n]:[{[r]:[c,a?s:o()]}]}]}],[{}],1])}),((e,n)=>{_(r,e),t&&d([[{}],[{[e]:[n,a?s:o()]}],1])})),Q(i,((e,t)=>b[t]=M(t,"set")||M(t,"del")||M(t,"apply")||S(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):M(t,"add")&&S(t,"Listener")?(...s)=>{const n=at[D(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=Object,s=e=>n.getPrototypeOf(e),o=n.entries,r=n.keys,i=n.freeze,c=(e,t)=>a(e,(e=>e[t])),d=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),y=(e,t)=>((e,t)=>e.map(t))(o(e),(([e,a])=>t(a,e))),l=e=>r(e).length,u=e=>(e=>!t(e)&&a(s(e),(e=>e==n.prototype||t(s(e))),(()=>!0)))(e)&&0==l(e),f=e=>new Map(e),h=(e,t)=>e?.get(t),p=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},v=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||p(e,t,a()),h(e,t)},w=f(),A=f(),C=(e,t)=>[e[t].t,e[t].v],b=(e,a,n,s)=>{const o=t(a)?e:((e,t,a)=>(d(e,t)||(e[t]={}),e[t]))(e,a);let r;return y(n,((e,t)=>{s(o,t,e)&&(r=1)})),y(o,((e,t)=>{d(n,t)||(g(o,t),r=1)})),!t(a)&&u(o)&&g(e,a),r};e.createAutomergePersister=(e,n,s="tinybase",o)=>(n.change((e=>e[s]={})),((e,n,s,o,r,c,d,g={},y=[])=>{let l,f,C,b=0;v(w,y,(()=>0)),v(A,y,(()=>[]));const[m,L,S,T,M]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!u(e)||!u(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t),t.setContent]:0)(d,e),x=t=>{var a;(m&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=b&&(b=1,await k((async()=>{try{x(await n())}catch(t){c?.(t),e&&M(e)}b=0}))),z),P=()=>(f&&(r(f),f=void 0),z),j=async e=>(1!=b&&(b=2,await k((async()=>{try{await s(L,e)}catch(e){c?.(e)}b=0}))),z),O=()=>(a(C,e.delListener),C=void 0,z),k=async(...e)=>(((e,...t)=>{e.push(...t)})(h(A,y),...e),await(async()=>{if(!h(w,y)){for(p(w,y,1);!t((e=h(A,y),l=e.shift()));)try{await l()}catch(e){c?.(e)}p(w,y,0)}var e})(),z),z={load:D,startAutoLoad:async e=>(await P().load(e),f=o((async(e,t)=>{t||e?2!=b&&(b=1,x(t??e),b=0):await D()})),z),stopAutoLoad:P,isAutoLoading:()=>!t(f),save:j,startAutoSave:async()=>(await O().save(),C=e.addDidFinishTransactionListener((()=>{const e=S();T(e)&&j(e)})),z),stopAutoSave:O,isAutoSaving:()=>!t(C),schedule:k,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...g};return i(z)})(e,(async()=>{const e=await n.doc();return 2==l(e[s])?C(e,s):void 0}),(async(e,o)=>n.change((n=>((e,n,s,o)=>{((e,t)=>{u(e[t])&&(e[t]={t:{},v:{}})})(e,n);const[r,i]=C(e,n),d=()=>{l=1};let l=1;if(a(o,(([e,n])=>{l=0,y(e,((e,n)=>l?0:t(e)?g(r,n):a(r[n],(n=>y(e,((e,s)=>l?0:t(e)?g(n,s):a(c(n,s),(a=>y(e,((e,n)=>t(e)?g(a,n):a[n]=e))),d)))),d))),y(n,((e,a)=>l?0:t(e)?g(i,a):i[a]=e))})),l){const[e,t]=s();b(r,void 0,e,((e,t,a)=>b(r,t,a,((e,t,a)=>b(e,t,a,((e,t,a)=>{if(c(e,t)!==a)return e[t]=a,1})))))),b(i,void 0,t,((e,t,a)=>{c(i,t)!==a&&(i[t]=a)}))}})(n,s,e,o)))),(e=>{const t=({doc:t})=>e(C(t,s));return n.on("change",t),t}),(e=>{n.removeListener("change",e)}),o,1,{getDocHandle:()=>n}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=Object,s=e=>n.getPrototypeOf(e),o=n.entries,r=n.keys,i=n.freeze,c=(e,t)=>a(e,(e=>e[t])),d=(e,t)=>t in e,y=(e,t)=>(delete e[t],e),g=(e,t)=>((e,t)=>e.map(t))(o(e),(([e,a])=>t(a,e))),l=e=>r(e).length,u=e=>(e=>!t(e)&&a(s(e),(e=>e==n.prototype||t(s(e))),(()=>!0)))(e)&&0==l(e),p=e=>new Map(e),h=(e,t)=>e?.get(t),f=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},v=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||f(e,t,a()),h(e,t)},w=p(),b=p(),A=(e,t)=>[e[t].t,e[t].v],C=(e,a,n,s)=>{const o=t(a)?e:((e,t,a)=>(d(e,t)||(e[t]={}),e[t]))(e,a);let r;return g(n,((e,t)=>{s(o,t,e)&&(r=1)})),g(o,((e,t)=>{d(n,t)||(y(o,t),r=1)})),!t(a)&&u(o)&&y(e,a),r};e.createAutomergePersister=(e,n,s="tinybase",o)=>(n.change((e=>e[s]={})),((e,n,s,o,r,c,d,y={},g=[])=>{let l,p,A,C=0;v(w,g,(()=>0)),v(b,g,(()=>[]));const[S,m,L,M,T]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!u(e)||!u(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(d,e),P=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=C&&(C=1,await k((async()=>{try{P(await n())}catch(t){c?.(t),e&&T(e)}C=0}))),z),D=()=>(p&&(r(p),p=void 0),z),j=async e=>(1!=C&&(C=2,await k((async()=>{try{await s(m,e)}catch(e){c?.(e)}C=0}))),z),O=()=>(a(A,e.delListener),A=void 0,z),k=async(...e)=>(((e,...t)=>{e.push(...t)})(h(b,g),...e),await(async()=>{if(!h(w,g)){for(f(w,g,1);!t((e=h(b,g),l=e.shift()));)try{await l()}catch(e){c?.(e)}f(w,g,0)}var e})(),z),z={load:x,startAutoLoad:async e=>(await D().load(e),p=o((async(e,t)=>{t||e?2!=C&&(C=1,P(t??e),C=0):await x()})),z),stopAutoLoad:D,isAutoLoading:()=>!t(p),save:j,startAutoSave:async()=>(await O().save(),A=e.addDidFinishTransactionListener((()=>{const e=L();M(e)&&j(e)})),z),stopAutoSave:O,isAutoSaving:()=>!t(A),schedule:k,getStore:()=>e,destroy:()=>D().stopAutoSave(),getStats:()=>({}),...y};return i(z)})(e,(async()=>{const e=await n.doc();return 2==l(e[s])?A(e,s):void 0}),(async(e,o)=>n.change((n=>((e,n,s,o)=>{((e,t)=>{u(e[t])&&(e[t]={t:{},v:{}})})(e,n);const[r,i]=A(e,n),d=()=>{l=1};let l=1;if(a(o,(([e,n])=>{l=0,g(e,((e,n)=>l?0:t(e)?y(r,n):a(r[n],(n=>g(e,((e,s)=>l?0:t(e)?y(n,s):a(c(n,s),(a=>g(e,((e,n)=>t(e)?y(a,n):a[n]=e))),d)))),d))),g(n,((e,a)=>l?0:t(e)?y(i,a):i[a]=e))})),l){const[e,t]=s();C(r,void 0,e,((e,t,a)=>C(r,t,a,((e,t,a)=>C(e,t,a,((e,t,a)=>{if(c(e,t)!==a)return e[t]=a,1})))))),C(i,void 0,t,((e,t,a)=>{c(i,t)!==a&&(i[t]=a)}))}})(n,s,e,o)))),(e=>{const t=({doc:t})=>e(A(t,s));return n.on("change",t),t}),(e=>{n.removeListener("change",e)}),o,1,{getDocHandle:()=>n}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,n=e=>s.getPrototypeOf(e),r=s.keys,o=s.freeze,i=e=>(e=>!t(e)&&a(n(e),(e=>e==s.prototype||t(n(e))),(()=>!0)))(e)&&0==(e=>r(e).length)(e),c=JSON.parse,g=e=>new Map(e),y=(e,t)=>e?.get(t),d=(e,a,s)=>{return t(s)?(n=e,r=a,n?.delete(r),e):e?.set(a,s);var n,r},l=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||d(e,t,a()),y(e,t)},u=g(),p=g(),f="storage",v=globalThis.window,h=(e,s,n,r)=>((e,s,n,r,c,g,f,v={},h=[])=>{let w,S,A,C=0;l(u,h,(()=>0)),l(p,h,(()=>[]));const[b,L,m,T,M]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!i(e)||!i(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!i(e)||!i(t),t.setContent]:0)(f,e),O=t=>{var a;(b&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},N=async e=>(2!=C&&(C=1,await j((async()=>{try{O(await s())}catch(t){g?.(t),e&&M(e)}C=0}))),k),P=()=>(S&&(c(S),S=void 0),k),x=async e=>(1!=C&&(C=2,await j((async()=>{try{await n(L,e)}catch(e){g?.(e)}C=0}))),k),J=()=>(a(A,e.delListener),A=void 0,k),j=async(...e)=>(((e,...t)=>{e.push(...t)})(y(p,h),...e),await(async()=>{if(!y(u,h)){for(d(u,h,1);!t((e=y(p,h),w=e.shift()));)try{await w()}catch(e){g?.(e)}d(u,h,0)}var e})(),k),k={load:N,startAutoLoad:async e=>(await P().load(e),S=r((async(e,t)=>{t||e?2!=C&&(C=1,O(t??e),C=0):await N()})),k),stopAutoLoad:P,isAutoLoading:()=>!t(S),save:x,startAutoSave:async()=>(await J().save(),A=e.addDidFinishTransactionListener((()=>{const e=m();T(e)&&x(e)})),k),stopAutoSave:J,isAutoSaving:()=>!t(A),schedule:j,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...v};return o(k)})(e,(async()=>{return e=n.getItem(s),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return n.setItem(s,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))));var t}),(e=>{const t=t=>{if(t.storageArea===n&&t.key===s)try{e(c(t.newValue))}catch{e()}};return v.addEventListener(f,t),t}),(e=>v.removeEventListener(f,e)),r,3,{getStorageName:()=>s});e.createLocalPersister=(e,t,a)=>h(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>h(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,r=e=>s.getPrototypeOf(e),n=s.keys,o=s.freeze,i=e=>(e=>!t(e)&&a(r(e),(e=>e==s.prototype||t(r(e))),(()=>!0)))(e)&&0==(e=>n(e).length)(e),c=JSON.parse,y=e=>new Map(e),g=(e,t)=>e?.get(t),d=(e,a,s)=>{return t(s)?(r=e,n=a,r?.delete(n),e):e?.set(a,s);var r,n},l=(e,t,a,s)=>{var r,n;return r=e,n=t,r?.has(n)||d(e,t,a()),g(e,t)},u=y(),p=y(),f="storage",h=globalThis.window,v=(e,s,r,n)=>((e,s,r,n,c,y,f,h={},v=[])=>{let w,S,b,A=0;l(u,v,(()=>0)),l(p,v,(()=>[]));const[C,L,T,m,M]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!i(e)||!i(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!i(e)||!i(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(f,e),O=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=A&&(A=1,await J((async()=>{try{O(await s())}catch(t){y?.(t),e&&M(e)}A=0}))),j),N=()=>(S&&(c(S),S=void 0),j),x=async e=>(1!=A&&(A=2,await J((async()=>{try{await r(L,e)}catch(e){y?.(e)}A=0}))),j),E=()=>(a(b,e.delListener),b=void 0,j),J=async(...e)=>(((e,...t)=>{e.push(...t)})(g(p,v),...e),await(async()=>{if(!g(u,v)){for(d(u,v,1);!t((e=g(p,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}d(u,v,0)}var e})(),j),j={load:P,startAutoLoad:async e=>(await N().load(e),S=n((async(e,t)=>{t||e?2!=A&&(A=1,O(t??e),A=0):await P()})),j),stopAutoLoad:N,isAutoLoading:()=>!t(S),save:x,startAutoSave:async()=>(await E().save(),b=e.addDidFinishTransactionListener((()=>{const e=T();m(e)&&x(e)})),j),stopAutoSave:E,isAutoSaving:()=>!t(b),schedule:J,getStore:()=>e,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...h};return o(j)})(e,(async()=>{return e=r.getItem(s),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return r.setItem(s,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))));var t}),(e=>{const t=t=>{if(t.storageArea===r&&t.key===s)try{e(c(t.newValue))}catch{e()}};return h.addEventListener(f,t),t}),(e=>h.removeEventListener(f,e)),n,3,{getStorageName:()=>s});e.createLocalPersister=(e,t,a)=>v(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>v(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),R=A.entries,S=A.keys,L=A.freeze,b=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(R(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,b(await p(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(v(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?b(m(v(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>v(S(a??{}),(a=>z(d,a)))));const u=O(d);if(!w&&y&&g(u)&&T(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||T(r,t)){const s=j(r,t),i=G(x(s));await p([...v(u,(async e=>{h(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?v(O(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))T(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+f(v(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+f(v(i,(a=>k(a)+"=excluded."+k(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,v,g,m,T]=((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),O=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=p&&(p=1,await S((async()=>{try{O(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),b),A=()=>(u&&(s(u),u=void 0),b),N=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),b),R=()=>(y(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),b),b={load:h,startAutoLoad:async a=>(await A().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,O(t??a),p=0):await h()})),b),stopAutoLoad:A,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),b),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:S,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return L(b)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[v,g,C,T]=ta(t,d,s,f),O=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)}))),h=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>b(m(await p(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),l(t)){const[t,e]=a();await O(t),await h(e)}else await O(t[0],!0),await h(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Oa="pragma_",ha="data_version",Aa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,v;const[g,m,C,h]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[Ea]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=G(c),y=G(c);return[0,n,[Ta(s,{[va]:null,[fa]:Y},va,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[ga]:null,[fa]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ha} d,${Aa} s,TOTAL_CHANGES() c FROM ${Oa}${ha} JOIN ${Oa}${Aa}`);t==(p??=t)&&e==(f??=e)&&s==(v??=s)||(a(),p=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=v=null,i(t)}),o,l,C,O(h),y,d,E)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),A=Object,N=a=>A.getPrototypeOf(a),S=A.entries,b=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>v(S(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>p(b(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==A.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>l(e)?(O(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(h(a,t)||W(a,t,e()),j(a,t)),J=(a,t,e,n=W)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,q="SELECT",G=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=q+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await E(v(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(q+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(v(await a(X+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=G();M(o??{},(a=>v(b(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&h(r,t))return await a("DROP "+K+k(t)),void W(r,t);if(g(u)||h(r,t)){const s=j(r,t),i=G(x(s));await E([...v(u,(async e=>{O(i,e)||(await a(V+k(t)+"ADD"+k(e)),W(s,e,n))})),...!w&&c?v(T(i),(async n=>{n!=e&&(await a(V+k(t)+"DROP"+k(n)),W(s,n))})):[]])}else await a("CREATE "+K+k(t)+"("+k(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(v(u,(a=>s+k(a))))});`),W(r,t,F([[e,n],...v(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+k(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+k(t)+aa+k(e)+"=?",[s]):g(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(g(u))h(r,t)&&await a(Q+k(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...v(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+k(t)+aa+k(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+k(t)+"("+k(e)+f(v(i,(a=>s+k(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+k(e)+")DO UPDATE SET"+f(v(i,(a=>k(a)+"=excluded."+k(a))),s):n),v(o,(a=>a??null))),na=a=>f(v(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,v,g,m,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),T=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},O=async a=>(2!=E&&(E=1,await b((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}E=0}))),L),A=()=>(u&&(s(u),u=void 0),L),N=async a=>(1!=E&&(E=2,await b((async()=>{try{await e(v,a)}catch(a){i?.(a)}E=0}))),L),S=()=>(y(p,a.delListener),p=void 0,L),b=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(W(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}W(sa,c,0)}var a})(),L),L={load:O,startAutoLoad:async a=>(await A().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await O()})),L),stopAutoLoad:A,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await S().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),L),stopAutoSave:S,isAutoSaving:()=>!l(p),schedule:b,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return R(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await p(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await E(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,f)=>{const[v,g,C,h]=ta(t,d,s,f),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await C(w,Y,{[U]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await v();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,Y))[U]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",fa="rowId"+la,va="tableId",ga="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),W(i,r,o))})),i},Ta="pragma_",Oa="data_version",Aa="schema_version";a.createCrSqliteWasmPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,f,v;const[g,m,C,O]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??Y,t[pa]??ya],G(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=G(c),y=G(c);return[0,n,[ha(s,{[va]:null,[fa]:Y},va,(a=>h(y,a)),(a=>z(l,a))),ha(i,{[ga]:null,[fa]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>h(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${Oa} JOIN ${Ta}${Aa}`);t==(E??=t)&&e==(f??=e)&&s==(v??=s)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=v=null,i(t)}),o,l,C,T(O),y,d,p)})(a,n,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,f=async a=>c.all(a),p=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>g(N(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await f(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,L(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,c,o,y,w=!1)=>{const d=W();M(c??{},(a=>g(R(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||T(r,t)){const s=x(r,t),i=W(j(s));await f([...g(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&o?g(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${p(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(c)?await a(Q+G(t)+aa+" 1"):await f(M(c,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,R(n),[s,...P(n)],i)})));else if(v(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(j(x(r,t)),(a=>a!=e)),s=[],o=[];M(c??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(o,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(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"+G(t)+"("+G(e)+p(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(c)/(E(i)+1)),1)+(o?"ON CONFLICT("+G(e)+")DO UPDATE SET"+p(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(c,(a=>a??null))),na=a=>p(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,c={},o=[])=>{let w,u,E,f=0;H(sa,o,(()=>0)),H(ia,o,(()=>[]));const[p,g,v,m,T]=((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),h=t=>{(p&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=f&&(f=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}f=0}))),L),O=()=>(u&&(s(u),u=void 0),L),b=async a=>(1!=f&&(f=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}f=0}))),L),N=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(C(x(ia,o),...a),await(async()=>{if(!x(sa,o)){for(q(sa,o,1);!l((a=x(ia,o),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,o,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=f&&(f=1,h(t??a),f=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&b(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...c};return S(L)},ca=(a,t,e,n,s,i,[r,c,o],l,y,w,d)=>{const[u,E,f,p]=ta(t,l,s,d);return ra(a,(async()=>await p((async()=>{return await u(),a=(await E(r,c))[Y]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await u(),await f(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)},oa=(a,t,e,n,s,i,[r,c,[o,y,w]],d,u,E,p)=>{const[g,v,C,T]=ta(t,d,s,p),h=async(a,t)=>await f(B(c,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>L(m(await f(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>o?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,fa="autoLoadIntervalSeconds",pa="rowId"+la,ga="tableId",va="tableName",ma={mode:wa,[fa]:1},Ca={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const c=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(c[0])||n(r,c[0])||(s(r,c[0]),q(i,r,c))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,c,l,y,d="getDb",E)=>{let f,p,g;const[v,m,C,A]=(a=>{const t=(a=>D(ma,w(a)?{[da]:a}:a??{}))(a),n=t[fa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,c=u(P(D(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Ta(s,{[ga]:null,[pa]:k},ga,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[va]:null,[pa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>z(l,t))),c],l]})(t);return(v?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 ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(f??=t)&&e==(p??=e)&&s==(g??=s)||(a(),f=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),f=p=g=null,i(t)}),c,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==E(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),D=(...a)=>A.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>g(N(a),(([a,e])=>t(e,a))),P=a=>A.values(a),$=a=>E(S(a)),_=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),x(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,L(await p(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,L(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?L(h(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>g(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&v(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||C(r,t)){const s=x(r,t),i=W(j(s));await p([...g(u,(async e=>{b(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(v(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=h(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{m(s,t,...g(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(o,(a=>a??null))),na=a=>f(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,g,v,h,C]=((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=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=p&&(p=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}p=0}))),L),A=()=>(u&&(s(u),u=void 0),L),O=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),L),N=()=>(y(E,a.delListener),E=void 0,L),S=async(...a)=>(m(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(q(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),L),L={load:b,startAutoLoad:async a=>(await A().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,T(t??a),p=0):await b()})),L),stopAutoLoad:A,isAutoLoading:()=>!l(u),save:O,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();h(a)&&O(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:S,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return R(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[g,v,m,C]=ta(t,d,s,f),T=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await g();const a=await(async()=>L(h(await p(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await g(),l(t)){const[t,e]=a();await T(t),await b(e)}else await T(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,ga="tableId",va="tableName",ha={mode:wa,[pa]:1},ma={load:0,save:0,[va]:e+"_values"},Ca=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Ta="pragma_",ba="data_version",Aa="schema_version";a.createElectricSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,g;const[v,h,m,b]=(a=>{const t=(a=>D(ha,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(ma,r)),0,$(ma)),c=o[2],l=W(c),y=W(c);return[0,n,[Ca(s,{[ga]:null,[fa]:k},ga,(a=>C(y,a)),(a=>z(l,a))),Ca(i,{[va]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ta}${ba} JOIN ${Ta}${Aa}`);t==(p??=t)&&e==(f??=e)&&s==(g??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=g=null,i(t)}),o,l,m,T(b),y,d,E)})(a,n,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),s,i,1,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",o=e(s),r=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==o,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),L=O.entries,R=O.keys,S=O.freeze,D=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),x=(a,t)=>t in a,M=(a,t)=>g(L(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!y(a)&&w(b(a),(a=>a==O.prototype||y(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>x(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,n)=>{const o=F();return[async()=>Y(o,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(o,t,Y(J(o,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(o,t))),async(t,e)=>((a,t)=>!y(j(j(o,a),t)))(t,e)?D(A(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,r,c,l,w=!1)=>{const d=z();M(r??{},(a=>g(R(a??{}),(a=>K(d,a)))));const u=h(d);if(!w&&l&&m(u)&&T(o,t))return await a("DROP "+V+U(t)),void H(o,t);if(m(u)||T(o,t)){const n=j(o,t),i=z(q(n));await v([...g(u,(async e=>{N(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(n,e,s))})),...!w&&c?g(h(i),(async s=>{s!=e&&(await a(Q+U(t)+"DROP"+U(s)),H(n,s))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(o,t,F([[e,s],...g(u,(a=>[a,s]))]));if(w)y(r)?await a(X+U(t)+ta+" 1"):await v(M(r,(async(s,i)=>{y(s)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await na(a,t,e,R(s),[i,...P(s)],n)})));else if(m(u))T(o,t)&&await a(X+U(t)+ta+" 1");else{const s=A(q(j(o,t)),(a=>a!=e)),i=[],c=[];M(r??{},((a,t)=>{C(i,t,...g(s,(t=>a?.[t]))),C(c,t)})),await na(a,t,e,s,i,n),await a(X+U(t)+ta+U(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,n,o,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(n,(a=>i+U(a))))+")VALUES"+p(r(`,(?${r(",?",E(n))})`,E(o)/(E(n)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(n,(a=>U(a)+"=excluded."+U(a))),i):s),g(o,(a=>a??null))),sa=a=>f(g(a,(()=>"?")),i),ia=F(),oa=F(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let l,d,p,E=0;J(ia,c,(()=>0)),J(oa,c,(()=>[]));const[v,f,g,m,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)(o,a),T=t=>{(v&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},h=async a=>(2!=E&&(E=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}E=0}))),R),N=()=>(d&&(s(d),d=void 0),R),O=async a=>(1!=E&&(E=2,await L((async()=>{try{await e(f,a)}catch(a){i?.(a)}E=0}))),R),b=()=>(w(p,a.delListener),p=void 0,R),L=async(...a)=>(C(j(oa,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(oa,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),R),R={load:h,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await h()})),R),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:O,startAutoSave:async()=>(await b().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&O(a)})),R),stopAutoSave:b,isAutoSaving:()=>!y(p),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...r};return S(R)},ca=(a,t,e,n,s,i,[o,r,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(o,r))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(o,r,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},la=(a,t,e,n,s,i,[o,r,[c,l,w]],d,u,p,E)=>{const[f,g,m,C]=ea(t,d,s,E),T=async(a,t)=>await v(B(r,(async([e,n,s,i],o)=>{t&&!x(a,o)||await m(e,n,a[o],s,i,t)}))),h=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await f();const a=await(async()=>D(A(await v(B(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),y(t)){const[t,e]=a();await T(t),await h(e)}else await T(t[0],!0),await h(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",Aa={mode:da,[va]:1},Ca={load:0,save:0,[ma]:n+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,o)=>{const r=p(P(I(t,d(a)?{[e]:a}:a)),0,$(t));y(r[0])||n(o,r[0])||(s(o,r[0]),H(i,o,r))})),i},ha="pragma_",Na="data_version",Oa="schema_version";a.createExpoSqliteNextPersister=(a,e,s,i,o)=>((a,t,e,s,i,o,r,c,y,w="getDb",u)=>{let E,v,f;const[g,m,A,C]=(a=>{const t=(a=>I(Aa,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??n;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=p(P(I(Ca,o)),0,$(Ca)),c=r[2],l=z(c),y=z(c);return[0,e,[Ta(s,{[ga]:null,[fa]:G},ga,(a=>T(y,a)),(a=>K(l,a))),Ta(i,{[ma]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>T(y,t)),((a,t)=>K(l,t))),r],l]})(t);return(g?ca:la)(a,o?async(a,t)=>(o(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:n,c:s}]=await e(`SELECT ${Na} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Na} JOIN ${ha}${Oa}`);t==(E??=t)&&n==(v??=n)&&s==(f??=s)||(a(),E=t,v=n)}catch{}},n=m,t(),setInterval(t,1e3*n)),s((t=>C.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),E=v=f=null,i(t)}),r,c,A,h(C),y,w,u)})(a,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,o,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
1
+ var a,t;a=this,t=function(a,t){"use strict";const e=a=>typeof a,n="tinybase",s="",i=",",r=e(s),o=(a,t)=>a.repeat(t),c=Promise,l=clearInterval,y=a=>null==a,w=(a,t,e)=>y(a)?e?.():t(a),d=a=>e(a)==r,u=a=>Array.isArray(a),p=(a,t,e)=>a.slice(t,e),E=a=>a.length,v=async a=>c.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),h=(a,t)=>a.filter(t),A=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),S=O.entries,L=O.keys,R=O.freeze,D=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),x=(a,t)=>t in a,M=(a,t)=>g(S(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(L(a)),_=a=>(a=>!y(a)&&w(b(a),(a=>a==O.prototype||y(b(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),q=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>y(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(C(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=>x(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(u(a)||y(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",Q="ALTER "+V,X="DELETE FROM",Z=W+"*FROM",aa="FROM pragma_table_",ta="WHERE",ea=(a,t,e,n)=>{const r=F();return[async()=>Y(r,D(await v(g(await a("SELECT name "+aa+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+sa(t)+")ORDER BY name",t),(async({name:t})=>[t,D(g(await a(W+" name,type "+aa+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!y(j(j(r,a),t)))(t,e)?D(h(g(await a(Z+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!y(a)&&!_(t)))):{},async(t,e,o,c,l,w=!1)=>{const d=z();M(o??{},(a=>g(L(a??{}),(a=>K(d,a)))));const u=T(d);if(!w&&l&&m(u)&&C(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(m(u)||C(r,t)){const n=j(r,t),i=z(q(n));await v([...g(u,(async e=>{N(i,e)||(await a(Q+U(t)+"ADD"+U(e)),H(n,e,s))})),...!w&&c?g(T(i),(async s=>{s!=e&&(await a(Q+U(t)+"DROP"+U(s)),H(n,s))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>i+U(a))))});`),H(r,t,F([[e,s],...g(u,(a=>[a,s]))]));if(w)y(o)?await a(X+U(t)+ta+" 1"):await v(M(o,(async(s,i)=>{y(s)?await a(X+U(t)+ta+U(e)+"=?",[i]):m(u)||await na(a,t,e,L(s),[i,...P(s)],n)})));else if(m(u))C(r,t)&&await a(X+U(t)+ta+" 1");else{const s=h(q(j(r,t)),(a=>a!=e)),i=[],c=[];M(o??{},((a,t)=>{A(i,t,...g(s,(t=>a?.[t]))),A(c,t)})),await na(a,t,e,s,i,n),await a(X+U(t)+ta+U(e)+"NOT IN("+sa(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},na=async(a,t,e,n,r,c=!0)=>await a("INSERT "+(c?s:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+f(g(n,(a=>i+U(a))))+")VALUES"+p(o(`,(?${o(",?",E(n))})`,E(r)/(E(n)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(g(n,(a=>U(a)+"=excluded."+U(a))),i):s),g(r,(a=>a??null))),sa=a=>f(g(a,(()=>"?")),i),ia=F(),ra=F(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let l,d,p,E=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[v,f,g,m,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),C=t=>{(v&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=E&&(E=1,await S((async()=>{try{C(await t())}catch(t){i?.(t),a&&h(a)}E=0}))),L),N=()=>(d&&(s(d),d=void 0),L),O=async a=>(1!=E&&(E=2,await S((async()=>{try{await e(f,a)}catch(a){i?.(a)}E=0}))),L),b=()=>(w(p,a.delListener),p=void 0,L),S=async(...a)=>(A(j(ra,c),...a),await(async()=>{if(!j(ia,c)){for(H(ia,c,1);!y((a=j(ra,c),l=a.shift()));)try{await l()}catch(a){i?.(a)}H(ia,c,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,C(t??a),E=0):await T()})),L),stopAutoLoad:N,isAutoLoading:()=>!y(d),save:O,startAutoSave:async()=>(await b().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&O(a)})),L),stopAutoSave:b,isAutoSaving:()=>!y(p),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return R(L)},ca=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ea(t,l,s,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},la=(a,t,e,n,s,i,[r,o,[c,l,w]],d,u,p,E)=>{const[f,g,m,A]=ea(t,d,s,E),C=async(a,t)=>await v(B(o,(async([e,n,s,i],r)=>{t&&!x(a,r)||await m(e,n,a[r],s,i,t)}))),T=async(a,t)=>l?await m(w,G,{[k]:a},!0,!0,t):null;return oa(a,(async()=>await A((async()=>{await f();const a=await(async()=>D(h(await v(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,G))[k]:{})();return _(a)&&y(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await f(),y(t)){const[t,e]=a();await C(t),await T(e)}else await C(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ya="ColumnName",wa="store",da="json",ua=wa+"TableName",pa=wa+"Id"+ya,Ea=wa+ya,va="autoLoadIntervalSeconds",fa="rowId"+ya,ga="tableId",ma="tableName",ha={mode:da,[va]:1},Aa={load:0,save:0,[ma]:n+"_values"},Ca=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=p(P(I(t,d(a)?{[e]:a}:a)),0,$(t));y(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",Na="data_version",Oa="schema_version";a.createExpoSqliteNextPersister=(a,e,s,i,r)=>((a,t,e,s,i,r,o,c,y,w="getDb",u)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>I(ha,d(a)?{[ua]:a}:a??{}))(a),e=t[va];if(t.mode==da){const a=t[ua]??n;return[1,e,[a,t[pa]??G,t[Ea]??wa],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=p(P(I(Aa,r)),0,$(Aa)),c=o[2],l=z(c),y=z(c);return[0,e,[Ca(s,{[ga]:null,[fa]:G},ga,(a=>C(y,a)),(a=>K(l,a))),Ca(i,{[ma]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>C(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(g?ca:la)(a,r?async(a,t)=>(r(a,t),await e(a,t)):e,(a=>{return[(t=async()=>{try{const[{d:t,s:n,c:s}]=await e(`SELECT ${Na} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Oa}`);t==(E??=t)&&n==(v??=n)&&s==(f??=s)||(a(),E=t,v=n)}catch{}},n=m,t(),setInterval(t,1e3*n)),s((t=>A.has(t)?a():0))];var t,n}),(([a,t])=>{l(a),E=v=f=null,i(t)}),o,c,h,T(A),y,w,u)})(a,s,(async(a,t=[])=>await e.getAllAsync(a,t)),(a=>t.addDatabaseChangeListener((({tableName:t})=>a(t)))),(a=>a.remove()),i,r,3,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("expo-sqlite/next")):"function"==typeof define&&define.amd?define(["exports","expo-sqlite/next"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqliteNext={},a["expo-sqlite/next"]);
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>r.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>f(b(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(R(a)),_=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==$(a),x=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=x();return[async()=>J(o,L(await p(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,J(H(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?L(m(f(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,r,c,y,w=!1)=>{const d=W();M(r??{},(a=>f(R(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&g(u)&&T(o,t))return await a("DROP "+K+G(t)),void q(o,t);if(g(u)||T(o,t)){const s=j(o,t),i=W(F(s));await p([...f(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?f(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+G(a))))});`),q(o,t,x([[e,n],...f(u,(a=>[a,n]))]));if(w)l(r)?await a(Q+G(t)+aa+" 1"):await p(M(r,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,R(n),[s,...P(n)],i)})));else if(g(u))T(o,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(F(j(o,t)),(a=>a!=e)),s=[],c=[];M(r??{},((a,t)=>{C(s,t,...f(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+v(f(i,(a=>s+G(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(r)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+v(f(i,(a=>G(a)+"=excluded."+G(a))),s):n),f(r,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=x(),ia=x(),oa=(a,t,e,n,s,i,o,r={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[v,f,g,m,T]=((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)(o,a),h=t=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=p&&(p=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),L),O=()=>(u&&(s(u),u=void 0),L),N=async a=>(1!=p&&(p=2,await R((async()=>{try{await e(f,a)}catch(a){i?.(a)}p=0}))),L),b=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:N,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&N(a)})),L),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...r};return S(L)},ra=(a,t,e,n,s,i,[o,r,c],l,y,w,d)=>{const[u,E,p,v]=ta(t,l,s,d);return oa(a,(async()=>await v((async()=>{return await u(),a=(await E(o,r))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(o,r,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[o,r,[c,y,w]],d,u,E,v)=>{const[f,g,C,T]=ta(t,d,s,v),h=async(a,t)=>await p(B(r,(async([e,n,s,i],o)=>{t&&!I(a,o)||await C(e,n,a[o],s,i,t)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return oa(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(m(await p(B(o,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[ga]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=x();return M(a,((a,o)=>{const r=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(r[0])||n(o,r[0])||(s(o,r[0]),q(i,o,r))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createExpoSqlitePersister=(a,t,n,s,i)=>((a,t,n,s,i,o,r,l,y,d="getDb",E)=>{let p,v,f;const[g,m,C,A]=(a=>{const t=(a=>D(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=u(P(D(Ca,o)),0,$(Ca)),c=r[2],l=W(c),y=W(c);return[0,n,[Ta(s,{[fa]:null,[va]:k},fa,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[ga]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>T(y,t)),((a,t)=>z(l,t))),r],l]})(t);return(g?ra:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(p??=t)&&e==(v??=e)&&s==(f??=s)||(a(),p=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=f=null,i(t)}),r,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),v=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),g=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,S=O.keys,R=O.freeze,L=(a=[])=>O.fromEntries(a),D=(...a)=>O.assign({},...a),I=(a,t)=>t in a,M=(a,t)=>f(N(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(S(a)),_=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(a))),(()=>!0)))(a)&&0==$(a),x=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=x();return[async()=>J(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,x),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(m(f(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>f(S(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&g(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(g(u)||C(r,t)){const s=j(r,t),i=W(F(s));await E([...f(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?f(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(f(u,(a=>s+G(a))))});`),q(r,t,x([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):g(u)||await ea(a,t,e,S(n),[s,...P(n)],i)})));else if(g(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(F(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{h(s,t,...f(n,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+v(f(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+v(f(i,(a=>G(a)+"=excluded."+G(a))),s):n),f(o,(a=>a??null))),na=a=>v(f(a,(()=>"?")),s),sa=x(),ia=x(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[v,f,g,m,C]=((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=>{(v&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=E&&(E=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}E=0}))),L),O=()=>(u&&(s(u),u=void 0),L),b=async a=>(1!=E&&(E=2,await S((async()=>{try{await e(f,a)}catch(a){i?.(a)}E=0}))),L),N=()=>(y(p,a.delListener),p=void 0,L),S=async(...a)=>(h(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await N().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&b(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(p),schedule:S,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return R(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,v]=ta(t,l,s,d);return ra(a,(async()=>await v((async()=>{return await u(),a=(await p(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await E(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,v)=>{const[f,g,h,C]=ta(t,d,s,v),T=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await h(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await f();const a=await(async()=>L(m(await E(B(r,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await g(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await f(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",va="rowId"+la,fa="tableId",ga="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[ga]:e+"_values"},Ca=(a,t,e,n,s)=>{const i=x();return M(a,((a,r)=>{const o=u(P(D(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Ta="pragma_",Aa="data_version",Oa="schema_version";a.createExpoSqlitePersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,v,f;const[g,m,h,A]=(a=>{const t=(a=>D(ma,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(D(ha,r)),0,$(ha)),c=o[2],l=W(c),y=W(c);return[0,n,[Ca(s,{[fa]:null,[va]:k},fa,(a=>C(y,a)),(a=>z(l,a))),Ca(i,{[ga]:null,[va]:k,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(g?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${Oa}`);t==(E??=t)&&e==(v??=e)&&s==(f??=s)||(a(),E=t,v=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=v=f=null,i(t)}),o,l,h,T(A),y,d,p)})(a,n,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,i,3,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterExpoSqlite={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,a){"use strict";const s="utf8",n=e=>null==e,r=(e,t,a)=>n(e)?a?.():t(e),i=Object,o=e=>i.getPrototypeOf(e),c=i.keys,l=i.freeze,y=e=>(e=>!n(e)&&r(o(e),(e=>e==i.prototype||n(o(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),d=e=>new Map(e),f=(e,t)=>e?.get(t),u=(e,t,a)=>{return n(a)?(s=e,r=t,s?.delete(r),e):e?.set(t,a);var s,r},g=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||u(e,t,a()),f(e,t)},p=d(),h=d();e.createFilePersister=(e,i,o)=>((e,t,a,s,i,o,c,d={},v=[])=>{let w,C,A,b=0;g(p,v,(()=>0)),g(h,v,(()=>[]));const[S,m,F,T,L]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!y(e)||!y(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t),t.setContent]:0)(c,e),M=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},O=async e=>(2!=b&&(b=1,await q((async()=>{try{M(await t())}catch(t){o?.(t),e&&L(e)}b=0}))),D),P=()=>(C&&(i(C),C=void 0),D),x=async e=>(1!=b&&(b=2,await q((async()=>{try{await a(m,e)}catch(e){o?.(e)}b=0}))),D),j=()=>(r(A,e.delListener),A=void 0,D),q=async(...e)=>(((e,...t)=>{e.push(...t)})(f(h,v),...e),await(async()=>{if(!f(p,v)){for(u(p,v,1);!n((e=f(h,v),w=e.shift()));)try{await w()}catch(e){o?.(e)}u(p,v,0)}var e})(),D),D={load:O,startAutoLoad:async e=>(await P().load(e),C=s((async(e,t)=>{t||e?2!=b&&(b=1,M(t??e),b=0):await O()})),D),stopAutoLoad:P,isAutoLoading:()=>!n(C),save:x,startAutoSave:async()=>(await j().save(),A=e.addDidFinishTransactionListener((()=>{const e=F();T(e)&&x(e)})),D),stopAutoSave:j,isAutoSaving:()=>!n(A),schedule:q,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...d};return l(D)})(e,(async()=>{return e=await a.readFile(i,s),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return await a.writeFile(i,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))),s);var t}),(e=>t.watch(i,(()=>e()))),(e=>e?.close()),o,3,{getFilePath:()=>i})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
1
+ var e,t;e=this,t=function(e,t,a){"use strict";const s="utf8",r=e=>null==e,n=(e,t,a)=>r(e)?a?.():t(e),i=Object,o=e=>i.getPrototypeOf(e),c=i.keys,y=i.freeze,l=e=>(e=>!r(e)&&n(o(e),(e=>e==i.prototype||r(o(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),d=e=>new Map(e),f=(e,t)=>e?.get(t),p=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},u=(e,t,a,s)=>{var r,n;return r=e,n=t,r?.has(n)||p(e,t,a()),f(e,t)},g=d(),h=d();e.createFilePersister=(e,i,o)=>((e,t,a,s,i,o,c,d={},v=[])=>{let w,b,C,A=0;u(g,v,(()=>0)),u(h,v,(()=>[]));const[S,F,M,T,m]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!l(e)||!l(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!l(e)||!l(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(c,e),L=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=A&&(A=1,await q((async()=>{try{L(await t())}catch(t){o?.(t),e&&m(e)}A=0}))),D),O=()=>(b&&(i(b),b=void 0),D),x=async e=>(1!=A&&(A=2,await q((async()=>{try{await a(F,e)}catch(e){o?.(e)}A=0}))),D),j=()=>(n(C,e.delListener),C=void 0,D),q=async(...e)=>(((e,...t)=>{e.push(...t)})(f(h,v),...e),await(async()=>{if(!f(g,v)){for(p(g,v,1);!r((e=f(h,v),w=e.shift()));)try{await w()}catch(e){o?.(e)}p(g,v,0)}var e})(),D),D={load:P,startAutoLoad:async e=>(await O().load(e),b=s((async(e,t)=>{t||e?2!=A&&(A=1,L(t??e),A=0):await P()})),D),stopAutoLoad:O,isAutoLoading:()=>!r(b),save:x,startAutoSave:async()=>(await j().save(),C=e.addDidFinishTransactionListener((()=>{const e=M();T(e)&&x(e)})),D),stopAutoSave:j,isAutoSaving:()=>!r(C),schedule:q,getStore:()=>e,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...d};return y(D)})(e,(async()=>{return e=await a.readFile(i,s),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return await a.writeFile(i,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))),s);var t}),(e=>t.watch(i,(()=>e()))),(e=>e?.close()),o,3,{getFilePath:()=>i})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e.fs,e["fs/promises"]);
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=clearInterval,n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),r=e=>new t(e),o=async e=>t.all(e),c=(e,t)=>e.map(t),i=(e,...t)=>e.push(...t),l=Object,d=e=>l.getPrototypeOf(e),y=l.entries,u=l.keys,g=l.freeze,p=e=>(e=>!n(e)&&s(d(e),(e=>e==l.prototype||n(d(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),w=e=>new Map(e),h=(e,t)=>e?.get(t),f=(e,t,a)=>{return n(a)?(s=e,r=t,s?.delete(r),e):e?.set(t,a);var s,r},v=(e,t,a,n)=>{var s,r;return s=e,r=t,s?.has(r)||f(e,t,a()),h(e,t)},b=w(),A=w(),C=globalThis.window,S=["t","v"],x={keyPath:"k"},D=async(e,t)=>{const a=((t,a)=>c(y(t),(([t,a])=>m(e,"put",{k:t,v:a}))))(t);c(await m(e,"getAllKeys"),(n=>((e,t)=>t in e)(t,n)?0:i(a,m(e,"delete",n)))),await o(a)},m=async(e,t,a)=>r(((n,s)=>{const r=e[t](a);r.onsuccess=()=>n(r.result),r.onerror=()=>s(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,t,d=1,y)=>{const u=async(e,a=[],n=0)=>r(((s,r)=>{const i=(C?C.indexedDB:indexedDB).open(t,n?2:void 0);i.onupgradeneeded=()=>n&&c(S,(e=>{try{i.result.createObjectStore(e,x)}catch{}})),i.onsuccess=async()=>{try{const t=i.result.transaction(S,"readwrite"),n=await o(c(S,(async(n,s)=>await e(t.objectStore(n),a[s]))));i.result.close(),s(n)}catch(e){i.result.close(),r(e)}},i.onerror=()=>r("indexedDB.open error")}));return((e,t,a,r,o,c,l,d={},y=[])=>{let u,w,C,S=0;v(b,y,(()=>0)),v(A,y,(()=>[]));const[x,D,m,T,j]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:0)(l,e),M=t=>{var a;(x&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},k=async e=>(2!=S&&(S=1,await I((async()=>{try{M(await t())}catch(t){c?.(t),e&&j(e)}S=0}))),O),L=()=>(w&&(o(w),w=void 0),O),P=async e=>(1!=S&&(S=2,await I((async()=>{try{await a(D,e)}catch(e){c?.(e)}S=0}))),O),B=()=>(s(C,e.delListener),C=void 0,O),I=async(...e)=>(i(h(A,y),...e),await(async()=>{if(!h(b,y)){for(f(b,y,1);!n((e=h(A,y),u=e.shift()));)try{await u()}catch(e){c?.(e)}f(b,y,0)}var e})(),O),O={load:k,startAutoLoad:async e=>(await L().load(e),w=r((async(e,t)=>{t||e?2!=S&&(S=1,M(t??e),S=0):await k()})),O),stopAutoLoad:L,isAutoLoading:()=>!n(w),save:P,startAutoSave:async()=>(await B().save(),C=e.addDidFinishTransactionListener((()=>{const e=m();T(e)&&P(e)})),O),stopAutoSave:B,isAutoSaving:()=>!n(C),schedule:I,getStore:()=>e,destroy:()=>L().stopAutoSave(),getStats:()=>({}),...d};return g(O)})(e,(async()=>await u((async e=>((e=[])=>l.fromEntries(e))(c(await m(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await u((async(e,t)=>await D(e,t)),e(),1)),(e=>setInterval(e,1e3*d)),(e=>a(e)),y,1,{getDbName:()=>t})},e.objectStoreMatch=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=clearInterval,s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),r=e=>new t(e),o=async e=>t.all(e),i=(e,t)=>e.map(t),c=(e,...t)=>e.push(...t),l=Object,d=e=>l.getPrototypeOf(e),y=l.entries,u=l.keys,g=l.freeze,p=e=>(e=>!s(e)&&n(d(e),(e=>e==l.prototype||s(d(e))),(()=>!0)))(e)&&0==(e=>u(e).length)(e),h=e=>new Map(e),w=(e,t)=>e?.get(t),f=(e,t,a)=>{return s(a)?(n=e,r=t,n?.delete(r),e):e?.set(t,a);var n,r},v=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||f(e,t,a()),w(e,t)},b=h(),A=h(),S=globalThis.window,C=["t","v"],x={keyPath:"k"},D=async(e,t)=>{const a=((t,a)=>i(y(t),(([t,a])=>M(e,"put",{k:t,v:a}))))(t);i(await M(e,"getAllKeys"),(s=>((e,t)=>t in e)(t,s)?0:c(a,M(e,"delete",s)))),await o(a)},M=async(e,t,a)=>r(((s,n)=>{const r=e[t](a);r.onsuccess=()=>s(r.result),r.onerror=()=>n(`objectStore.${t} error`)}));e.createIndexedDbPersister=(e,t,d=1,y)=>{const u=async(e,a=[],s=0)=>r(((n,r)=>{const c=(S?S.indexedDB:indexedDB).open(t,s?2:void 0);c.onupgradeneeded=()=>s&&i(C,(e=>{try{c.result.createObjectStore(e,x)}catch{}})),c.onsuccess=async()=>{try{const t=c.result.transaction(C,"readwrite"),s=await o(i(C,(async(s,n)=>await e(t.objectStore(s),a[n]))));c.result.close(),n(s)}catch(e){c.result.close(),r(e)}},c.onerror=()=>r("indexedDB.open error")}));return((e,t,a,r,o,i,l,d={},y=[])=>{let u,h,S,C=0;v(b,y,(()=>0)),v(A,y,(()=>[]));const[x,D,M,T,j]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!p(e)||!p(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!p(e)||!p(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),m=t=>{var a;(x&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=C&&(C=1,await I((async()=>{try{m(await t())}catch(t){i?.(t),e&&j(e)}C=0}))),O),k=()=>(h&&(o(h),h=void 0),O),L=async e=>(1!=C&&(C=2,await I((async()=>{try{await a(D,e)}catch(e){i?.(e)}C=0}))),O),B=()=>(n(S,e.delListener),S=void 0,O),I=async(...e)=>(c(w(A,y),...e),await(async()=>{if(!w(b,y)){for(f(b,y,1);!s((e=w(A,y),u=e.shift()));)try{await u()}catch(e){i?.(e)}f(b,y,0)}var e})(),O),O={load:P,startAutoLoad:async e=>(await k().load(e),h=r((async(e,t)=>{t||e?2!=C&&(C=1,m(t??e),C=0):await P()})),O),stopAutoLoad:k,isAutoLoading:()=>!s(h),save:L,startAutoSave:async()=>(await B().save(),S=e.addDidFinishTransactionListener((()=>{const e=M();T(e)&&L(e)})),O),stopAutoSave:B,isAutoSaving:()=>!s(S),schedule:I,getStore:()=>e,destroy:()=>k().stopAutoSave(),getStats:()=>({}),...d};return g(O)})(e,(async()=>await u((async e=>((e=[])=>l.fromEntries(e))(i(await M(e,"getAll"),(({k:e,v:t})=>[e,t])))))),(async e=>await u((async(e,t)=>await D(e,t)),e(),1)),(e=>setInterval(e,1e3*d)),(e=>a(e)),y,1,{getDbName:()=>t})},e.objectStoreMatch=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterIndexedDb={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),N=O.entries,b=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(N(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>E(b(a)),_=a=>(a=>!l(a)&&y(L(a),(a=>a==O.prototype||l(L(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))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(T(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,S(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,S(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?S(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>g(b(a??{}),(a=>z(d,a)))));const u=h(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=W(x(s));await p([...g(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,b(n),[s,...P(n)],i)})));else if(v(u))T(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(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+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(o,(a=>a??null))),na=a=>f(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,p=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,g,v,m,T]=((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),h=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=p&&(p=1,await b((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),S),O=()=>(u&&(s(u),u=void 0),S),L=async a=>(1!=p&&(p=2,await b((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),N=()=>(y(E,a.delListener),E=void 0,S),b=async(...a)=>(C(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await A()})),S),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:L,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&L(a)})),S),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:b,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return R(S)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await p(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[g,v,C,T]=ta(t,d,s,f),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)}))),A=async(a,t)=>y?await C(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>S(m(await p(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await A(e)}else await h(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",fa="rowId"+la,ga="tableId",va="tableName",ma={mode:wa,[pa]:1},Ca={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},ha="pragma_",Aa="data_version",Oa="schema_version";a.createLibSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let p,f,g;const[v,m,C,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[Ea]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(Ca,r)),0,$(Ca)),c=o[2],l=W(c),y=W(c);return[0,n,[Ta(s,{[ga]:null,[fa]:k},ga,(a=>T(y,a)),(a=>z(l,a))),Ta(i,{[va]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${ha}${Aa} JOIN ${ha}${Oa}`);t==(p??=t)&&e==(f??=e)&&s==(g??=s)||(a(),p=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=g=null,i(t)}),o,l,C,h(A),y,d,E)})(a,n,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),f=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),v=a=>0==p(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),L=O.entries,N=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(L(a),(([a,e])=>t(e,a))),P=a=>O.values(a),$=a=>p(N(a)),_=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(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))),q=(a,t,e)=>l(e)?(A(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(C(a,t)||q(a,t,e()),j(a,t)),J=(a,t,e,n=q)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(d(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=U+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>J(r,S(await E(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,J(H(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?S(m(g(await a(X+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=W();M(o??{},(a=>g(N(a??{}),(a=>z(d,a)))));const u=T(d);if(!w&&y&&v(u)&&C(r,t))return await a("DROP "+K+G(t)),void q(r,t);if(v(u)||C(r,t)){const s=j(r,t),i=W(x(s));await E([...g(u,(async e=>{A(i,e)||(await a(V+G(t)+"ADD"+G(e)),q(s,e,n))})),...!w&&c?g(T(i),(async n=>{n!=e&&(await a(V+G(t)+"DROP"+G(n)),q(s,n))})):[]])}else await a("CREATE "+K+G(t)+"("+G(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(g(u,(a=>s+G(a))))});`),q(r,t,F([[e,n],...g(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+G(t)+aa+" 1"):await E(M(o,(async(n,s)=>{l(n)?await a(Q+G(t)+aa+G(e)+"=?",[s]):v(u)||await ea(a,t,e,N(n),[s,...P(n)],i)})));else if(v(u))C(r,t)&&await a(Q+G(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{h(s,t,...g(n,(t=>a?.[t]))),h(c,t)})),await ea(a,t,e,n,s,i),await a(Q+G(t)+aa+G(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+G(t)+"("+G(e)+f(g(i,(a=>s+G(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+G(e)+")DO UPDATE SET"+f(g(i,(a=>G(a)+"=excluded."+G(a))),s):n),g(o,(a=>a??null))),na=a=>f(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0;H(sa,c,(()=>0)),H(ia,c,(()=>[]));const[f,g,v,m,C]=((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=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=E&&(E=1,await N((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}E=0}))),S),O=()=>(u&&(s(u),u=void 0),S),b=async a=>(1!=E&&(E=2,await N((async()=>{try{await e(g,a)}catch(a){i?.(a)}E=0}))),S),L=()=>(y(p,a.delListener),p=void 0,S),N=async(...a)=>(h(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(q(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}q(sa,c,0)}var a})(),S),S={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await A()})),S),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await L().save(),p=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&b(a)})),S),stopAutoSave:L,isAutoSaving:()=>!l(p),schedule:N,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return R(S)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await p(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await E(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,f)=>{const[g,v,h,C]=ta(t,d,s,f),T=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)}))),A=async(a,t)=>y?await h(w,k,{[Y]:a},!0,!0,t):null;return ra(a,(async()=>await C((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(w,k))[Y]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await g(),l(t)){const[t,e]=a();await T(t),await A(e)}else await T(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",fa="rowId"+la,ga="tableId",va="tableName",ma={mode:wa,[Ea]:1},ha={load:0,save:0,[va]:e+"_values"},Ca=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=u(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))})),i},Ta="pragma_",Aa="data_version",Oa="schema_version";a.createLibSqlPersister=(a,t,n,s,i)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,f,g;const[v,m,h,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??k,t[pa]??ya],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(P(I(ha,r)),0,$(ha)),c=o[2],l=W(c),y=W(c);return[0,n,[Ca(s,{[ga]:null,[fa]:k},ga,(a=>C(y,a)),(a=>z(l,a))),Ca(i,{[va]:null,[fa]:k,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>C(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ta}${Aa} JOIN ${Ta}${Oa}`);t==(E??=t)&&e==(f??=e)&&s==(g??=s)||(a(),E=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=f=g=null,i(t)}),o,l,h,T(A),y,d,p)})(a,n,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,i,1,t,"getClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterLibsql={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,g=c.freeze,l=t=>(t=>!n(t)&&o(y(t),(t=>t==c.prototype||n(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),p=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),f=JSON.parse,h="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},C=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)||w(t,e,a()),v(t,e)},m=u(),P=u(),b="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:u="https",storePath:A=h,messagePrefix:S=a}={...r(s)?{storeProtocol:s}:s},L=u+"://"+y+"/parties/"+e.name+"/"+d+A,T=async t=>await(await fetch(L,{...t?{method:"PUT",body:p(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,r,i,c,y={},d=[])=>{let p,f,h,u=0;C(m,d,(()=>0)),C(P,d,(()=>[]));const[b,A,S,L,T]=((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)(c,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)},O=async t=>(2!=u&&(u=1,await k((async()=>{try{M(await e())}catch(e){i?.(e),t&&T(t)}u=0}))),D),x=()=>(f&&(r(f),f=void 0),D),j=async t=>(1!=u&&(u=2,await k((async()=>{try{await a(A,t)}catch(t){i?.(t)}u=0}))),D),E=()=>(o(h,t.delListener),h=void 0,D),k=async(...t)=>(((t,...e)=>{t.push(...e)})(v(P,d),...t),await(async()=>{if(!v(m,d)){for(w(m,d,1);!n((t=v(P,d),p=t.shift()));)try{await p()}catch(t){i?.(t)}w(m,d,0)}var t})(),D),D={load:O,startAutoLoad:async t=>(await x().load(t),f=s((async(t,e)=>{e||t?2!=u&&(u=1,M(e??t),u=0):await O()})),D),stopAutoLoad:x,isAutoLoading:()=>!n(f),save:j,startAutoSave:async()=>(await E().save(),h=t.addDidFinishTransactionListener((()=>{const t=S();L(t)&&j(t)})),D),stopAutoSave:E,isAutoSaving:()=>!n(h),schedule:k,getStore:()=>t,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...y};return g(D)})(t,(async()=>await T()),(async(t,a)=>{var s;a?e.send(S+"s"+(r(s=a)?s:p(s))):await T(t())}),(t=>{const a=e=>o(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],f((n=e,o=s+1,n.slice(o,void 0)))]:void 0;var n,o})(S,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return e.addEventListener(b,a),a}),(t=>{e.removeEventListener(b,t)}),c,1,{getConnection:()=>e})}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a="",s=e(a),o=t=>null==t,n=(t,e,a)=>o(t)?a?.():e(t),r=t=>e(t)==s,i=t=>t.length,c=Object,y=t=>c.getPrototypeOf(t),d=c.keys,p=c.freeze,l=t=>(t=>!o(t)&&n(y(t),(t=>t==c.prototype||o(y(t))),(()=>!0)))(t)&&0==(t=>i(d(t)))(t),g=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),h=JSON.parse,f="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return o(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},C=(t,e,a,s)=>{var o,n;return o=t,n=e,o?.has(n)||w(t,e,a()),v(t,e)},b=u(),P=u(),m="message";t.createPartyKitPersister=(t,e,s,c)=>{const{host:y,room:d}=e.partySocketOptions,{storeProtocol:u="https",storePath:S=f,messagePrefix:A=a}={...r(s)?{storeProtocol:s}:s},L=u+"://"+y+"/parties/"+e.name+"/"+d+S,M=async t=>await(await fetch(L,{...t?{method:"PUT",body:g(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,s,r,i,c,y={},d=[])=>{let g,h,f,u=0;C(b,d,(()=>0)),C(P,d,(()=>[]));const[m,S,A,L,M]=((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")})())(c,t),T=e=>{var a;(m&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},O=async t=>(2!=u&&(u=1,await k((async()=>{try{T(await e())}catch(e){i?.(e),t&&M(t)}u=0}))),D),x=()=>(h&&(r(h),h=void 0),D),E=async t=>(1!=u&&(u=2,await k((async()=>{try{await a(S,t)}catch(t){i?.(t)}u=0}))),D),j=()=>(n(f,t.delListener),f=void 0,D),k=async(...t)=>(((t,...e)=>{t.push(...e)})(v(P,d),...t),await(async()=>{if(!v(b,d)){for(w(b,d,1);!o((t=v(P,d),g=t.shift()));)try{await g()}catch(t){i?.(t)}w(b,d,0)}var t})(),D),D={load:O,startAutoLoad:async t=>(await x().load(t),h=s((async(t,e)=>{e||t?2!=u&&(u=1,T(e??t),u=0):await O()})),D),stopAutoLoad:x,isAutoLoading:()=>!o(h),save:E,startAutoSave:async()=>(await j().save(),f=t.addDidFinishTransactionListener((()=>{const t=A();L(t)&&E(t)})),D),stopAutoSave:j,isAutoSaving:()=>!o(f),schedule:k,getStore:()=>t,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...y};return p(D)})(t,(async()=>await M()),(async(t,a)=>{var s;a?e.send(A+"s"+(r(s=a)?s:g(s))):await M(t())}),(t=>{const a=e=>n(((t,e,a)=>{const s=i(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],h((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(A,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return e.addEventListener(m,a),a}),(t=>{e.removeEventListener(m,t)}),c,1,{getConnection:()=>e})}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterPartyKitClient={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,g=async a=>o.all(a),f=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),v=a=>0==E(a),m=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],A=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,R=O.keys,S=O.freeze,L=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>O.values(a),_=a=>E(R(a)),$=a=>(a=>!l(a)&&y(b(a),(a=>a==O.prototype||l(b(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)?(A(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)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await g(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,L(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)?L(m(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)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>p(R(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&h(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||h(r,t)){const s=j(r,t),i=z(x(s));await g([...p(u,(async e=>{A(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?p(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${f(p(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...p(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await g(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,R(n),[s,...M(n)],i)})));else if(v(u))h(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=m(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{T(s,t,...p(n,(t=>a?.[t]))),T(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)+f(p(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+f(p(i,(a=>U(a)+"=excluded."+U(a))),s):n),p(o,(a=>a??null))),na=a=>f(p(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,E,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[f,p,v,m,h]=((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),C=t=>{(f&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},A=async a=>(2!=g&&(g=1,await R((async()=>{try{C(await t())}catch(t){i?.(t),a&&h(a)}g=0}))),L),O=()=>(u&&(s(u),u=void 0),L),b=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),N=()=>(y(E,a.delListener),E=void 0,L),R=async(...a)=>(T(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})(),L),L={load:A,startAutoLoad:async a=>(await O().load(a),u=n((async(a,t)=>{t||a?2!=g&&(g=1,C(t??a),g=0):await A()})),L),stopAutoLoad:O,isAutoLoading:()=>!l(u),save:b,startAutoSave:async()=>(await N().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&b(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(E),schedule:R,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...o};return S(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,g,f]=ta(t,l,s,d);return ra(a,(async()=>await f((async()=>{return await u(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await f((async()=>{var t;await u(),await g(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,E,f)=>{const[p,v,T,h]=ta(t,d,s,f),C=async(a,t)=>await g(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await T(e,n,a[r],s,i,t)}))),A=async(a,t)=>y?await T(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await p();const a=await(async()=>L(m(await g(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await p(),l(t)){const[t,e]=a();await C(t),await A(e)}else await C(t[0],!0),await A(t[1],!0)}))),e,n,s,i,{[E]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,Ea=ya+la,ga="autoLoadIntervalSeconds",fa="rowId"+la,pa="tableId",va="tableName",ma={mode:wa,[ga]:1},Ta={load:0,save:0,[va]:e+"_values"},ha=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",Aa="data_version",Oa="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",E)=>{let g,f,p;const[v,m,T,A]=(a=>{const t=(a=>I(ma,w(a)?{[da]:a}:a??{}))(a),n=t[ga];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[Ea]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(Ta,r)),0,_(Ta)),c=o[2],l=z(c),y=z(c);return[0,n,[ha(s,{[pa]:null,[fa]:G},pa,(a=>h(y,a)),(a=>K(l,a))),ha(i,{[va]:null,[fa]:G,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>h(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Aa} d,${Oa} s,TOTAL_CHANGES() c FROM ${Ca}${Aa} JOIN ${Ca}${Oa}`);t==(g??=t)&&e==(f??=e)&&s==(p??=s)||(a(),g=t,f=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),g=f=p=null,i(t)}),o,l,T,C(A),y,d,E)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)p(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,d=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>o.all(a),g=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),v=a=>0==p(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,C=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),A=Object,O=a=>A.getPrototypeOf(a),N=A.entries,S=A.keys,R=A.freeze,L=(a=[])=>A.fromEntries(a),I=(...a)=>A.assign({},...a),D=(a,t)=>t in a,P=(a,t)=>f(N(a),(([a,e])=>t(e,a))),M=a=>A.values(a),_=a=>p(S(a)),$=a=>(a=>!l(a)&&y(O(a),(a=>a==A.prototype||l(O(a))),(()=>!0)))(a)&&0==_(a),F=a=>new Map(a),x=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(T(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",z=a=>new Set(d(a)||l(a)?a:[a]),K=(a,t)=>a?.add(t),V="TABLE",q="ALTER "+V,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,L(await E(f(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,L(f(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(j(j(r,a),t)))(t,e)?L(h(f(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!$(t)))):{},async(t,e,o,c,y,w=!1)=>{const d=z();P(o??{},(a=>f(S(a??{}),(a=>K(d,a)))));const u=C(d);if(!w&&y&&v(u)&&T(r,t))return await a("DROP "+V+U(t)),void H(r,t);if(v(u)||T(r,t)){const s=j(r,t),i=z(x(s));await E([...f(u,(async e=>{b(i,e)||(await a(q+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?f(C(i),(async n=>{n!=e&&(await a(q+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+V+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${g(f(u,(a=>s+U(a))))});`),H(r,t,F([[e,n],...f(u,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await E(P(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):v(u)||await ea(a,t,e,S(n),[s,...M(n)],i)})));else if(v(u))T(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=h(x(j(r,t)),(a=>a!=e)),s=[],c=[];P(o??{},((a,t)=>{m(s,t,...f(n,(t=>a?.[t]))),m(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+g(f(i,(a=>s+U(a))))+")VALUES"+u(r(`,(?${r(",?",p(i))})`,p(o)/(p(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+g(f(i,(a=>U(a)+"=excluded."+U(a))),s):n),f(o,(a=>a??null))),na=a=>g(f(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,u,p,E=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[g,f,v,h,T]=((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),C=t=>{(g&&d(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=E&&(E=1,await S((async()=>{try{C(await t())}catch(t){i?.(t),a&&T(a)}E=0}))),L),A=()=>(u&&(s(u),u=void 0),L),O=async a=>(1!=E&&(E=2,await S((async()=>{try{await e(f,a)}catch(a){i?.(a)}E=0}))),L),N=()=>(y(p,a.delListener),p=void 0,L),S=async(...a)=>(m(j(ia,c),...a),await(async()=>{if(!j(sa,c)){for(H(sa,c,1);!l((a=j(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),L),L={load:b,startAutoLoad:async a=>(await A().load(a),u=n((async(a,t)=>{t||a?2!=E&&(E=1,C(t??a),E=0):await b()})),L),stopAutoLoad:A,isAutoLoading:()=>!l(u),save:O,startAutoSave:async()=>(await N().save(),p=a.addDidFinishTransactionListener((()=>{const a=v();h(a)&&O(a)})),L),stopAutoSave:N,isAutoSaving:()=>!l(p),schedule:S,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return R(L)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,p,E,g]=ta(t,l,s,d);return ra(a,(async()=>await g((async()=>{return await u(),a=(await p(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await u(),await E(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],d,u,p,g)=>{const[f,v,m,T]=ta(t,d,s,g),C=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await m(e,n,a[r],s,i,t)}))),b=async(a,t)=>y?await m(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await f();const a=await(async()=>L(h(await E(B(r,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await v(w,G))[k]:{})();return $(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await f(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},la="ColumnName",ya="store",wa="json",da=ya+"TableName",ua=ya+"Id"+la,pa=ya+la,Ea="autoLoadIntervalSeconds",ga="rowId"+la,fa="tableId",va="tableName",ha={mode:wa,[Ea]:1},ma={load:0,save:0,[va]:e+"_values"},Ta=(a,t,e,n,s)=>{const i=F();return P(a,((a,r)=>{const o=u(M(I(t,w(a)?{[e]:a}:a)),0,_(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ca="pragma_",ba="data_version",Aa="schema_version";a.createPowerSyncPersister=(a,t,n,s,i,r=!1)=>((a,t,n,s,i,r,o,l,y,d="getDb",p)=>{let E,g,f;const[v,h,m,b]=(a=>{const t=(a=>I(ha,w(a)?{[da]:a}:a??{}))(a),n=t[Ea];if(t.mode==wa){const a=t[da]??e;return[1,n,[a,t[ua]??G,t[pa]??ya],z(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=u(M(I(ma,r)),0,_(ma)),c=o[2],l=z(c),y=z(c);return[0,n,[Ta(s,{[fa]:null,[ga]:G},fa,(a=>T(y,a)),(a=>K(l,a))),Ta(i,{[va]:null,[ga]:G,deleteEmptyColumns:0,deleteEmptyTable:0},va,((a,t)=>T(y,t)),((a,t)=>K(l,t))),o],l]})(t);return(v?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ba} d,${Aa} s,TOTAL_CHANGES() c FROM ${Ca}${ba} JOIN ${Ca}${Aa}`);t==(E??=t)&&e==(g??=e)&&s==(f??=s)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>b.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=f=null,i(t)}),o,l,m,C(b),y,d,p)})(a,n,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)f(t.changedTables,a)})(),e}),(a=>a.abort()),s,i,1,t,"getPowerSync",r)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterPowersync={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,n=(e,t,n)=>a(e)?n?.():t(e),s=Object,r=e=>s.getPrototypeOf(e),o=s.keys,i=s.freeze,c=e=>(e=>!a(e)&&n(r(e),(e=>e==s.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),g=(e,t,n)=>{return a(n)?(s=e,r=t,s?.delete(r),e):e?.set(t,n);var s,r},f=(e,t,a,n)=>{var s,r;return s=e,r=t,s?.has(r)||g(e,t,a()),l(e,t)},p=d(),h=d(),u=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,d=5,v)=>{let w;return((e,t,s,r,o,y,d,u={},v=[])=>{let w,C,A,b=0;f(p,v,(()=>0)),f(h,v,(()=>[]));const[S,T,m,M,L]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:0)(d,e),O=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x=async e=>(2!=b&&(b=1,await E((async()=>{try{O(await t())}catch(t){y?.(t),e&&L(e)}b=0}))),I),P=()=>(C&&(o(C),C=void 0),I),j=async e=>(1!=b&&(b=2,await E((async()=>{try{await s(T,e)}catch(e){y?.(e)}b=0}))),I),D=()=>(n(A,e.delListener),A=void 0,I),E=async(...e)=>(((e,...t)=>{e.push(...t)})(l(h,v),...e),await(async()=>{if(!l(p,v)){for(g(p,v,1);!a((e=l(h,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}g(p,v,0)}var e})(),I),I={load:x,startAutoLoad:async e=>(await P().load(e),C=r((async(e,t)=>{t||e?2!=b&&(b=1,O(t??e),b=0):await x()})),I),stopAutoLoad:P,isAutoLoading:()=>!a(C),save:j,startAutoSave:async()=>(await D().save(),A=e.addDidFinishTransactionListener((()=>{const e=m();M(e)&&j(e)})),I),stopAutoSave:D,isAutoSaving:()=>!a(A),schedule:E,getStore:()=>e,destroy:()=>P().stopAutoSave(),getStats:()=>({}),...u};return i(I)})(e,(async()=>{const e=await fetch(r);return w=u(e),y(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?s.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),n=u(t);a(w)||a(n)||n==w||(w=n,e())}),1e3*d)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=clearInterval,a=e=>null==e,s=(e,t,s)=>a(e)?s?.():t(e),n=Object,r=e=>n.getPrototypeOf(e),o=n.keys,i=n.freeze,c=e=>(e=>!a(e)&&s(r(e),(e=>e==n.prototype||a(r(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),p=(e,t,s)=>{return a(s)?(n=e,r=t,n?.delete(r),e):e?.set(t,s);var n,r},g=(e,t,a,s)=>{var n,r;return n=e,r=t,n?.has(r)||p(e,t,a()),l(e,t)},h=d(),f=d(),u=e=>e.headers.get("ETag");e.createRemotePersister=(e,r,o,d=5,v)=>{let w;return((e,t,n,r,o,y,d,u={},v=[])=>{let w,b,C,A=0;g(h,v,(()=>0)),g(f,v,(()=>[]));const[S,T,m,M,L]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(d,e),O=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=A&&(A=1,await D((async()=>{try{O(await t())}catch(t){y?.(t),e&&L(e)}A=0}))),I),x=()=>(b&&(o(b),b=void 0),I),E=async e=>(1!=A&&(A=2,await D((async()=>{try{await n(T,e)}catch(e){y?.(e)}A=0}))),I),j=()=>(s(C,e.delListener),C=void 0,I),D=async(...e)=>(((e,...t)=>{e.push(...t)})(l(f,v),...e),await(async()=>{if(!l(h,v)){for(p(h,v,1);!a((e=l(f,v),w=e.shift()));)try{await w()}catch(e){y?.(e)}p(h,v,0)}var e})(),I),I={load:P,startAutoLoad:async e=>(await x().load(e),b=r((async(e,t)=>{t||e?2!=A&&(A=1,O(t??e),A=0):await P()})),I),stopAutoLoad:x,isAutoLoading:()=>!a(b),save:E,startAutoSave:async()=>(await j().save(),C=e.addDidFinishTransactionListener((()=>{const e=m();M(e)&&E(e)})),I),stopAutoSave:j,isAutoSaving:()=>!a(C),schedule:D,getStore:()=>e,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...u};return i(I)})(e,(async()=>{const e=await fetch(r);return w=u(e),y(await e.text())}),(async e=>{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?n.fromEntries([...t]):t)))});var t}),(e=>setInterval((async()=>{const t=await fetch(r,{method:"HEAD"}),s=u(t);a(w)||a(s)||s==w||(w=s,e())}),1e3*d)),(e=>t(e)),v,1,{getUrls:()=>[r,o]})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});