tinybase 5.0.0-beta.5 → 5.0.0-beta.7

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 (398) 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 -0
  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 -0
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
  42. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  43. package/lib/cjs/synchronizers.cjs +1 -0
  44. package/lib/cjs/synchronizers.cjs.gz +0 -0
  45. package/lib/cjs/tinybase.cjs +1 -1
  46. package/lib/cjs/tinybase.cjs.gz +0 -0
  47. package/lib/cjs/tools.cjs +1 -1
  48. package/lib/cjs/tools.cjs.gz +0 -0
  49. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  50. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  51. package/lib/cjs/ui-react.cjs +1 -1
  52. package/lib/cjs/ui-react.cjs.gz +0 -0
  53. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  54. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  76. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  84. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters.cjs +1 -1
  86. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  87. package/lib/cjs-es6/store.cjs +1 -1
  88. package/lib/cjs-es6/store.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
  90. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  91. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
  92. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  93. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
  94. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  95. package/lib/cjs-es6/synchronizers.cjs +1 -0
  96. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  97. package/lib/cjs-es6/tinybase.cjs +1 -1
  98. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  99. package/lib/cjs-es6/tools.cjs +1 -1
  100. package/lib/cjs-es6/tools.cjs.gz +0 -0
  101. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  102. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  103. package/lib/cjs-es6/ui-react.cjs +1 -1
  104. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  105. package/lib/debug/mergeable-store.js +287 -130
  106. package/lib/debug/persisters/persister-automerge.js +39 -46
  107. package/lib/debug/persisters/persister-browser.js +39 -46
  108. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
  109. package/lib/debug/persisters/persister-electric-sql.js +64 -60
  110. package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
  111. package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
  112. package/lib/debug/persisters/persister-file.js +39 -46
  113. package/lib/debug/persisters/persister-indexed-db.js +39 -46
  114. package/lib/debug/persisters/persister-libsql.js +64 -60
  115. package/lib/debug/persisters/persister-partykit-client.js +39 -46
  116. package/lib/debug/persisters/persister-powersync.js +917 -0
  117. package/lib/debug/persisters/persister-remote.js +39 -46
  118. package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
  119. package/lib/debug/persisters/persister-sqlite3.js +64 -60
  120. package/lib/debug/persisters/persister-yjs.js +41 -48
  121. package/lib/debug/persisters.js +38 -45
  122. package/lib/debug/store.js +44 -32
  123. package/lib/debug/synchronizers/synchronizer-local.js +502 -0
  124. package/lib/debug/synchronizers/synchronizer-ws-client.js +525 -0
  125. package/lib/debug/synchronizers/synchronizer-ws-server.js +57 -0
  126. package/lib/debug/synchronizers.js +466 -0
  127. package/lib/debug/tinybase.js +569 -250
  128. package/lib/debug/tools.js +2 -2
  129. package/lib/debug/ui-react-dom.js +81 -76
  130. package/lib/debug/ui-react.js +1 -1
  131. package/lib/es6/mergeable-store.js +1 -1
  132. package/lib/es6/mergeable-store.js.gz +0 -0
  133. package/lib/es6/persisters/persister-automerge.js +1 -1
  134. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  135. package/lib/es6/persisters/persister-browser.js +1 -1
  136. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  137. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  138. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  139. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  140. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  141. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  142. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  143. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  144. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  145. package/lib/es6/persisters/persister-file.js +1 -1
  146. package/lib/es6/persisters/persister-file.js.gz +0 -0
  147. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  148. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  149. package/lib/es6/persisters/persister-libsql.js +1 -1
  150. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  151. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  152. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  153. package/lib/es6/persisters/persister-powersync.js +1 -0
  154. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  155. package/lib/es6/persisters/persister-remote.js +1 -1
  156. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  157. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  158. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  159. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  160. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  161. package/lib/es6/persisters/persister-yjs.js +1 -1
  162. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  163. package/lib/es6/persisters.js +1 -1
  164. package/lib/es6/persisters.js.gz +0 -0
  165. package/lib/es6/store.js +1 -1
  166. package/lib/es6/store.js.gz +0 -0
  167. package/lib/es6/synchronizers/synchronizer-local.js +1 -0
  168. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  169. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
  170. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  171. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
  172. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  173. package/lib/es6/synchronizers.js +1 -0
  174. package/lib/es6/synchronizers.js.gz +0 -0
  175. package/lib/es6/tinybase.js +1 -1
  176. package/lib/es6/tinybase.js.gz +0 -0
  177. package/lib/es6/tools.js +1 -1
  178. package/lib/es6/tools.js.gz +0 -0
  179. package/lib/es6/ui-react-dom-debug.js +1 -1
  180. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  181. package/lib/es6/ui-react.js +1 -1
  182. package/lib/es6/ui-react.js.gz +0 -0
  183. package/lib/mergeable-store.js +1 -1
  184. package/lib/mergeable-store.js.gz +0 -0
  185. package/lib/persisters/persister-automerge.js +1 -1
  186. package/lib/persisters/persister-automerge.js.gz +0 -0
  187. package/lib/persisters/persister-browser.js +1 -1
  188. package/lib/persisters/persister-browser.js.gz +0 -0
  189. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  190. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  191. package/lib/persisters/persister-electric-sql.js +1 -1
  192. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  193. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  194. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  195. package/lib/persisters/persister-expo-sqlite.js +1 -1
  196. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  197. package/lib/persisters/persister-file.js +1 -1
  198. package/lib/persisters/persister-file.js.gz +0 -0
  199. package/lib/persisters/persister-indexed-db.js +1 -1
  200. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  201. package/lib/persisters/persister-libsql.js +1 -1
  202. package/lib/persisters/persister-libsql.js.gz +0 -0
  203. package/lib/persisters/persister-partykit-client.js +1 -1
  204. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  205. package/lib/persisters/persister-powersync.js +1 -0
  206. package/lib/persisters/persister-powersync.js.gz +0 -0
  207. package/lib/persisters/persister-remote.js +1 -1
  208. package/lib/persisters/persister-remote.js.gz +0 -0
  209. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  210. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  211. package/lib/persisters/persister-sqlite3.js +1 -1
  212. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  213. package/lib/persisters/persister-yjs.js +1 -1
  214. package/lib/persisters/persister-yjs.js.gz +0 -0
  215. package/lib/persisters.js +1 -1
  216. package/lib/persisters.js.gz +0 -0
  217. package/lib/store.js +1 -1
  218. package/lib/store.js.gz +0 -0
  219. package/lib/synchronizers/synchronizer-local.js +1 -0
  220. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  221. package/lib/synchronizers/synchronizer-ws-client.js +1 -0
  222. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  223. package/lib/synchronizers/synchronizer-ws-server.js +1 -0
  224. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  225. package/lib/synchronizers.js +1 -0
  226. package/lib/synchronizers.js.gz +0 -0
  227. package/lib/tinybase.js +1 -1
  228. package/lib/tinybase.js.gz +0 -0
  229. package/lib/tools.js +1 -1
  230. package/lib/tools.js.gz +0 -0
  231. package/lib/types/checkpoints.d.ts +2 -2
  232. package/lib/types/indexes.d.ts +2 -2
  233. package/lib/types/mergeable-store.d.ts +121 -59
  234. package/lib/types/metrics.d.ts +2 -2
  235. package/lib/types/persisters/persister-automerge.d.ts +3 -0
  236. package/lib/types/persisters/persister-browser.d.ts +9 -2
  237. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
  238. package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
  239. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
  240. package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
  241. package/lib/types/persisters/persister-file.d.ts +5 -1
  242. package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
  243. package/lib/types/persisters/persister-libsql.d.ts +3 -0
  244. package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
  245. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  246. package/lib/types/persisters/persister-remote.d.ts +3 -0
  247. package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
  248. package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
  249. package/lib/types/persisters/persister-yjs.d.ts +5 -2
  250. package/lib/types/persisters.d.ts +68 -19
  251. package/lib/types/queries.d.ts +2 -2
  252. package/lib/types/relationships.d.ts +2 -2
  253. package/lib/types/store.d.ts +36 -3
  254. package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
  255. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +30 -0
  256. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -0
  257. package/lib/types/synchronizers.d.ts +131 -0
  258. package/lib/types/tinybase.d.ts +10 -9
  259. package/lib/types/tools.d.ts +2 -2
  260. package/lib/types/ui-react.d.ts +8 -8
  261. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  262. package/lib/types/with-schemas/indexes.d.ts +2 -2
  263. package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
  264. package/lib/types/with-schemas/metrics.d.ts +2 -2
  265. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
  266. package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
  267. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
  268. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
  269. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
  270. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
  271. package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
  272. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
  273. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
  274. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
  275. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  276. package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
  277. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
  278. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
  279. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
  280. package/lib/types/with-schemas/persisters.d.ts +90 -62
  281. package/lib/types/with-schemas/queries.d.ts +3 -3
  282. package/lib/types/with-schemas/relationships.d.ts +2 -2
  283. package/lib/types/with-schemas/store.d.ts +100 -3
  284. package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
  285. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +32 -0
  286. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -0
  287. package/lib/types/with-schemas/synchronizers.d.ts +146 -0
  288. package/lib/types/with-schemas/tinybase.d.ts +9 -9
  289. package/lib/types/with-schemas/tools.d.ts +2 -2
  290. package/lib/types/with-schemas/ui-react.d.ts +8 -8
  291. package/lib/ui-react.js +1 -1
  292. package/lib/ui-react.js.gz +0 -0
  293. package/lib/umd/mergeable-store.js +1 -1
  294. package/lib/umd/mergeable-store.js.gz +0 -0
  295. package/lib/umd/persisters/persister-automerge.js +1 -1
  296. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  297. package/lib/umd/persisters/persister-browser.js +1 -1
  298. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  299. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  300. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  301. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  302. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  303. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  304. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  305. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  306. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  307. package/lib/umd/persisters/persister-file.js +1 -1
  308. package/lib/umd/persisters/persister-file.js.gz +0 -0
  309. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  310. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  311. package/lib/umd/persisters/persister-libsql.js +1 -1
  312. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  313. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  314. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  315. package/lib/umd/persisters/persister-powersync.js +1 -0
  316. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  317. package/lib/umd/persisters/persister-remote.js +1 -1
  318. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  319. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  320. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  321. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  322. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  323. package/lib/umd/persisters/persister-yjs.js +1 -1
  324. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  325. package/lib/umd/persisters.js +1 -1
  326. package/lib/umd/persisters.js.gz +0 -0
  327. package/lib/umd/store.js +1 -1
  328. package/lib/umd/store.js.gz +0 -0
  329. package/lib/umd/synchronizers/synchronizer-local.js +1 -0
  330. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  331. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
  332. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  333. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
  334. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  335. package/lib/umd/synchronizers.js +1 -0
  336. package/lib/umd/synchronizers.js.gz +0 -0
  337. package/lib/umd/tinybase.js +1 -1
  338. package/lib/umd/tinybase.js.gz +0 -0
  339. package/lib/umd/tools.js +1 -1
  340. package/lib/umd/tools.js.gz +0 -0
  341. package/lib/umd/ui-react-dom-debug.js +1 -1
  342. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  343. package/lib/umd/ui-react.js +1 -1
  344. package/lib/umd/ui-react.js.gz +0 -0
  345. package/lib/umd-es6/mergeable-store.js +1 -1
  346. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  347. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  348. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  349. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  350. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  351. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  352. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  353. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  354. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  355. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  356. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  357. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  358. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  359. package/lib/umd-es6/persisters/persister-file.js +1 -1
  360. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  361. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  362. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  363. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  364. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  365. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  366. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  367. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  368. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  369. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  370. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  371. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  372. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  373. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  374. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  375. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  376. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  377. package/lib/umd-es6/persisters.js +1 -1
  378. package/lib/umd-es6/persisters.js.gz +0 -0
  379. package/lib/umd-es6/store.js +1 -1
  380. package/lib/umd-es6/store.js.gz +0 -0
  381. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
  382. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  383. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
  384. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  385. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
  386. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  387. package/lib/umd-es6/synchronizers.js +1 -0
  388. package/lib/umd-es6/synchronizers.js.gz +0 -0
  389. package/lib/umd-es6/tinybase.js +1 -1
  390. package/lib/umd-es6/tinybase.js.gz +0 -0
  391. package/lib/umd-es6/tools.js +1 -1
  392. package/lib/umd-es6/tools.js.gz +0 -0
  393. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  394. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  395. package/lib/umd-es6/ui-react.js +1 -1
  396. package/lib/umd-es6/ui-react.js.gz +0 -0
  397. package/package.json +37 -26
  398. package/readme.md +2 -2
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",d="Table",u=d+"s",g=d+i,h="Row",C=h+"Count",T=h+i,b="Cell",f=b+i,V="Value",v=V+"s",p=V+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),I=Math.max,R=isFinite,m=e=>null==e,L=(e,t,s)=>m(e)?s?.():t(e),H=e=>e==s||e==n,J=t=>e(t)==l,E=(e,t,s)=>e.slice(t,s),M=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.keys,k=z.isFrozen,D=z.freeze,N=e=>!m(e)&&L(A(e),(e=>e==z.prototype||m(A(e))),(()=>!0)),j=(e=[])=>z.fromEntries(e),$=(e,t)=>t in e,q=(e,t)=>(delete e[t],e),B=(e,t)=>F(P(e),(([e,s])=>t(s,e))),G=(e,t)=>O(P(e),(([e,s])=>t(s,e))),K=e=>N(e)&&0==(e=>M(W(e)))(e),Q=(e,t,s)=>($(e,t)||(e[t]=s()),e[t]),U=e=>e?.size??0,X=(e,t)=>e?.has(t)??!1,Y=e=>m(e)||0==U(e),Z=e=>e.clear(),_=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),se=e=>[...e?.keys()??[]],ne=(e,t)=>e?.get(t),ae=(e,t)=>_(e,((e,s)=>t(s,e))),le=(e,t,s)=>m(s)?(ee(e,t),e):e?.set(t,s),re=(e,t,s,n)=>(X(e,t)?n?.(ne(e,t)):le(e,t,s()),ne(e,t)),oe=(e,t,s,n=le)=>(G(t,((t,n)=>s(e,n,t))),ae(e,(s=>$(t,s)?0:n(e,s))),e),ce=(e,t,s)=>{const n={};return _(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ie=(e,t,s)=>ce(e,(e=>ce(e,t,s)),K),de=(e,t,s)=>ce(e,(e=>ie(e,t,s)),K),ue=(e,t)=>{const s=te();return _(e,((e,n)=>s.set(n,t?.(e)??e))),s},ge=e=>ue(e,ue),he=e=>ue(e,ge),Ce=(e,t,s,n,a=0)=>L((s?re:ne)(e,t[a],a>M(t)-2?s:te),(l=>{if(a>M(t)-2)return n?.(l)&&le(e,t[a]),l;const r=Ce(l,t,s,n,a+1);return Y(l)&&le(e,t[a]),r})),Te=new globalThis.TextEncoder,be=e=>{let t=2166136261;return F(Te.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},fe=([e,t,s])=>[e,t,s],Ve=(e,t)=>[e,t],ve=(e,t)=>be(e+":"+t),pe=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},we=e=>Ve(e,j()),Se=(e="")=>[e,te(),0],ye=()=>[t,void 0,0],Ie=([e,t,s],n)=>[e,n(t,e),s],Re=(e,t=fe)=>Ie(e,(e=>ce(e,t))),me=e=>new Set(Array.isArray(e)||m(e)?e:[e]),Le=(e,t)=>e?.add(t),He=/^\d+$/,Je=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{He.test(t)&&M(e)<1e3&&x(e,t)}]},Ee=e=>[e,e],Me=()=>[te(),te()],Fe=e=>[...e],Oe=([e,t])=>e===t,xe=t=>{const s=e(t);return H(s)||s==a&&R(t)?s:void 0},ze=(e,t,s,n,a)=>m(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ae=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Pe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),We=JSON.parse,ke=(e,t,s)=>m(e)||!N(e)||K(e)||k(e)?(s?.(),!1):(G(e,((s,n)=>{t(s,n)||q(e,n)})),!K(e)),De=(e,t,s)=>le(e,t,ne(e,t)==-s?void 0:s),Ne=()=>{let e,s,n=!1,l=!1,i=0,S=[];const y=te(),I=te(),R=te(),z=te(),A=te(),P=te(),W=te(),k=te(),N=te(),j=te(),B=te(),Q=te(),Te=te(),be=te(),fe=me(),Ve=te(),ve=te(),pe=te(),we=te(),Se=Me(),ye=Me(),Ie=Me(),Re=Me(),He=Me(),je=Me(),$e=Me(),qe=Me(),Be=Me(),Ge=Me(),Ke=Me(),Qe=Me(),Ue=Me(),Xe=Me(),Ye=Me(),Ze=Me(),_e=Me(),et=Me(),tt=Me(),st=Me(),nt=Me(),at=Me(),lt=te(),rt=Me(),[ot,ct,it,dt]=(e=>{let s;const[n,a]=Je(),l=te();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Es;const i=n(1);return le(l,i,[e,a,r,o,c]),Le(Ce(a,r??[t],me),i),i},(e,n,...a)=>F(((e,s=[t])=>{const n=[],a=(e,t)=>t==M(s)?x(n,e):null===s[t]?_(e,(e=>a(e,t+1))):F([s[t],null],(s=>a(ne(e,s),t+1)));return a(e,0),n})(e,n),(e=>_(e,(e=>ne(l,e)[0](s,...n??[],...a))))),e=>L(ne(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(ee(t,e),Y(t)?1:0))),le(l,e),a(e),n))),e=>L(ne(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=M(r);o==M(t)?e(s,...r,...a(r)):m(t[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),ut=e=>{if(!ke(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(xe(e[o])!=t&&q(e,o),0))},gt=(t,s)=>(!e||X(B,s)||jt(s))&&ke(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>ke(n?s:ft(s,e,t),((n,a)=>L(Ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),Ct=(t,s,n,a)=>e?L(ne(ne(B,t),n),(e=>xe(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):m(xe(a))?jt(t,s,n,a):a,Tt=(e,t)=>ke(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),bt=(e,t)=>s?L(ne(Te,e),(s=>xe(t)!=s[r]?$t(e,t,s[o]):t),(()=>$t(e,t))):m(xe(t))?$t(e,t):t,ft=(e,t,s)=>(L(ne(Q,t),(([n,a])=>{_(n,((t,s)=>{$(e,s)||(e[s]=t)})),_(a,(n=>{$(e,n)||jt(t,s,n)}))})),e),Vt=e=>(s&&(_(be,((t,s)=>{$(e,s)||(e[s]=t)})),_(fe,(t=>{$(e,t)||$t(t)}))),e),vt=e=>oe(B,e,((e,t,s)=>{const n=te(),a=me();oe(re(B,t,te),s,((e,t,s)=>{le(e,t,s),L(s[o],(e=>le(n,t,e)),(()=>Le(a,t)))})),le(Q,t,[n,a])}),((e,t)=>{le(B,t),le(Q,t)})),pt=e=>oe(Te,e,((e,t,s)=>{le(Te,t,s),L(s[o],(e=>le(be,t,e)),(()=>Le(fe,t)))}),((e,t)=>{le(Te,t),le(be,t),ee(fe,t)})),wt=e=>K(e)?ws():bs(e),St=e=>oe(pe,e,((e,t,s)=>yt(t,s)),((e,t)=>Ft(t))),yt=(e,t)=>oe(re(pe,e,(()=>(At(e,1),le(Ve,e,Je()),le(ve,e,te()),te()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Ot(e,t,s))),It=(e,t,s,n,a)=>oe(re(t,s,(()=>(Pt(e,s,1),te()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,l)=>xt(e,t,s,n,l,a))),Rt=(e,t,s,n,a)=>{X(s,n)||Wt(e,t,n,1);const l=ne(s,n);a!==l&&(kt(e,t,n,l,a),le(s,n,a))},mt=(e,t,s,n,a)=>L(ne(t,s),(t=>Rt(e,s,t,n,a)),(()=>It(e,t,s,ft({[n]:a},e,s)))),Lt=e=>K(e)?Is():fs(e),Ht=e=>oe(we,e,((e,t,s)=>Jt(t,s)),((e,t)=>zt(t))),Jt=(e,t)=>{X(we,e)||Dt(e,1);const s=ne(we,e);t!==s&&(Nt(e,s,t),le(we,e,t))},Et=(e,t)=>{const[s]=ne(Ve,e),n=s(t);return X(ne(pe,e),n)?Et(e,t):n},Mt=e=>ne(pe,e)??yt(e,{}),Ft=e=>yt(e,{}),Ot=(e,t,s)=>{const[,n]=ne(Ve,e);n(s),It(e,t,s,{},!0)},xt=(e,t,s,n,a,l)=>{const r=ne(ne(Q,e)?.[0],a);if(!m(r)&&!l)return Rt(e,s,n,a,r);const o=t=>{kt(e,s,t,ne(n,t)),Wt(e,s,t,-1),le(n,t)};m(r)?o(a):ae(n,o),Y(n)&&(Pt(e,s,-1),Y(le(t,s))&&(At(e,-1),le(pe,e),le(Ve,e),le(ve,e)))},zt=e=>{const t=ne(be,e);if(!m(t))return Jt(e,t);Nt(e,ne(we,e)),Dt(e,-1),le(we,e)},At=(e,t)=>De(y,e,t),Pt=(e,t,s)=>De(re(z,e,te),t,s)&&le(R,e,re(R,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ne(ve,e),l=ne(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&De(re(I,e,te),s,n),le(a,s,l!=-n?l+n:null),De(re(re(A,e,te),t,te),s,n)},kt=(e,t,s,n,a)=>re(re(re(P,e,te),t,te),s,(()=>[n,0]))[1]=a,Dt=(e,t)=>De(W,e,t),Nt=(e,t,s)=>re(k,e,(()=>[t,0]))[1]=s,jt=(e,t,s,n,a)=>(x(re(re(re(N,e,te),t,te),s,(()=>[])),n),a),$t=(e,t,s)=>(x(re(j,e,(()=>[])),t),s),qt=(e,t,s)=>L(ne(ne(ne(P,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(ls(e,t,s))])),Bt=e=>L(ne(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(cs(e))])),Gt=e=>Y(N)||Y(Ze[e])?0:_(e?he(N):N,((t,s)=>_(t,((t,n)=>_(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>Y(j)||Y(_e[e])?0:_(e?ue(j):j,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Y(e))return ct(t,n,(()=>ce(e))),ae(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(Se[e],void 0,t);const s=Y(Ge[e]),a=Y(Ue[e])&&Y(Xe[e])&&Y(Be[e])&&Y(Ke[e])&&Y(je[e])&&Y($e[e])&&Y(qe[e])&&s&&Y(Ie[e])&&Y(Re[e]),l=Y(Ye[e])&&Y(Qe[e])&&Y(He[e])&&Y(ye[e]);if(!a||!l){const t=e?[ue(y),ge(I),ue(R),ge(z),he(A),he(P)]:[y,I,R,z,A,P];if(!a){Qt(t[0],Ie[e],Re[e]),_(t[1],((t,s)=>Qt(t,je[e],$e[e],[s]))),_(t[2],((t,s)=>{0!=t&&ct(qe[e],[s],ts(s))}));const n=me();_(t[3],((t,a)=>{Qt(t,Be[e],Ke[e],[a])&&!s&&(ct(Ge[e],[a,null]),Le(n,a))})),s||_(t[5],((t,s)=>{if(!X(n,s)){const n=me();_(t,(e=>_(e,(([t,s],a)=>s!==t?Le(n,a):ee(e,a))))),_(n,(t=>ct(Ge[e],[s,t])))}})),_(t[4],((t,s)=>_(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;_(t[5],((t,n)=>{let a;_(t,((t,l)=>{let r;_(t,(([t,o],c)=>{o!==t&&(ct(Ye[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Qe[e],[n,l],qt)})),a&&ct(He[e],[n],qt)})),s&&ct(ye[e],void 0,qt)}}},Xt=e=>{const t=Cs();t!=l&&ct(et[e],void 0,t);const s=Y(st[e])&&Y(nt[e]),n=Y(at[e])&&Y(tt[e]);if(!s||!n){const t=e?[ue(W),ue(k)]:[W,k];if(s||Qt(t[0],st[e],nt[e]),!n){let s;_(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(Ls((()=>e(...O(t,w)))),Es),Zt=()=>de(pe),_t=()=>se(pe),es=e=>se(ne(ve,w(e))),ts=e=>U(ne(pe,w(e))),ss=e=>se(ne(pe,w(e))),ns=(e,t,s,n=0,a)=>{return O(E((r=ne(pe,w(e)),o=(e,s)=>[m(t)?s:ne(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,m(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>se(ne(ne(pe,w(e)),w(t))),ls=(e,t,s)=>ne(ne(ne(pe,w(e)),w(t)),w(s)),rs=()=>ce(we),os=()=>se(we),cs=e=>ne(we,w(e)),is=()=>!Y(pe),ds=e=>X(pe,w(e)),us=(e,t)=>X(ne(ve,w(e)),w(t)),gs=(e,t)=>X(ne(pe,w(e)),w(t)),hs=(e,t,s)=>X(ne(ne(pe,w(e)),w(t)),w(s)),Cs=()=>!Y(we),Ts=e=>X(we,w(e)),bs=e=>Yt((()=>(e=>ke(e,gt,jt))(e)?St(e):0)),fs=e=>Yt((()=>Tt(e)?Ht(e):0)),Vs=e=>{try{wt(We(e))}catch{}return Es},vs=t=>Yt((()=>{if((e=ke(t,(e=>ke(e,ut))))&&(vt(t),!Y(pe))){const e=Zt();ws(),bs(e)}})),ps=e=>Yt((()=>{if(s=(e=>ke(e,ut))(e)){const t=rs();ms(),Is(),s=!0,pt(e),fs(t)}})),ws=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>X(pe,e)?Ft(e):0),e),ys=(e,t)=>Yt(((e,t)=>L(ne(pe,e),(s=>X(s,t)?Ot(e,s,t):0))),e,t),Is=()=>Yt((()=>Ht({}))),Rs=()=>Yt((()=>{vt({}),e=!1})),ms=()=>Yt((()=>{pt({}),s=!1})),Ls=(e,t)=>{if(-1!=i){Hs();const s=e();return Js(t),s}},Hs=()=>(-1!=i&&i++,1==i&&ct(lt,void 0),Es),Js=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),Y(P)||Ut(1),Kt(1),Y(k)||Xt(1),e?.(Es)&&(_(P,((e,t)=>_(e,((e,s)=>_(e,(([e],n)=>ze(Es,t,s,n,e))))))),Z(P),_(k,(([e],t)=>Ae(Es,t,e))),Z(k)),ct(rt[0],void 0),i=-1,Gt(0),Y(P)||Ut(0),Kt(0),Y(k)||Xt(0),S[0]?.(Es),ct(rt[1],void 0),S[1]?.(Es),i=0,n=is(),l=Cs(),F([y,I,R,z,A,P,N,W,k,j],Z))),Es),Es={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>ie(ne(pe,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ce(ne(ne(pe,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:Cs,hasValue:Ts,getTablesJson:()=>Pe(pe),getValuesJson:()=>Pe(we),getJson:()=>Pe([pe,we]),getTablesSchemaJson:()=>Pe(B),getValuesSchemaJson:()=>Pe(Te),getSchemaJson:()=>Pe([B,Te]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Yt((()=>{(K(e)?ws:bs)(e),(K(t)?Is:fs)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>gt(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Mt(e),n=Et(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Mt(e);G(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(Ct(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Mt(e),t,s,n)))),e,t,s),setValues:fs,setPartialValues:e=>Yt((()=>Tt(e,1)?G(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,J(t)?t(cs(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>Yt((()=>{G(e[0],((e,t)=>m(e)?Ss(t):G(e,((e,s)=>m(e)?ys(t,s):G(e,((e,n)=>ze(Es,t,s,n,e))))))),G(e[1],((e,t)=>Ae(Es,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{Lt(We(e))}catch{}return Es},setJson:e=>Yt((()=>{try{const[t,s]=We(e);wt(t),Lt(s)}catch{Vs(e)}})),setTablesSchema:vs,setValuesSchema:ps,setSchema:(e,t)=>Yt((()=>{vs(e),ps(t)})),delTables:ws,delTable:Ss,delRow:ys,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ne(pe,e),(a=>L(ne(a,t),(l=>X(l,s)?xt(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>X(we,e)?zt(e):0),e),delTablesSchema:Rs,delValuesSchema:ms,delSchema:()=>Yt((()=>{Rs(),ms()})),transaction:Ls,startTransaction:Hs,getTransactionChanges:()=>[ce(P,((e,t)=>-1===ne(y,t)?void 0:ce(e,((e,s)=>-1===ne(ne(z,t),s)?void 0:ce(e,(([,e])=>e),((e,t)=>Oe(t)))),K)),K),ce(k,(([,e])=>e),((e,t)=>Oe(t)))],getTransactionLog:()=>[!Y(P),!Y(k),de(P,Fe,Oe),de(N),ce(k,Fe,Oe),ce(j),ce(y),ie(z),de(A),ce(W)],finishTransaction:Js,forEachTable:e=>_(pe,((t,s)=>e(s,(e=>_(t,((t,s)=>e(s,(e=>ae(t,e))))))))),forEachTableCell:(e,t)=>ae(ne(ve,w(e)),t),forEachRow:(e,t)=>_(ne(pe,w(e)),((e,s)=>t(s,(t=>ae(e,t))))),forEachCell:(e,t,s)=>ae(ne(ne(pe,w(e)),w(t)),s),forEachValue:e=>ae(we,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,d;i=o,M(c=r)===M(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,l(Es,e,t,s,n,a,o))}),Ge[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=>(dt(e),Es),delListener:e=>(it(e),Es),getListenerStats:()=>({}),createStore:Ne,addListener:ot,callListeners:ct,setInternalListeners:(e,t)=>S=[e,t]};return G({[c+u]:[0,Se,[],()=>[is()]],[u]:[0,ye],[g]:[0,Ie],[c+d]:[1,Re,[_t],e=>[ds(...e)]],[d]:[1,He,[_t]],[d+f]:[1,je,[_t]],[c+d+b]:[2,$e,[_t,es],e=>[us(...e)]],[C]:[1,qe,[_t]],[T]:[1,Be,[_t]],[c+h]:[2,Ke,[_t,ss],e=>[gs(...e)]],[h]:[2,Qe,[_t,ss]],[f]:[2,Ue,[_t,ss]],[c+b]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[b]:[3,Ye,[_t,ss,as],e=>Ee(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[Cs()]],[v]:[0,tt],[p]:[0,st],[c+V]:[1,nt,[os],e=>[Ts(...e)]],[V]:[1,at,[os],e=>Ee(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Es["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),D(Es)},je=2**36,$e=2**30,qe=2**24,Be=2**18,Ge=4096,Ke=64,Qe=e=>String.fromCharCode(48+(63&e)),Ue=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Xe={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},Ye=(e="")=>[e,[Se(e),Se(e)],0];exports.createMergeableStore=e=>{let s,n,a=1,l=Ye();const[r,o]=(e=>{let t=0,s=-1;const n=be(e),a=e=>{const n=t,[a,l]=m(e)?[0,0]:[Ue(r=e,0)*je+Ue(r,1)*$e+Ue(r,2)*qe+Ue(r,3)*Be+Ue(r,4)*Ge+Ue(r,5)*Ke+Ue(r,6),Ue(r,7)*Be+Ue(r,8)*Ge+Ue(r,9)*Ke+Ue(r,10),Ue(r,11)*qe+Ue(r,12)*Be+Ue(r,13)*Ge+Ue(r,14)*Ke+Ue(r,15)];var r;t=I(n,a,Date.now()),s=t==n?t==a?I(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Qe((e=t)/je)+Qe(e/$e)+Qe(e/qe)+Qe(e/Be)+Qe(e/Ge)+Qe(e/Ke)+Qe(e)+Qe(l/Be)+Qe(l/Ge)+Qe(l/Ke)+Qe(l)+Qe(r/qe)+Qe(r/Be)+Qe(r/Ge)+Qe(r/Ke)+Qe(r);var e,l,r},a]})(e),c=Ne(),i=e=>{const t=a;a=0,e(),a=t},d=(e,t=0)=>{const s={},n={},[a,[[r,o,c],i],d]=e,[,[g,h]]=l,[C,T,b]=g;if(r){let e=t?c:b^(r>C?(C?be(C):0)^be(r):0);B(o,(([n,a,l],r)=>{const o=re(T,r,Se),[c,i,d]=o;let g=t?l:d^(n>c?(c?be(c):0)^be(n):0);B(a,((e,n)=>{const[a,l]=u(e,re(i,n,Se),Q(Q(s,r,j),n,j),t);g^=t?0:(a?ve(n,a):0)^ve(n,l)})),pe(o,g,n),e^=t?0:(d?ve(r,d):0)^ve(r,o[2])})),pe(g,e,r)}return u(i,h,n,t),pe(l,t?d:g[2]^h[2],a),[s,n]},u=(e,t,s,n)=>{const[a,l,r]=e,[o,c,i]=t;if(a){let e=n?r:i^(a>o?(o?be(o):0)^be(a):0);B(l,(([t,a,l],r)=>{const o=re(c,r,ye),[i,,d]=o;t>i&&(pe(o,n?l:be(Pe(a??null)+":"+t),t),o[1]=a,s[r]=a,e^=n?0:ve(r,d)^ve(r,o[2]))})),pe(t,e,a)}return[i,t[2]]},g=()=>Ie(l,(([e,t])=>[Re(e,(e=>Re(e,(e=>Re(e))))),Re(t)])),h=()=>{if(m(n)){const[,,e,,n]=c.getTransactionLog(),a=K(e)&&K(n)?t:s??(s=r()),l=Ve(a,[we(K(e)?t:a),we(K(n)?t:a)]),[[,o],[,i]]=l[1];return G(e,((e,t)=>{const[,s]=o[t]=we(a);G(e,((e,t)=>{const[,n]=s[t]=we(a);G(e,(([,e],t)=>n[t]=Ve(a,e)))}))})),G(n,(([,e],t)=>i[t]=Ve(a,e))),l}return n},C=e=>(o(e[0]),i((()=>c.applyChanges(d(e)))),T),T={getMergeableContent:g,setMergeableContent:e=>(i((()=>c.transaction((()=>{c.delTables().delValues(),l=Ye()})))),o(e[0]),i((()=>c.applyChanges(d(e,1)))),T),getTransactionMergeableChanges:h,applyMergeableChanges:C,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)},getContentHash:()=>l[2],getTablesHash:()=>l[1][0][2],getTableHash:e=>ne(l[1][0][1],e)?.[2]??0,getRowHash:(e,t)=>ne(ne(l[1][0][1],e)?.[1],t)?.[2]??0,getCellHash:(e,t,s)=>ne(ne(ne(l[1][0][1],e)?.[1],t)?.[1],s)?.[2]??0,getValuesHash:()=>l[1][1][2],getValueHash:e=>ne(l[1][1][1],e)?.[2]??0};return c.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>s=n=void 0)),G(c,((e,t)=>T[t]=S(t,"set")||S(t,"del")||S(t,"apply")||y(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),T):S(t,"add")&&y(t,"Listener")?(...s)=>{const n=Xe[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(T,...t),e(...s)}:e)),D(T)};
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",d="Table",u=d+"s",g=d+i,h="Row",b=h+"Count",f=h+i,C="Cell",T=C+i,v="Value",V=v+"s",p=v+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),y=Math.max,M=isFinite,R=e=>null==e,m=(e,t,s)=>R(e)?s?.():t(e),L=e=>e==s||e==n,H=t=>e(t)==l,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>F(P(e),(([e,s])=>t(s,e))),K=(e,t)=>O(P(e),(([e,s])=>t(s,e))),Q=(e,t)=>$(K(e,((e,s)=>[s,t(e,s)]))),U=e=>k(e)&&0==(e=>D(N(e)))(e),X=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Y=(e,t,s,n=0)=>R(e)||!k(e)||!n&&U(e)||W(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||B(e,n)})),!!n||!U(e)),Z=e=>e?.size??0,_=(e,t)=>e?.has(t)??!1,ee=e=>R(e)||0==Z(e),te=e=>e.clear(),se=(e,t)=>e?.forEach(t),ne=(e,t)=>e?.delete(t),ae=e=>new Map(e),le=e=>[...e?.keys()??[]],re=(e,t)=>e?.get(t),oe=(e,t)=>se(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ne(e,t),e):e?.set(t,s),ie=(e,t,s,n)=>(_(e,t)?n?.(re(e,t)):ce(e,t,s()),re(e,t)),de=(e,t,s,n=ce)=>(K(t,((t,n)=>s(e,n,t))),oe(e,(s=>q(t,s)?0:n(e,s))),e),ue=(e,t,s,n)=>{const a={};return se(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},ge=(e,t,s)=>ue(e,(e=>ue(e,t,s)),ee,U),he=(e,t,s)=>ue(e,(e=>ge(e,t,s)),ee,U),be=(e,t)=>{const s=ae();return se(e,((e,n)=>s.set(n,t?.(e)??e))),s},fe=e=>be(e,be),Ce=e=>be(e,fe),Te=(e,t,s,n,a=0)=>m((s?ie:re)(e,t[a],a>D(t)-2?s:ae),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=Te(l,t,s,n,a+1);return ee(l)&&ce(e,t[a]),r})),ve=new globalThis.TextEncoder,Ve=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},pe=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),ye=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},Me=e=>[e,$()],Re=(e="")=>[e,ae(),0],me=([e,t,s],n=pe)=>[e,ue(t,n),s],Le=(t,n)=>{return J(t)&&3==D(t)&&(l=t[0],e(l)==s)&&n(t[1])&&e(t[2])==a&&M(t[2]);var l},He=e=>new Set(J(e)||R(e)?e:[e]),Je=(e,t)=>e?.add(t),Ee=/^\d+$/,De=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Ee.test(t)&&D(e)<1e3&&x(e,t)}]},Fe=e=>[e,e],Oe=()=>[ae(),ae()],xe=e=>[...e],ze=([e,t])=>e===t,Ae=t=>{const s=e(t);return L(s)||s==a&&M(t)?s:void 0},Pe=e=>null===e||!R(Ae(e)),We=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),je=JSON.parse,$e=(e,t,s)=>ce(e,t,re(e,t)==-s?void 0:s),qe=()=>{let e,s,n=!1,l=!1,i=0,S=[];const I=ae(),y=ae(),M=ae(),J=ae(),z=ae(),A=ae(),P=ae(),W=ae(),k=ae(),N=ae(),$=ae(),G=ae(),Q=ae(),X=ae(),ve=He(),Ve=ae(),pe=ae(),we=ae(),Se=ae(),Ie=Oe(),ye=Oe(),Me=Oe(),Re=Oe(),me=Oe(),Le=Oe(),Ee=Oe(),Pe=Oe(),Be=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=ae(),rt=Oe(),[ot,ct,it,dt]=(e=>{let s;const[n,a]=De(),l=ae();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Js;const i=n(1);return ce(l,i,[e,a,r,o,c]),Je(Te(a,r??[t],He),i),i},(e,n,...a)=>F(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?x(n,e):null===s[t]?se(e,(e=>a(e,t+1))):F([s[t],null],(s=>a(re(e,s),t+1)));return a(e,0),n})(e,n),(e=>se(e,(e=>re(l,e)[0](s,...n??[],...a))))),e=>m(re(l,e),(([,s,n])=>(Te(s,n??[t],void 0,(t=>(ne(t,e),ee(t)?1:0))),ce(l,e),a(e),n))),e=>m(re(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(t)?e(s,...r,...a(r)):R(t[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),ut=e=>{if(!Y(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!L(t)&&t!=a||(Ae(e[o])!=t&&B(e,o),0))},gt=(t,s)=>(!e||_($,s)||jt(s))&&Y(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>Y(n?s:Tt(s,e,t),((n,a)=>m(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),bt=(t,s,n,a)=>e?m(re(re($,t),n),(e=>Ae(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):R(Ae(a))?jt(t,s,n,a):a,ft=(e,t)=>Y(t?e:vt(e),((t,s)=>m(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Ct=(e,t)=>s?m(re(Q,e),(s=>Ae(t)!=s[r]?$t(e,t,s[o]):t),(()=>$t(e,t))):R(Ae(t))?$t(e,t):t,Tt=(e,t,s)=>(m(re(G,t),(([n,a])=>{se(n,((t,s)=>{q(e,s)||(e[s]=t)})),se(a,(n=>{q(e,n)||jt(t,s,n)}))})),e),vt=e=>(s&&(se(X,((t,s)=>{q(e,s)||(e[s]=t)})),se(ve,(t=>{q(e,t)||$t(t)}))),e),Vt=e=>de($,e,((e,t,s)=>{const n=ae(),a=He();de(ie($,t,ae),s,((e,t,s)=>{ce(e,t,s),m(s[o],(e=>ce(n,t,e)),(()=>Je(a,t)))})),ce(G,t,[n,a])}),((e,t)=>{ce($,t),ce(G,t)})),pt=e=>de(Q,e,((e,t,s)=>{ce(Q,t,s),m(s[o],(e=>ce(X,t,e)),(()=>Je(ve,t)))}),((e,t)=>{ce(Q,t),ce(X,t),ne(ve,t)})),wt=e=>U(e)?ws():Cs(e),St=e=>de(we,e,((e,t,s)=>It(t,s)),((e,t)=>Dt(t))),It=(e,t)=>de(ie(we,e,(()=>(zt(e,1),ce(Ve,e,De()),ce(pe,e,ae()),ae()))),t,((t,s,n)=>yt(e,t,s,n)),((t,s)=>Ft(e,t,s))),yt=(e,t,s,n,a)=>de(ie(t,s,(()=>(At(e,s,1),ae()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{_(s,n)||Pt(e,t,n,1);const l=re(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},Rt=(e,t,s,n,a)=>m(re(t,s),(t=>Mt(e,s,t,n,a)),(()=>yt(e,t,s,Tt({[n]:a},e,s)))),mt=e=>U(e)?ys():Ts(e),Lt=e=>de(Se,e,((e,t,s)=>Ht(t,s)),((e,t)=>xt(t))),Ht=(e,t)=>{_(Se,e)||kt(e,1);const s=re(Se,e);t!==s&&(Nt(e,s,t),ce(Se,e,t))},Jt=(e,t)=>{const[s]=re(Ve,e),n=s(t);return _(re(we,e),n)?Jt(e,t):n},Et=e=>re(we,e)??It(e,{}),Dt=e=>It(e,{}),Ft=(e,t,s)=>{const[,n]=re(Ve,e);n(s),yt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const r=re(re(G,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,re(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):oe(n,o),ee(n)&&(At(e,s,-1),ee(ce(t,s))&&(zt(e,-1),ce(we,e),ce(Ve,e),ce(pe,e)))},xt=e=>{const t=re(X,e);if(!R(t))return Ht(e,t);Nt(e,re(Se,e)),kt(e,-1),ce(Se,e)},zt=(e,t)=>$e(I,e,t),At=(e,t,s)=>$e(ie(J,e,ae),t,s)&&ce(M,e,ie(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=re(pe,e),l=re(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(ie(y,e,ae),s,n),ce(a,s,l!=-n?l+n:null),$e(ie(ie(z,e,ae),t,ae),s,n)},Wt=(e,t,s,n,a)=>ie(ie(ie(A,e,ae),t,ae),s,(()=>[n,0]))[1]=a,kt=(e,t)=>$e(P,e,t),Nt=(e,t,s)=>ie(W,e,(()=>[t,0]))[1]=s,jt=(e,t,s,n,a)=>(x(ie(ie(ie(k,e,ae),t,ae),s,(()=>[])),n),a),$t=(e,t,s)=>(x(ie(N,e,(()=>[])),t),s),qt=(e,t,s)=>m(re(re(re(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),Bt=e=>m(re(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(cs(e))])),Gt=e=>ee(k)||ee(Ze[e])?0:se(e?Ce(k):k,((t,s)=>se(t,((t,n)=>se(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>ee(N)||ee(_e[e])?0:se(e?be(N):N,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!ee(e))return ct(t,n,(()=>ue(e))),oe(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(Ie[e],void 0,t);const s=ee(Ge[e]),a=ee(Ue[e])&&ee(Xe[e])&&ee(Be[e])&&ee(Ke[e])&&ee(Le[e])&&ee(Ee[e])&&ee(Pe[e])&&s&&ee(Me[e])&&ee(Re[e]),l=ee(Ye[e])&&ee(Qe[e])&&ee(me[e])&&ee(ye[e]);if(!a||!l){const t=e?[be(I),fe(y),be(M),fe(J),Ce(z),Ce(A)]:[I,y,M,J,z,A];if(!a){Qt(t[0],Me[e],Re[e]),se(t[1],((t,s)=>Qt(t,Le[e],Ee[e],[s]))),se(t[2],((t,s)=>{0!=t&&ct(Pe[e],[s],ts(s))}));const n=He();se(t[3],((t,a)=>{Qt(t,Be[e],Ke[e],[a])&&!s&&(ct(Ge[e],[a,null]),Je(n,a))})),s||se(t[5],((t,s)=>{if(!_(n,s)){const n=He();se(t,(e=>se(e,(([t,s],a)=>s!==t?Je(n,a):ne(e,a))))),se(n,(t=>ct(Ge[e],[s,t])))}})),se(t[4],((t,s)=>se(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;se(t[5],((t,n)=>{let a;se(t,((t,l)=>{let r;se(t,(([t,o],c)=>{o!==t&&(ct(Ye[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Qe[e],[n,l],qt)})),a&&ct(me[e],[n],qt)})),s&&ct(ye[e],void 0,qt)}}},Xt=e=>{const t=bs();t!=l&&ct(et[e],void 0,t);const s=ee(st[e])&&ee(nt[e]),n=ee(at[e])&&ee(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;se(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(ms((()=>e(...O(t,w)))),Js),Zt=()=>he(we),_t=()=>le(we),es=e=>le(re(pe,w(e))),ts=e=>Z(re(we,w(e))),ss=e=>le(re(we,w(e))),ns=(e,t,s,n=0,a)=>{return O(E((r=re(we,w(e)),o=(e,s)=>[R(t)?s:re(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,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>le(re(re(we,w(e)),w(t))),ls=(e,t,s)=>re(re(re(we,w(e)),w(t)),w(s)),rs=()=>ue(Se),os=()=>le(Se),cs=e=>re(Se,w(e)),is=()=>!ee(we),ds=e=>_(we,w(e)),us=(e,t)=>_(re(pe,w(e)),w(t)),gs=(e,t)=>_(re(we,w(e)),w(t)),hs=(e,t,s)=>_(re(re(we,w(e)),w(t)),w(s)),bs=()=>!ee(Se),fs=e=>_(Se,w(e)),Cs=e=>Yt((()=>(e=>Y(e,gt,jt))(e)?St(e):0)),Ts=e=>Yt((()=>ft(e)?Lt(e):0)),vs=e=>{try{wt(je(e))}catch{}return Js},Vs=t=>Yt((()=>{if((e=Y(t,(e=>Y(e,ut))))&&(Vt(t),!ee(we))){const e=Zt();ws(),Cs(e)}})),ps=e=>Yt((()=>{if(s=(e=>Y(e,ut))(e)){const t=rs();Rs(),ys(),s=!0,pt(e),Ts(t)}})),ws=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>_(we,e)?Dt(e):0),e),Is=(e,t)=>Yt(((e,t)=>m(re(we,e),(s=>_(s,t)?Ft(e,s,t):0))),e,t),ys=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{Vt({}),e=!1})),Rs=()=>Yt((()=>{pt({}),s=!1})),ms=(e,t)=>{if(-1!=i){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=i&&i++,1==i&&ct(lt,void 0),Js),Hs=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),ee(A)||Ut(1),Kt(1),ee(W)||Xt(1),e?.(Js)&&(se(A,((e,t)=>se(e,((e,s)=>se(e,(([e],n)=>We(Js,t,s,n,e))))))),te(A),se(W,(([e],t)=>ke(Js,t,e))),te(W)),ct(rt[0],void 0),i=-1,Gt(0),ee(A)||Ut(0),Kt(0),ee(W)||Xt(0),S[0]?.(Js),ct(rt[1],void 0),S[1]?.(Js),i=0,n=is(),l=bs(),F([I,y,M,J,z,A,k,P,W,N],te))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>ge(re(we,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ue(re(re(we,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:bs,hasValue:fs,getTablesJson:()=>Ne(we),getValuesJson:()=>Ne(Se),getJson:()=>Ne([we,Se]),getTablesSchemaJson:()=>Ne($),getValuesSchemaJson:()=>Ne(Q),getSchemaJson:()=>Ne([$,Q]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Yt((()=>{(U(e)?ws:Cs)(e),(U(t)?ys:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Yt((e=>gt(t,e)?It(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?yt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ms((()=>{let n;return ht(e,n,t)&&(e=w(e),yt(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>m(bt(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>Rt(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Yt((()=>ft(e,1)?K(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>m(Ct(e,H(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>R(e)?Ss(t):K(e,((e,s)=>R(e)?Is(t,s):K(e,((e,n)=>We(Js,t,s,n,e))))))),K(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{mt(je(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=je(e);wt(t),mt(s)}catch{vs(e)}})),setTablesSchema:Vs,setValuesSchema:ps,setSchema:(e,t)=>Yt((()=>{Vs(e),ps(t)})),delTables:ws,delTable:Ss,delRow:Is,delCell:(e,t,s,n)=>Yt(((e,t,s)=>m(re(we,e),(a=>m(re(a,t),(l=>_(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:ys,delValue:e=>Yt((e=>_(Se,e)?xt(e):0),e),delTablesSchema:Ms,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ms(),Rs()})),transaction:ms,startTransaction:Ls,getTransactionChanges:()=>[ue(A,((e,t)=>-1===re(I,t)?void 0:ue(e,((e,s)=>-1===re(re(J,t),s)?void 0:ue(e,(([,e])=>e),(e=>ze(e)))),ee,U)),ee,U),ue(W,(([,e])=>e),(e=>ze(e))),1],getTransactionLog:()=>[!ee(A),!ee(W),he(A,xe,ze),he(k),ue(W,xe,ze),ue(N),ue(I),ge(J),he(z),ue(P)],finishTransaction:Hs,forEachTable:e=>se(we,((t,s)=>e(s,(e=>se(t,((t,s)=>e(s,(e=>oe(t,e))))))))),forEachTableCell:(e,t)=>oe(re(pe,w(e)),t),forEachRow:(e,t)=>se(re(we,w(e)),((e,s)=>t(s,(t=>oe(e,t))))),forEachCell:(e,t,s)=>oe(re(re(we,w(e)),w(t)),s),forEachValue:e=>oe(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,d;i=o,D(c=r)===D(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[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=>(dt(e),Js),delListener:e=>(it(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:ct,setInternalListeners:(e,t)=>S=[e,t]};return K({[c+u]:[0,Ie,[],()=>[is()]],[u]:[0,ye],[g]:[0,Me],[c+d]:[1,Re,[_t],e=>[ds(...e)]],[d]:[1,me,[_t]],[d+T]:[1,Le,[_t]],[c+d+C]:[2,Ee,[_t,es],e=>[us(...e)]],[b]:[1,Pe,[_t]],[f]:[1,Be,[_t]],[c+h]:[2,Ke,[_t,ss],e=>[gs(...e)]],[h]:[2,Qe,[_t,ss]],[T]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[bs()]],[V]:[0,tt],[p]:[0,st],[c+v]:[1,nt,[os],e=>[fs(...e)]],[v]:[1,at,[os],e=>Fe(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),j(Js)},Be=2**36,Ge=2**30,Ke=2**24,Qe=2**18,Ue=4096,Xe=64,Ye=e=>String.fromCharCode(48+(63&e)),Ze=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,_e={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},et=(e="")=>[e,[Re(e),Re(e)],0];exports.createMergeableStore=e=>{let s,n,a=1,l=et();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[Ze(r=e,0)*Be+Ze(r,1)*Ge+Ze(r,2)*Ke+Ze(r,3)*Qe+Ze(r,4)*Ue+Ze(r,5)*Xe+Ze(r,6),Ze(r,7)*Qe+Ze(r,8)*Ue+Ze(r,9)*Xe+Ze(r,10),Ze(r,11)*Ke+Ze(r,12)*Qe+Ze(r,13)*Ue+Ze(r,14)*Xe+Ze(r,15)];var r;t=y(n,a,Date.now()),s=t==n?t==a?y(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ye((e=t)/Be)+Ye(e/Ge)+Ye(e/Ke)+Ye(e/Qe)+Ye(e/Ue)+Ye(e/Xe)+Ye(e)+Ye(l/Qe)+Ye(l/Ue)+Ye(l/Xe)+Ye(l)+Ye(r/Ke)+Ye(r/Qe)+Ye(r/Ue)+Ye(r/Xe)+Ye(r);var e,l,r},a]})(e),c=qe(),i=e=>{const t=a;return a=0,e(),a=t,f},d=(e,t=0)=>{const s={},n={},[a,[[r,o,c],i],d]=e,[,[g,h]]=l,[b,f,C]=g;if(r){let e=t?c:C^(r>b?(b?Ve(b):0)^Ve(r):0);G(o,(([n,a,l],r)=>{const o=ie(f,r,Re),[c,i,d]=o;let g=t?l:d^(n>c?(c?Ve(c):0)^Ve(n):0);G(a,((e,n)=>{const[a,l]=u(e,ie(i,n,Re),X(X(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),ye(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),ye(g,e,r)}return u(i,h,n,t),ye(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,s,n,a)=>{const[l,r,o]=e,[c,i,d]=s;if(l){let e=a?o:d^(l>c?(c?Ve(c):0)^Ve(l):0);G(r,(([s,l,r],o)=>{const c=ie(i,o,(()=>[t,void 0,0])),[d,,u]=c;s>d&&(ye(c,a?r:Ve(Ne(l??null)+":"+s),s),c[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,c[2]))})),ye(s,e,l)}return[d,s[2]]},g=()=>[l[0],[me(l[1][0],(e=>me(e,(e=>me(e))))),me(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=c.getTransactionLog(),a=U(e)&&U(n)?t:s??(s=r()),l=[a,[Me(U(e)?t:a),Me(U(n)?t:a),1]],[[,o],[,i]]=l[1];return K(e,((e,t)=>{const[,s]=o[t]=Me(a);K(e,((e,t)=>{const[,n]=s[t]=Me(a);K(e,(([,e],t)=>n[t]=[a,e]))}))})),K(n,(([,e],t)=>i[t]=[a,e])),l}return n},b=e=>i((()=>{o(e[0]),c.applyChanges(d(e))})),f={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ue(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return oe(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&x(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ue(re(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>Q(e,((e,t)=>{const s=[];return oe(re(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&x(s,t)})),s})),getMergeableCellHashes:e=>Q(e,((e,t)=>$(O(e,(e=>[e,ue(re(re(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return G(e,((e,t)=>m(re(s,t),(([s,a])=>{const l={};G(e,((e,t)=>m(re(a,t),(([s,n])=>{const a=ue(n,we,(([,,t],s)=>t==e?.[s]));U(a)||(l[t]=[s,a])})))),U(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ue(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ue(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>i((()=>(e=>Le(e,(e=>J(e)&&2==D(e)&&Le(e[0],(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,(e=>Y(e,(e=>Le(e,Pe)),void 0,1)))),void 0,1)))),void 0,1)))&&Le(e[1],(e=>Y(e,(e=>Le(e,Pe)),void 0,1))))))(e)?c.transaction((()=>{c.delTables().delValues(),l=et(),o(e[0]),c.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:h,applyMergeableChanges:b,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),b(s)}};return c.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>s=n=void 0)),K(c,((e,t)=>f[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=_e[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(f,...t),e(...s)}:e)),j(f)};
Binary file
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=Object,o=t=>s.getPrototypeOf(t),r=s.entries,c=s.keys,i=s.freeze,y=(t,e)=>n(t,(t=>t[e])),g=(t,e)=>e in t,d=(t,e)=>(delete t[e],t),l=(t,e)=>((t,e)=>t.map(e))(r(t),(([t,a])=>e(a,t))),u=t=>c(t).length,h=t=>(t=>!a(t)&&n(o(t),(t=>t==s.prototype||a(o(t))),(()=>!0)))(t)&&0==u(t),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e,n)=>{return a(n)?(s=t,o=e,s?.delete(o),t):t?.set(e,n);var s,o},C=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(p(t,e)):w(t,e,a()),p(t,e)},f=v(),A=v(),b=a=>{return n=a?.[0],t(n)==e;var n},L=(t,e)=>[t[e].t,t[e].v],M=(t,e,n,s)=>{const o=a(e)?t:((t,e,a)=>(g(t,e)||(t[e]={}),t[e]))(t,e);let r;return l(n,((t,e)=>{s(o,e,t)&&(r=1)})),l(o,((t,e)=>{g(n,e)||(d(o,e),r=1)})),!a(e)&&h(o)&&d(t,e),r};exports.createAutomergePersister=(t,e,s="tinybase",o)=>(e.change((t=>t[s]={})),((t,e,s,o,r,c,y,[g,d]=[],l=[])=>{let u,v,L,M=0,S=0;C(f,l,(()=>0)),C(A,l,(()=>[]));const[m,T,D,O]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!h(t)||!h(e)])(y,t),P=async t=>(2!=M&&(M=1,await j.schedule((async()=>{await t(),M=0}))),j),j={load:async(a,n)=>await P((async()=>{try{const a=await e();(m&&b(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(j.stopAutoLoad(),await j.load(a,n),S=1,L=o((async(a,n)=>{if(n){const e=n();await P((async()=>(m&&b(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const n=a?.()??await e();(m&&b(n)?t.setMergeableContent:t.setContent)(n)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(S&&(r(L),L=void 0,S=0),j),save:async t=>(1!=M&&(M=2,await j.schedule((async()=>{try{await s(T,t)}catch(t){c?.(t)}M=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),u=t.addDidFinishTransactionListener((()=>{const t=D();O(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(u,t.delListener),u=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(A,l),...t),await(async()=>{if(!p(f,l)){for(w(f,l,1);!a((t=p(A,l),v=t.shift()));)try{await v()}catch(t){c?.(t)}w(f,l,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(j[g]=()=>d),i(j)})(t,(async()=>{const t=await e.doc();return 2==u(t[s])?L(t,s):void 0}),(async(t,o)=>e.change((e=>((t,e,s,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[r,c]=L(t,e),i=()=>{g=1};let g=1;if(n(o?.(),(([t,e])=>{g=0,l(t,((t,e)=>g?0:a(t)?d(r,e):n(r[e],(e=>l(t,((t,s)=>g?0:a(t)?d(e,s):n(y(e,s),(e=>l(t,((t,n)=>a(t)?d(e,n):e[n]=t))),i)))),i))),l(e,((t,e)=>g?0:a(t)?d(c,e):c[e]=t))})),g){const[t,e]=s();M(r,void 0,t,((t,e,a)=>M(r,e,a,((t,e,a)=>M(t,e,a,((t,e,a)=>{if(y(t,e)!==a)return t[e]=a,1})))))),M(c,void 0,e,((t,e,a)=>{y(c,e)!==a&&(c[e]=a)}))}})(e,s,t,o)))),(t=>{const a=({doc:e})=>t((()=>L(e,s)));return e.on("change",a),a}),(t=>{e.removeListener("change",t)}),o,!1,["getDocHandle",e]));
1
+ "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=Object,o=t=>s.getPrototypeOf(t),r=s.entries,c=s.keys,i=s.freeze,g=(t,e)=>n(t,(t=>t[e])),y=(t,e)=>e in t,d=(t,e)=>(delete t[e],t),u=(t,e)=>((t,e)=>t.map(e))(r(t),(([t,a])=>e(a,t))),l=t=>c(t).length,h=t=>(t=>!a(t)&&n(o(t),(t=>t==s.prototype||a(o(t))),(()=>!0)))(t)&&0==l(t),v=t=>new Map(t),p=(t,e)=>t?.get(e),w=(t,e,n)=>{return a(n)?(s=t,o=e,s?.delete(o),t):t?.set(e,n);var s,o},A=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(p(t,e)):w(t,e,a()),p(t,e)},C=v(),f=v(),L=(t,e)=>[t[e].t,t[e].v],b=(t,e,n,s)=>{const o=a(e)?t:((t,e,a)=>(y(t,e)||(t[e]={}),t[e]))(t,e);let r;return u(n,((t,e)=>{s(o,e,t)&&(r=1)})),u(o,((t,e)=>{y(n,e)||(d(o,e),r=1)})),!a(e)&&h(o)&&d(t,e),r};exports.createAutomergePersister=(s,o,r="tinybase",c)=>(o.change((t=>t[r]={})),((s,o,r,c,g,y,d,u={},l=[])=>{let v,L,b,S=0;A(C,l,(()=>0)),A(f,l,(()=>[]));const[M,m,T,D]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!h(t)||!h(e)])(d,s),O=async t=>(2!=S&&(S=1,await j.schedule((async()=>{await t(),S=0}))),j),P=a=>{var n;(M&&(n=a?.[0],t(n)==e)?1===a?.[1][2]?s.applyMergeableChanges:s.setMergeableContent:1===a?.[2]?s.applyChanges:s.setContent)(a)},j={load:async(t,e)=>await O((async()=>{try{P(await o())}catch(a){y?.(a),s.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await j.stopAutoLoad().load(t,e),L=c((async(t,e)=>{const a=e?.();await O((async()=>{try{P(a??t?.()??await o())}catch(t){y?.(t)}}))})),j),stopAutoLoad:()=>(L&&(g(L),L=void 0),j),isAutoLoading:()=>!a(L),save:async t=>(1!=S&&(S=2,await j.schedule((async()=>{try{await r(m,t)}catch(t){y?.(t)}S=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=s.addDidFinishTransactionListener((()=>{const t=T();D(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(b,s.delListener),b=void 0,j),isAutoSaving:()=>!a(b),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(f,l),...t),await(async()=>{if(!p(C,l)){for(w(C,l,1);!a((t=p(f,l),v=t.shift()));)try{await v()}catch(t){y?.(t)}w(C,l,0)}var t})(),j),getStore:()=>s,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return i(j)})(s,(async()=>{const t=await o.doc();return 2==l(t[r])?L(t,r):void 0}),(async(t,e)=>o.change((s=>((t,e,s,o)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[r,c]=L(t,e),i=()=>{y=1};let y=1;if(n(o?.(),(([t,e])=>{y=0,u(t,((t,e)=>y?0:a(t)?d(r,e):n(r[e],(e=>u(t,((t,s)=>y?0:a(t)?d(e,s):n(g(e,s),(e=>u(t,((t,n)=>a(t)?d(e,n):e[n]=t))),i)))),i))),u(e,((t,e)=>y?0:a(t)?d(c,e):c[e]=t))})),y){const[t,e]=s();b(r,void 0,t,((t,e,a)=>b(r,e,a,((t,e,a)=>b(t,e,a,((t,e,a)=>{if(g(t,e)!==a)return t[e]=a,1})))))),b(c,void 0,e,((t,e,a)=>{g(c,e)!==a&&(c[e]=a)}))}})(s,r,t,e)))),(t=>{const e=({doc:e})=>t((()=>L(e,r)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),c,!1,{getDocHandle:()=>o}));
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,c=n.freeze,i=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),g=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},d=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(l(t,e)):u(t,e,a()),l(t,e)},p=y(),h=y(),v=a=>{return s=a?.[0],t(s)==e;var s},w="storage",C=globalThis.window,S=(t,e,o,r)=>((t,e,n,o,r,g,y,[w,C]=[],S=[])=>{let f,A,L,b=0,M=0;d(p,S,(()=>0)),d(h,S,(()=>[]));const[m,O,T,E]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!i(t)||!i(e)])(y,t),N=async t=>(2!=b&&(b=1,await P.schedule((async()=>{await t(),b=0}))),P),P={load:async(a,s)=>await N((async()=>{try{const a=await e();(m&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(P.stopAutoLoad(),await P.load(a,s),M=1,L=o((async(a,s)=>{if(s){const e=s();await N((async()=>(m&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await N((async()=>{try{const s=a?.()??await e();(m&&v(s)?t.setMergeableContent:t.setContent)(s)}catch(t){g?.(t)}}))})),P),stopAutoLoad:()=>(M&&(r(L),L=void 0,M=0),P),save:async t=>(1!=b&&(b=2,await P.schedule((async()=>{try{await n(O,t)}catch(t){g?.(t)}b=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const t=T();E(t)&&P.save((()=>t))})),P),stopAutoSave:()=>(s(f,t.delListener),f=void 0,P),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(h,S),...t),await(async()=>{if(!l(p,S)){for(u(p,S,1);!a((t=l(h,S),A=t.shift()));)try{await A()}catch(t){g?.(t)}u(p,S,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return w&&(P[w]=()=>C),c(P)})(t,(async()=>g(o.getItem(e))),(async t=>{return o.setItem(e,(a=t(),JSON.stringify(a,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var a}),(t=>{const a=a=>{a.storageArea===o&&a.key===e&&t((()=>g(a.newValue)))};return C.addEventListener(w,a),a}),(t=>C.removeEventListener(w,t)),r,!0,["getStorageName",e]);exports.createLocalPersister=(t,e,a)=>S(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>S(t,e,sessionStorage,a);
1
+ "use strict";const t=t=>typeof t,e=t(""),a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,i=n.freeze,c=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),g=JSON.parse,y=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},d=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(l(t,e)):u(t,e,a()),l(t,e)},p=y(),v=y(),h="storage",w=globalThis.window,S=(o,r,y,S)=>((n,o,r,g,y,h,w,S={},A=[])=>{let C,L,f,b=0;d(p,A,(()=>0)),d(v,A,(()=>[]));const[M,m,O,T]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!c(t)||!c(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!c(t)||!c(e)])(w,n),E=async t=>(2!=b&&(b=1,await P.schedule((async()=>{await t(),b=0}))),P),N=a=>{var s;(M&&(s=a?.[0],t(s)==e)?1===a?.[1][2]?n.applyMergeableChanges:n.setMergeableContent:1===a?.[2]?n.applyChanges:n.setContent)(a)},P={load:async(t,e)=>await E((async()=>{try{N(await o())}catch(a){h?.(a),n.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await P.stopAutoLoad().load(t,e),L=g((async(t,e)=>{const a=e?.();await E((async()=>{try{N(a??t?.()??await o())}catch(t){h?.(t)}}))})),P),stopAutoLoad:()=>(L&&(y(L),L=void 0),P),isAutoLoading:()=>!a(L),save:async t=>(1!=b&&(b=2,await P.schedule((async()=>{try{await r(m,t)}catch(t){h?.(t)}b=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),f=n.addDidFinishTransactionListener((()=>{const t=O();T(t)&&P.save((()=>t))})),P),stopAutoSave:()=>(s(f,n.delListener),f=void 0,P),isAutoSaving:()=>!a(f),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(v,A),...t),await(async()=>{if(!l(p,A)){for(u(p,A,1);!a((t=l(v,A),C=t.shift()));)try{await C()}catch(t){h?.(t)}u(p,A,0)}var t})(),P),getStore:()=>n,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...S};return i(P)})(o,(async()=>g(y.getItem(r))),(async t=>{return y.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===y&&e.key===r&&t((()=>g(e.newValue)))};return w.addEventListener(h,e),e}),(t=>w.removeEventListener(h,t)),S,!0,{getStorageName:()=>r});exports.createLocalPersister=(t,e,a)=>S(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>S(t,e,sessionStorage,a);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),f=Object,N=a=>f.getPrototypeOf(a),b=f.entries,S=f.keys,D=f.freeze,M=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>g(b(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(S(a)),B=a=>(a=>!r(a)&&l(N(a),(a=>a==f.prototype||r(N(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),U=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),Y=(a,t,e,n)=>(O(a,t)?n?.(j(a,t)):U(a,t,e()),j(a,t)),k=(a,t,e,n=U)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||r(a)?a:[a]),J=(a,t)=>a?.add(t),q=v+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,s,i)=>{const c=H();return[async()=>k(c,M(await u(g(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(g(await a(v+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>U(c,t,k(Y(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&U(a,t,e)}),((a,t)=>U(a,t))))),((a,t)=>U(c,t))),async(t,e)=>((a,t)=>!r(j(j(c,a),t)))(t,e)?M(C(g(await a(q+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const E=G();P(o??{},(a=>g(S(a??{}),(a=>J(E,a)))));const d=R(E);if(!y&&w&&m(d)&&O(c,t))return await a("DROP TABLE"+T(t)),void U(c,t);if(m(d)||O(c,t)){const n=j(c,t),i=G(W(n));await u([...g(d,(async s=>{h(i,s)||(await a(`ALTER TABLE${T(t)}ADD${T(s)}`),U(n,s,e))})),...!y&&l?g(R(i),(async e=>{e!=s&&(await a(`ALTER TABLE${T(t)}DROP${T(e)}`),U(n,e))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(s)} PRIMARY KEY ON CONFLICT REPLACE${A(g(d,(a=>n+T(a))))});`),U(c,t,H([[s,e],...g(d,(a=>[a,e]))]));if(y)r(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await u(P(o,(async(e,n)=>{r(e)?await a("DELETE FROM"+T(t)+K+T(s)+"=?",[n]):m(d)||await Q(a,t,s,S(e),[n,...$(e)],i)})));else if(m(d))O(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const e=C(W(j(c,t)),(a=>a!=s)),n=[],i=[];P(o??{},((a,t)=>{L(n,t,...g(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,s,e,n),await a("DELETE FROM"+T(t)+K+T(s)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Q=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+T(t)+"("+T(s)+A(g(c,(a=>n+T(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(o)/(E(c)+1)),1)+(r?"ON CONFLICT("+T(s)+")DO UPDATE SET"+A(g(c,(a=>T(a)+"=excluded."+T(a))),n):e),g(o,(a=>a??null))),X=a=>A(g(a,(()=>"?")),n),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),na=(a,t,e,n,s,i,c,[o,w]=[],y=[])=>{let E,u,d,p=0,T=0;Y(aa,y,(()=>0)),Y(ta,y,(()=>[]));const[v,A,g,m]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await O.schedule((async()=>{await a(),p=0}))),O),O={load:async(e,n)=>await C((async()=>{try{const e=await t();(v&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(O.stopAutoLoad(),await O.load(e,s),T=1,d=n((async(e,n)=>{if(n){const t=n();await C((async()=>(v&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const n=e?.()??await t();(v&&ea(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),O),stopAutoLoad:()=>(T&&(s(d),d=void 0,T=0),O),save:async a=>(1!=p&&(p=2,await O.schedule((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();m(a)&&O.save((()=>a))})),O),stopAutoSave:()=>(l(E,a.delListener),E=void 0,O),schedule:async(...a)=>(L(j(ta,y),...a),await(async()=>{if(!j(aa,y)){for(U(aa,y,1);!r((a=j(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}U(aa,y,0)}var a})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(O[o]=()=>w),D(O)},sa="store",ia=(a,t,e,n,s,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,s);return na(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},ca=(a,t,e,n,s,[i,c,[o,l,w]],y,E,T,v)=>{const[A,g,m,L]=V(t,y,s,v),O=async(a,t)=>await u(x(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),R=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return na(a,(async()=>await L((async()=>{await A();const a=await(async()=>M(C(await u(x(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await g(w,p))[d]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await A(),r(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,n,s,!1,[T,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,n)=>{const s=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));r(c[0])||n(i,c[0])||U(s,i,c)})),s},pa="pragma ",Ta="data_version",va="schema_version",Aa=(a,e,n,s,i,c,r,l,E="getDb",u)=>{let d,T,A;const[g,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y($(I(ua,c)),0,_(ua)),r=o[2],l=G(r);return[0,n,[da(s,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(g?ia:ca)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(pa+Ta))[0][Ta],e=(await n(pa+va))[0][va],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(T??=e)&&s==(A??=s)||(a(),d=t,T=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=T=null,i(t)}),r,C,R(L),l,E,u)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>Aa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,b=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>L.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==L.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],U=(a,t)=>a?.get(t),W=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),$=(a,t,e,n)=>(T(a,t)?n?.(U(a,t)):Y(a,t,e()),U(a,t)),k=(a,t,e,n=Y)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||r(a)?a:[a]),J=(a,t)=>a?.add(t),q="TABLE",z="ALTER "+q,K="DELETE FROM",V=g+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const c=B();return[async()=>k(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(g+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,k($(c,t,B),e,((a,t,e)=>{e!=U(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!r(U(U(c,a),t)))(t,e)?I(h(A(await a(V+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=G();_(o??{},(a=>A(b(a??{}),(a=>J(u,a)))));const E=N(u);if(!y&&w&&C(E)&&T(c,t))return await a("DROP "+q+v(t)),void Y(c,t);if(C(E)||T(c,t)){const n=U(c,t),i=G(H(n));await d([...A(E,(async s=>{f(i,s)||(await a(z+v(t)+"ADD"+v(s)),Y(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(z+v(t)+"DROP"+v(e)),Y(n,e))})):[]])}else await a("CREATE "+q+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+v(a))))});`),Y(c,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+v(t)+X+" 1"):await d(_(o,(async(e,n)=>{r(e)?await a(K+v(t)+X+v(s)+"=?",[n]):C(E)||await aa(a,t,s,b(e),[n,...F(e)],i)})));else if(C(E))T(c,t)&&await a(K+v(t)+X+" 1");else{const e=h(H(U(c,t)),(a=>a!=s)),n=[],r=[];_(o??{},((a,t)=>{O(n,t,...A(e,(t=>a?.[t]))),O(r,t)})),await aa(a,t,s,e,n,i),await a(K+v(t)+X+v(s)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+m(A(c,(a=>n+v(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(c,(a=>v(a)+"=excluded."+v(a))),n):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,c,o={},y=[])=>{let u,d,E,p=0;$(na,y,(()=>0)),$(sa,y,(()=>[]));const[v,g,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(c,a),C=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),h=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await C((async()=>{try{h(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await C((async()=>{try{h(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!r(E),schedule:async(...a)=>(O(U(sa,y),...a),await(async()=>{if(!U(na,y)){for(Y(na,y,1);!r((a=U(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(T)},ca="store",oa=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ra=(a,t,e,n,s,[i,c,[o,l,w]],y,u,v,g)=>{const[m,A,C,O]=Z(t,y,s,g),T=async(a,t)=>await d(W(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await C(e,n,a[c],s,i,t)}))),N=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await m();const a=await(async()=>I(h(await d(W(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await N(e)}else{const[a,e]=t();await T(a,!0),await N(e,!0)}}))),e,n,s,!1,{[v]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||n(i,c[0])||Y(s,i,c)})),s},ga="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,n,s,i,c,r,l,u="getDb",d)=>{let E,v,m;const[A,C,h,O]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=G(r);return[0,n,[va(s,{[ua]:null,[ya]:p},ua,(a=>J(l,a)&&a==r)),va(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ga+ma))[0][ma],e=(await n(ga+Aa))[0][Aa],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(v??=e)&&s==(m??=s)||(a(),E=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=v=null,i(t)}),r,h,N(O),l,u,d)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),O=Object,b=a=>O.getPrototypeOf(a),N=O.entries,D=O.keys,S=O.freeze,M=(a=[])=>O.fromEntries(a),I=(...a)=>O.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>A(N(a),(([a,e])=>t(e,a))),$=a=>O.values(a),_=a=>E(D(a)),B=a=>(a=>!o(a)&&l(b(a),(a=>a==O.prototype||o(b(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),q=(a,t,e,n)=>(h(a,t)?n?.(j(a,t)):k(a,t,e()),j(a,t)),x=(a,t,e,n=k)=>(P(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||o(a)?a:[a]),J=(a,t)=>a?.add(t),U=T+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,s,i)=>{const c=H();return[async()=>x(c,M(await u(A(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(T+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,x(q(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!o(j(j(c,a),t)))(t,e)?M(C(A(await a(U+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,r,l,w,y=!1)=>{const E=G();P(r??{},(a=>A(D(a??{}),(a=>J(E,a)))));const d=R(E);if(!y&&w&&m(d)&&h(c,t))return await a("DROP TABLE"+g(t)),void k(c,t);if(m(d)||h(c,t)){const n=j(c,t),i=G(W(n));await u([...A(d,(async s=>{f(i,s)||(await a(`ALTER TABLE${g(t)}ADD${g(s)}`),k(n,s,e))})),...!y&&l?A(R(i),(async e=>{e!=s&&(await a(`ALTER TABLE${g(t)}DROP${g(e)}`),k(n,e))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(s)} PRIMARY KEY ON CONFLICT REPLACE${v(A(d,(a=>n+g(a))))});`),k(c,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(r)?await a("DELETE FROM"+g(t)+"WHERE 1"):await u(P(r,(async(e,n)=>{o(e)?await a("DELETE FROM"+g(t)+K+g(s)+"=?",[n]):m(d)||await Q(a,t,s,D(e),[n,...$(e)],i)})));else if(m(d))h(c,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const e=C(W(j(c,t)),(a=>a!=s)),n=[],i=[];P(r??{},((a,t)=>{L(n,t,...A(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,s,e,n),await a("DELETE FROM"+g(t)+K+g(s)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Q=async(a,t,s,c,r,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+v(A(c,(a=>n+g(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(r)/(E(c)+1)),1)+(o?"ON CONFLICT("+g(s)+")DO UPDATE SET"+v(A(c,(a=>g(a)+"=excluded."+g(a))),n):e),A(r,(a=>a??null))),X=a=>v(A(a,(()=>"?")),n),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),na=(a,t,e,n,s,i,c,[r,w]=[],y=[])=>{let E,u,d,p=0,g=0;q(aa,y,(()=>0)),q(ta,y,(()=>[]));const[T,v,A,m]=((a,t)=>!a||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await h.schedule((async()=>{await a(),p=0}))),h),h={load:async(e,n)=>await C((async()=>{try{const e=await t();(T&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),g=1,d=n((async(e,n)=>{if(n){const t=n();await C((async()=>(T&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const n=e?.()??await t();(T&&ea(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(g&&(s(d),d=void 0,g=0),h),save:async a=>(1!=p&&(p=2,await h.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();m(a)&&h.save((()=>a))})),h),stopAutoSave:()=>(l(E,a.delListener),E=void 0,h),schedule:async(...a)=>(L(j(ta,y),...a),await(async()=>{if(!j(aa,y)){for(k(aa,y,1);!o((a=j(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(aa,y,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(h[r]=()=>w),S(h)},sa="store",ia=(a,t,e,n,s,[i],c,r,o)=>{const[l,w,y,E]=V(t,c,s);return na(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[sa]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[o,r],r)},ca=(a,t,e,n,s,[i,c,[r,l,w]],y,E,g,T)=>{const[v,A,m,L]=V(t,y,s,T),h=async(a,t)=>await u(Y(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),R=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return na(a,(async()=>await L((async()=>{await v();const a=await(async()=>M(C(await u(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>r?(await A(w,p))[d]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await v(),o(t)){const[t,e]=a();await h(t),await R(e)}else{const[a,e]=t();await h(a,!0),await R(e,!0)}}))),e,n,s,!1,[g,E],E)},ra="json",oa="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:ra,[oa]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,n)=>{const s=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));o(c[0])||n(i,c[0])||k(s,i,c)})),s},pa="pragma ",ga="data_version",Ta="schema_version",va=(a,e,n,s,i,c,o,l,E="getDb",u)=>{let d,g,v;const[A,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[oa];if(e.mode==ra){const{storeTableName:a=t}=e;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,r=y($(I(ua,c)),0,_(ua)),o=r[2],l=G(o);return[0,n,[da(s,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==o)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==o)),r],l]})(e);return(A?ia:ca)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(pa+ga))[0][ga],e=(await n(pa+Ta))[0][Ta],s=(await n(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&s==(v??=s)||(a(),d=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=g=null,i(t)}),o,C,R(L),l,E,u)};exports.createElectricSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>r.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),R=O.entries,S=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(S(a)),B=a=>(a=>!o(a)&&l(L(a),(a=>a==O.prototype||o(L(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),x=(a,t,e,n)=>(T(a,t)?n?.($(a,t)):q(a,t,e()),$(a,t)),G=(a,t,e,n=q)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||o(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const r=H();return[async()=>G(r,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(r,t,G(x(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(r,t))),async(t,e)=>((a,t)=>!o($($(r,a),t)))(t,e)?I(C(A(await a(V+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=J();_(c??{},(a=>A(S(a??{}),(a=>U(u,a)))));const E=b(u);if(!y&&w&&h(E)&&T(r,t))return await a("DROP "+W+p(t)),void q(r,t);if(h(E)||T(r,t)){const n=$(r,t),i=J(Y(n));await d([...A(E,(async s=>{N(i,s)||(await a(z+p(t)+"ADD"+p(s)),q(n,s,e))})),...!y&&l?A(b(i),(async e=>{e!=s&&(await a(z+p(t)+"DROP"+p(e)),q(n,e))})):[]])}else await a("CREATE "+W+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),q(r,t,H([[s,e],...A(E,(a=>[a,e]))]));if(y)o(c)?await a(K+p(t)+X+" 1"):await d(_(c,(async(e,n)=>{o(e)?await a(K+p(t)+X+p(s)+"=?",[n]):h(E)||await aa(a,t,s,S(e),[n,...F(e)],i)})));else if(h(E))T(r,t)&&await a(K+p(t)+X+" 1");else{const e=C(Y($(r,t)),(a=>a!=s)),n=[],o=[];_(c??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(o,t)})),await aa(a,t,s,e,n,i),await a(K+p(t)+X+p(s)+"NOT IN("+ta(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(r,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(r))})`,u(c)/(u(r)+1)),1)+(o?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(r,(a=>p(a)+"=excluded."+p(a))),n):e),A(c,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=H(),sa=H(),ia=(a,t,e,n,s,i,r,c={},y=[])=>{let u,d,E,g=0;x(na,y,(()=>0)),x(sa,y,(()=>[]));const[p,v,m,A]=((a,t)=>!a||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(r,a),h=async a=>(2!=g&&(g=1,await T.schedule((async()=>{await a(),g=0}))),T),C=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!o(d),save:async a=>(1!=g&&(g=2,await T.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!o(E),schedule:async(...a)=>(f($(sa,y),...a),await(async()=>{if(!$(na,y)){for(q(na,y,1);!o((a=$(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(na,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return D(T)},ra="store",ca=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=Z(t,r,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[ra]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[ra]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[o]:()=>c},c)},oa=(a,t,e,n,s,[i,r,[c,l,w]],y,u,p,v)=>{const[m,A,h,f]=Z(t,y,s,v),T=async(a,t)=>await d(k(r,(async([e,n,s,i],r)=>{t&&!P(a,r)||await h(e,n,a[r],s,i,t)}))),b=async(a,t)=>l?await h(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await f((async()=>{await m();const a=await(async()=>I(C(await d(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await A(w,g))[E]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await m(),o(t)){const[t,e]=a();await T(t),await b(e)}else{const[a,e]=t();await T(a,!0),await b(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return _(a,((a,i)=>{const r=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));o(r[0])||n(i,r[0])||q(s,i,r)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,r,o,l,u="getDb",d)=>{let E,p,m;const[A,h,C,f]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=y(F(M(ga,r)),0,j(ga)),o=c[2],l=J(o);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>U(l,a)&&a==o)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>U(l,t)&&t==o)),c],l]})(e);return(A?ca:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=p=null,i(t)}),o,C,b(f),l,u,d)};exports.createElectricSqlPersister=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>r.all(a),p="_",v="_id",A=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",T=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),L=a=>0==u(a),C=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),f=Object,b=a=>f.getPrototypeOf(a),D=f.entries,S=f.keys,M=f.freeze,I=(a=[])=>f.fromEntries(a),F=(...a)=>f.assign({},...a),P=(a,t)=>t in a,$=(a,t)=>m(D(a),(([a,e])=>t(e,a))),_=a=>f.values(a),x=a=>u(S(a)),B=a=>(a=>!l(a)&&y(b(a),(a=>a==f.prototype||l(b(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(h(a,t)?n?.(j(a,t)):Y(a,t,e()),j(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=H();return[async()=>G(c,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,G(k(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(j(j(c,a),t)))(t,e)?I(C(m(await a(z+A(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,r,o,y,w=!1)=>{const E=J();$(r??{},(a=>m(S(a??{}),(a=>U(E,a)))));const u=O(E);if(!w&&y&&L(u)&&h(c,t))return await a("DROP TABLE"+A(t)),void Y(c,t);if(L(u)||h(c,t)){const s=j(c,t),i=J(W(s));await d([...m(u,(async e=>{N(i,e)||(await a(`ALTER TABLE${A(t)}ADD${A(e)}`),Y(s,e,n))})),...!w&&o?m(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${A(t)}DROP${A(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${A(t)}(${A(e)} PRIMARY KEY ON CONFLICT REPLACE${T(m(u,(a=>s+A(a))))});`),Y(c,t,H([[e,n],...m(u,(a=>[a,n]))]));if(w)l(r)?await a("DELETE FROM"+A(t)+"WHERE 1"):await d($(r,(async(n,s)=>{l(n)?await a("DELETE FROM"+A(t)+V+A(e)+"=?",[s]):L(u)||await X(a,t,e,S(n),[s,..._(n)],i)})));else if(L(u))h(c,t)&&await a("DELETE FROM"+A(t)+"WHERE 1");else{const n=C(W(j(c,t)),(a=>a!=e)),s=[],i=[];$(r??{},((a,t)=>{R(s,t,...m(n,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+A(t)+V+A(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,r,o=!0)=>await a("INSERT "+(o?n:"OR REPLACE ")+"INTO"+A(t)+"("+A(e)+T(m(i,(a=>s+A(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(r)/(u(i)+1)),1)+(o?"ON CONFLICT("+A(e)+")DO UPDATE SET"+T(m(i,(a=>A(a)+"=excluded."+A(a))),s):n),m(r,(a=>a??null))),Z=a=>T(m(a,(()=>"?")),s),aa=JSON.parse,ta=H(),ea=H(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,c,[r,o]=[],w=[])=>{let E,u,d,p=0,v=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[A,g,T,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),L=async a=>(2!=p&&(p=1,await C.schedule((async()=>{await a(),p=0}))),C),C={load:async(e,n)=>await L((async()=>{try{const e=await t();(A&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),v=1,d=n((async(e,n)=>{if(n){const t=n();await L((async()=>(A&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await L((async()=>{try{const n=e?.()??await t();(A&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(v&&(s(d),d=void 0,v=0),C),save:async a=>(1!=p&&(p=2,await C.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();m(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(E,a.delListener),E=void 0,C),schedule:async(...a)=>(R(j(ea,w),...a),await(async()=>{if(!j(ta,w)){for(Y(ta,w,1);!l((a=j(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(C[r]=()=>o),M(C)},ia="store",ca=(a,t,e,n,s,[i],c,r,o)=>{const[l,y,w,E]=Q(t,c,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,v))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,v,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[o,r],r)},ra=(a,t,e,n,s,[i,c,[r,o,y]],w,E,u,A)=>{const[g,T,m,L]=Q(t,w,s,A),R=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!P(a,c)||await m(e,n,a[c],s,i,t)}))),h=async(a,t)=>o?await m(y,v,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await g();const a=await(async()=>I(C(await d(q(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>r?(await T(y,v))[p]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await g(),l(t)){const[t,e]=a();await R(t),await h(e)}else{const[a,e]=t();await R(a,!0),await h(e,!0)}}))),e,n,s,!1,[u,E],E)},oa="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:oa,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=H();return $(a,((a,i)=>{const c=E(_(F(t,w(a)?{[e]:a}:a)),0,x(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},va="pragma ",Aa="data_version",ga="schema_version",Ta=(a,t,n,s,i,c,r,l,y="getDb",u)=>{let d,p,A;const[T,m,L,C]=(a=>{const t=(a=>F(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==oa){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,r=E(_(F(da,c)),0,x(da)),o=r[2],l=J(o);return[0,n,[pa(s,{[wa]:null,[ya]:v},wa,(a=>U(l,a)&&a==o)),pa(i,{[Ea]:null,[ya]:v,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==o)),r],l]})(t);return(T?ca:ra)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Aa))[0][Aa],e=(await n(va+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(A??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=p=null,i(t)}),r,L,O(C),l,y,u)};exports.createExpoSqliteNextPersister=(t,e,n,s,i)=>Ta(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);
1
+ "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p="_",v="_id",g=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==d(a),N=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),b=Object,R=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),_=(a,t)=>t in a,x=(a,t)=>h(S(a),(([a,e])=>t(e,a))),F=a=>b.values(a),j=a=>d(D(a)),q=a=>(a=>!l(a)&&y(R(a),(a=>a==b.prototype||l(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(f(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(L(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(x(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||l(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,e,i)=>{const c=B();return[async()=>J(c,M(await E(h(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(h(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,J(G(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!l(Y(Y(c,a),t)))(t,e)?M(N(h(await a(Q+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,r,o,y,w=!1)=>{const u=U();x(r??{},(a=>h(D(a??{}),(a=>W(u,a)))));const d=O(u);if(!w&&y&&C(d)&&L(c,t))return await a("DROP "+z+g(t)),void k(c,t);if(C(d)||L(c,t)){const s=Y(c,t),i=U(H(s));await E([...h(d,(async e=>{f(i,e)||(await a(K+g(t)+"ADD"+g(e)),k(s,e,n))})),...!w&&o?h(O(i),(async n=>{n!=e&&(await a(K+g(t)+"DROP"+g(n)),k(s,n))})):[]])}else await a("CREATE "+z+g(t)+"("+g(e)+` PRIMARY KEY ON CONFLICT REPLACE${A(h(d,(a=>s+g(a))))});`),k(c,t,B([[e,n],...h(d,(a=>[a,n]))]));if(w)l(r)?await a(V+g(t)+Z+" 1"):await E(x(r,(async(n,s)=>{l(n)?await a(V+g(t)+Z+g(e)+"=?",[s]):C(d)||await ta(a,t,e,D(n),[s,...F(n)],i)})));else if(C(d))L(c,t)&&await a(V+g(t)+Z+" 1");else{const n=N(H(Y(c,t)),(a=>a!=e)),s=[],o=[];x(r??{},((a,t)=>{T(s,t,...h(n,(t=>a?.[t]))),T(o,t)})),await ta(a,t,e,n,s,i),await a(V+g(t)+Z+g(e)+"NOT IN("+ea(o)+")",o)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ta=async(a,t,e,i,r,o=!0)=>await a("INSERT "+(o?n:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+A(h(i,(a=>s+g(a))))+")VALUES"+u(c(`,(?${c(",?",d(i))})`,d(r)/(d(i)+1)),1)+(o?"ON CONFLICT("+g(e)+")DO UPDATE SET"+A(h(i,(a=>g(a)+"=excluded."+g(a))),s):n),h(r,(a=>a??null))),ea=a=>A(h(a,(()=>"?")),s),na=JSON.parse,sa=B(),ia=B(),ca=(a,t,e,n,s,i,c,r={},o=[])=>{let u,d,E,p=0;G(sa,o,(()=>0)),G(ia,o,(()=>[]));const[v,g,m,A]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!q(a)||!q(t)])(c,a),h=async a=>(2!=p&&(p=1,await N.schedule((async()=>{await a(),p=0}))),N),C=t=>{(v&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await N.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),N),stopAutoLoad:()=>(d&&(s(d),d=void 0),N),isAutoLoading:()=>!l(d),save:async a=>(1!=p&&(p=2,await N.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N.save((()=>a))})),N),stopAutoSave:()=>(y(E,a.delListener),E=void 0,N),isAutoSaving:()=>!l(E),schedule:async(...a)=>(T(Y(ia,o),...a),await(async()=>{if(!Y(sa,o)){for(k(sa,o,1);!l((a=Y(ia,o),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(sa,o,0)}var a})(),N),getStore:()=>a,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...r};return I(N)},ra="store",oa=(a,t,e,n,s,[i],c,r,o,l)=>{const[y,w,u,d]=aa(t,c,s,l);return ca(a,(async()=>await d((async()=>(await y(),na((await w(i,v))[p]?.[ra]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,v,{[p]:{[ra]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[o]:()=>r},r)},la=(a,t,e,n,s,[i,c,[r,o,y]],w,u,d,g)=>{const[m,A,h,C]=aa(t,w,s,g),T=async(a,t)=>await E($(c,(async([e,n,s,i],c)=>{t&&!_(a,c)||await h(e,n,a[c],s,i,t)}))),L=async(a,t)=>o?await h(y,v,{[p]:a},!0,!0,t):null;return ca(a,(async()=>await C((async()=>{await m();const a=await(async()=>M(N(await E($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>r?(await A(y,v))[p]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await m(),l(t)){const[t,e]=a();await T(t),await L(e)}else{const[a,e]=t();await T(a,!0),await L(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},ya="json",wa="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:ya,[wa]:1},va={load:0,save:0,[Ea]:e+"_values"},ga=(a,t,e,n)=>{const s=B();return x(a,((a,i)=>{const c=u(F(P(t,w(a)?{[e]:a}:a)),0,j(t));l(c[0])||n(i,c[0])||k(s,i,c)})),s},ma="pragma ",Aa="data_version",ha="schema_version",Ca=(a,t,n,s,i,c,r,l,y="getDb",d)=>{let E,p,g;const[A,h,C,N]=(a=>{const t=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),n=t[wa];if(t.mode==ya){const{storeTableName:a=e}=t;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,r=u(F(P(va,c)),0,j(va)),o=r[2],l=U(o);return[0,n,[ga(s,{[da]:null,[ua]:v},da,(a=>W(l,a)&&a==o)),ga(i,{[Ea]:null,[ua]:v,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>W(l,t)&&t==o)),r],l]})(t);return(A?oa:la)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Aa))[0][Aa],e=(await n(ma+ha))[0][ha],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),r,C,O(N),l,y,d)};exports.createExpoSqliteNextPersister=(t,e,n,s,i)=>Ca(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),m=a=>0==E(a),C=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),N=Object,f=a=>N.getPrototypeOf(a),b=N.entries,D=N.keys,S=N.freeze,M=(a=[])=>N.fromEntries(a),I=(...a)=>N.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>T(b(a),(([a,e])=>t(e,a))),$=a=>N.values(a),_=a=>E(D(a)),B=a=>(a=>!r(a)&&l(f(a),(a=>a==N.prototype||r(f(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),j=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),k=(a,t,e,s)=>(R(a,t)?s?.(W(a,t)):Y(a,t,e()),W(a,t)),q=(a,t,e,s=Y)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:s(a,e))),a),G=a=>new Set(Array.isArray(a)||r(a)?a:[a]),J=(a,t)=>a?.add(t),U=v+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,n,i)=>{const c=H();return[async()=>q(c,M(await u(T(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(T(await a(v+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,q(k(c,t,H),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!r(W(W(c,a),t)))(t,e)?M(C(T(await a(U+g(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,n,o,l,w,y=!1)=>{const E=G();P(o??{},(a=>T(D(a??{}),(a=>J(E,a)))));const d=h(E);if(!y&&w&&m(d)&&R(c,t))return await a("DROP TABLE"+g(t)),void Y(c,t);if(m(d)||R(c,t)){const s=W(c,t),i=G(x(s));await u([...T(d,(async n=>{O(i,n)||(await a(`ALTER TABLE${g(t)}ADD${g(n)}`),Y(s,n,e))})),...!y&&l?T(h(i),(async e=>{e!=n&&(await a(`ALTER TABLE${g(t)}DROP${g(e)}`),Y(s,e))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(n)} PRIMARY KEY ON CONFLICT REPLACE${A(T(d,(a=>s+g(a))))});`),Y(c,t,H([[n,e],...T(d,(a=>[a,e]))]));if(y)r(o)?await a("DELETE FROM"+g(t)+"WHERE 1"):await u(P(o,(async(e,s)=>{r(e)?await a("DELETE FROM"+g(t)+K+g(n)+"=?",[s]):m(d)||await Q(a,t,n,D(e),[s,...$(e)],i)})));else if(m(d))R(c,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const e=C(x(W(c,t)),(a=>a!=n)),s=[],i=[];P(o??{},((a,t)=>{L(s,t,...T(e,(t=>a?.[t]))),L(i,t)})),await Q(a,t,n,e,s),await a("DELETE FROM"+g(t)+K+g(n)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},Q=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(n)+A(T(c,(a=>s+g(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(o)/(E(c)+1)),1)+(r?"ON CONFLICT("+g(n)+")DO UPDATE SET"+A(T(c,(a=>g(a)+"=excluded."+g(a))),s):e),T(o,(a=>a??null))),X=a=>A(T(a,(()=>"?")),s),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),sa=(a,t,e,s,n,i,c,[o,w]=[],y=[])=>{let E,u,d,p=0,g=0;k(aa,y,(()=>0)),k(ta,y,(()=>[]));const[v,A,T,m]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),C=async a=>(2!=p&&(p=1,await R.schedule((async()=>{await a(),p=0}))),R),R={load:async(e,s)=>await C((async()=>{try{const e=await t();(v&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(R.stopAutoLoad(),await R.load(e,n),g=1,d=s((async(e,s)=>{if(s){const t=s();await C((async()=>(v&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await C((async()=>{try{const s=e?.()??await t();(v&&ea(s)?a.setMergeableContent:a.setContent)(s)}catch(a){i?.(a)}}))})),R),stopAutoLoad:()=>(g&&(n(d),d=void 0,g=0),R),save:async a=>(1!=p&&(p=2,await R.schedule((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),R),startAutoSave:async()=>(await R.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=T();m(a)&&R.save((()=>a))})),R),stopAutoSave:()=>(l(E,a.delListener),E=void 0,R),schedule:async(...a)=>(L(W(ta,y),...a),await(async()=>{if(!W(aa,y)){for(Y(aa,y,1);!r((a=W(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(aa,y,0)}var a})(),R),getStore:()=>a,destroy:()=>R.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(R[o]=()=>w),S(R)},na="store",ia=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,n);return sa(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[na]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,E,g,v)=>{const[A,T,m,L]=V(t,y,n,v),R=async(a,t)=>await u(j(c,(async([e,s,n,i],c)=>{t&&!F(a,c)||await m(e,s,a[c],n,i,t)}))),h=async(a,t)=>l?await m(w,p,{[d]:a},!0,!0,t):null;return sa(a,(async()=>await L((async()=>{await A();const a=await(async()=>M(C(await u(j(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await T(w,p))[d]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await A(),r(t)){const[t,e]=a();await R(t),await h(e)}else{const[a,e]=t();await R(a,!0),await h(e,!0)}}))),e,s,n,!1,[g,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,s)=>{const n=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));r(c[0])||s(i,c[0])||Y(n,i,c)})),n},pa="pragma ",ga="data_version",va="schema_version",Aa=(a,e,s,n,i,c,r,l,E="getDb",u)=>{let d,g,A;const[T,m,C,L]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y($(I(ua,c)),0,_(ua)),r=o[2],l=G(r);return[0,s,[da(n,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(T?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+ga))[0][ga],e=(await s(pa+va))[0][va],n=(await s(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&n==(A??=n)||(a(),d=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=g=null,i(t)}),r,C,h(L),l,E,u)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>Aa(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),T=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),L=Object,b=a=>L.getPrototypeOf(a),R=L.entries,S=L.keys,D=L.freeze,I=(a=[])=>L.fromEntries(a),M=(...a)=>L.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(R(a),(([a,e])=>t(e,a))),F=a=>L.values(a),x=a=>u(S(a)),j=a=>(a=>!r(a)&&l(b(a),(a=>a==L.prototype||r(b(a))),(()=>!0)))(a)&&0==x(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(f(a,t),a):a?.set(t,e),q=(a,t,e,s)=>(T(a,t)?s?.(Y(a,t)):k(a,t,e()),Y(a,t)),G=(a,t,e,s=k)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:s(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,n,i)=>{const c=B();return[async()=>G(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,G(q(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!r(Y(Y(c,a),t)))(t,e)?I(C(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!j(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=J();_(o??{},(a=>A(S(a??{}),(a=>U(u,a)))));const E=O(u);if(!y&&w&&h(E)&&T(c,t))return await a("DROP "+W+g(t)),void k(c,t);if(h(E)||T(c,t)){const s=Y(c,t),i=J(H(s));await d([...A(E,(async n=>{f(i,n)||(await a(z+g(t)+"ADD"+g(n)),k(s,n,e))})),...!y&&l?A(O(i),(async e=>{e!=n&&(await a(z+g(t)+"DROP"+g(e)),k(s,e))})):[]])}else await a("CREATE "+W+g(t)+"("+g(n)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>s+g(a))))});`),k(c,t,B([[n,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+g(t)+X+" 1"):await d(_(o,(async(e,s)=>{r(e)?await a(K+g(t)+X+g(n)+"=?",[s]):h(E)||await aa(a,t,n,S(e),[s,...F(e)],i)})));else if(h(E))T(c,t)&&await a(K+g(t)+X+" 1");else{const e=C(H(Y(c,t)),(a=>a!=n)),s=[],r=[];_(o??{},((a,t)=>{N(s,t,...A(e,(t=>a?.[t]))),N(r,t)})),await aa(a,t,n,e,s,i),await a(K+g(t)+X+g(n)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},aa=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(n)+m(A(c,(a=>s+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+g(n)+")DO UPDATE SET"+m(A(c,(a=>g(a)+"=excluded."+g(a))),s):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),s),ea=JSON.parse,sa=B(),na=B(),ia=(a,t,e,s,n,i,c,o={},y=[])=>{let u,d,E,p=0;q(sa,y,(()=>0)),q(na,y,(()=>[]));const[g,v,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!j(a)||!j(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!j(a)||!j(t)])(c,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),C=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async(e,s)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,s])}})),startAutoLoad:async(a={},e={})=>(await T.stopAutoLoad().load(a,e),d=s((async(a,e)=>{const s=e?.();await h((async()=>{try{C(s??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(n(d),d=void 0),T),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(l(E,a.delListener),E=void 0,T),isAutoSaving:()=>!r(E),schedule:async(...a)=>(N(Y(na,y),...a),await(async()=>{if(!Y(sa,y)){for(k(sa,y,1);!r((a=Y(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(sa,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(T)},ca="store",oa=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,n,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,{[r]:()=>o},o)},ra=(a,t,e,s,n,[i,c,[o,l,w]],y,u,g,v)=>{const[m,A,h,N]=Z(t,y,n,v),T=async(a,t)=>await d($(c,(async([e,s,n,i],c)=>{t&&!P(a,c)||await h(e,s,a[c],n,i,t)}))),O=async(a,t)=>l?await h(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await N((async()=>{await m();const a=await(async()=>I(C(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!j(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return j(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await O(e)}else{const[a,e]=t();await T(a,!0),await O(e,!0)}}))),e,s,n,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,s)=>{const n=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,x(t));r(c[0])||s(i,c[0])||k(n,i,c)})),n},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,g,m;const[A,h,C,N]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,x(pa)),r=o[2],l=J(r);return[0,s,[ga(n,{[ua]:null,[ya]:p},ua,(a=>U(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>U(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(va+ma))[0][ma],e=(await s(va+Aa))[0][Aa],n=(await s(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&n==(m??=n)||(a(),E=t,g=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),r,C,O(N),l,u,d)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>ha(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),e=require("fs/promises");const a=t=>typeof t,s=a(""),n="utf8",r=t=>null==t,o=(t,e,a)=>r(t)?a?.():e(t),i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,l=i.freeze,g=t=>(t=>!r(t)&&o(c(t),(t=>t==i.prototype||r(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=JSON.parse,p=t=>new Map(t),d=(t,e)=>t?.get(e),h=(t,e,a)=>{return r(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},w=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(d(t,e)):h(t,e,a()),d(t,e)},v=p(),f=p(),C=t=>{return e=t?.[0],a(e)==s;var e};exports.createFilePersister=(a,s,c)=>((t,e,a,s,n,i,c,[y,u]=[],p=[])=>{let A,M,S,b=0,L=0;w(v,p,(()=>0)),w(f,p,(()=>[]));const[F,O,P,T]=((t,e)=>!t||r(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(c,t),m=async t=>(2!=b&&(b=1,await q.schedule((async()=>{await t(),b=0}))),q),q={load:async(a,s)=>await m((async()=>{try{const a=await e();(F&&C(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(q.stopAutoLoad(),await q.load(a,n),L=1,S=s((async(a,s)=>{if(s){const e=s();await m((async()=>(F&&C(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await m((async()=>{try{const s=a?.()??await e();(F&&C(s)?t.setMergeableContent:t.setContent)(s)}catch(t){i?.(t)}}))})),q),stopAutoLoad:()=>(L&&(n(S),S=void 0,L=0),q),save:async t=>(1!=b&&(b=2,await q.schedule((async()=>{try{await a(O,t)}catch(t){i?.(t)}b=0}))),q),startAutoSave:async()=>(await q.stopAutoSave().save(),A=t.addDidFinishTransactionListener((()=>{const t=P();T(t)&&q.save((()=>t))})),q),stopAutoSave:()=>(o(A,t.delListener),A=void 0,q),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(d(f,p),...t),await(async()=>{if(!d(v,p)){for(h(v,p,1);!r((t=d(f,p),M=t.shift()));)try{await M()}catch(t){i?.(t)}h(v,p,0)}var t})(),q),getStore:()=>t,destroy:()=>q.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(q[y]=()=>u),l(q)})(a,(async()=>u(await e.readFile(s,n))),(async t=>{return await e.writeFile(s,(a=t(),JSON.stringify(a,((t,e)=>e instanceof Map?i.fromEntries([...e]):e))),n);var a}),(e=>t.watch(s,(()=>e()))),(t=>t?.close()),c,!0,["getFilePath",s]);
1
+ "use strict";var t=require("fs"),e=require("fs/promises");const a=t=>typeof t,s=a(""),n="utf8",r=t=>null==t,o=(t,e,a)=>r(t)?a?.():e(t),i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,g=i.freeze,l=t=>(t=>!r(t)&&o(c(t),(t=>t==i.prototype||r(c(t))),(()=>!0)))(t)&&0==(t=>y(t).length)(t),u=JSON.parse,p=t=>new Map(t),d=(t,e)=>t?.get(e),h=(t,e,a)=>{return r(a)?(s=t,n=e,s?.delete(n),t):t?.set(e,a);var s,n},w=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(d(t,e)):h(t,e,a()),d(t,e)},v=p(),f=p();exports.createFilePersister=(c,y,p)=>((t,e,n,i,c,y,u,p={},A=[])=>{let C,S,L,M=0;w(v,A,(()=>0)),w(f,A,(()=>[]));const[b,F,O,P]=((t,e)=>!t||r(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!l(t)||!l(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!l(t)||!l(e)])(u,t),T=async t=>(2!=M&&(M=1,await q.schedule((async()=>{await t(),M=0}))),q),m=e=>{var n;(b&&(n=e?.[0],a(n)==s)?1===e?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},q={load:async(a,s)=>await T((async()=>{try{m(await e())}catch(e){y?.(e),t.setContent([a,s])}})),startAutoLoad:async(t={},a={})=>(await q.stopAutoLoad().load(t,a),S=i((async(t,a)=>{const s=a?.();await T((async()=>{try{m(s??t?.()??await e())}catch(t){y?.(t)}}))})),q),stopAutoLoad:()=>(S&&(c(S),S=void 0),q),isAutoLoading:()=>!r(S),save:async t=>(1!=M&&(M=2,await q.schedule((async()=>{try{await n(F,t)}catch(t){y?.(t)}M=0}))),q),startAutoSave:async()=>(await q.stopAutoSave().save(),L=t.addDidFinishTransactionListener((()=>{const t=O();P(t)&&q.save((()=>t))})),q),stopAutoSave:()=>(o(L,t.delListener),L=void 0,q),isAutoSaving:()=>!r(L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(d(f,A),...t),await(async()=>{if(!d(v,A)){for(h(v,A,1);!r((t=d(f,A),C=t.shift()));)try{await C()}catch(t){y?.(t)}h(v,A,0)}var t})(),q),getStore:()=>t,destroy:()=>q.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...p};return g(q)})(c,(async()=>u(await e.readFile(y,n))),(async t=>{return await e.writeFile(y,(a=t(),JSON.stringify(a,((t,e)=>e instanceof Map?i.fromEntries([...e]):e))),n);var a}),(e=>t.watch(y,(()=>e()))),(t=>t?.close()),p,!0,{getFilePath:()=>y});
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e=t(""),a=Promise,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>new a(t),c=async t=>a.all(t),i=(t,e)=>t.map(e),l=(t,...e)=>t.push(...e),y=Object,d=t=>y.getPrototypeOf(t),u=y.entries,w=y.keys,g=y.freeze,p=t=>(t=>!n(t)&&o(d(t),(t=>t==y.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>w(t).length)(t),h=t=>new Map(t),v=(t,e)=>t?.get(e),b=(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)?s?.(v(t,e)):b(t,e,a()),v(t,e)},A=h(),S=h(),f=a=>{return s=a?.[0],t(s)==e;var s},M=globalThis.window,x=["t","v"],D={keyPath:"k"},L=async(t,e)=>{const a=((e,a)=>i(u(e),(([e,a])=>j(t,"put",{k:e,v:a}))))(e);i(await j(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:l(a,j(t,"delete",s)))),await c(a)},j=async(t,e,a)=>r(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,e,a=1,d)=>{const u=async(t,a=[],s=0)=>r(((n,o)=>{const r=(M?M.indexedDB:indexedDB).open(e,s?2:void 0);r.onupgradeneeded=()=>s&&i(x,(t=>{try{r.result.createObjectStore(t,D)}catch{}})),r.onsuccess=async()=>{try{const e=r.result.transaction(x,"readwrite"),s=await c(i(x,(async(s,n)=>await t(e.objectStore(s),a[n]))));r.result.close(),n(s)}catch(t){r.result.close(),o(t)}},r.onerror=()=>o("indexedDB.open error")}));return((t,e,a,s,r,c,i,[y,d]=[],u=[])=>{let w,h,M,x=0,D=0;C(A,u,(()=>0)),C(S,u,(()=>[]));const[L,j,k,m]=((t,e)=>!t||n(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(i,t),P=async t=>(2!=x&&(x=1,await T.schedule((async()=>{await t(),x=0}))),T),T={load:async(a,s)=>await P((async()=>{try{const a=await e();(L&&f(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(T.stopAutoLoad(),await T.load(a,n),D=1,M=s((async(a,s)=>{if(s){const e=s();await P((async()=>(L&&f(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const s=a?.()??await e();(L&&f(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),T),stopAutoLoad:()=>(D&&(r(M),M=void 0,D=0),T),save:async t=>(1!=x&&(x=2,await T.schedule((async()=>{try{await a(j,t)}catch(t){c?.(t)}x=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=t.addDidFinishTransactionListener((()=>{const t=k();m(t)&&T.save((()=>t))})),T),stopAutoSave:()=>(o(w,t.delListener),w=void 0,T),schedule:async(...t)=>(l(v(S,u),...t),await(async()=>{if(!v(A,u)){for(b(A,u,1);!n((t=v(S,u),h=t.shift()));)try{await h()}catch(t){c?.(t)}b(A,u,0)}var t})(),T),getStore:()=>t,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(T[y]=()=>d),g(T)})(t,(async()=>await u((async t=>((t=[])=>y.fromEntries(t))(i(await j(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await u((async(t,e)=>await L(t,e)),t(),1)),(t=>setInterval(t,1e3*a)),(t=>s(t)),d,!1,["getDbName",e])},exports.objectStoreMatch=L;
1
+ "use strict";const t=t=>typeof t,e=t(""),a=Promise,s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>new a(t),c=async t=>a.all(t),i=(t,e)=>t.map(e),l=(t,...e)=>t.push(...e),y=Object,d=t=>y.getPrototypeOf(t),u=y.entries,g=y.keys,w=y.freeze,p=t=>(t=>!n(t)&&o(d(t),(t=>t==y.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>g(t).length)(t),h=t=>new Map(t),v=(t,e)=>t?.get(e),b=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},A=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(v(t,e)):b(t,e,a()),v(t,e)},S=h(),C=h(),f=globalThis.window,L=["t","v"],M={keyPath:"k"},x=async(t,e)=>{const a=((e,a)=>i(u(e),(([e,a])=>D(t,"put",{k:e,v:a}))))(e);i(await D(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:l(a,D(t,"delete",s)))),await c(a)},D=async(t,e,a)=>r(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(a,d,u=1,g)=>{const h=async(t,e=[],a=0)=>r(((s,n)=>{const o=(f?f.indexedDB:indexedDB).open(d,a?2:void 0);o.onupgradeneeded=()=>a&&i(L,(t=>{try{o.result.createObjectStore(t,M)}catch{}})),o.onsuccess=async()=>{try{const a=o.result.transaction(L,"readwrite"),n=await c(i(L,(async(s,n)=>await t(a.objectStore(s),e[n]))));o.result.close(),s(n)}catch(t){o.result.close(),n(t)}},o.onerror=()=>n("indexedDB.open error")}));return((a,s,r,c,i,y,d,u={},g=[])=>{let h,f,L,M=0;A(S,g,(()=>0)),A(C,g,(()=>[]));const[x,D,j,k]=((t,e)=>!t||n(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!p(t)||!p(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!p(t)||!p(e)])(d,a),m=async t=>(2!=M&&(M=1,await T.schedule((async()=>{await t(),M=0}))),T),P=s=>{var n;(x&&(n=s?.[0],t(n)==e)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},T={load:async(t,e)=>await m((async()=>{try{P(await s())}catch(s){y?.(s),a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await T.stopAutoLoad().load(t,e),f=c((async(t,e)=>{const a=e?.();await m((async()=>{try{P(a??t?.()??await s())}catch(t){y?.(t)}}))})),T),stopAutoLoad:()=>(f&&(i(f),f=void 0),T),isAutoLoading:()=>!n(f),save:async t=>(1!=M&&(M=2,await T.schedule((async()=>{try{await r(D,t)}catch(t){y?.(t)}M=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),L=a.addDidFinishTransactionListener((()=>{const t=j();k(t)&&T.save((()=>t))})),T),stopAutoSave:()=>(o(L,a.delListener),L=void 0,T),isAutoSaving:()=>!n(L),schedule:async(...t)=>(l(v(C,g),...t),await(async()=>{if(!v(S,g)){for(b(S,g,1);!n((t=v(C,g),h=t.shift()));)try{await h()}catch(t){y?.(t)}b(S,g,0)}var t})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return w(T)})(a,(async()=>await h((async t=>((t=[])=>y.fromEntries(t))(i(await D(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await h((async(t,e)=>await x(t,e)),t(),1)),(t=>setInterval(t,1e3*u)),(t=>s(t)),g,!1,{getDbName:()=>d})},exports.objectStoreMatch=x;
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),L=a=>0==E(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),f=Object,N=a=>f.getPrototypeOf(a),b=f.entries,S=f.keys,D=f.freeze,M=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),F=(a,t)=>t in a,P=(a,t)=>A(b(a),(([a,e])=>t(e,a))),$=a=>f.values(a),_=a=>E(S(a)),B=a=>(a=>!r(a)&&l(N(a),(a=>a==f.prototype||r(N(a))),(()=>!0)))(a)&&0==_(a),H=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),k=(a,t,e,s)=>(R(a,t)?s?.(j(a,t)):Y(a,t,e()),j(a,t)),q=(a,t,e,s=Y)=>(P(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:s(a,e))),a),G=a=>new Set(Array.isArray(a)||r(a)?a:[a]),J=(a,t)=>a?.add(t),U=T+"*FROM",z="FROM pragma_table_",K="WHERE",V=(a,t,n,i)=>{const c=H();return[async()=>q(c,M(await u(A(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+X(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(T+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,q(k(c,t,H),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!r(j(j(c,a),t)))(t,e)?M(m(A(await a(U+g(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,n,o,l,w,y=!1)=>{const E=G();P(o??{},(a=>A(S(a??{}),(a=>J(E,a)))));const d=O(E);if(!y&&w&&L(d)&&R(c,t))return await a("DROP TABLE"+g(t)),void Y(c,t);if(L(d)||R(c,t)){const s=j(c,t),i=G(W(s));await u([...A(d,(async n=>{h(i,n)||(await a(`ALTER TABLE${g(t)}ADD${g(n)}`),Y(s,n,e))})),...!y&&l?A(O(i),(async e=>{e!=n&&(await a(`ALTER TABLE${g(t)}DROP${g(e)}`),Y(s,e))})):[]])}else await a(`CREATE TABLE${g(t)}(${g(n)} PRIMARY KEY ON CONFLICT REPLACE${v(A(d,(a=>s+g(a))))});`),Y(c,t,H([[n,e],...A(d,(a=>[a,e]))]));if(y)r(o)?await a("DELETE FROM"+g(t)+"WHERE 1"):await u(P(o,(async(e,s)=>{r(e)?await a("DELETE FROM"+g(t)+K+g(n)+"=?",[s]):L(d)||await Q(a,t,n,S(e),[s,...$(e)],i)})));else if(L(d))R(c,t)&&await a("DELETE FROM"+g(t)+"WHERE 1");else{const e=m(W(j(c,t)),(a=>a!=n)),s=[],i=[];P(o??{},((a,t)=>{C(s,t,...A(e,(t=>a?.[t]))),C(i,t)})),await Q(a,t,n,e,s),await a("DELETE FROM"+g(t)+K+g(n)+"NOT IN("+X(i)+")",i)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},Q=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(n)+v(A(c,(a=>s+g(a))))+")VALUES"+y(i(`,(?${i(",?",E(c))})`,E(o)/(E(c)+1)),1)+(r?"ON CONFLICT("+g(n)+")DO UPDATE SET"+v(A(c,(a=>g(a)+"=excluded."+g(a))),s):e),A(o,(a=>a??null))),X=a=>v(A(a,(()=>"?")),s),Z=JSON.parse,aa=H(),ta=H(),ea=a=>w(a?.[0]),sa=(a,t,e,s,n,i,c,[o,w]=[],y=[])=>{let E,u,d,p=0,g=0;k(aa,y,(()=>0)),k(ta,y,(()=>[]));const[T,v,A,L]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!B(a)||!B(t)])(c,a),m=async a=>(2!=p&&(p=1,await R.schedule((async()=>{await a(),p=0}))),R),R={load:async(e,s)=>await m((async()=>{try{const e=await t();(T&&ea(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(R.stopAutoLoad(),await R.load(e,n),g=1,d=s((async(e,s)=>{if(s){const t=s();await m((async()=>(T&&ea(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await m((async()=>{try{const s=e?.()??await t();(T&&ea(s)?a.setMergeableContent:a.setContent)(s)}catch(a){i?.(a)}}))})),R),stopAutoLoad:()=>(g&&(n(d),d=void 0,g=0),R),save:async a=>(1!=p&&(p=2,await R.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),R),startAutoSave:async()=>(await R.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();L(a)&&R.save((()=>a))})),R),stopAutoSave:()=>(l(E,a.delListener),E=void 0,R),schedule:async(...a)=>(C(j(ta,y),...a),await(async()=>{if(!j(aa,y)){for(Y(aa,y,1);!r((a=j(ta,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(aa,y,0)}var a})(),R),getStore:()=>a,destroy:()=>R.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(R[o]=()=>w),D(R)},na="store",ia=(a,t,e,s,n,[i],c,o,r)=>{const[l,w,y,E]=V(t,c,n);return sa(a,(async()=>await E((async()=>(await l(),Z((await w(i,p))[d]?.[na]??"null"))))),(async a=>await E((async()=>{var t;await l(),await y(i,p,{[d]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,o],o)},ca=(a,t,e,s,n,[i,c,[o,l,w]],y,E,g,T)=>{const[v,A,L,C]=V(t,y,n,T),R=async(a,t)=>await u(x(c,(async([e,s,n,i],c)=>{t&&!F(a,c)||await L(e,s,a[c],n,i,t)}))),O=async(a,t)=>l?await L(w,p,{[d]:a},!0,!0,t):null;return sa(a,(async()=>await C((async()=>{await v();const a=await(async()=>M(m(await u(x(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,p))[d]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await C((async()=>{if(await v(),r(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,s,n,!1,[g,E],E)},oa="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",wa="tableId",ya="tableName",Ea={mode:oa,[ra]:1},ua={load:0,save:0,[ya]:t+"_values"},da=(a,t,e,s)=>{const n=H();return P(a,((a,i)=>{const c=y($(I(t,w(a)?{[e]:a}:a)),0,_(t));r(c[0])||s(i,c[0])||Y(n,i,c)})),n},pa="pragma ",ga="data_version",Ta="schema_version",va=(a,e,s,n,i,c,r,l,E="getDb",u)=>{let d,g,v;const[A,L,m,C]=(a=>{const e=(a=>I(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=e[ra];if(e.mode==oa){const{storeTableName:a=t}=e;return[1,s,[a],G(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y($(I(ua,c)),0,_(ua)),r=o[2],l=G(r);return[0,s,[da(n,{[wa]:null,[la]:p},wa,(a=>J(l,a)&&a==r)),da(i,{[ya]:null,[la]:p,deleteEmptyColumns:0,deleteEmptyTable:0},ya,((a,t)=>J(l,t)&&t==r)),o],l]})(e);return(A?ia:ca)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+ga))[0][ga],e=(await s(pa+Ta))[0][Ta],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&n==(v??=n)||(a(),d=t,g=e)}catch{}},e=L,t(),setInterval(t,1e3*e)),n((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),d=g=null,i(t)}),r,m,O(C),l,E,u)};exports.createLibSqlPersister=(a,t,e,s,n)=>va(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient");
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),E="_",p="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),C=a=>0==u(a),h=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),f=Object,R=a=>f.getPrototypeOf(a),S=f.entries,b=f.keys,D=f.freeze,I=(a=[])=>f.fromEntries(a),M=(...a)=>f.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>f.values(a),j=a=>u(b(a)),x=a=>(a=>!r(a)&&l(R(a),(a=>a==f.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),q=(a,t,e,s)=>(L(a,t)?s?.(Y(a,t)):k(a,t,e()),Y(a,t)),G=(a,t,e,s=k)=>(_(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:s(a,e))),a),J=a=>new Set(Array.isArray(a)||r(a)?a:[a]),U=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",V=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,n,i)=>{const c=B();return[async()=>G(c,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(c,t,G(q(c,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(c,t))),async(t,e)=>((a,t)=>!r(Y(Y(c,a),t)))(t,e)?I(h(A(await a(V+g(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!x(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=J();_(o??{},(a=>A(b(a??{}),(a=>U(u,a)))));const E=N(u);if(!y&&w&&C(E)&&L(c,t))return await a("DROP "+W+g(t)),void k(c,t);if(C(E)||L(c,t)){const s=Y(c,t),i=J(H(s));await d([...A(E,(async n=>{O(i,n)||(await a(z+g(t)+"ADD"+g(n)),k(s,n,e))})),...!y&&l?A(N(i),(async e=>{e!=n&&(await a(z+g(t)+"DROP"+g(e)),k(s,e))})):[]])}else await a("CREATE "+W+g(t)+"("+g(n)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>s+g(a))))});`),k(c,t,B([[n,e],...A(E,(a=>[a,e]))]));if(y)r(o)?await a(K+g(t)+X+" 1"):await d(_(o,(async(e,s)=>{r(e)?await a(K+g(t)+X+g(n)+"=?",[s]):C(E)||await aa(a,t,n,b(e),[s,...F(e)],i)})));else if(C(E))L(c,t)&&await a(K+g(t)+X+" 1");else{const e=h(H(Y(c,t)),(a=>a!=n)),s=[],r=[];_(o??{},((a,t)=>{T(s,t,...A(e,(t=>a?.[t]))),T(r,t)})),await aa(a,t,n,e,s,i),await a(K+g(t)+X+g(n)+"NOT IN("+ta(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},aa=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(n)+m(A(c,(a=>s+g(a))))+")VALUES"+y(i(`,(?${i(",?",u(c))})`,u(o)/(u(c)+1)),1)+(r?"ON CONFLICT("+g(n)+")DO UPDATE SET"+m(A(c,(a=>g(a)+"=excluded."+g(a))),s):e),A(o,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),s),ea=JSON.parse,sa=B(),na=B(),ia=(a,t,e,s,n,i,c,o={},y=[])=>{let u,d,E,p=0;q(sa,y,(()=>0)),q(na,y,(()=>[]));const[g,v,m,A]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(c,a),C=async a=>(2!=p&&(p=1,await L.schedule((async()=>{await a(),p=0}))),L),h=t=>{(g&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L={load:async(e,s)=>await C((async()=>{try{h(await t())}catch(t){i?.(t),a.setContent([e,s])}})),startAutoLoad:async(a={},e={})=>(await L.stopAutoLoad().load(a,e),d=s((async(a,e)=>{const s=e?.();await C((async()=>{try{h(s??a?.()??await t())}catch(a){i?.(a)}}))})),L),stopAutoLoad:()=>(d&&(n(d),d=void 0),L),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await L.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&L.save((()=>a))})),L),stopAutoSave:()=>(l(E,a.delListener),E=void 0,L),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(Y(na,y),...a),await(async()=>{if(!Y(sa,y)){for(k(sa,y,1);!r((a=Y(na,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(sa,y,0)}var a})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return D(L)},ca="store",oa=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=Z(t,c,n,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,p))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?f.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,{[r]:()=>o},o)},ra=(a,t,e,s,n,[i,c,[o,l,w]],y,u,g,v)=>{const[m,A,C,T]=Z(t,y,n,v),L=async(a,t)=>await d($(c,(async([e,s,n,i],c)=>{t&&!P(a,c)||await C(e,s,a[c],n,i,t)}))),N=async(a,t)=>l?await C(w,p,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(h(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>o?(await A(w,p))[E]:{})();return x(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await L(t),await N(e)}else{const[a,e]=t();await L(a,!0),await N(e,!0)}}))),e,s,n,!1,{[g]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},pa={load:0,save:0,[da]:t+"_values"},ga=(a,t,e,s)=>{const n=B();return _(a,((a,i)=>{const c=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||s(i,c[0])||k(n,i,c)})),n},va="pragma ",ma="data_version",Aa="schema_version",Ca=(a,e,s,n,i,c,r,l,u="getDb",d)=>{let E,g,m;const[A,C,h,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),s=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=y(F(M(pa,c)),0,j(pa)),r=o[2],l=J(r);return[0,s,[ga(n,{[ua]:null,[ya]:p},ua,(a=>U(l,a)&&a==r)),ga(i,{[da]:null,[ya]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>U(l,t)&&t==r)),o],l]})(e);return(A?oa:ra)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(va+ma))[0][ma],e=(await s(va+Aa))[0][Aa],n=(await s(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&n==(m??=n)||(a(),E=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),r,h,N(T),l,u,d)};exports.createLibSqlPersister=(a,t,e,s,n)=>Ca(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient");
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=e=>t(e)==a,r=t=>t.length,c=Object,i=t=>c.getPrototypeOf(t),y=c.keys,d=c.freeze,g=t=>(t=>!s(t)&&o(i(t),(t=>t==c.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?c.fromEntries([...e]):e)),l=JSON.parse,p="/store",u=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,n=e,o?.delete(n),t):t?.set(e,a);var o,n},C=(t,e,a,s)=>{var o,n;return o=t,n=e,o?.has(n)?s?.(v(t,e)):w(t,e,a()),v(t,e)},f=u(),S=u(),b=t=>n(t?.[0]),m="message";exports.createPartyKitPersister=(t,a,c,i)=>{const{host:y,room:u}=a.partySocketOptions,{storeProtocol:A="https",storePath:L=p,messagePrefix:M=e}={...n(c)?{storeProtocol:c}:c},P=A+"://"+y+"/parties/"+a.name+"/"+u+L,O=async t=>await(await fetch(P,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,n,r,c,i,[y,h]=[],l=[])=>{let p,u,m,A=0,L=0;C(f,l,(()=>0)),C(S,l,(()=>[]));const[M,P,O,T]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(i,t),E=async t=>(2!=A&&(A=1,await j.schedule((async()=>{await t(),A=0}))),j),j={load:async(a,s)=>await E((async()=>{try{const a=await e();(M&&b(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),L=1,m=n((async(a,s)=>{if(s){const e=s();await E((async()=>(M&&b(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await E((async()=>{try{const s=a?.()??await e();(M&&b(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(L&&(r(m),m=void 0,L=0),j),save:async t=>(1!=A&&(A=2,await j.schedule((async()=>{try{await a(P,t)}catch(t){c?.(t)}A=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),p=t.addDidFinishTransactionListener((()=>{const t=O();T(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(o(p,t.delListener),p=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(S,l),...t),await(async()=>{if(!v(f,l)){for(w(f,l,1);!s((t=v(S,l),u=t.shift()));)try{await u()}catch(t){c?.(t)}w(f,l,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(j[y]=()=>h),d(j)})(t,(async()=>await O()),(async(t,e)=>{var s,o;e?a.send((s=M,o=e(),s+"s"+(n(o)?o:h(o)))):await O(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],l((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(M,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return a.addEventListener(m,e),e}),(t=>{a.removeEventListener(m,t)}),i,!1,["getConnection",a])};
1
+ "use strict";const t=t=>typeof t,e="",a=t(e),s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=e=>t(e)==a,r=t=>t.length,i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,d=i.freeze,g=t=>(t=>!s(t)&&o(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?i.fromEntries([...e]):e)),p=JSON.parse,u="/store",l=t=>new Map(t),v=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(o=t,n=e,o?.delete(n),t):t?.set(e,a);var o,n},f=(t,e,a,s)=>{var o,n;return o=t,n=e,o?.has(n)?s?.(v(t,e)):w(t,e,a()),v(t,e)},C=l(),A=l(),S="message";exports.createPartyKitPersister=(t,a,i,c)=>{const{host:y,room:l}=a.partySocketOptions,{storeProtocol:L="https",storePath:m=u,messagePrefix:P=e}={...n(i)?{storeProtocol:i}:i},b=L+"://"+y+"/parties/"+a.name+"/"+l+m,M=async t=>await(await fetch(b,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,r,i,c,y,h={},p=[])=>{let u,l,S,L=0;f(C,p,(()=>0)),f(A,p,(()=>[]));const[m,P,b,M]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!g(t)||!g(e)])(y,t),O=async t=>(2!=L&&(L=1,await E.schedule((async()=>{await t(),L=0}))),E),T=e=>{(m&&n(e?.[0])?1===e?.[1][2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E={load:async(a,s)=>await O((async()=>{try{T(await e())}catch(e){c?.(e),t.setContent([a,s])}})),startAutoLoad:async(t={},a={})=>(await E.stopAutoLoad().load(t,a),l=r((async(t,a)=>{const s=a?.();await O((async()=>{try{T(s??t?.()??await e())}catch(t){c?.(t)}}))})),E),stopAutoLoad:()=>(l&&(i(l),l=void 0),E),isAutoLoading:()=>!s(l),save:async t=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(P,t)}catch(t){c?.(t)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const t=b();M(t)&&E.save((()=>t))})),E),stopAutoSave:()=>(o(S,t.delListener),S=void 0,E),isAutoSaving:()=>!s(S),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(v(A,p),...t),await(async()=>{if(!v(C,p)){for(w(C,p,1);!s((t=v(A,p),u=t.shift()));)try{await u()}catch(t){c?.(t)}w(C,p,0)}var t})(),E),getStore:()=>t,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...h};return d(E)})(t,(async()=>await M()),(async(t,e)=>{var s,o;e?a.send((s=P,o=e(),s+"s"+(n(o)?o:h(o)))):await M(t())}),(t=>{const e=e=>o(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],p((o=e,n=s+1,o.slice(n,void 0)))]:void 0;var o,n})(P,e.data),(([e,a])=>{"s"==e&&t(void 0,(()=>a))}));return a.addEventListener(S,e),e}),(t=>{a.removeEventListener(S,t)}),c,!1,{getConnection:()=>a})};
@@ -0,0 +1 @@
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),w=t=>a(t)==s,y=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",g="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==u(a),C=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),O=Object,L=a=>O.getPrototypeOf(a),S=O.entries,R=O.keys,D=O.freeze,I=(a=[])=>O.fromEntries(a),M=(...a)=>O.assign({},...a),P=(a,t)=>t in a,_=(a,t)=>A(S(a),(([a,e])=>t(e,a))),F=a=>O.values(a),j=a=>u(R(a)),x=a=>(a=>!c(a)&&l(L(a),(a=>a==O.prototype||c(L(a))),(()=>!0)))(a)&&0==j(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>c(e)?(b(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(f(a,t)?n?.(Y(a,t)):k(a,t,e()),Y(a,t)),J=(a,t,e,n=k)=>(_(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(Array.isArray(a)||c(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",q=v+"*FROM",Q="FROM pragma_table_",X="WHERE",Z=(a,t,s,i)=>{const o=B();return[async()=>J(o,I(await d(A(await a("SELECT name "+Q+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ta(t)+")ORDER BY name",t),(async({name:t})=>[t,I(A(await a(v+" name,type "+Q+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=Y(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!c(Y(Y(o,a),t)))(t,e)?I(C(A(await a(q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!x(t)))):{},async(t,s,r,l,w,y=!1)=>{const u=U();_(r??{},(a=>A(R(a??{}),(a=>W(u,a)))));const E=N(u);if(!y&&w&&h(E)&&f(o,t))return await a("DROP "+z+p(t)),void k(o,t);if(h(E)||f(o,t)){const n=Y(o,t),i=U(H(n));await d([...A(E,(async s=>{b(i,s)||(await a(K+p(t)+"ADD"+p(s)),k(n,s,e))})),...!y&&l?A(N(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),k(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>n+p(a))))});`),k(o,t,B([[s,e],...A(E,(a=>[a,e]))]));if(y)c(r)?await a(V+p(t)+X+" 1"):await d(_(r,(async(e,n)=>{c(e)?await a(V+p(t)+X+p(s)+"=?",[n]):h(E)||await aa(a,t,s,R(e),[n,...F(e)],i)})));else if(h(E))f(o,t)&&await a(V+p(t)+X+" 1");else{const e=C(H(Y(o,t)),(a=>a!=s)),n=[],c=[];_(r??{},((a,t)=>{T(n,t,...A(e,(t=>a?.[t]))),T(c,t)})),await aa(a,t,s,e,n,i),await a(V+p(t)+X+p(s)+"NOT IN("+ta(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},aa=async(a,t,s,o,r,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+m(A(o,(a=>n+p(a))))+")VALUES"+y(i(`,(?${i(",?",u(o))})`,u(r)/(u(o)+1)),1)+(c?"ON CONFLICT("+p(s)+")DO UPDATE SET"+m(A(o,(a=>p(a)+"=excluded."+p(a))),n):e),A(r,(a=>a??null))),ta=a=>m(A(a,(()=>"?")),n),ea=JSON.parse,na=B(),sa=B(),ia=(a,t,e,n,s,i,o,r={},y=[])=>{let u,d,E,g=0;G(na,y,(()=>0)),G(sa,y,(()=>[]));const[p,v,m,A]=((a,t)=>!a||c(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!x(a)||!x(t)])(o,a),h=async a=>(2!=g&&(g=1,await f.schedule((async()=>{await a(),g=0}))),f),C=t=>{(p&&w(t?.[0])?1===t?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async(e,n)=>await h((async()=>{try{C(await t())}catch(t){i?.(t),a.setContent([e,n])}})),startAutoLoad:async(a={},e={})=>(await f.stopAutoLoad().load(a,e),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{C(n??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(s(d),d=void 0),f),isAutoLoading:()=>!c(d),save:async a=>(1!=g&&(g=2,await f.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!c(E),schedule:async(...a)=>(T(Y(sa,y),...a),await(async()=>{if(!Y(na,y)){for(k(na,y,1);!c((a=Y(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}k(na,y,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...r};return D(f)},oa="store",ra=(a,t,e,n,s,[i],o,r,c,l)=>{const[w,y,u,d]=Z(t,o,s,l);return ia(a,(async()=>await d((async()=>(await w(),ea((await y(i,g))[E]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[E]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[c]:()=>r},r)},ca=(a,t,e,n,s,[i,o,[r,l,w]],y,u,p,v)=>{const[m,A,h,T]=Z(t,y,s,v),f=async(a,t)=>await d($(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await h(w,g,{[E]:a},!0,!0,t):null;return ia(a,(async()=>await T((async()=>{await m();const a=await(async()=>I(C(await d($(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>r?(await A(w,g))[E]:{})();return x(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),c(t)){const[t,e]=a();await f(t),await N(e)}else{const[a,e]=t();await f(a,!0),await N(e,!0)}}))),e,n,s,!1,{[p]:()=>u},u)},la="json",wa="autoLoadIntervalSeconds",ya="rowIdColumnName",ua="tableId",da="tableName",Ea={mode:la,[wa]:1},ga={load:0,save:0,[da]:t+"_values"},pa=(a,t,e,n)=>{const s=B();return _(a,((a,i)=>{const o=y(F(M(t,w(a)?{[e]:a}:a)),0,j(t));c(o[0])||n(i,o[0])||k(s,i,o)})),s},va="pragma ",ma="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,c,l,u="getDb",d)=>{let E,p,m;const[A,h,C,T]=(a=>{const e=(a=>M(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=e[wa];if(e.mode==la){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=y(F(M(ga,o)),0,j(ga)),c=r[2],l=U(c);return[0,n,[pa(s,{[ua]:null,[ya]:g},ua,(a=>W(l,a)&&a==c)),pa(i,{[da]:null,[ya]:g,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>W(l,t)&&t==c)),r],l]})(e);return(A?ra:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ma))[0][ma],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),c,C,N(T),l,u,d)};exports.createPowerSyncPersister=(a,t,e,n,s,i=!1)=>ha(a,e,(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)A(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);
@@ -1 +1 @@
1
- "use strict";const t=t=>typeof t,e=t(""),a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=t=>o.getPrototypeOf(t),c=o.keys,i=o.freeze,y=t=>(t=>!s(t)&&n(r(t),(t=>t==o.prototype||s(r(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=JSON.parse,g=t=>new Map(t),h=(t,e)=>t?.get(e),d=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(h(t,e)):d(t,e,a()),h(t,e)},u=g(),w=g(),v=a=>{return s=a?.[0],t(s)==e;var s},f=t=>t.headers.get("ETag");exports.createRemotePersister=(t,e,r,c=5,g)=>{let C;return((t,e,a,o,r,c,l,[g,f]=[],C=[])=>{let A,S,b,M=0,L=0;p(u,C,(()=>0)),p(w,C,(()=>[]));const[T,O,m,E]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!y(t)||!y(e)])(l,t),P=async t=>(2!=M&&(M=1,await j.schedule((async()=>{await t(),M=0}))),j),j={load:async(a,s)=>await P((async()=>{try{const a=await e();(T&&v(a)?t.setMergeableContent:t.setContent)(a)}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(j.stopAutoLoad(),await j.load(a,s),L=1,b=o((async(a,s)=>{if(s){const e=s();await P((async()=>(T&&v(e)?t.applyMergeableChanges:t.applyChanges)(e)))}else await P((async()=>{try{const s=a?.()??await e();(T&&v(s)?t.setMergeableContent:t.setContent)(s)}catch(t){c?.(t)}}))})),j),stopAutoLoad:()=>(L&&(r(b),b=void 0,L=0),j),save:async t=>(1!=M&&(M=2,await j.schedule((async()=>{try{await a(O,t)}catch(t){c?.(t)}M=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),A=t.addDidFinishTransactionListener((()=>{const t=m();E(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(A,t.delListener),A=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(h(w,C),...t),await(async()=>{if(!h(u,C)){for(d(u,C,1);!s((t=h(w,C),S=t.shift()));)try{await S()}catch(t){c?.(t)}d(u,C,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(j[g]=()=>f),i(j)})(t,(async()=>{const t=await fetch(e);return C=f(t),l(await t.text())}),(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?o.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),n=f(a);s(C)||s(n)||n==C||(C=n,t())}),1e3*c)),(t=>a(t)),g,!1,["getUrls",[e,r]])};
1
+ "use strict";const t=t=>typeof t,e=t(""),a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,r=t=>o.getPrototypeOf(t),c=o.keys,i=o.freeze,y=t=>(t=>!s(t)&&n(r(t),(t=>t==o.prototype||s(r(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),g=JSON.parse,l=t=>new Map(t),d=(t,e)=>t?.get(e),h=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(d(t,e)):h(t,e,a()),d(t,e)},u=l(),v=l(),w=t=>t.headers.get("ETag");exports.createRemotePersister=(r,c,l,f=5,A)=>{let C;return((a,o,r,c,g,l,w,f={},A=[])=>{let C,S,b,L=0;p(u,A,(()=>0)),p(v,A,(()=>[]));const[M,T,O,m]=((t,e)=>!t||s(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!y(t)||!y(e)]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([,[[,t],[,e]]])=>!y(t)||!y(e)])(w,a),E=async t=>(2!=L&&(L=1,await j.schedule((async()=>{await t(),L=0}))),j),P=s=>{var n;(M&&(n=s?.[0],t(n)==e)?1===s?.[1][2]?a.applyMergeableChanges:a.setMergeableContent:1===s?.[2]?a.applyChanges:a.setContent)(s)},j={load:async(t,e)=>await E((async()=>{try{P(await o())}catch(s){l?.(s),a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(await j.stopAutoLoad().load(t,e),S=c((async(t,e)=>{const a=e?.();await E((async()=>{try{P(a??t?.()??await o())}catch(t){l?.(t)}}))})),j),stopAutoLoad:()=>(S&&(g(S),S=void 0),j),isAutoLoading:()=>!s(S),save:async t=>(1!=L&&(L=2,await j.schedule((async()=>{try{await r(T,t)}catch(t){l?.(t)}L=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=a.addDidFinishTransactionListener((()=>{const t=O();m(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(n(b,a.delListener),b=void 0,j),isAutoSaving:()=>!s(b),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(d(v,A),...t),await(async()=>{if(!d(u,A)){for(h(u,A,1);!s((t=d(v,A),C=t.shift()));)try{await C()}catch(t){l?.(t)}h(u,A,0)}var t})(),j),getStore:()=>a,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...f};return i(j)})(r,(async()=>{const t=await fetch(c);return C=w(t),g(await t.text())}),(async t=>{return await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?o.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const e=await fetch(c,{method:"HEAD"}),a=w(e);s(C)||s(a)||a==C||(C=a,t())}),1e3*f)),(t=>a(t)),A,!1,{getUrls:()=>[c,l]})};