tinybase 5.0.0-beta.1 → 5.0.0-beta.10

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 (491) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/mergeable-store.cjs +1 -0
  8. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  9. package/lib/cjs/metrics.cjs +1 -1
  10. package/lib/cjs/metrics.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  12. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  14. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  18. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-file.cjs +1 -1
  24. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  30. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  32. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  34. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  36. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  38. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  39. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  40. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  41. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  42. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  43. package/lib/cjs/persisters.cjs +1 -1
  44. package/lib/cjs/persisters.cjs.gz +0 -0
  45. package/lib/cjs/queries.cjs +1 -1
  46. package/lib/cjs/queries.cjs.gz +0 -0
  47. package/lib/cjs/relationships.cjs +1 -1
  48. package/lib/cjs/relationships.cjs.gz +0 -0
  49. package/lib/cjs/store.cjs +1 -1
  50. package/lib/cjs/store.cjs.gz +0 -0
  51. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
  52. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  53. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
  54. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  55. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
  56. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  57. package/lib/cjs/synchronizers.cjs +1 -0
  58. package/lib/cjs/synchronizers.cjs.gz +0 -0
  59. package/lib/cjs/tinybase.cjs +1 -1
  60. package/lib/cjs/tinybase.cjs.gz +0 -0
  61. package/lib/cjs/tools.cjs +1 -1
  62. package/lib/cjs/tools.cjs.gz +0 -0
  63. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  64. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  65. package/lib/cjs/ui-react-dom.cjs +1 -1
  66. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  67. package/lib/cjs/ui-react.cjs +1 -1
  68. package/lib/cjs/ui-react.cjs.gz +0 -0
  69. package/lib/cjs-es6/checkpoints.cjs +1 -1
  70. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  71. package/lib/cjs-es6/indexes.cjs +1 -1
  72. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  73. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  74. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  75. package/lib/cjs-es6/metrics.cjs +1 -1
  76. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  84. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  86. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  88. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  90. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  91. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  92. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  93. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  94. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  95. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  96. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  97. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  98. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  99. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  100. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  101. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  102. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  103. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  104. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  105. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  106. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  107. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  108. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  109. package/lib/cjs-es6/persisters.cjs +1 -1
  110. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  111. package/lib/cjs-es6/queries.cjs +1 -1
  112. package/lib/cjs-es6/queries.cjs.gz +0 -0
  113. package/lib/cjs-es6/relationships.cjs +1 -1
  114. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  115. package/lib/cjs-es6/store.cjs +1 -1
  116. package/lib/cjs-es6/store.cjs.gz +0 -0
  117. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
  118. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  119. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
  120. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  121. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
  122. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  123. package/lib/cjs-es6/synchronizers.cjs +1 -0
  124. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  125. package/lib/cjs-es6/tinybase.cjs +1 -1
  126. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  127. package/lib/cjs-es6/tools.cjs +1 -1
  128. package/lib/cjs-es6/tools.cjs.gz +0 -0
  129. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  130. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  131. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  132. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  133. package/lib/cjs-es6/ui-react.cjs +1 -1
  134. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  135. package/lib/debug/checkpoints.js +3 -1
  136. package/lib/debug/indexes.js +3 -1
  137. package/lib/debug/mergeable-store.js +2230 -0
  138. package/lib/debug/metrics.js +3 -1
  139. package/lib/debug/persisters/persister-automerge.js +110 -86
  140. package/lib/debug/persisters/persister-browser.js +94 -57
  141. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +168 -106
  142. package/lib/debug/persisters/persister-electric-sql.js +168 -106
  143. package/lib/debug/persisters/persister-expo-sqlite-next.js +168 -106
  144. package/lib/debug/persisters/persister-expo-sqlite.js +168 -106
  145. package/lib/debug/persisters/persister-file.js +93 -57
  146. package/lib/debug/persisters/persister-indexed-db.js +90 -56
  147. package/lib/debug/persisters/persister-libsql.js +913 -0
  148. package/lib/debug/persisters/persister-partykit-client.js +89 -59
  149. package/lib/debug/persisters/persister-partykit-server.js +17 -25
  150. package/lib/debug/persisters/persister-powersync.js +928 -0
  151. package/lib/debug/persisters/persister-remote.js +85 -53
  152. package/lib/debug/persisters/persister-sqlite-wasm.js +168 -106
  153. package/lib/debug/persisters/persister-sqlite3.js +168 -106
  154. package/lib/debug/persisters/persister-yjs.js +108 -83
  155. package/lib/debug/persisters.js +81 -50
  156. package/lib/debug/queries.js +9 -6
  157. package/lib/debug/relationships.js +3 -1
  158. package/lib/debug/store.js +147 -126
  159. package/lib/debug/synchronizers/synchronizer-local.js +559 -0
  160. package/lib/debug/synchronizers/synchronizer-ws-client.js +586 -0
  161. package/lib/debug/synchronizers/synchronizer-ws-server.js +96 -0
  162. package/lib/debug/synchronizers.js +519 -0
  163. package/lib/debug/tinybase.js +1027 -174
  164. package/lib/debug/tools.js +22 -21
  165. package/lib/debug/ui-react-dom.js +275 -213
  166. package/lib/debug/ui-react.js +55 -6
  167. package/lib/es6/checkpoints.js +1 -1
  168. package/lib/es6/checkpoints.js.gz +0 -0
  169. package/lib/es6/indexes.js +1 -1
  170. package/lib/es6/indexes.js.gz +0 -0
  171. package/lib/es6/mergeable-store.js +1 -0
  172. package/lib/es6/mergeable-store.js.gz +0 -0
  173. package/lib/es6/metrics.js +1 -1
  174. package/lib/es6/metrics.js.gz +0 -0
  175. package/lib/es6/persisters/persister-automerge.js +1 -1
  176. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  177. package/lib/es6/persisters/persister-browser.js +1 -1
  178. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  179. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  180. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  181. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  182. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  183. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  184. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  185. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  186. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  187. package/lib/es6/persisters/persister-file.js +1 -1
  188. package/lib/es6/persisters/persister-file.js.gz +0 -0
  189. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  190. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  191. package/lib/es6/persisters/persister-libsql.js +1 -0
  192. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  193. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  194. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  195. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  196. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  197. package/lib/es6/persisters/persister-powersync.js +1 -0
  198. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  199. package/lib/es6/persisters/persister-remote.js +1 -1
  200. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  201. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  202. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  203. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  204. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  205. package/lib/es6/persisters/persister-yjs.js +1 -1
  206. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  207. package/lib/es6/persisters.js +1 -1
  208. package/lib/es6/persisters.js.gz +0 -0
  209. package/lib/es6/queries.js +1 -1
  210. package/lib/es6/queries.js.gz +0 -0
  211. package/lib/es6/relationships.js +1 -1
  212. package/lib/es6/relationships.js.gz +0 -0
  213. package/lib/es6/store.js +1 -1
  214. package/lib/es6/store.js.gz +0 -0
  215. package/lib/es6/synchronizers/synchronizer-local.js +1 -0
  216. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  217. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
  218. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  219. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
  220. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  221. package/lib/es6/synchronizers.js +1 -0
  222. package/lib/es6/synchronizers.js.gz +0 -0
  223. package/lib/es6/tinybase.js +1 -1
  224. package/lib/es6/tinybase.js.gz +0 -0
  225. package/lib/es6/tools.js +1 -1
  226. package/lib/es6/tools.js.gz +0 -0
  227. package/lib/es6/ui-react-dom-debug.js +1 -1
  228. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  229. package/lib/es6/ui-react-dom.js +1 -1
  230. package/lib/es6/ui-react-dom.js.gz +0 -0
  231. package/lib/es6/ui-react.js +1 -1
  232. package/lib/es6/ui-react.js.gz +0 -0
  233. package/lib/indexes.js +1 -1
  234. package/lib/indexes.js.gz +0 -0
  235. package/lib/mergeable-store.js +1 -0
  236. package/lib/mergeable-store.js.gz +0 -0
  237. package/lib/metrics.js +1 -1
  238. package/lib/metrics.js.gz +0 -0
  239. package/lib/persisters/persister-automerge.js +1 -1
  240. package/lib/persisters/persister-automerge.js.gz +0 -0
  241. package/lib/persisters/persister-browser.js +1 -1
  242. package/lib/persisters/persister-browser.js.gz +0 -0
  243. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  244. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  245. package/lib/persisters/persister-electric-sql.js +1 -1
  246. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  247. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  248. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  249. package/lib/persisters/persister-expo-sqlite.js +1 -1
  250. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  251. package/lib/persisters/persister-file.js +1 -1
  252. package/lib/persisters/persister-file.js.gz +0 -0
  253. package/lib/persisters/persister-indexed-db.js +1 -1
  254. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  255. package/lib/persisters/persister-libsql.js +1 -0
  256. package/lib/persisters/persister-libsql.js.gz +0 -0
  257. package/lib/persisters/persister-partykit-client.js +1 -1
  258. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  259. package/lib/persisters/persister-partykit-server.js +1 -1
  260. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  261. package/lib/persisters/persister-powersync.js +1 -0
  262. package/lib/persisters/persister-powersync.js.gz +0 -0
  263. package/lib/persisters/persister-remote.js +1 -1
  264. package/lib/persisters/persister-remote.js.gz +0 -0
  265. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  266. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  267. package/lib/persisters/persister-sqlite3.js +1 -1
  268. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  269. package/lib/persisters/persister-yjs.js +1 -1
  270. package/lib/persisters/persister-yjs.js.gz +0 -0
  271. package/lib/persisters.js +1 -1
  272. package/lib/persisters.js.gz +0 -0
  273. package/lib/queries.js +1 -1
  274. package/lib/queries.js.gz +0 -0
  275. package/lib/relationships.js +1 -1
  276. package/lib/relationships.js.gz +0 -0
  277. package/lib/store.js +1 -1
  278. package/lib/store.js.gz +0 -0
  279. package/lib/synchronizers/synchronizer-local.js +1 -0
  280. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  281. package/lib/synchronizers/synchronizer-ws-client.js +1 -0
  282. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  283. package/lib/synchronizers/synchronizer-ws-server.js +1 -0
  284. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  285. package/lib/synchronizers.js +1 -0
  286. package/lib/synchronizers.js.gz +0 -0
  287. package/lib/tinybase.js +1 -1
  288. package/lib/tinybase.js.gz +0 -0
  289. package/lib/tools.js +1 -1
  290. package/lib/tools.js.gz +0 -0
  291. package/lib/types/checkpoints.d.ts +2 -2
  292. package/lib/types/indexes.d.ts +2 -2
  293. package/lib/types/mergeable-store.d.ts +214 -0
  294. package/lib/types/metrics.d.ts +2 -2
  295. package/lib/types/persisters/persister-automerge.d.ts +11 -7
  296. package/lib/types/persisters/persister-browser.d.ts +13 -4
  297. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +4 -0
  298. package/lib/types/persisters/persister-electric-sql.d.ts +4 -0
  299. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +4 -0
  300. package/lib/types/persisters/persister-expo-sqlite.d.ts +4 -0
  301. package/lib/types/persisters/persister-file.d.ts +7 -2
  302. package/lib/types/persisters/persister-indexed-db.d.ts +4 -0
  303. package/lib/types/persisters/persister-libsql.d.ts +142 -0
  304. package/lib/types/persisters/persister-partykit-client.d.ts +4 -0
  305. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  306. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  307. package/lib/types/persisters/persister-remote.d.ts +4 -0
  308. package/lib/types/persisters/persister-sqlite-wasm.d.ts +4 -0
  309. package/lib/types/persisters/persister-sqlite3.d.ts +4 -0
  310. package/lib/types/persisters/persister-yjs.d.ts +6 -2
  311. package/lib/types/persisters.d.ts +125 -48
  312. package/lib/types/queries.d.ts +2 -2
  313. package/lib/types/relationships.d.ts +2 -2
  314. package/lib/types/store.d.ts +275 -187
  315. package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
  316. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +35 -0
  317. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +36 -0
  318. package/lib/types/synchronizers.d.ts +132 -0
  319. package/lib/types/tinybase.d.ts +10 -8
  320. package/lib/types/tools.d.ts +4 -4
  321. package/lib/types/ui-react.d.ts +160 -9
  322. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  323. package/lib/types/with-schemas/indexes.d.ts +2 -2
  324. package/lib/types/with-schemas/internal/store.d.ts +4 -0
  325. package/lib/types/with-schemas/mergeable-store.d.ts +492 -0
  326. package/lib/types/with-schemas/metrics.d.ts +2 -2
  327. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +12 -8
  328. package/lib/types/with-schemas/persisters/persister-browser.d.ts +17 -8
  329. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +5 -1
  330. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +5 -1
  331. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +5 -1
  332. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +5 -1
  333. package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -4
  334. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +5 -1
  335. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
  336. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +5 -1
  337. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  338. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  339. package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -1
  340. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +5 -1
  341. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +5 -1
  342. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +7 -3
  343. package/lib/types/with-schemas/persisters.d.ts +161 -101
  344. package/lib/types/with-schemas/queries.d.ts +3 -3
  345. package/lib/types/with-schemas/relationships.d.ts +2 -2
  346. package/lib/types/with-schemas/store.d.ts +483 -345
  347. package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
  348. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +41 -0
  349. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +36 -0
  350. package/lib/types/with-schemas/synchronizers.d.ts +146 -0
  351. package/lib/types/with-schemas/tinybase.d.ts +9 -8
  352. package/lib/types/with-schemas/tools.d.ts +4 -4
  353. package/lib/types/with-schemas/ui-react.d.ts +177 -9
  354. package/lib/ui-react-dom.js +1 -1
  355. package/lib/ui-react-dom.js.gz +0 -0
  356. package/lib/ui-react.js +1 -1
  357. package/lib/ui-react.js.gz +0 -0
  358. package/lib/umd/checkpoints.js +1 -1
  359. package/lib/umd/checkpoints.js.gz +0 -0
  360. package/lib/umd/indexes.js +1 -1
  361. package/lib/umd/indexes.js.gz +0 -0
  362. package/lib/umd/mergeable-store.js +1 -0
  363. package/lib/umd/mergeable-store.js.gz +0 -0
  364. package/lib/umd/metrics.js +1 -1
  365. package/lib/umd/metrics.js.gz +0 -0
  366. package/lib/umd/persisters/persister-automerge.js +1 -1
  367. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  368. package/lib/umd/persisters/persister-browser.js +1 -1
  369. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  370. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  371. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  372. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  373. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  374. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  375. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  376. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  377. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  378. package/lib/umd/persisters/persister-file.js +1 -1
  379. package/lib/umd/persisters/persister-file.js.gz +0 -0
  380. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  381. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  382. package/lib/umd/persisters/persister-libsql.js +1 -0
  383. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  384. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  385. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  386. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  387. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  388. package/lib/umd/persisters/persister-powersync.js +1 -0
  389. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  390. package/lib/umd/persisters/persister-remote.js +1 -1
  391. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  392. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  393. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  394. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  395. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  396. package/lib/umd/persisters/persister-yjs.js +1 -1
  397. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  398. package/lib/umd/persisters.js +1 -1
  399. package/lib/umd/persisters.js.gz +0 -0
  400. package/lib/umd/queries.js +1 -1
  401. package/lib/umd/queries.js.gz +0 -0
  402. package/lib/umd/relationships.js +1 -1
  403. package/lib/umd/relationships.js.gz +0 -0
  404. package/lib/umd/store.js +1 -1
  405. package/lib/umd/store.js.gz +0 -0
  406. package/lib/umd/synchronizers/synchronizer-local.js +1 -0
  407. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  408. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
  409. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  410. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
  411. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  412. package/lib/umd/synchronizers.js +1 -0
  413. package/lib/umd/synchronizers.js.gz +0 -0
  414. package/lib/umd/tinybase.js +1 -1
  415. package/lib/umd/tinybase.js.gz +0 -0
  416. package/lib/umd/tools.js +1 -1
  417. package/lib/umd/tools.js.gz +0 -0
  418. package/lib/umd/ui-react-dom-debug.js +1 -1
  419. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  420. package/lib/umd/ui-react-dom.js +1 -1
  421. package/lib/umd/ui-react-dom.js.gz +0 -0
  422. package/lib/umd/ui-react.js +1 -1
  423. package/lib/umd/ui-react.js.gz +0 -0
  424. package/lib/umd-es6/checkpoints.js +1 -1
  425. package/lib/umd-es6/checkpoints.js.gz +0 -0
  426. package/lib/umd-es6/indexes.js +1 -1
  427. package/lib/umd-es6/indexes.js.gz +0 -0
  428. package/lib/umd-es6/mergeable-store.js +1 -0
  429. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  430. package/lib/umd-es6/metrics.js +1 -1
  431. package/lib/umd-es6/metrics.js.gz +0 -0
  432. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  433. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  434. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  435. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  436. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  437. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  438. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  439. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  440. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  441. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  442. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  443. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  444. package/lib/umd-es6/persisters/persister-file.js +1 -1
  445. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  446. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  447. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  448. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  449. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  450. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  451. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  452. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  453. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  454. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  455. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  456. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  457. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  458. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  459. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  460. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  461. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  462. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  463. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  464. package/lib/umd-es6/persisters.js +1 -1
  465. package/lib/umd-es6/persisters.js.gz +0 -0
  466. package/lib/umd-es6/queries.js +1 -1
  467. package/lib/umd-es6/queries.js.gz +0 -0
  468. package/lib/umd-es6/relationships.js +1 -1
  469. package/lib/umd-es6/relationships.js.gz +0 -0
  470. package/lib/umd-es6/store.js +1 -1
  471. package/lib/umd-es6/store.js.gz +0 -0
  472. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
  473. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  474. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
  475. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  476. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
  477. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  478. package/lib/umd-es6/synchronizers.js +1 -0
  479. package/lib/umd-es6/synchronizers.js.gz +0 -0
  480. package/lib/umd-es6/tinybase.js +1 -1
  481. package/lib/umd-es6/tinybase.js.gz +0 -0
  482. package/lib/umd-es6/tools.js +1 -1
  483. package/lib/umd-es6/tools.js.gz +0 -0
  484. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  485. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  486. package/lib/umd-es6/ui-react-dom.js +1 -1
  487. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  488. package/lib/umd-es6/ui-react.js +1 -1
  489. package/lib/umd-es6/ui-react.js.gz +0 -0
  490. package/package.json +65 -45
  491. package/readme.md +2 -2
@@ -43,7 +43,6 @@ const arrayIsEmpty = (array) => size(array) == 0;
43
43
  const object = Object;
44
44
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
45
45
  const objEntries = object.entries;
46
- const objIds = object.keys;
47
46
  const isObject = (obj) =>
48
47
  !isUndefined(obj) &&
49
48
  ifNotUndefined(
@@ -54,6 +53,7 @@ const isObject = (obj) =>
54
53
  /* istanbul ignore next */
55
54
  () => true,
56
55
  );
56
+ const objIds = object.keys;
57
57
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
58
58
  const objDel = (obj, id) => {
59
59
  delete obj[id];
@@ -260,6 +260,8 @@ const useCheckpointAction = (checkpointsOrCheckpointsId, action, arg) => {
260
260
  };
261
261
  const useCreateStore = (create, createDeps = EMPTY_ARRAY) =>
262
262
  useMemo$1(create, createDeps);
263
+ const useCreateMergeableStore = (create, createDeps = EMPTY_ARRAY) =>
264
+ useMemo$1(create, createDeps);
263
265
  const useStoreIds = () => useThingIds(1);
264
266
  const useHasTables = (storeOrStoreId) =>
265
267
  useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), 4, []);
@@ -1300,17 +1302,62 @@ const useCreatePersister = (
1300
1302
  rerender([]);
1301
1303
  })();
1302
1304
  }
1303
- return () => {
1304
- newPersister.destroy();
1305
- destroy?.(newPersister);
1306
- };
1307
1305
  }
1308
1306
  },
1309
1307
  // eslint-disable-next-line react-hooks/exhaustive-deps
1310
- [store, ...createDeps, ...thenDeps, ...destroyDeps],
1308
+ [store, ...createDeps, ...thenDeps],
1309
+ );
1310
+ useEffect(
1311
+ () => () => {
1312
+ if (persister) {
1313
+ persister.destroy();
1314
+ destroy?.(persister);
1315
+ }
1316
+ },
1317
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1318
+ [persister, ...destroyDeps],
1311
1319
  );
1312
1320
  return persister;
1313
1321
  };
1322
+ const useCreateSynchronizer = (
1323
+ store,
1324
+ create,
1325
+ createDeps = EMPTY_ARRAY,
1326
+ then,
1327
+ thenDeps = EMPTY_ARRAY,
1328
+ destroy,
1329
+ destroyDeps = EMPTY_ARRAY,
1330
+ ) => {
1331
+ const [, rerender] = useState$2();
1332
+ const [synchronizer, setSynchronizer] = useState$2();
1333
+ useEffect(
1334
+ () => {
1335
+ (async () => {
1336
+ const newSynchronizer = await create(store);
1337
+ setSynchronizer(newSynchronizer);
1338
+ if (newSynchronizer && then) {
1339
+ (async () => {
1340
+ await then(newSynchronizer);
1341
+ rerender([]);
1342
+ })();
1343
+ }
1344
+ })();
1345
+ },
1346
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1347
+ [store, ...createDeps, ...thenDeps],
1348
+ );
1349
+ useEffect(
1350
+ () => () => {
1351
+ if (synchronizer) {
1352
+ synchronizer.destroy();
1353
+ destroy?.(synchronizer);
1354
+ }
1355
+ },
1356
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1357
+ [synchronizer, ...destroyDeps],
1358
+ );
1359
+ return synchronizer;
1360
+ };
1314
1361
 
1315
1362
  const {
1316
1363
  PureComponent,
@@ -1829,11 +1876,13 @@ export {
1829
1876
  useCheckpointsOrCheckpointsById,
1830
1877
  useCreateCheckpoints,
1831
1878
  useCreateIndexes,
1879
+ useCreateMergeableStore,
1832
1880
  useCreateMetrics,
1833
1881
  useCreatePersister,
1834
1882
  useCreateQueries,
1835
1883
  useCreateRelationships,
1836
1884
  useCreateStore,
1885
+ useCreateSynchronizer,
1837
1886
  useDelCellCallback,
1838
1887
  useDelRowCallback,
1839
1888
  useDelTableCallback,
@@ -1 +1 @@
1
- const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=e=>e.length,t=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),o=e=>0==l(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),C=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l)=>(a(e,n)||C(e,n,l()),g(e,n)),k=(e,t,r,o,s=0)=>n((r?f:g)(e,t[s],s>l(t)-2?r:p),(n=>{if(s>l(t)-2)return(null==o?void 0:o(n))&&C(e,t[s]),n;const u=k(n,t,r,o,s+1);return c(n)&&C(e,t[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),_=p(),[b,j,x]=(t=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=Z);const s=u(1);var i,d;return C(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,u)=>u==l(n)?s(t,e):null===n[u]?v(e,(e=>o(e,u+1))):r([n[u],null],(n=>o(g(e,n),u+1)));return o(e,0),t})(e,n),(e=>v(e,(e=>g(a,e)[0](o,...null!=n?n:[],...t))))),e=>n(g(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(a,e),d(e),l))),t=>n(g(a,t),(([n,,t=[],s,u])=>{const i=(...d)=>{var a,c;const v=l(d);v==l(t)?n(o,...d,...u(d)):e(t[v])?r(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),B=p(),O=p(),T=[],W=[],$=(n,l)=>{I=0,S.transaction((()=>{const[t,r]=g(B,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),I=1},m=e=>{C(B,e),C(O,e),j(_,[e])},q=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),m),D=()=>q(T,l(T)-V),G=()=>n(y,(()=>{s(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=u(T),E=1};let J,K;const N=(n="")=>(e(y)&&(y=""+z++,C(B,y,[A,F]),X(y,n),A=p(),F=p(),E=1),y),P=()=>{o(T)||(((e,...n)=>{e.unshift(...n)})(W,N()),$(0,y),y=u(T),E=1)},Q=()=>{o(W)||(s(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const n=N(e);return R(),n},X=(e,n)=>(Y(e)&&g(O,e)!==n&&(C(O,e,n),j(_,[e])),Z),Y=e=>a(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return n=e,v(O,((e,l)=>n(l,e)));var n},hasCheckpoint:Y,getCheckpoint:e=>g(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:n=>{const l=t(T,n)?P:t(W,n)?Q:null;for(;!e(l)&&n!=y;)l();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,n)=>b(n,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(I){G();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(C(s,t))&&c(C(e,l))&&c(C(A,n))&&H(),R()}})),K=S.addValueListener(null,((e,n,l,t)=>{if(I){G();const e=f(F,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(C(F,n))&&H(),R()}}))}};return d(Z.clear())})(S));const E=z.get(S);return null==y||y(E),E}})(0,(e=>e._registerListeners()));export{S as createCheckpoints};
1
+ const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=e=>e.length,t=(e,n)=>e.includes(n),r=(e,n)=>e.forEach(n),o=e=>0==l(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(n),v=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),g=(e,n)=>null==e?void 0:e.get(n),C=(n,l,t)=>e(t)?(h(n,l),n):null==n?void 0:n.set(l,t),f=(e,n,l,t)=>(a(e,n)?null==t||t(g(e,n)):C(e,n,l()),g(e,n)),k=(e,t,r,o,s=0)=>n((r?f:g)(e,t[s],s>l(t)-2?r:p),(n=>{if(s>l(t)-2)return(null==o?void 0:o(n))&&C(e,t[s]),n;const u=k(n,t,r,o,s+1);return c(n)&&C(e,t[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=((S,y)=>{const z=new WeakMap;return S=>{z.has(S)||z.set(S,(S=>{let y,z,E,V=100,A=p(),F=p(),I=1;const M=p(),_=p(),[b,j,x]=(t=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&l(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=Z);const s=u(1);var i,d;return C(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...t)=>r(((e,n=[""])=>{const t=[],o=(e,u)=>u==l(n)?s(t,e):null===n[u]?v(e,(e=>o(e,u+1))):r([n[u],null],(n=>o(g(e,n),u+1)));return o(e,0),t})(e,n),(e=>v(e,(e=>g(a,e)[0](o,...null!=n?n:[],...t))))),e=>n(g(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(h(n,e),c(n)?1:0))),C(a,e),d(e),l))),t=>n(g(a,t),(([n,,t=[],s,u])=>{const i=(...d)=>{var a,c;const v=l(d);v==l(t)?n(o,...d,...u(d)):e(t[v])?r(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),B=p(),O=p(),T=[],W=[],$=(n,l)=>{I=0,S.transaction((()=>{const[t,r]=g(B,l);v(t,((l,t)=>v(l,((l,r)=>v(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),v(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),I=1},m=e=>{C(B,e),C(O,e),j(_,[e])},q=(e,n)=>r(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),m),D=()=>q(T,l(T)-V),G=()=>n(y,(()=>{s(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=u(T),E=1};let J,K;const N=(n="")=>(e(y)&&(y=""+z++,C(B,y,[A,F]),X(y,n),A=p(),F=p(),E=1),y),P=()=>{o(T)||(((e,...n)=>{e.unshift(...n)})(W,N()),$(0,y),y=u(T),E=1)},Q=()=>{o(W)||(s(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const n=N(e);return R(),n},X=(e,n)=>(Y(e)&&g(O,e)!==n&&(C(O,e,n),j(_,[e])),Z),Y=e=>a(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return n=e,v(O,((e,l)=>n(l,e)));var n},hasCheckpoint:Y,getCheckpoint:e=>g(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:n=>{const l=t(T,n)?P:t(W,n)?Q:null;for(;!e(l)&&n!=y;)l();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,n)=>b(n,_,[e]),delListener:e=>(x(e),Z),clear:()=>(q(T),q(W),e(y)||m(y),y=void 0,z=0,U(),Z),clearForward:()=>(o(W)||(q(W),j(M)),Z),destroy:()=>{S.delListener(J),S.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(I){G();const e=f(A,n,p),s=f(e,l,p),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(C(s,t))&&c(C(e,l))&&c(C(A,n))&&H(),R()}})),K=S.addValueListener(null,((e,n,l,t)=>{if(I){G();const e=f(F,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(C(F,n))&&H(),R()}}))}};return d(Z.clear())})(S));const E=z.get(S);return null==y||y(E),E}})(0,(e=>e._registerListeners()));export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(I(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=((e,l)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const l=x(),M=x(),[j,m,O]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&u(e)<1e3&&v(e,n)}]})(),d=x();return[(e,r,s,o=[],u=(()=>[]))=>{null!=l||(l=U);const i=t(1);return R(d,i,[e,r,s,o,u]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>c(((e,l=[n])=>{const t=[],r=(e,n)=>n==u(l)?v(t,e):null===l[n]?S(e,(e=>r(e,n+1))):c([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>y(d,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(d,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),R(d,e),o(e),t))),e=>s(y(d,e),(([e,,n=[],t,s])=>{const o=(...d)=>{var i,a;const v=u(d);v==u(n)?e(l,...d,...s(d)):r(n[v])?c(null!=(a=null==(i=t[v])?void 0:i.call(t,...d))?a:[],(e=>o(...d,e))):o(...d,n[v])};o()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,n,l,t,i)=>{const a=e.hasRow,v=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(n,l,...t)=>{const r=b(D,n,k);return c(t,(n=>z(r,n)&&l&&e.callListener(n))),t},j=(n,...l)=>s(y(D,n),(t=>{c(0==u(l)?g(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&R(D,n)})),m=(e,l)=>{R(v,e,l),I(h,e)||(R(h,e,n()),R(A,e,x()),R(C,e,x()),i(T))},O=e=>{R(v,e),R(h,e),R(A,e),R(C,e),j(e),i(T)};return[()=>e,()=>p(v),e=>E(h,e),e=>I(h,e),e=>y(v,e),e=>y(h,e),(e,n)=>R(h,e,n),m,(n,t,s,i,v)=>{m(n,t);const h=x(),f=x(),g=y(A,n),w=y(C,n),p=n=>{const s=l=>e.getCell(t,n,l),c=y(g,n),I=a(t,n)?l(i(s,n)):void 0;var L,S;if(c===I||o(c)&&o(I)&&(S=I,u(L=c)===u(S)&&d(L,((e,n)=>S[n]===e)))||R(h,n,[c,I]),!r(v)){const e=y(w,n),l=a(t,n)?v(s,n):void 0;e!=l&&R(f,n,l)}},b=e=>{s((()=>{S(h,(([,e],n)=>R(g,n,e))),S(f,((e,n)=>R(w,n,e)))}),h,f,g,w,e),L(h),L(f)};E(g,p),e.hasTable(t)&&c(e.getRowIds(t),(e=>{I(g,e)||p(e)})),b(!0),j(n),M(n,0,e.addRowListener(t,null,((e,n,l)=>p(l))),e.addTableListener(t,(()=>b())))},O,e=>t(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l}),j,m),Q=(n,l,t)=>{const r=F(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},U={setIndexDefinition:(e,n,t,o,u,d=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return J(e,n,((n,t,u,v,h,g)=>{let L=0;const p=k(),b=k(),T=G(e);if(S(t,(([e,n],l)=>{const t=k(e),u=k(n);S(t,(e=>w(u,e)?w(t,e):0)),S(t,(e=>{z(p,e),s(y(T,e),(n=>{w(n,l),f(n)&&(R(T,e),L=1)}))})),S(u,(e=>{z(p,e),I(T,e)||(R(T,e,k()),L=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),f(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),S(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];i(l,n)||(R(T,e,k(a(l,n))),z(p,e))}))),(L||g)&&!r(c)){const n=[...T];i(n,c)||(H(e,x(a(n,c))),L=1)}L&&m(l,[e]),S(p,(n=>m(M,[e,n])))}),A(t),s(o,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((n,l)=>e(n,(e=>Q(n,e,l))))),forEachSlice:(e,n)=>Q(e,n,G(e)),hasIndex:B,hasSlice:(e,n)=>I(G(e),n),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,n)=>g(y(G(e),n)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>j(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>j(l,M,[e,n]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();export{M as createIndexes};
1
+ const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=e=>e.length,d=(e,n)=>e.every(n),i=(e,n)=>d(e,((l,t)=>0==t||n(e[t-1],l)<=0)),a=(e,n)=>e.sort(n),c=(e,n)=>e.forEach(n),v=(e,...n)=>e.push(...n),h=Object.freeze,I=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>r(e)||0==(e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0})(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},L=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>S(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(w(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l,t)=>(I(e,n)?null==t||t(y(e,n)):R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>u(n)-2?l:x),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return f(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>(null!=e?e:0)<(null!=n?n:0)?-1:1,D=/^\d+$/,M=((e,l)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const l=x(),M=x(),[j,m,O]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&u(e)<1e3&&v(e,n)}]})(),d=x();return[(e,r,s,o=[],u=(()=>[]))=>{null!=l||(l=U);const i=t(1);return R(d,i,[e,r,s,o,u]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>c(((e,l=[n])=>{const t=[],r=(e,n)=>n==u(l)?v(t,e):null===l[n]?S(e,(e=>r(e,n+1))):c([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>y(d,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(d,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),R(d,e),o(e),t))),e=>s(y(d,e),(([e,,n=[],t,s])=>{const o=(...d)=>{var i,a;const v=u(d);v==u(n)?e(l,...d,...s(d)):r(n[v])?c(null!=(a=null==(i=t[v])?void 0:i.call(t,...d))?a:[],(e=>o(...d,e))):o(...d,n[v])};o()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,n,l,t,i)=>{const a=e.hasRow,v=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(n,l,...t)=>{const r=b(D,n,k);return c(t,(n=>z(r,n)&&l&&e.callListener(n))),t},j=(n,...l)=>s(y(D,n),(t=>{c(0==u(l)?g(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&R(D,n)})),m=(e,l)=>{R(v,e,l),I(h,e)||(R(h,e,n()),R(A,e,x()),R(C,e,x()),i(T))},O=e=>{R(v,e),R(h,e),R(A,e),R(C,e),j(e),i(T)};return[()=>e,()=>p(v),e=>E(h,e),e=>I(h,e),e=>y(v,e),e=>y(h,e),(e,n)=>R(h,e,n),m,(n,t,s,i,v)=>{m(n,t);const h=x(),f=x(),g=y(A,n),w=y(C,n),p=n=>{const s=l=>e.getCell(t,n,l),c=y(g,n),I=a(t,n)?l(i(s,n)):void 0;var L,S;if(c===I||o(c)&&o(I)&&(S=I,u(L=c)===u(S)&&d(L,((e,n)=>S[n]===e)))||R(h,n,[c,I]),!r(v)){const e=y(w,n),l=a(t,n)?v(s,n):void 0;e!=l&&R(f,n,l)}},b=e=>{s((()=>{S(h,(([,e],n)=>R(g,n,e))),S(f,((e,n)=>R(w,n,e)))}),h,f,g,w,e),L(h),L(f)};E(g,p),e.hasTable(t)&&c(e.getRowIds(t),(e=>{I(g,e)||p(e)})),b(!0),j(n),M(n,0,e.addRowListener(t,null,((e,n,l)=>p(l))),e.addTableListener(t,(()=>b())))},O,e=>t(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l}),j,m),Q=(n,l,t)=>{const r=F(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},U={setIndexDefinition:(e,n,t,o,u,d=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return J(e,n,((n,t,u,v,h,g)=>{let L=0;const p=k(),b=k(),T=G(e);if(S(t,(([e,n],l)=>{const t=k(e),u=k(n);S(t,(e=>w(u,e)?w(t,e):0)),S(t,(e=>{z(p,e),s(y(T,e),(n=>{w(n,l),f(n)&&(R(T,e),L=1)}))})),S(u,(e=>{z(p,e),I(T,e)||(R(T,e,k()),L=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),f(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),S(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];i(l,n)||(R(T,e,k(a(l,n))),z(p,e))}))),(L||g)&&!r(c)){const n=[...T];i(n,c)||(H(e,x(a(n,c))),L=1)}L&&m(l,[e]),S(p,(n=>m(M,[e,n])))}),A(t),s(o,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((n,l)=>e(n,(e=>Q(n,e,l))))),forEachSlice:(e,n)=>Q(e,n,G(e)),hasIndex:B,hasSlice:(e,n)=>I(G(e),n),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,n)=>g(y(G(e),n)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>j(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>j(l,M,[e,n]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();export{M as createIndexes};
Binary file
@@ -0,0 +1 @@
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",g=c+i,v="Row",h=v+"Count",b=v+i,f="Cell",C=f+i,T="Value",V=T+"s",p=T+i,w=e=>l+e,S=(e,l)=>e.startsWith(l),y=(e,l)=>e.endsWith(l),I=Math.max,M=isFinite,R=e=>null==e,m=(e,l,t)=>R(e)?null==t?void 0:t():l(e),L=e=>e==t||e==n,H=l=>e(l)==a,J=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),D=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),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,l)=>l in e,B=(e,l)=>(delete e[l],e),G=(e,l)=>F(P(e),(([e,t])=>l(t,e))),K=(e,l)=>O(P(e),(([e,t])=>l(t,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),U=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),X=(e,l,t,n=0)=>R(e)||!k(e)||!n&&Q(e)||W(e)?(null==t||t(),!1):(K(e,((t,n)=>{l(t,n)||B(e,n)})),!!n||!Q(e)),Y=e=>new Set(J(e)||R(e)?e:[e]),Z=(e,l)=>null==e?void 0:e.add(l),_=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},ee=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},le=e=>R(e)||0==_(e),te=e=>e.clear(),ne=(e,l)=>null==e?void 0:e.forEach(l),se=(e,l)=>null==e?void 0:e.delete(l),ae=e=>new Map(e),re=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},oe=(e,l)=>null==e?void 0:e.get(l),ue=(e,l)=>ne(e,((e,t)=>l(t,e))),ie=(e,l,t)=>R(t)?(se(e,l),e):null==e?void 0:e.set(l,t),ce=(e,l,t,n)=>(ee(e,l)?null==n||n(oe(e,l)):ie(e,l,t()),oe(e,l)),de=(e,l,t,n=ie)=>(K(l,((l,n)=>t(e,n,l))),ue(e,(t=>q(l,t)?0:n(e,t))),e),ge=(e,l,t,n)=>{const s={};return ne(e,((e,a)=>{if(!(null==t?void 0:t(e,a))){const t=l?l(e,a):e;!(null==n?void 0:n(t))&&(s[a]=t)}})),s},ve=(e,l,t)=>ge(e,(e=>ge(e,l,t)),le,Q),he=(e,l,t)=>ge(e,(e=>ve(e,l,t)),le,Q),be=(e,l)=>{const t=ae();return ne(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},fe=e=>be(e,be),Ce=e=>be(e,fe),Te=(e,l,t,n,s=0)=>m((t?ce:oe)(e,l[s],s>D(l)-2?t:ae),(a=>{if(s>D(l)-2)return(null==n?void 0:n(a))&&ie(e,l[s]),a;const r=Te(a,l,t,n,s+1);return le(a)&&ie(e,l[s]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let l=2166136261;return F(Ve.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},we=([e,l,t])=>[e,l,t],Se=([e,l])=>ye(e,l),ye=(e,l)=>l?[e,l]:[e],Ie=e=>e[2],Me=(e,l)=>pe(e+":"+l),Re=(e,l)=>l>e?(e?pe(e):0)^pe(l):0,me=(e,l)=>{var t;return null!=(t=(null!=e?e:"")>(null!=l?l:"")?e:l)?t:""},Le=(e,l,t)=>{e[2]=l>>>0,t>e[1]&&(e[1]=t)},He=(e=l)=>ye($(),e),Je=(e=l)=>[ae(),e,0],Ee=([e,l,t],n=we)=>[ge(e,n),l,t],De=([e,l],t=Se)=>ye(ge(e,t),l),Fe=(l,n)=>{return J(l)&&3==D(l)&&(a=l[1],e(a)==t)&&e(l[2])==s&&M(l[2])&&n(l[0]);var a},Oe=/^\d+$/,xe=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{Oe.test(l)&&D(e)<1e3&&x(e,l)}]},ze=e=>[e,e],Ae=()=>[ae(),ae()],Pe=e=>[...e],We=([e,l])=>e===l,ke=l=>{const t=e(l);return L(t)||t==s&&M(l)?t:void 0},Ne=e=>R(e)||!R(ke(e)),je=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),$e=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),qe=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),Be=JSON.parse,Ge=(e,l,t)=>ie(e,l,oe(e,l)==-t?void 0:t),Ke=()=>{let e,t,n=!1,a=!1,i=0,S=[];const y=ae(),I=ae(),M=ae(),J=ae(),z=ae(),A=ae(),P=ae(),W=ae(),k=ae(),N=ae(),$=ae(),G=ae(),U=ae(),Ve=ae(),pe=Y(),we=ae(),Se=ae(),ye=ae(),Ie=ae(),Me=Ae(),Re=Ae(),me=Ae(),Le=Ae(),He=Ae(),Je=Ae(),Ee=Ae(),De=Ae(),Fe=Ae(),Oe=Ae(),Ne=Ae(),Qe=Ae(),Ue=Ae(),Xe=Ae(),Ye=Ae(),Ze=Ae(),_e=Ae(),el=Ae(),ll=Ae(),tl=Ae(),nl=Ae(),sl=Ae(),al=ae(),rl=Ae(),[ol,ul,il,cl]=(e=>{let t;const[n,s]=xe(),a=ae();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Jt);const i=n(1);return ie(a,i,[e,s,r,o,u]),Z(Te(s,null!=r?r:[l],Y),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==D(t)?x(n,e):null===t[l]?ne(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(oe(e,t),l+1)));return s(e,0),n})(e,n),(e=>ne(e,(e=>oe(a,e)[0](t,...null!=n?n:[],...s))))),e=>m(oe(a,e),(([,t,n])=>(Te(t,null!=n?n:[l],void 0,(l=>(se(l,e),le(l)?1:0))),ie(a,e),s(e),n))),e=>m(oe(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=D(r);i==D(l)?e(t,...r,...s(r)):R(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),dl=e=>{if(!X(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!L(l)&&l!=s||(ke(e[o])!=l&&B(e,o),0))},gl=(l,t)=>(!e||ee($,t)||jl(t))&&X(l,((e,l)=>vl(t,l,e)),(()=>jl(t))),vl=(e,l,t,n)=>X(n?t:Cl(t,e,l),((n,s)=>m(hl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),hl=(l,t,n,s)=>e?m(oe(oe($,l),n),(e=>ke(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):R(ke(s))?jl(l,t,n,s):s,bl=(e,l)=>X(l?e:Tl(e),((l,t)=>m(fl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),fl=(e,l)=>t?m(oe(U,e),(t=>ke(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):R(ke(l))?$l(e,l):l,Cl=(e,l,t)=>(m(oe(G,l),(([n,s])=>{ne(n,((l,t)=>{q(e,t)||(e[t]=l)})),ne(s,(n=>{q(e,n)||jl(l,t,n)}))})),e),Tl=e=>(t&&(ne(Ve,((l,t)=>{q(e,t)||(e[t]=l)})),ne(pe,(l=>{q(e,l)||$l(l)}))),e),Vl=e=>de($,e,((e,l,t)=>{const n=ae(),s=Y();de(ce($,l,ae),t,((e,l,t)=>{ie(e,l,t),m(t[o],(e=>ie(n,l,e)),(()=>Z(s,l)))})),ie(G,l,[n,s])}),((e,l)=>{ie($,l),ie(G,l)})),pl=e=>de(U,e,((e,l,t)=>{ie(U,l,t),m(t[o],(e=>ie(Ve,l,e)),(()=>Z(pe,l)))}),((e,l)=>{ie(U,l),ie(Ve,l),se(pe,l)})),wl=e=>Q(e)?wt():ft(e),Sl=e=>de(ye,e,((e,l,t)=>yl(l,t)),((e,l)=>Dl(l))),yl=(e,l)=>de(ce(ye,e,(()=>(zl(e,1),ie(we,e,xe()),ie(Se,e,ae()),ae()))),l,((l,t,n)=>Il(e,l,t,n)),((l,t)=>Fl(e,l,t))),Il=(e,l,t,n,s)=>de(ce(l,t,(()=>(Al(e,t,1),ae()))),n,((l,n,s)=>Ml(e,t,l,n,s)),((n,a)=>Ol(e,l,t,n,a,s))),Ml=(e,l,t,n,s)=>{ee(t,n)||Pl(e,l,n,1);const a=oe(t,n);s!==a&&(Wl(e,l,n,a,s),ie(t,n,s))},Rl=(e,l,t,n,s)=>m(oe(l,t),(l=>Ml(e,t,l,n,s)),(()=>Il(e,l,t,Cl({[n]:s},e,t)))),ml=e=>Q(e)?It():Ct(e),Ll=e=>de(Ie,e,((e,l,t)=>Hl(l,t)),((e,l)=>xl(l))),Hl=(e,l)=>{ee(Ie,e)||kl(e,1);const t=oe(Ie,e);l!==t&&(Nl(e,t,l),ie(Ie,e,l))},Jl=(e,l)=>{const[t]=oe(we,e),n=t(l);return ee(oe(ye,e),n)?Jl(e,l):n},El=e=>{var l;return null!=(l=oe(ye,e))?l:yl(e,{})},Dl=e=>yl(e,{}),Fl=(e,l,t)=>{const[,n]=oe(we,e);n(t),Il(e,l,t,{},!0)},Ol=(e,l,t,n,s,a)=>{var r;const o=oe(null==(r=oe(G,e))?void 0:r[0],s);if(!R(o)&&!a)return Ml(e,t,n,s,o);const u=l=>{Wl(e,t,l,oe(n,l)),Pl(e,t,l,-1),ie(n,l)};R(o)?u(s):ue(n,u),le(n)&&(Al(e,t,-1),le(ie(l,t))&&(zl(e,-1),ie(ye,e),ie(we,e),ie(Se,e)))},xl=e=>{const l=oe(Ve,e);if(!R(l))return Hl(e,l);Nl(e,oe(Ie,e)),kl(e,-1),ie(Ie,e)},zl=(e,l)=>Ge(y,e,l),Al=(e,l,t)=>Ge(ce(J,e,ae),l,t)&&ie(M,e,ce(M,e,(()=>0))+t),Pl=(e,l,t,n)=>{var s;const a=oe(Se,e),r=null!=(s=oe(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&Ge(ce(I,e,ae),t,n),ie(a,t,r!=-n?r+n:null),Ge(ce(ce(z,e,ae),l,ae),t,n)},Wl=(e,l,t,n,s)=>{var a;ce(ce(ce(A,e,ae),l,ae),t,(()=>[n,0]))[1]=s,null==(a=S[3])||a.call(S,e,l,t,s)},kl=(e,l)=>Ge(P,e,l),Nl=(e,l,t)=>{var n;ce(W,e,(()=>[l,0]))[1]=t,null==(n=S[4])||n.call(S,e,t)},jl=(e,l,t,n,s)=>(x(ce(ce(ce(k,e,ae),l,ae),t,(()=>[])),n),s),$l=(e,l,t)=>(x(ce(N,e,(()=>[])),l),t),ql=(e,l,t)=>m(oe(oe(oe(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(at(e,l,t))])),Bl=e=>m(oe(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(ut(e))])),Gl=e=>le(k)||le(Ze[e])?0:ne(e?Ce(k):k,((l,t)=>ne(l,((l,n)=>ne(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>le(N)||le(_e[e])?0:ne(e?be(N):N,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!le(e))return ul(l,n,(()=>ge(e))),ue(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Me[e],void 0,l);const t=le(Oe[e]),s=le(Ue[e])&&le(Xe[e])&&le(Fe[e])&&le(Ne[e])&&le(Je[e])&&le(Ee[e])&&le(De[e])&&t&&le(me[e])&&le(Le[e]),a=le(Ye[e])&&le(Qe[e])&&le(He[e])&&le(Re[e]);if(!s||!a){const l=e?[be(y),fe(I),be(M),fe(J),Ce(z),Ce(A)]:[y,I,M,J,z,A];if(!s){Ql(l[0],me[e],Le[e]),ne(l[1],((l,t)=>Ql(l,Je[e],Ee[e],[t]))),ne(l[2],((l,t)=>{0!=l&&ul(De[e],[t],lt(t))}));const n=Y();ne(l[3],((l,s)=>{Ql(l,Fe[e],Ne[e],[s])&&!t&&(ul(Oe[e],[s,null]),Z(n,s))})),t||ne(l[5],((l,t)=>{if(!ee(n,t)){const n=Y();ne(l,(e=>ne(e,(([l,t],s)=>t!==l?Z(n,s):se(e,s))))),ne(n,(l=>ul(Oe[e],[t,l])))}})),ne(l[4],((l,t)=>ne(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;ne(l[5],((l,n)=>{let s;ne(l,((l,a)=>{let r;ne(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(He[e],[n],ql)})),t&&ul(Re[e],void 0,ql)}}},Xl=e=>{const l=ht();l!=a&&ul(el[e],void 0,l);const t=le(tl[e])&&le(nl[e]),n=le(sl[e])&&le(ll[e]);if(!t||!n){const l=e?[be(P),be(W)]:[P,W];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;ne(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(mt((()=>e(...O(l,w)))),Jt),Zl=()=>he(ye),_l=()=>re(ye),et=e=>re(oe(Se,w(e))),lt=e=>_(oe(ye,w(e))),tt=e=>re(oe(ye,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=oe(ye,w(e)),o=(e,t)=>[R(l)?t:oe(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,R(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>re(oe(oe(ye,w(e)),w(l))),at=(e,l,t)=>oe(oe(oe(ye,w(e)),w(l)),w(t)),rt=()=>ge(Ie),ot=()=>re(Ie),ut=e=>oe(Ie,w(e)),it=()=>!le(ye),ct=e=>ee(ye,w(e)),dt=(e,l)=>ee(oe(Se,w(e)),w(l)),gt=(e,l)=>ee(oe(ye,w(e)),w(l)),vt=(e,l,t)=>ee(oe(oe(ye,w(e)),w(l)),w(t)),ht=()=>!le(Ie),bt=e=>ee(Ie,w(e)),ft=e=>Yl((()=>(e=>X(e,gl,jl))(e)?Sl(e):0)),Ct=e=>Yl((()=>bl(e)?Ll(e):0)),Tt=e=>{try{wl(Be(e))}catch(e){}return Jt},Vt=l=>Yl((()=>{if((e=X(l,(e=>X(e,dl))))&&(Vl(l),!le(ye))){const e=Zl();wt(),ft(e)}})),pt=e=>Yl((()=>{if(t=(e=>X(e,dl))(e)){const l=rt();Rt(),It(),t=!0,pl(e),Ct(l)}})),wt=()=>Yl((()=>Sl({}))),St=e=>Yl((e=>ee(ye,e)?Dl(e):0),e),yt=(e,l)=>Yl(((e,l)=>m(oe(ye,e),(t=>ee(t,l)?Fl(e,t,l):0))),e,l),It=()=>Yl((()=>Ll({}))),Mt=()=>Yl((()=>{Vl({}),e=!1})),Rt=()=>Yl((()=>{pl({}),t=!1})),mt=(e,l)=>{if(-1!=i){Lt();const t=e();return Ht(l),t}},Lt=()=>{var e;return-1!=i&&i++,1==i&&(null==(e=S[0])||e.call(S),ul(al,void 0)),Jt},Ht=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),le(A)||Ul(1),Kl(1),le(W)||Xl(1),(null==e?void 0:e(Jt))&&(ne(A,((e,l)=>ne(e,((e,t)=>ne(e,(([e],n)=>je(Jt,l,t,n,e))))))),te(A),ne(W,(([e],l)=>$e(Jt,l,e))),te(W)),ul(rl[0],void 0),i=-1,Gl(0),le(A)||Ul(0),Kl(0),le(W)||Xl(0),null==(l=S[1])||l.call(S),ul(rl[1],void 0),null==(t=S[2])||t.call(S),i=0,n=it(),a=ht(),F([y,I,M,J,z,A,k,P,W,N],te))),Jt},Jt={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ve(oe(ye,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ge(oe(oe(ye,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:ct,hasTableCell:dt,hasRow:gt,hasCell:vt,hasValues:ht,hasValue:bt,getTablesJson:()=>qe(ye),getValuesJson:()=>qe(Ie),getJson:()=>qe([ye,Ie]),getTablesSchemaJson:()=>qe($),getValuesSchemaJson:()=>qe(U),getSchemaJson:()=>qe([$,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(Q(e)?wt:ft)(e),(Q(l)?It:Ct)(l)})),setTables:ft,setTable:(e,l)=>Yl((e=>gl(l,e)?yl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>vl(e,l,t)?Il(e,El(e),l,t):0),e,l),addRow:(e,l,t=!0)=>mt((()=>{let n;return vl(e,n,l)&&(e=w(e),Il(e,El(e),n=Jl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(vl(e,l,t,1)){const n=El(e);K(t,((t,s)=>Rl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>m(hl(e,l,t,H(n)?n(at(e,l,t)):n),(n=>Rl(e,El(e),l,t,n)))),e,l,t),setValues:Ct,setPartialValues:e=>Yl((()=>bl(e,1)?K(e,((e,l)=>Hl(l,e))):0)),setValue:(e,l)=>Yl((e=>m(fl(e,H(l)?l(ut(e)):l),(l=>Hl(e,l)))),e),applyChanges:e=>Yl((()=>{K(e[0],((e,l)=>R(e)?St(l):K(e,((e,t)=>R(e)?yt(l,t):K(e,((e,n)=>je(Jt,l,t,n,e))))))),K(e[1],((e,l)=>$e(Jt,l,e)))})),setTablesJson:Tt,setValuesJson:e=>{try{ml(Be(e))}catch(e){}return Jt},setJson:e=>Yl((()=>{try{const[l,t]=Be(e);wl(l),ml(t)}catch(l){Tt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:St,delRow:yt,delCell:(e,l,t,n)=>Yl(((e,l,t)=>m(oe(ye,e),(s=>m(oe(s,l),(a=>ee(a,t)?Ol(e,s,l,a,t,n):0))))),e,l,t),delValues:It,delValue:e=>Yl((e=>ee(Ie,e)?xl(e):0),e),delTablesSchema:Mt,delValuesSchema:Rt,delSchema:()=>Yl((()=>{Mt(),Rt()})),transaction:mt,startTransaction:Lt,getTransactionChanges:()=>[ge(A,((e,l)=>-1===oe(y,l)?void 0:ge(e,((e,t)=>-1===oe(oe(J,l),t)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),le,Q)),le,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!le(A),!le(W),he(A,Pe,We),he(k),ge(W,Pe,We),ge(N),ge(y),ve(J),he(z),ge(P)],finishTransaction:Ht,forEachTable:e=>ne(ye,((l,t)=>e(t,(e=>ne(l,((l,t)=>e(t,(e=>ue(l,e))))))))),forEachTableCell:(e,l)=>ue(oe(Se,w(e)),l),forEachRow:(e,l)=>ne(oe(ye,w(e)),((e,t)=>l(t,(l=>ue(e,l))))),forEachCell:(e,l,t)=>ue(oe(oe(ye,w(e)),w(l)),t),forEachValue:e=>ue(Ie,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,c;i=o,D(u=r)===D(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(Jt,e,l,t,n,s,o))}),Oe[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(cl(e),Jt),delListener:e=>(il(e),Jt),getListenerStats:()=>({}),createStore:Ke,addListener:ol,callListeners:ul,setInternalListeners:(e,l,t,n,s)=>S=[e,l,t,n,s]};return K({[u+d]:[0,Me,[],()=>[it()]],[d]:[0,Re],[g]:[0,me],[u+c]:[1,Le,[_l],e=>[ct(...e)]],[c]:[1,He,[_l]],[c+C]:[1,Je,[_l]],[u+c+f]:[2,Ee,[_l,et],e=>[dt(...e)]],[h]:[1,De,[_l]],[b]:[1,Fe,[_l]],[u+v]:[2,Ne,[_l,tt],e=>[gt(...e)]],[v]:[2,Qe,[_l,tt]],[C]:[2,Ue,[_l,tt]],[u+f]:[3,Xe,[_l,tt,st],e=>[vt(...e)]],[f]:[3,Ye,[_l,tt,st],e=>ze(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[ht()]],[V]:[0,ll],[p]:[0,tl],[u+T]:[1,nl,[ot],e=>[bt(...e)]],[T]:[1,sl,[ot],e=>ze(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Jt["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),j(Jt)};var Qe=Math.pow;const Ue=Qe(2,36),Xe=Qe(2,30),Ye=Qe(2,24),Ze=Qe(2,18),_e=Qe(2,12),el=Qe(2,6),ll=e=>String.fromCharCode(48+(63&e)),tl=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,nl={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},sl=(e=l)=>[Je(e),Je(e)],al=e=>{let t=1,n=sl(),s=0;const a=ae(),r=Y(),[o,u]=(e=>{let l=0,t=-1;const n=pe(e),s=e=>{const n=l,[s,a]=R(e)||""==e?[0,0]:[tl(r=e,0)*Ue+tl(r,1)*Xe+tl(r,2)*Ye+tl(r,3)*Ze+tl(r,4)*_e+tl(r,5)*el+tl(r,6),tl(r,7)*Ze+tl(r,8)*_e+tl(r,9)*el+tl(r,10),tl(r,11)*Ye+tl(r,12)*Ze+tl(r,13)*_e+tl(r,14)*el+tl(r,15)];var r;l=I(n,s,Date.now()),t=l==n?l==s?I(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,ll((e=l)/Ue)+ll(e/Xe)+ll(e/Ye)+ll(e/Ze)+ll(e/_e)+ll(e/el)+ll(e)+ll(a/Ze)+ll(a/_e)+ll(a/el)+ll(a)+ll(r/Ye)+ll(r/Ze)+ll(r/_e)+ll(r/el)+ll(r);var e,a,r},s]})(e),i=Ke(),c=e=>{const l=t;return t=0,e(),t=l,b},d=(e,t=0)=>{const s={},a={},[[r,o=l,i=0],c]=e,[d,v]=n,[h,b,f]=d;let C=t?i:f,T=o;G(r,(([e,n=l,a=0],r)=>{const o=ce(h,r,Je),[u,i,c]=o;let d=t?a:c,v=n;G(e,((e,l)=>{const[n,a,o]=g(e,ce(u,l,Je),U(U(s,r,$),l,$),t);d^=t?0:(a?Me(l,a):0)^Me(l,o),v=me(v,n)})),d^=t?0:Re(i,n),Le(o,d,n),C^=t?0:(c?Me(r,c):0)^Me(r,o[2]),T=me(T,v)})),C^=t?0:Re(b,o),Le(d,C,o);const[V]=g(c,v,a,t);return u(me(T,V)),[s,a,1]},g=(e,t,n,s)=>{const[a,r=l,o=0]=e,[u,i,c]=t;let d=r,g=s?o:c;return G(a,(([e,t,a=0],r)=>{const o=ce(u,r,(()=>[void 0,l,0])),[,i,c]=o;(!i||t>i)&&(Le(o,s?a:pe(qe(null!=e?e:null)+":"+t),t),o[0]=e,n[r]=e,g^=s?0:Me(r,c)^Me(r,o[2]),d=me(d,t))})),g^=s?0:Re(i,r),Le(t,g,r),[d,c,t[2]]},v=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],h=e=>c((()=>i.applyChanges(d(e)))),b={getId:()=>e,getMergeableContent:v,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Ie),getMergeableTableDiff:e=>{const l=He(n[0][1]),t={};return ue(n[0][0],((n,[s,a,r])=>q(e,n)?r!=e[n]?t[n]=r:0:l[0][n]=De([s,a],(e=>De(e))))),[l,t]},getMergeableRowHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n,,s])=>s!=e?ue(n,((e,[,,n])=>U(l,t,$)[e]=n)):0)))),l},getMergeableRowDiff:e=>{const l=He(n[0][1]),t={};return G(e,((e,s)=>{var a;return ue(null==(a=oe(n[0][0],s))?void 0:a[0],((n,[a,r,o])=>q(e,n)?o!==e[n]?U(t,s,$)[n]=o:0:U(l[0],s,He)[0][n]=De([a,r])))})),[l,t]},getMergeableCellHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n])=>G(e,((e,s)=>m(oe(n,s),(([n,,a])=>a!==e?ue(n,((e,[,,n])=>U(U(l,t,$),s,$)[e]=n)):0)))))))),l},getMergeableCellDiff:e=>{const[[l,t]]=n,s={};return G(e,((e,t)=>G(e,((e,n)=>m(oe(l,t),(([l,a])=>m(oe(l,n),(([l,r])=>ue(l,((l,[o,u,i])=>i!==e[l]?U(U(s,t,(()=>He(a)))[0],n,(()=>He(r)))[0][l]=[o,u]:0)))))))))),ye(s,t)},getMergeableValuesHashes:()=>ge(n[1][0],Ie),getMergeableValueDiff:e=>{const[,[l,t]]=n,s=ge(l,Se,(([,,l],t)=>l==(null==e?void 0:e[t])));return ye(s,t)},setMergeableContent:e=>c((()=>(e=>J(e)&&2==D(e)&&Fe(e[0],(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>X(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=sl(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{s=1,i.setContent(e),s=0})),b),getTransactionMergeableChanges:()=>{const[[e,l],[t,s]]=n,o={};ne(a,((l,t)=>m(oe(e,t),(([e,n])=>{const s={};ne(l,((l,t)=>m(oe(e,t),(([e,n])=>{const a={};ne(l,(l=>{m(oe(e,l),(([e,t])=>a[l]=ye(e,t)))})),s[t]=ye(a,n)})))),o[t]=ye(s,n)}))));const u={};return ne(r,(e=>m(oe(t,e),(([l,t])=>u[e]=ye(l,t))))),[ye(o,l),ye(u,s),1]},applyMergeableChanges:h,merge:e=>{const l=v(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{te(a),te(r)}),((e,n,r,u)=>{Z(ce(ce(a,e,ae),n,Y),r),t&&d([[{[e]:[{[n]:[{[r]:[u,s?l:o()]}]}]}],[{}],1])}),((e,n)=>{Z(r,e),t&&d([[{}],[{[e]:[n,s?l:o()]}],1])})),K(i,((e,l)=>b[l]=S(l,"set")||S(l,"del")||S(l,"apply")||y(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):S(l,"add")&&y(l,"Listener")?(...t)=>{var n;const s=null!=(n=nl[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(b,...l),e(...t)}:e)),j(b)};export{al as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=((r,i)=>{const h=new WeakMap;return r=>{h.has(r)||h.set(r,(r=>{const i=x(),[h,M,j]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&a(e)<1e3&&f(e,n)}]})(),i=x();return[(e,r,u,o=[],s=(()=>[]))=>{null!=t||(t=P);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[n],A),d),d},(e,l,...r)=>c(((e,t=[n])=>{const l=[],r=(e,n)=>n==a(t)?f(l,e):null===t[n]?b(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>E(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(E(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(I(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(E(i,e),(([e,,n=[],l,r])=>{const i=(...u)=>{var s,d;const v=a(u);v==a(n)?e(t,...u,...r(u)):o(n[v])?c(null!=(d=null==(s=l[v])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,n[v])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,t,l,r,i)=>{const u=e.hasRow,v=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(n,t,...l)=>{const r=T(L,n,A);return c(l,(n=>D(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>s(E(L,n),(l=>{c(0==a(t)?y(l):t,(n=>{e.delListener(n),I(l,n)})),w(l)&&S(L,n)})),N=(e,n)=>{S(v,e,n),m(h,e)||(S(h,e,t()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(v,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return[...null!=(n=null==(e=v)?void 0:e.keys())?n:[]];var e,n},e=>R(h,e),e=>m(h,e),e=>E(v,e),e=>E(h,e),(e,n)=>S(h,e,n),N,(t,l,r,i,s)=>{N(t,l);const v=x(),h=x(),M=E(f,t),L=E(g,t),w=t=>{const r=n=>e.getCell(l,t,n),c=E(M,t),f=u(l,t)?(g=i(r,t),isNaN(g)||o(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,m,w,y;if(c===f||d(c)&&d(f)&&(w=f,a(m=c)===a(w)&&(y=(e,n)=>w[n]===e,m.every(y)))||S(v,t,[c,f]),!o(s)){const e=E(L,t),n=u(l,t)?s(r,t):void 0;e!=n&&S(h,t,n)}},y=e=>{r((()=>{b(v,(([,e],n)=>S(M,n,e))),b(h,((e,n)=>S(L,n,e)))}),v,h,M,L,e),p(v),p(h)};R(M,w),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(M,e)||w(e)})),y(!0),z(t),k(t,0,e.addRowListener(l,null,((e,n,t)=>w(t))),e.addTableListener(l,(()=>y())))},j,e=>r(e,M),()=>R(L,j),k,z]})(r,v,0,h,M),P={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=E(z,s))?h:E(z,"sum");return G(n,r,((e,t,l,r,s,d)=>{const a=q(n),v=L(r);d||(d=o(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([t,l])=>{i||(e=o(t)?null==s?void 0:s(e,l,n++):o(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=o(e)))})),i?u(y(t),L(t)):e})(a,v,r,t,f,d);u(c)||(c=void 0),c!=a&&(B(n,c),M(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),P;var g},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,n)=>h(n,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(r));return h.get(r)}})();export{j as createMetrics};
1
+ const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,u=isFinite,o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=e=>e.length,v=()=>{},c=(e,n)=>e.forEach(n),h=e=>M(e,((e,n)=>e+n),0),M=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),g=Object.freeze,L=e=>{var n;return null!=(n=null==e?void 0:e.size)?n:0},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>o(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),I=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>o(t)?(I(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t,l)=>(m(e,n)?null==l||l(E(e,n)):S(e,n,t()),E(e,n)),k=(e,n,t,l,r=0)=>s((t?T:E)(e,n[r],r>a(n)-2?t:x),(i=>{if(r>a(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=x([["avg",[(e,n)=>h(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>h(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||o(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=((r,i)=>{const h=new WeakMap;return r=>{h.has(r)||h.set(r,(r=>{const i=x(),[h,M,j]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&a(e)<1e3&&f(e,n)}]})(),i=x();return[(e,r,u,o=[],s=(()=>[]))=>{null!=t||(t=P);const d=l(1);return S(i,d,[e,r,u,o,s]),D(k(r,null!=u?u:[n],A),d),d},(e,l,...r)=>c(((e,t=[n])=>{const l=[],r=(e,n)=>n==a(t)?f(l,e):null===t[n]?b(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>E(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(E(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(I(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(E(i,e),(([e,,n=[],l,r])=>{const i=(...u)=>{var s,d;const v=a(u);v==a(n)?e(t,...u,...r(u)):o(n[v])?c(null!=(d=null==(s=l[v])?void 0:s.call(l,...u))?d:[],(e=>i(...u,e))):i(...u,n[v])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,t,l,r,i)=>{const u=e.hasRow,v=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(n,t,...l)=>{const r=T(L,n,A);return c(l,(n=>D(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>s(E(L,n),(l=>{c(0==a(t)?y(l):t,(n=>{e.delListener(n),I(l,n)})),w(l)&&S(L,n)})),N=(e,n)=>{S(v,e,n),m(h,e)||(S(h,e,t()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(v,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return[...null!=(n=null==(e=v)?void 0:e.keys())?n:[]];var e,n},e=>R(h,e),e=>m(h,e),e=>E(v,e),e=>E(h,e),(e,n)=>S(h,e,n),N,(t,l,r,i,s)=>{N(t,l);const v=x(),h=x(),M=E(f,t),L=E(g,t),w=t=>{const r=n=>e.getCell(l,t,n),c=E(M,t),f=u(l,t)?(g=i(r,t),isNaN(g)||o(g)||!0===g||!1===g||g===n?void 0:1*g):void 0;var g,m,w,y;if(c===f||d(c)&&d(f)&&(w=f,a(m=c)===a(w)&&(y=(e,n)=>w[n]===e,m.every(y)))||S(v,t,[c,f]),!o(s)){const e=E(L,t),n=u(l,t)?s(r,t):void 0;e!=n&&S(h,t,n)}},y=e=>{r((()=>{b(v,(([,e],n)=>S(M,n,e))),b(h,((e,n)=>S(L,n,e)))}),v,h,M,L,e),p(v),p(h)};R(M,w),e.hasTable(l)&&c(e.getRowIds(l),(e=>{m(M,e)||w(e)})),y(!0),z(t),k(t,0,e.addRowListener(l,null,((e,n,t)=>w(t))),e.addTableListener(l,(()=>y())))},j,e=>r(e,M),()=>R(L,j),k,z]})(r,v,0,h,M),P={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=E(z,s))?h:E(z,"sum");return G(n,r,((e,t,l,r,s,d)=>{const a=q(n),v=L(r);d||(d=o(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[u,s,d,a]=r;return i||(i=o(e)),b(l,(([t,l])=>{i||(e=o(t)?null==s?void 0:s(e,l,n++):o(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=o(e)))})),i?u(y(t),L(t)):e})(a,v,r,t,f,d);u(c)||(c=void 0),c!=a&&(B(n,c),M(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),P;var g},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,n)=>h(n,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(r));return h.get(r)}})();export{j as createMetrics};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=t=>n.getPrototypeOf(t),l=n.entries,i=n.keys,u=n.freeze,r=(t,n)=>e(t,(t=>t[n])),d=(e,n)=>!t(r(e,n)),c=(t,e)=>(delete t[e],t),a=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,n])=>e(n,t))),s=t=>i(t).length,v=l=>(l=>!t(l)&&e(o(l),(e=>e==n.prototype||t(o(e))),(()=>!0)))(l)&&0==s(l),y=t=>new Map(t),h=(t,e)=>null==t?void 0:t.get(e),f=(e,n,o)=>{return t(o)?(i=n,null==(l=e)||l.delete(i),e):null==e?void 0:e.set(n,o);var l,i},p=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||f(t,e,n()),h(t,e)};var g=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const A=y(),L=y();var m=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const S=(t,e)=>[t[e].t,t[e].v],w=(e,n,o,l)=>{const i=t(n)?e:((t,e,n)=>(d(t,e)||(t[e]={}),t[e]))(e,n);let u;return a(o,((t,e)=>{l(i,e,t)&&(u=1)})),a(i,((t,e)=>{d(o,e)||(c(i,e),u=1)})),!t(n)&&v(i)&&c(e,n),u},x=(n,o,l="tinybase",i)=>(o.change((t=>t[l]={})),((n,o,l,i,r,d,[c,a]=[],s=[])=>{let y,m,S,w=0,x=0;p(A,s,(()=>0)),p(L,s,(()=>[]));const C=t=>g(void 0,null,(function*(){return 2!=w&&(w=1,yield P.schedule((()=>g(void 0,null,(function*(){yield t(),w=0}))))),P})),P={load:(t,e)=>g(void 0,null,(function*(){return yield C((()=>g(void 0,null,(function*(){try{n.setContent(yield o())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>g(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),x=1,S=i(((t,e)=>g(void 0,null,(function*(){if(e){const t=e();yield C((()=>g(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>g(void 0,null,(function*(){var e;try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){null==d||d(t)}}))))})))),P})),stopAutoLoad:()=>(x&&(r(S),S=void 0,x=0),P),save:t=>g(void 0,null,(function*(){return 1!=w&&(w=2,yield P.schedule((()=>g(void 0,null,(function*(){try{yield l(n.getContent,t)}catch(t){null==d||d(t)}w=0}))))),P})),startAutoSave:()=>g(void 0,null,(function*(){return yield P.stopAutoSave().save(),y=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();v(n)&&v(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>(e(y,n.delListener),y=void 0,P),schedule:(...e)=>g(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(h(L,s),...e),yield g(void 0,null,(function*(){if(!h(A,s)){for(f(A,s,1);!t((e=h(L,s),m=e.shift()));)try{yield m()}catch(t){null==d||d(t)}f(A,s,0)}var e})),P})),getStore:()=>n,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(P[c]=()=>a),u(P)})(n,(()=>m(void 0,null,(function*(){return 2==s(o.doc[l])?S(o.doc,l):void 0}))),((n,i)=>m(void 0,null,(function*(){return o.change((o=>((n,o,l,i)=>{((t,e)=>{v(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[u,d]=S(n,o),s=()=>{y=1};let y=1;if(e(null==i?void 0:i(),(([n,o])=>{y=0,a(n,((n,o)=>y?0:t(n)?c(u,o):e(u[o],(o=>a(n,((n,l)=>y?0:t(n)?c(o,l):e(r(o,l),(e=>a(n,((n,o)=>t(n)?c(e,o):e[o]=n))),s)))),s))),a(o,((e,n)=>y?0:t(e)?c(d,n):d[n]=e))})),y){const[t,e]=l();w(u,void 0,t,((t,e,n)=>w(u,e,n,((t,e,n)=>w(t,e,n,((t,e,n)=>{if(r(t,e)!==n)return t[e]=n,1})))))),w(d,void 0,e,((t,e,n)=>{r(d,e)!==n&&(d[e]=n)}))}})(o,l,n,i)))}))),(t=>{const e=({doc:e})=>t((()=>S(e,l)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),i,["getDocHandle",o]));export{x as createAutomergePersister};
1
+ const e=e=>null==e,t=(t,n,o)=>e(t)?null==o?void 0:o():n(t),n=Object,o=e=>n.getPrototypeOf(e),l=n.entries,r=n.keys,i=n.freeze,u=(e,n)=>t(e,(e=>e[n])),a=(e,t)=>t in e,d=(e,t)=>(delete e[t],e),c=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,n])=>t(n,e))),s=e=>r(e).length,v=l=>(l=>!e(l)&&t(o(l),(t=>t==n.prototype||e(o(t))),(()=>!0)))(l)&&0==s(l),y=e=>new Map(e),p=(e,t)=>null==e?void 0:e.get(t),h=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},f=(e,t,n,o)=>{var l,r,i;return r=t,null!=(i=null==(l=e)?void 0:l.has(r))&&i?null==o||o(p(e,t)):h(e,t,n()),p(e,t)};var g=Object.defineProperty,b=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,m=(e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,w=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const L=y(),O=y();var P=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S=(e,t)=>[e[t].t,e[t].v],M=(t,n,o,l)=>{const r=e(n)?t:((e,t,n)=>(a(e,t)||(e[t]={}),e[t]))(t,n);let i;return c(o,((e,t)=>{l(r,t,e)&&(i=1)})),c(r,((e,t)=>{a(o,t)||(d(r,t),i=1)})),!e(n)&&v(r)&&d(t,n),i},j=(n,o,l="tinybase",r)=>(o.change((e=>e[l]={})),((n,o,l,r,u,a,d,c={},s=[])=>{let y,g,P,S=0;f(L,s,(()=>0)),f(O,s,(()=>[]));const[M,j,x,D,T]=((t,n)=>!t||e(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,t])=>!v(e)||!v(t),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[t]])=>!v(e)||!v(t),n.setDefaultContent])(d,n),k=e=>w(void 0,null,(function*(){return 2!=S&&(S=1,yield E.schedule((()=>w(void 0,null,(function*(){yield e(),S=0}))))),E})),z=e=>{var t;(M&&(t=null==e?void 0:e[0],Array.isArray(t))?1===(null==e?void 0:e[2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==e?void 0:e[2])?n.applyChanges:n.setContent)(e)},E=((e,t)=>{for(var n in t||(t={}))A.call(t,n)&&m(e,n,t[n]);if(b)for(var n of b(t))C.call(t,n)&&m(e,n,t[n]);return e})({load:e=>w(void 0,null,(function*(){return yield k((()=>w(void 0,null,(function*(){try{z(yield o())}catch(t){null==a||a(t),e&&T(e)}}))))})),startAutoLoad:e=>w(void 0,null,(function*(){return yield E.stopAutoLoad().load(e),g=r(((e,t)=>w(void 0,null,(function*(){const n=null==t?void 0:t();yield k((()=>w(void 0,null,(function*(){var t;try{z(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==a||a(e)}}))))})))),E})),stopAutoLoad:()=>(g&&(u(g),g=void 0),E),isAutoLoading:()=>!e(g),save:e=>w(void 0,null,(function*(){return 1!=S&&(S=2,yield E.schedule((()=>w(void 0,null,(function*(){try{yield l(j,e)}catch(e){null==a||a(e)}S=0}))))),E})),startAutoSave:()=>w(void 0,null,(function*(){return yield E.stopAutoSave().save(),P=n.addDidFinishTransactionListener((()=>{const e=x();D(e)&&E.save((()=>e))})),E})),stopAutoSave:()=>(t(P,n.delListener),P=void 0,E),isAutoSaving:()=>!e(P),schedule:(...t)=>w(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(p(O,s),...t),yield w(void 0,null,(function*(){if(!p(L,s)){for(h(L,s,1);!e((t=p(O,s),y=t.shift()));)try{yield y()}catch(e){null==a||a(e)}h(L,s,0)}var t})),E})),getStore:()=>n,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})},c);return i(E)})(n,(()=>P(void 0,null,(function*(){const e=yield o.doc();return 2==s(e[l])?S(e,l):void 0}))),((n,r)=>P(void 0,null,(function*(){return o.change((o=>((n,o,l,r)=>{((e,t)=>{v(e[t])&&(e[t]={t:{},v:{}})})(n,o);const[i,a]=S(n,o),s=()=>{y=1};let y=1;if(t(null==r?void 0:r(),(([n,o])=>{y=0,c(n,((n,o)=>y?0:e(n)?d(i,o):t(i[o],(o=>c(n,((n,l)=>y?0:e(n)?d(o,l):t(u(o,l),(t=>c(n,((n,o)=>e(n)?d(t,o):t[o]=n))),s)))),s))),c(o,((t,n)=>y?0:e(t)?d(a,n):a[n]=t))})),y){const[e,t]=l();M(i,void 0,e,((e,t,n)=>M(i,t,n,((e,t,n)=>M(e,t,n,((e,t,n)=>{if(u(e,t)!==n)return e[t]=n,1})))))),M(a,void 0,t,((e,t,n)=>{u(a,t)!==n&&(a[t]=n)}))}})(o,l,n,r)))}))),(e=>{const t=({doc:t})=>e((()=>S(t,l)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),r,!1,{getDocHandle:()=>o}));export{j as createAutomergePersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=t=>n.getPrototypeOf(t),l=n.keys,r=n.freeze,i=r=>(l=>!t(l)&&e(o(l),(e=>e==n.prototype||t(o(e))),(()=>!0)))(r)&&0==(t=>l(t).length)(r),u=JSON.parse,a=t=>new Map(t),s=(t,e)=>null==t?void 0:t.get(e),d=(e,n,o)=>{return t(o)?(r=n,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(n,o);var l,r},v=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||d(t,e,n()),s(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const y=a(),f=a();var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const p="storage",g=globalThis.window,S=(o,l,a,S)=>((n,o,l,u,a,h,[p,g]=[],S=[])=>{let m,A,w,L=0,x=0;v(y,S,(()=>0)),v(f,S,(()=>[]));const C=t=>c(void 0,null,(function*(){return 2!=L&&(L=1,yield P.schedule((()=>c(void 0,null,(function*(){yield t(),L=0}))))),P})),P={load:(t,e)=>c(void 0,null,(function*(){return yield C((()=>c(void 0,null,(function*(){try{n.setContent(yield o())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),x=1,w=u(((t,e)=>c(void 0,null,(function*(){if(e){const t=e();yield C((()=>c(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>c(void 0,null,(function*(){var e;try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){null==h||h(t)}}))))})))),P})),stopAutoLoad:()=>(x&&(a(w),w=void 0,x=0),P),save:t=>c(void 0,null,(function*(){return 1!=L&&(L=2,yield P.schedule((()=>c(void 0,null,(function*(){try{yield l(n.getContent,t)}catch(t){null==h||h(t)}L=0}))))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),m=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>(e(m,n.delListener),m=void 0,P),schedule:(...e)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(s(f,S),...e),yield c(void 0,null,(function*(){if(!s(y,S)){for(d(y,S,1);!t((e=s(f,S),A=e.shift()));)try{yield A()}catch(t){null==h||h(t)}d(y,S,0)}var e})),P})),getStore:()=>n,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return p&&(P[p]=()=>g),r(P)})(o,(()=>h(void 0,null,(function*(){return u(a.getItem(l))}))),(t=>h(void 0,null,(function*(){return a.setItem(l,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var e}))),(t=>{const e=e=>{e.storageArea===a&&e.key===l&&t((()=>u(e.newValue)))};return g.addEventListener(p,e),e}),(t=>g.removeEventListener(p,t)),S,["getStorageName",l]),m=(t,e,n)=>S(t,e,localStorage,n),A=(t,e,n)=>S(t,e,sessionStorage,n);export{m as createLocalPersister,A as createSessionPersister};
1
+ const e=e=>null==e,t=(t,n,o)=>e(t)?null==o?void 0:o():n(t),n=Object,o=e=>n.getPrototypeOf(e),l=n.keys,r=n.freeze,a=r=>(l=>!e(l)&&t(o(l),(t=>t==n.prototype||e(o(t))),(()=>!0)))(r)&&0==(e=>l(e).length)(r),i=JSON.parse,u=e=>new Map(e),s=(e,t)=>null==e?void 0:e.get(t),d=(t,n,o)=>{return e(o)?(r=n,null==(l=t)||l.delete(r),t):null==t?void 0:t.set(n,o);var l,r},v=(e,t,n,o)=>{var l,r,a;return r=t,null!=(a=null==(l=e)?void 0:l.has(r))&&a?null==o||o(s(e,t)):d(e,t,n()),s(e,t)};var c=Object.defineProperty,y=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const b=u(),S=u();var A=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},a=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,a);i((n=n.apply(e,t)).next())}));const m="storage",w=globalThis.window,C=(n,o,l,u)=>((n,o,l,i,u,c,A,m={},w=[])=>{let C,O,L,P=0;v(b,w,(()=>0)),v(S,w,(()=>[]));const[M,j,x,N,T]=((t,n)=>!t||e(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,t])=>!a(e)||!a(t),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[t]])=>!a(e)||!a(t),n.setDefaultContent])(A,n),E=e=>h(void 0,null,(function*(){return 2!=P&&(P=1,yield J.schedule((()=>h(void 0,null,(function*(){yield e(),P=0}))))),J})),I=e=>{var t;(M&&(t=null==e?void 0:e[0],Array.isArray(t))?1===(null==e?void 0:e[2])?n.applyMergeableChanges:n.setMergeableContent:1===(null==e?void 0:e[2])?n.applyChanges:n.setContent)(e)},J=((e,t)=>{for(var n in t||(t={}))g.call(t,n)&&f(e,n,t[n]);if(y)for(var n of y(t))p.call(t,n)&&f(e,n,t[n]);return e})({load:e=>h(void 0,null,(function*(){return yield E((()=>h(void 0,null,(function*(){try{I(yield o())}catch(t){null==c||c(t),e&&T(e)}}))))})),startAutoLoad:e=>h(void 0,null,(function*(){return yield J.stopAutoLoad().load(e),O=i(((e,t)=>h(void 0,null,(function*(){const n=null==t?void 0:t();yield E((()=>h(void 0,null,(function*(){var t;try{I(null!=(t=null!=n?n:null==e?void 0:e())?t:yield o())}catch(e){null==c||c(e)}}))))})))),J})),stopAutoLoad:()=>(O&&(u(O),O=void 0),J),isAutoLoading:()=>!e(O),save:e=>h(void 0,null,(function*(){return 1!=P&&(P=2,yield J.schedule((()=>h(void 0,null,(function*(){try{yield l(j,e)}catch(e){null==c||c(e)}P=0}))))),J})),startAutoSave:()=>h(void 0,null,(function*(){return yield J.stopAutoSave().save(),L=n.addDidFinishTransactionListener((()=>{const e=x();N(e)&&J.save((()=>e))})),J})),stopAutoSave:()=>(t(L,n.delListener),L=void 0,J),isAutoSaving:()=>!e(L),schedule:(...t)=>h(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(s(S,w),...t),yield h(void 0,null,(function*(){if(!s(b,w)){for(d(b,w,1);!e((t=s(S,w),C=t.shift()));)try{yield C()}catch(e){null==c||c(e)}d(b,w,0)}var t})),J})),getStore:()=>n,destroy:()=>J.stopAutoLoad().stopAutoSave(),getStats:()=>({})},m);return r(J)})(n,(()=>A(void 0,null,(function*(){return e=l.getItem(o),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}))),(e=>A(void 0,null,(function*(){return l.setItem(o,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))));var t}))),(e=>{const t=t=>{t.storageArea===l&&t.key===o&&e((()=>i(t.newValue)))};return w.addEventListener(m,t),t}),(e=>w.removeEventListener(m,e)),u,!0,{getStorageName:()=>o}),O=(e,t,n)=>C(e,t,localStorage,n),L=(e,t,n)=>C(e,t,sessionStorage,n);export{O as createLocalPersister,L as createSessionPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,d=(e,n,l)=>u(e)?null==l?void 0:l():n(e),a=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),v=e=>e.length,s=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",p=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",h=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),O=e=>0==v(e),T=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},R=(e,n)=>null==e?void 0:e.delete(n),b=Object,w=e=>b.getPrototypeOf(e),N=b.entries,x=b.keys,S=b.freeze,C=(e=[])=>b.fromEntries(e),D=(...e)=>b.assign({},...e),g=(e,n)=>m(N(e),(([e,l])=>n(l,e))),I=e=>b.values(e),F=e=>v(x(e)),M=e=>(e=>!u(e)&&d(w(e),(e=>e==b.prototype||u(w(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>u(l)?(R(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(L(e,n)||H(e,n,l()),j(e,n)),U=(e,n,l,t=H)=>(g(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>d(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),Y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n);var G=Object.defineProperty,J=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?G(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(J)for(var l of J(n))K.call(n,l)&&V(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return U(o,C(yield s(m(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(m(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,U(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!u(j(j(o,e),n)))(n,l)?C(T(m(yield e(X+p(n)),(e=>{return[e[l],(n=q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!M(n)))):{}})),(n,t,r,i,d,a=!1)=>Q(void 0,null,(function*(){const c=Y();g(null!=r?r:{},(e=>m(x(null!=e?e:{}),(e=>k(c,e)))));const v=P(c);if(!a&&d&&O(v)&&L(o,n))return yield e("DROP TABLE"+p(n)),void H(o,n);if(O(v)||L(o,n)){const l=j(o,n),r=Y(_(l));yield s([...m(v,(t=>Q(void 0,null,(function*(){R(r,t)||(yield e(`ALTER TABLE${p(n)}ADD${p(t)}`),H(l,t,""))})))),...!a&&i?m(P(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${p(n)}DROP${p(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${p(n)}(${p(t)} PRIMARY KEY ON CONFLICT REPLACE${h(m(v,(e=>l+p(e))))});`),H(o,n,$([[t,""],...m(v,(e=>[e,""]))]));if(a)u(r)?yield e("DELETE FROM"+p(n)+"WHERE 1"):yield s(g(r,((l,o)=>Q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+p(n)+ee+p(t)+"=?",[o]):O(v)||(yield le(e,n,t,x(l),[o,...I(l)]))})))));else if(O(v))L(o,n)&&(yield e("DELETE FROM"+p(n)+"WHERE 1"));else{const l=T(_(j(o,n)),(e=>e!=t)),i=[],u=[];g(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield le(e,n,t,l,i),yield e("DELETE FROM"+p(n)+ee+p(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+p(n)+"("+p(t)+h(m(r,(e=>l+p(e))))+")VALUES"+c(o(`,(?${o(",?",v(r))})`,v(i)/(v(r)+1)),1)+"ON CONFLICT("+p(t)+")DO UPDATE SET"+h(m(r,(e=>p(e)+"=excluded."+p(e))),l),i)})),te=e=>h(m(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie=$(),ue=$(),de=(e,n,l,t,o,r,[i,a]=[],c=[])=>{let v,s,y,f=0,p=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>re(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(d(v,e.delListener),v=void 0,h),schedule:(...e)=>re(void 0,null,(function*(){return A(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!u((e=j(ue,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>a),S(h)};var ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ce="store",ve=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=ne(n,i,o);return de(e,(()=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var e,n;return yield a(),oe(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[ce])?n:"null")}))))}))),(e=>ae(void 0,null,(function*(){return yield s((()=>ae(void 0,null,(function*(){var n,l;yield a(),yield v(r,f,{[y]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?b.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var se=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye=(e,n,l,t,o,[r,i,[d,a,c]],v,p,E)=>{const[h,m,O,A]=ne(n,v,o),L=(e,n)=>se(void 0,null,(function*(){return yield s(B(i,((l,t)=>se(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield O(l,t,u,o,r,n))})))))})),P=(e,n)=>se(void 0,null,(function*(){return a?yield O(c,f,{[y]:e},!0,!0,n):null}));return de(e,(()=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){yield h();const e=yield se(void 0,null,(function*(){return C(T(yield s(B(r,((e,n)=>se(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!M(e[1]))))})),n=yield se(void 0,null,(function*(){return d?(yield m(c,f))[y]:{}}));return M(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>se(void 0,null,(function*(){return yield A((()=>se(void 0,null,(function*(){if(yield h(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,p],p)},fe="json",pe="autoLoadIntervalSeconds",Ee="rowIdColumnName",he="tableId",me="tableName",Oe={mode:fe,[pe]:1},Te={load:0,save:0,[me]:n+"_values"},Ae=(e,n,l,t)=>{const o=$();return g(e,((e,r)=>{const i=c(I(D(n,a(e)?{[l]:e}:e)),0,F(n));u(i[0])||t(r,i[0])||H(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",Re="data_version",be="schema_version",we=(e,l,t,o,r,u,d,v,s="getDb")=>{let y,p,h;const[m,O,T,A]=(e=>{const l=(e=>D(Oe,a(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[pe];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],Y(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(I(D(Te,i)),0,F(Te)),d=u[2],v=Y(d);return[0,t,[Ae(o,{[he]:null,[Ee]:f},he,(e=>k(v,e)&&e==d)),Ae(r,{[me]:null,[Ee]:f,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>k(v,n)&&n==d)),u],v]})(l);return(m?ve:ye)(e,u?(e,n)=>Le(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+Re))[0][Re],l=(yield t(Pe+be))[0][be],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),y=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=p=null,r(n)}),d,T,P(A),v,s)},Ne=(e,n,l,t,o)=>we(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{Ne as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,v=e=>Array.isArray(e),s=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",b=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),g=e=>0==y(e),P=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),w=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),N=Object,L=e=>N.getPrototypeOf(e),S=N.entries,R=N.keys,x=N.freeze,I=(e=[])=>N.fromEntries(e),D=(...e)=>N.assign({},...e),j=(e,n)=>n in e,M=(e,n)=>O(S(e),(([e,l])=>n(l,e))),_=e=>N.values(e),F=e=>y(R(e)),B=e=>(e=>!a(e)&&d(L(e),(e=>e==N.prototype||a(L(e))),(()=>!0)))(e)&&0==F(e),H=e=>new Map(e),U=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},Y=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},k=(e,n,l)=>a(l)?(T(e,n),e):null==e?void 0:e.set(n,l),G=(e,n,l,t)=>(w(e,n)?null==t||t(Y(e,n)):k(e,n,l()),Y(e,n)),J=(e,n,l,t=k)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>j(n,l)?0:t(e,l))),e),W=e=>new Set(v(e)||a(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n);var K=Object.defineProperty,V=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&X(e,l,n[l]);if(V)for(var l of V(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ne="TABLE",le="ALTER "+ne,te="DELETE FROM",oe=E+"*FROM",re="FROM pragma_table_",ie="WHERE",ue=(e,n,o,r)=>{const i=H();return[()=>ee(void 0,null,(function*(){return J(i,I(yield f(O(yield e("SELECT name "+re+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+de(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,I(O(yield e(E+" name,type "+re+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>k(i,n,J(G(i,n,H),l,((e,n,l)=>{l!=Y(e,n)&&k(e,n,l)}),((e,n)=>k(e,n))))),((e,n)=>k(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!a(Y(Y(i,e),n)))(n,l)?I(P(O(yield e(oe+m(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!B(n)))):{}})),(n,o,u,d,c,v=!1)=>ee(void 0,null,(function*(){const s=W();M(null!=u?u:{},(e=>O(R(null!=e?e:{}),(e=>z(s,e)))));const y=C(s);if(!v&&c&&g(y)&&w(i,n))return yield e("DROP "+ne+m(n)),void k(i,n);if(g(y)||w(i,n)){const t=Y(i,n),r=W(U(t));yield f([...O(y,(o=>ee(void 0,null,(function*(){T(r,o)||(yield e(le+m(n)+"ADD"+m(o)),k(t,o,l))})))),...!v&&d?O(C(r),(l=>ee(void 0,null,(function*(){l!=o&&(yield e(le+m(n)+"DROP"+m(l)),k(t,l))})))):[]])}else yield e("CREATE "+ne+m(n)+"("+m(o)+` PRIMARY KEY ON CONFLICT REPLACE${b(O(y,(e=>t+m(e))))});`),k(i,n,H([[o,l],...O(y,(e=>[e,l]))]));if(v)a(u)?yield e(te+m(n)+ie+" 1"):yield f(M(u,((l,t)=>ee(void 0,null,(function*(){a(l)?yield e(te+m(n)+ie+m(o)+"=?",[t]):g(y)||(yield ae(e,n,o,R(l),[t,..._(l)],r))})))));else if(g(y))w(i,n)&&(yield e(te+m(n)+ie+" 1"));else{const l=P(U(Y(i,n)),(e=>e!=o)),t=[],a=[];M(null!=u?u:{},((e,n)=>{A(t,n,...O(l,(n=>null==e?void 0:e[n]))),A(a,n)})),yield ae(e,n,o,l,t,r),yield e(te+m(n)+ie+m(o)+"NOT IN("+de(a)+")",a)}})),n=>ee(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},ae=(e,n,o,i,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+m(n)+"("+m(o)+b(O(i,(e=>t+m(e))))+")VALUES"+s(r(`,(?${r(",?",y(i))})`,y(u)/(y(i)+1)),1)+(a?"ON CONFLICT("+m(o)+")DO UPDATE SET"+b(O(i,(e=>m(e)+"=excluded."+m(e))),t):l),O(u,(e=>null!=e?e:null)))})),de=e=>b(O(e,(()=>"?")),t),ce=JSON.parse;var ve=Object.defineProperty,se=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,l)=>n in e?ve(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const me=H(),Ee=H(),be=(e,n,l,t,o,r,i,u={},c=[])=>{let s,y,f,p=0;G(me,c,(()=>0)),G(Ee,c,(()=>[]));const[h,m,E,b,O]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!B(e)||!B(n),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!B(e)||!B(n),n.setDefaultContent])(i,e),g=e=>he(void 0,null,(function*(){return 2!=p&&(p=1,yield w.schedule((()=>he(void 0,null,(function*(){yield e(),p=0}))))),w})),P=n=>{(h&&v(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},w=((e,n)=>{for(var l in n||(n={}))ye.call(n,l)&&pe(e,l,n[l]);if(se)for(var l of se(n))fe.call(n,l)&&pe(e,l,n[l]);return e})({load:e=>he(void 0,null,(function*(){return yield g((()=>he(void 0,null,(function*(){try{P(yield n())}catch(n){null==r||r(n),e&&O(e)}}))))})),startAutoLoad:e=>he(void 0,null,(function*(){return yield w.stopAutoLoad().load(e),y=t(((e,l)=>he(void 0,null,(function*(){const t=null==l?void 0:l();yield g((()=>he(void 0,null,(function*(){var l;try{P(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==r||r(e)}}))))})))),w})),stopAutoLoad:()=>(y&&(o(y),y=void 0),w),isAutoLoading:()=>!a(y),save:e=>he(void 0,null,(function*(){return 1!=p&&(p=2,yield w.schedule((()=>he(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),w})),startAutoSave:()=>he(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=E();b(e)&&w.save((()=>e))})),w})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,w),isAutoSaving:()=>!a(f),schedule:(...e)=>he(void 0,null,(function*(){return A(Y(Ee,c),...e),yield he(void 0,null,(function*(){if(!Y(me,c)){for(k(me,c,1);!a((e=Y(Ee,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}k(me,c,0)}var e})),w})),getStore:()=>e,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return x(w)};var Oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ge="store",Pe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,v,s,y]=ue(n,i,o,d);return be(e,(()=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var e,n;return yield c(),ce(null!=(n=null==(e=(yield v(r,h))[p])?void 0:e[ge])?n:"null")}))))}))),(e=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var n,l;yield c(),yield s(r,h,{[p]:{[ge]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?N.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,{[a]:()=>u},u)};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const we=(e,n,l,t,o,[r,i,[u,d,c]],v,s,y,m)=>{const[E,b,O,g]=ue(n,v,o,m),A=(e,n)=>Ae(void 0,null,(function*(){return yield f($(i,((l,t)=>Ae(void 0,[l,t],(function*([l,t,o,r],i){n&&!j(e,i)||(yield O(l,t,e[i],o,r,n))})))))})),w=(e,n)=>Ae(void 0,null,(function*(){return d?yield O(c,h,{[p]:e},!0,!0,n):null}));return be(e,(()=>Ae(void 0,null,(function*(){return yield g((()=>Ae(void 0,null,(function*(){yield E();const e=yield Ae(void 0,null,(function*(){return I(P(yield f($(r,((e,n)=>Ae(void 0,[e,n],(function*([e,n],l){return[e,yield b(l,n)]}))))),(e=>!B(e[1]))))})),n=yield Ae(void 0,null,(function*(){return u?(yield b(c,h))[p]:{}}));return B(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Ae(void 0,null,(function*(){return yield g((()=>Ae(void 0,null,(function*(){if(yield E(),a(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,!1,{[y]:()=>s},s)},Ce="json",Te="autoLoadIntervalSeconds",Ne="rowIdColumnName",Le="tableId",Se="tableName",Re={mode:Ce,[Te]:1},xe={load:0,save:0,[Se]:n+"_values"},Ie=(e,n,l,t)=>{const o=H();return M(e,((e,r)=>{const i=s(_(D(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||k(o,r,i)})),o};var De=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const je="pragma ",Me="data_version",_e="schema_version",Fe=(e,l,t,o,r,i,a,d,v="getDb",y)=>{let f,p,m;const[b,O,g,P]=(e=>{const l=(e=>D(Re,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Te];if(l.mode==Ce){const{storeTableName:e=n}=l;return[1,t,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=s(_(D(xe,i)),0,F(xe)),a=u[2],d=W(a);return[0,t,[Ie(o,{[Le]:null,[Ne]:h},Le,(e=>z(d,e)&&e==a)),Ie(r,{[Se]:null,[Ne]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Se,((e,n)=>z(d,n)&&n==a)),u],d]})(l);return(b?Pe:we)(e,i?(e,n)=>De(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>De(void 0,null,(function*(){try{const n=(yield t(je+Me))[0][Me],l=(yield t(je+_e))[0][_e],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=O,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,g,C(P),d,v,y)},Be=(e,n,l,t,o)=>Fe(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.execO(e,l)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onUpdate(((n,l,t)=>e(t)))),(e=>e()),t,o,n);export{Be as createCrSqliteWasmPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),T=e=>0==s(e),O=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),b=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},L=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},P=(e,n)=>null==e?void 0:e.delete(n),w=Object,R=e=>w.getPrototypeOf(e),N=w.entries,g=w.keys,C=w.freeze,D=(e=[])=>w.fromEntries(e),S=(...e)=>w.assign({},...e),x=(e,n)=>m(N(e),(([e,l])=>n(l,e))),I=e=>w.values(e),F=e=>s(g(e)),M=e=>(e=>!u(e)&&a(R(e),(e=>e==w.prototype||u(R(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>u(l)?(P(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(b(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(x(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),k=e=>new Set(Array.isArray(e)||u(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&K(e,l,n[l]);if(U)for(var l of U(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X=h+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return Y(o,D(yield v(m(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,D(m(yield e(h+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,Y(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!u(j(j(o,e),n)))(n,l)?D(O(m(yield e(X+E(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!M(n)))):{}})),(n,t,r,i,a,d=!1)=>Q(void 0,null,(function*(){const c=k();x(null!=r?r:{},(e=>m(g(null!=e?e:{}),(e=>G(c,e)))));const s=L(c);if(!d&&a&&T(s)&&b(o,n))return yield e("DROP TABLE"+E(n)),void H(o,n);if(T(s)||b(o,n)){const l=j(o,n),r=k(_(l));yield v([...m(s,(t=>Q(void 0,null,(function*(){P(r,t)||(yield e(`ALTER TABLE${E(n)}ADD${E(t)}`),H(l,t,""))})))),...!d&&i?m(L(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+E(e))))});`),H(o,n,$([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield v(x(r,((l,o)=>Q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+E(n)+ee+E(t)+"=?",[o]):T(s)||(yield le(e,n,t,g(l),[o,...I(l)]))})))));else if(T(s))b(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const l=O(_(j(o,n)),(e=>e!=t)),i=[],u=[];x(null!=r?r:{},((e,n)=>{A(i,n,...m(l,(n=>null==e?void 0:e[n]))),A(u,n)})),yield le(e,n,t,l,i),yield e("DELETE FROM"+E(n)+ee+E(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(t)+p(m(r,(e=>l+E(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+E(t)+")DO UPDATE SET"+p(m(r,(e=>E(e)+"=excluded."+E(e))),l),i)})),te=e=>p(m(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,E=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const h=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>re(void 0,null,(function*(){return yield h((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),E=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield h((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield h((()=>re(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(E&&(o(y),y=void 0,E=0),p),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>re(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>re(void 0,null,(function*(){return A(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!u((e=j(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),C(p)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ce="store",se=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye=(e,n,l,t,o,[r,i,[a,d,c]],s,E,h)=>{const[p,m,T,A]=ne(n,s,o),b=(e,n)=>ve(void 0,null,(function*(){return yield v(B(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield T(l,t,u,o,r,n))})))))})),L=(e,n)=>ve(void 0,null,(function*(){return d?yield T(c,f,{[y]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){yield p();const e=yield ve(void 0,null,(function*(){return D(O(yield v(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return M(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield A((()=>ve(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield b(n),yield L(l)}else{const[e,l]=n();yield b(e,!0),yield L(l,!0)}}))))}))),l,t,o,[h,E],E)},fe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",pe="tableId",me="tableName",Te={mode:fe,[Ee]:1},Oe={load:0,save:0,[me]:n+"_values"},Ae=(e,n,l,t)=>{const o=$();return x(e,((e,r)=>{const i=c(I(S(n,d(e)?{[l]:e}:e)),0,F(n));u(i[0])||t(r,i[0])||H(o,r,i)})),o};var be=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Le="pragma ",Pe="data_version",we="schema_version",Re=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,E,p;const[m,T,O,A]=(e=>{const l=(e=>S(Te,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ee];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(I(S(Oe,i)),0,F(Oe)),a=u[2],s=k(a);return[0,t,[Ae(o,{[pe]:null,[he]:f},pe,(e=>G(s,e)&&e==a)),Ae(r,{[me]:null,[he]:f,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(s,n)&&n==a)),u],s]})(l);return(m?se:ye)(e,u?(e,n)=>be(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>be(void 0,null,(function*(){try{const n=(yield t(Le+Pe))[0][Pe],l=(yield t(Le+we))[0][we],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=E?E:E=l)&&o==(null!=p?p:p=o)||(e(),y=n,E=l)}catch(e){}})),l=T,n(),setInterval(n,1e3*l)),o((n=>A.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=E=null,r(n)}),a,O,L(A),s,v)},Ne=(e,n,l,t,o)=>Re(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{Ne as createElectricSqlPersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=e=>Array.isArray(e),v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,b="SELECT",E=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),O=e=>0==y(e),P=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),A=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),N=Object,L=e=>N.getPrototypeOf(e),S=N.entries,R=N.keys,x=N.freeze,D=(e=[])=>N.fromEntries(e),I=(...e)=>N.assign({},...e),j=(e,n)=>n in e,M=(e,n)=>g(S(e),(([e,l])=>n(l,e))),_=e=>N.values(e),F=e=>y(R(e)),B=e=>(e=>!a(e)&&d(L(e),(e=>e==N.prototype||a(L(e))),(()=>!0)))(e)&&0==F(e),H=e=>new Map(e),Y=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),k=(e,n)=>{var l;return g([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},G=(e,n,l)=>a(l)?(T(e,n),e):null==e?void 0:e.set(n,l),J=(e,n,l,t)=>(A(e,n)?null==t||t($(e,n)):G(e,n,l()),$(e,n)),U=(e,n,l,t=G)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>j(n,l)?0:t(e,l))),e),W=e=>new Set(s(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ne="TABLE",le="ALTER "+ne,te="DELETE FROM",oe=b+"*FROM",re="FROM pragma_table_",ie="WHERE",ue=(e,n,o,r)=>{const i=H();return[()=>ee(void 0,null,(function*(){return U(i,D(yield f(g(yield e("SELECT name "+re+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+de(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,D(g(yield e(b+" name,type "+re+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>G(i,n,U(J(i,n,H),l,((e,n,l)=>{l!=$(e,n)&&G(e,n,l)}),((e,n)=>G(e,n))))),((e,n)=>G(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?D(P(g(yield e(oe+m(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!B(n)))):{}})),(n,o,u,d,c,s=!1)=>ee(void 0,null,(function*(){const v=W();M(null!=u?u:{},(e=>g(R(null!=e?e:{}),(e=>q(v,e)))));const y=C(v);if(!s&&c&&O(y)&&A(i,n))return yield e("DROP "+ne+m(n)),void G(i,n);if(O(y)||A(i,n)){const t=$(i,n),r=W(Y(t));yield f([...g(y,(o=>ee(void 0,null,(function*(){T(r,o)||(yield e(le+m(n)+"ADD"+m(o)),G(t,o,l))})))),...!s&&d?g(C(r),(l=>ee(void 0,null,(function*(){l!=o&&(yield e(le+m(n)+"DROP"+m(l)),G(t,l))})))):[]])}else yield e("CREATE "+ne+m(n)+"("+m(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(g(y,(e=>t+m(e))))});`),G(i,n,H([[o,l],...g(y,(e=>[e,l]))]));if(s)a(u)?yield e(te+m(n)+ie+" 1"):yield f(M(u,((l,t)=>ee(void 0,null,(function*(){a(l)?yield e(te+m(n)+ie+m(o)+"=?",[t]):O(y)||(yield ae(e,n,o,R(l),[t,..._(l)],r))})))));else if(O(y))A(i,n)&&(yield e(te+m(n)+ie+" 1"));else{const l=P(Y($(i,n)),(e=>e!=o)),t=[],a=[];M(null!=u?u:{},((e,n)=>{w(t,n,...g(l,(n=>null==e?void 0:e[n]))),w(a,n)})),yield ae(e,n,o,l,t,r),yield e(te+m(n)+ie+m(o)+"NOT IN("+de(a)+")",a)}})),n=>ee(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},ae=(e,n,o,i,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+m(n)+"("+m(o)+E(g(i,(e=>t+m(e))))+")VALUES"+v(r(`,(?${r(",?",y(i))})`,y(u)/(y(i)+1)),1)+(a?"ON CONFLICT("+m(o)+")DO UPDATE SET"+E(g(i,(e=>m(e)+"=excluded."+m(e))),t):l),g(u,(e=>null!=e?e:null)))})),de=e=>E(g(e,(()=>"?")),t),ce=JSON.parse;var se=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,l)=>n in e?se(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const me=H(),be=H(),Ee=(e,n,l,t,o,r,i,u={},c=[])=>{let v,y,f,p=0;J(me,c,(()=>0)),J(be,c,(()=>[]));const[h,m,b,E,g]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!B(e)||!B(n),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!B(e)||!B(n),n.setDefaultContent])(i,e),O=e=>he(void 0,null,(function*(){return 2!=p&&(p=1,yield A.schedule((()=>he(void 0,null,(function*(){yield e(),p=0}))))),A})),P=n=>{(h&&s(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},A=((e,n)=>{for(var l in n||(n={}))ye.call(n,l)&&pe(e,l,n[l]);if(ve)for(var l of ve(n))fe.call(n,l)&&pe(e,l,n[l]);return e})({load:e=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){try{P(yield n())}catch(n){null==r||r(n),e&&g(e)}}))))})),startAutoLoad:e=>he(void 0,null,(function*(){return yield A.stopAutoLoad().load(e),y=t(((e,l)=>he(void 0,null,(function*(){const t=null==l?void 0:l();yield O((()=>he(void 0,null,(function*(){var l;try{P(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==r||r(e)}}))))})))),A})),stopAutoLoad:()=>(y&&(o(y),y=void 0),A),isAutoLoading:()=>!a(y),save:e=>he(void 0,null,(function*(){return 1!=p&&(p=2,yield A.schedule((()=>he(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),A})),startAutoSave:()=>he(void 0,null,(function*(){return yield A.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=b();E(e)&&A.save((()=>e))})),A})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,A),isAutoSaving:()=>!a(f),schedule:(...e)=>he(void 0,null,(function*(){return w($(be,c),...e),yield he(void 0,null,(function*(){if(!$(me,c)){for(G(me,c,1);!a((e=$(be,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}G(me,c,0)}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return x(A)};var ge=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="store",Pe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=ue(n,i,o,d);return Ee(e,(()=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var e,n;return yield c(),ce(null!=(n=null==(e=(yield s(r,h))[p])?void 0:e[Oe])?n:"null")}))))}))),(e=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var n,l;yield c(),yield v(r,h,{[p]:{[Oe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?N.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,{[a]:()=>u},u)};var we=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ae=(e,n,l,t,o,[r,i,[u,d,c]],s,v,y,m)=>{const[b,E,g,O]=ue(n,s,o,m),w=(e,n)=>we(void 0,null,(function*(){return yield f(k(i,((l,t)=>we(void 0,[l,t],(function*([l,t,o,r],i){n&&!j(e,i)||(yield g(l,t,e[i],o,r,n))})))))})),A=(e,n)=>we(void 0,null,(function*(){return d?yield g(c,h,{[p]:e},!0,!0,n):null}));return Ee(e,(()=>we(void 0,null,(function*(){return yield O((()=>we(void 0,null,(function*(){yield b();const e=yield we(void 0,null,(function*(){return D(P(yield f(k(r,((e,n)=>we(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!B(e[1]))))})),n=yield we(void 0,null,(function*(){return u?(yield E(c,h))[p]:{}}));return B(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>we(void 0,null,(function*(){return yield O((()=>we(void 0,null,(function*(){if(yield b(),a(n)){const[n,l]=e();yield w(n),yield A(l)}else{const[e,l]=n();yield w(e,!0),yield A(l,!0)}}))))}))),l,t,o,!1,{[y]:()=>v},v)},Ce="json",Te="autoLoadIntervalSeconds",Ne="rowIdColumnName",Le="tableId",Se="tableName",Re={mode:Ce,[Te]:1},xe={load:0,save:0,[Se]:n+"_values"},De=(e,n,l,t)=>{const o=H();return M(e,((e,r)=>{const i=v(_(I(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||G(o,r,i)})),o};var Ie=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const je="pragma ",Me="data_version",_e="schema_version",Fe=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,p,m;const[E,g,O,P]=(e=>{const l=(e=>I(Re,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Te];if(l.mode==Ce){const{storeTableName:e=n}=l;return[1,t,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(_(I(xe,i)),0,F(xe)),a=u[2],d=W(a);return[0,t,[De(o,{[Le]:null,[Ne]:h},Le,(e=>q(d,e)&&e==a)),De(r,{[Se]:null,[Ne]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Se,((e,n)=>q(d,n)&&n==a)),u],d]})(l);return(E?Pe:Ae)(e,i?(e,n)=>Ie(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ie(void 0,null,(function*(){try{const n=(yield t(je+Me))[0][Me],l=(yield t(je+_e))[0][_e],o=(yield t(b+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,O,C(P),d,s,y)},Be=(e,n,l,t,o)=>Fe(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return yield n.db.raw({sql:e,args:l})},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.notifier.subscribeToDataChanges((l=>{return t=({tablename:n})=>e(n),n.notifier.alias(l).forEach(t);var t}))),(e=>e()),t,o,n,"getElectricClient");export{Be as createElectricSqlPersister};
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t=",",o=n(""),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,d=e=>null==e,a=(e,n,l)=>d(e)?null==l?void 0:l():n(e),c=e=>n(e)==o,v=(e,n,l)=>e.slice(n,l),s=e=>e.length,y=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},f="_",p="_id",E=e=>`"${e.replace(/"/g,'""')}"`,h="SELECT",m=(e,n="")=>e.join(n),A=(e,n)=>e.map(n),O=e=>0==s(e),T=(e,n)=>e.filter(n),L=(e,...n)=>e.push(...n),P=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},b=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),R=Object,w=e=>R.getPrototypeOf(e),x=R.entries,S=R.keys,g=R.freeze,C=(e=[])=>R.fromEntries(e),D=(...e)=>R.assign({},...e),I=(e,n)=>A(x(e),(([e,l])=>n(l,e))),F=e=>R.values(e),M=e=>s(S(e)),$=e=>(e=>!d(e)&&a(w(e),(e=>e==R.prototype||d(w(e))),(()=>!0)))(e)&&0==M(e),_=e=>new Map(e),j=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},B=(e,n)=>null==e?void 0:e.get(n),H=(e,n)=>{var l;return A([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},W=(e,n,l)=>d(l)?(N(e,n),e):null==e?void 0:e.set(n,l),Y=(e,n,l)=>(P(e,n)||W(e,n,l()),B(e,n)),k=(e,n,l,t=W)=>(I(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!d(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),G=e=>new Set(Array.isArray(e)||d(e)?e:[e]),J=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,q=Object.getOwnPropertySymbols,z=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,V=(e,n,l)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Q=(e,n)=>{for(var l in n||(n={}))z.call(n,l)&&V(e,l,n[l]);if(q)for(var l of q(n))K.call(n,l)&&V(e,l,n[l]);return e},X=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Z=h+"*FROM",ee="FROM pragma_table_",ne="WHERE",le=(e,n,l)=>{const o=_();return[()=>X(void 0,null,(function*(){return k(o,C(yield y(A(yield e("SELECT name "+ee+"list WHERE schema='main'AND type='table'AND name IN("+oe(n)+")ORDER BY name",n),(n=>X(void 0,[n],(function*({name:n}){return[n,C(A(yield e(h+" name,type "+ee+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>W(o,n,k(Y(o,n,_),l,((e,n,l)=>{l!=B(e,n)&&W(e,n,l)}),((e,n)=>W(e,n))))),((e,n)=>W(o,n)))})),(n,l)=>X(void 0,null,(function*(){return((e,n)=>!d(B(B(o,e),n)))(n,l)?C(T(A(yield e(Z+E(n)),(e=>{return[e[l],(n=Q({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!$(n)))):{}})),(n,l,r,i,u,a=!1)=>X(void 0,null,(function*(){const c=G();I(null!=r?r:{},(e=>A(S(null!=e?e:{}),(e=>J(c,e)))));const v=b(c);if(!a&&u&&O(v)&&P(o,n))return yield e("DROP TABLE"+E(n)),void W(o,n);if(O(v)||P(o,n)){const t=B(o,n),r=G(j(t));yield y([...A(v,(l=>X(void 0,null,(function*(){N(r,l)||(yield e(`ALTER TABLE${E(n)}ADD${E(l)}`),W(t,l,""))})))),...!a&&i?A(b(r),(o=>X(void 0,null,(function*(){o!=l&&(yield e(`ALTER TABLE${E(n)}DROP${E(o)}`),W(t,o))})))):[]])}else yield e(`CREATE TABLE${E(n)}(${E(l)} PRIMARY KEY ON CONFLICT REPLACE${m(A(v,(e=>t+E(e))))});`),W(o,n,_([[l,""],...A(v,(e=>[e,""]))]));if(a)d(r)?yield e("DELETE FROM"+E(n)+"WHERE 1"):yield y(I(r,((t,o)=>X(void 0,null,(function*(){d(t)?yield e("DELETE FROM"+E(n)+ne+E(l)+"=?",[o]):O(v)||(yield te(e,n,l,S(t),[o,...F(t)]))})))));else if(O(v))P(o,n)&&(yield e("DELETE FROM"+E(n)+"WHERE 1"));else{const t=T(j(B(o,n)),(e=>e!=l)),i=[],u=[];I(null!=r?r:{},((e,n)=>{L(i,n,...A(t,(n=>null==e?void 0:e[n]))),L(u,n)})),yield te(e,n,l,t,i),yield e("DELETE FROM"+E(n)+ne+E(l)+"NOT IN("+oe(u)+")",u)}})),n=>X(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},te=(e,n,l,o,i)=>X(void 0,null,(function*(){return yield e("INSERT INTO"+E(n)+"("+E(l)+m(A(o,(e=>t+E(e))))+")VALUES"+v(r(`,(?${r(",?",s(o))})`,s(i)/(s(o)+1)),1)+"ON CONFLICT("+E(l)+")DO UPDATE SET"+m(A(o,(e=>E(e)+"=excluded."+E(e))),t),i)})),oe=e=>m(A(e,(()=>"?")),t),re=JSON.parse;var ie=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ue=_(),de=_(),ae=(e,n,l,t,o,r,[i,u]=[],c=[])=>{let v,s,y,f=0,p=0;Y(ue,c,(()=>0)),Y(de,c,(()=>[]));const E=e=>ie(void 0,null,(function*(){return 2!=f&&(f=1,yield h.schedule((()=>ie(void 0,null,(function*(){yield e(),f=0}))))),h})),h={load:(l,t)=>ie(void 0,null,(function*(){return yield E((()=>ie(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>ie(void 0,[...l],(function*(l={},o={}){return h.stopAutoLoad(),yield h.load(l,o),p=1,y=t(((l,t)=>ie(void 0,null,(function*(){if(t){const n=t();yield E((()=>ie(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>ie(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),h})),stopAutoLoad:()=>(p&&(o(y),y=void 0,p=0),h),save:n=>ie(void 0,null,(function*(){return 1!=f&&(f=2,yield h.schedule((()=>ie(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),h})),startAutoSave:()=>ie(void 0,null,(function*(){return yield h.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();$(l)&&$(t)||h.save((()=>[l,t]))})),h})),stopAutoSave:()=>(a(v,e.delListener),v=void 0,h),schedule:(...e)=>ie(void 0,null,(function*(){return L(B(de,c),...e),yield ie(void 0,null,(function*(){if(!B(ue,c)){for(W(ue,c,1);!d((e=B(de,c),s=e.shift()));)try{yield s()}catch(e){null==r||r(e)}W(ue,c,0)}var e})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(h[i]=()=>u),g(h)};var ce=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ve="store",se=(e,n,l,t,o,[r],i,u,d)=>{const[a,c,v,s]=le(n,i,o);return ae(e,(()=>ce(void 0,null,(function*(){return yield s((()=>ce(void 0,null,(function*(){var e,n;return yield a(),re(null!=(n=null==(e=(yield c(r,p))[f])?void 0:e[ve])?n:"null")}))))}))),(e=>ce(void 0,null,(function*(){return yield s((()=>ce(void 0,null,(function*(){var n,l;yield a(),yield v(r,p,{[f]:{[ve]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?R.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[d,u],u)};var ye=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const fe=(e,n,l,t,o,[r,i,[u,a,c]],v,s,E)=>{const[h,m,A,O]=le(n,v,o),L=(e,n)=>ye(void 0,null,(function*(){return yield y(H(i,((l,t)=>ye(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),P=(e,n)=>ye(void 0,null,(function*(){return a?yield A(c,p,{[f]:e},!0,!0,n):null}));return ae(e,(()=>ye(void 0,null,(function*(){return yield O((()=>ye(void 0,null,(function*(){yield h();const e=yield ye(void 0,null,(function*(){return C(T(yield y(H(r,((e,n)=>ye(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!$(e[1]))))})),n=yield ye(void 0,null,(function*(){return u?(yield m(c,p))[f]:{}}));return $(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>ye(void 0,null,(function*(){return yield O((()=>ye(void 0,null,(function*(){if(yield h(),d(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,s],s)},pe="json",Ee="autoLoadIntervalSeconds",he="rowIdColumnName",me="tableId",Ae="tableName",Oe={mode:pe,[Ee]:1},Te={load:0,save:0,[Ae]:l+"_values"},Le=(e,n,l,t)=>{const o=_();return I(e,((e,r)=>{const i=v(F(D(n,c(e)?{[l]:e}:e)),0,M(n));d(i[0])||t(r,i[0])||W(o,r,i)})),o};var Pe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const be="pragma ",Ne="data_version",Re="schema_version",we=(e,n,t,o,r,i,d,a,s="getDb")=>{let y,f,E;const[m,A,O,T]=(e=>{const n=(e=>D(Oe,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[Ee];if(n.mode==pe){const{storeTableName:e=l}=n;return[1,t,[e],G(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=v(F(D(Te,i)),0,M(Te)),d=u[2],a=G(d);return[0,t,[Le(o,{[me]:null,[he]:p},me,(e=>J(a,e)&&e==d)),Le(r,{[Ae]:null,[he]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ae,((e,n)=>J(a,n)&&n==d)),u],a]})(n);return(m?se:fe)(e,i?(e,n)=>Pe(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Pe(void 0,null,(function*(){try{const n=(yield t(be+Ne))[0][Ne],l=(yield t(be+Re))[0][Re],o=(yield t(h+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=f?f:f=l)&&o==(null!=E?E:E=o)||(e(),y=n,f=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),y=f=null,r(n)}),d,O,b(T),a,s)},xe=(n,l,t,o,r)=>we(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{xe as createExpoSqliteNextPersister};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite/next";const n=e=>typeof e,l="tinybase",t="",o=",",r=n(t),i=(e,n)=>e.repeat(n),u=Promise,a=clearInterval,d=e=>null==e,c=(e,n,l)=>d(e)?null==l?void 0:l():n(e),v=e=>n(e)==r,s=e=>Array.isArray(e),y=(e,n,l)=>e.slice(n,l),f=e=>e.length,p=e=>{return n=function*(){return u.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},h="_",m="_id",b=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",g=(e,n="")=>e.join(n),O=(e,n)=>e.map(n),P=e=>0==f(e),A=(e,n)=>e.filter(n),w=(e,...n)=>e.push(...n),C=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},N=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),L=Object,S=e=>L.getPrototypeOf(e),x=L.entries,R=L.keys,I=L.freeze,D=(e=[])=>L.fromEntries(e),j=(...e)=>L.assign({},...e),M=(e,n)=>n in e,_=(e,n)=>O(x(e),(([e,l])=>n(l,e))),F=e=>L.values(e),B=e=>f(R(e)),H=e=>(e=>!d(e)&&c(S(e),(e=>e==L.prototype||d(S(e))),(()=>!0)))(e)&&0==B(e),Y=e=>new Map(e),$=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},k=(e,n)=>null==e?void 0:e.get(n),G=(e,n)=>{var l;return O([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},J=(e,n,l)=>d(l)?(T(e,n),e):null==e?void 0:e.set(n,l),U=(e,n,l,t)=>(C(e,n)?null==t||t(k(e,n)):J(e,n,l()),k(e,n)),W=(e,n,l,t=J)=>(_(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>M(n,l)?0:t(e,l))),e),q=e=>new Set(s(e)||d(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n);var K=Object.defineProperty,V=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,Z=(e,n,l)=>n in e?K(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,ee=(e,n)=>{for(var l in n||(n={}))Q.call(n,l)&&Z(e,l,n[l]);if(V)for(var l of V(n))X.call(n,l)&&Z(e,l,n[l]);return e},ne=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const le="TABLE",te="ALTER "+le,oe="DELETE FROM",re=E+"*FROM",ie="FROM pragma_table_",ue="WHERE",ae=(e,n,l,r)=>{const i=Y();return[()=>ne(void 0,null,(function*(){return W(i,D(yield p(O(yield e("SELECT name "+ie+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ce(n)+")ORDER BY name",n),(n=>ne(void 0,[n],(function*({name:n}){return[n,D(O(yield e(E+" name,type "+ie+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>J(i,n,W(U(i,n,Y),l,((e,n,l)=>{l!=k(e,n)&&J(e,n,l)}),((e,n)=>J(e,n))))),((e,n)=>J(i,n)))})),(n,l)=>ne(void 0,null,(function*(){return((e,n)=>!d(k(k(i,e),n)))(n,l)?D(A(O(yield e(re+b(n)),(e=>{return[e[l],(n=ee({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!d(e)&&!H(n)))):{}})),(n,l,u,a,c,v=!1)=>ne(void 0,null,(function*(){const s=q();_(null!=u?u:{},(e=>O(R(null!=e?e:{}),(e=>z(s,e)))));const y=N(s);if(!v&&c&&P(y)&&C(i,n))return yield e("DROP "+le+b(n)),void J(i,n);if(P(y)||C(i,n)){const o=k(i,n),r=q($(o));yield p([...O(y,(l=>ne(void 0,null,(function*(){T(r,l)||(yield e(te+b(n)+"ADD"+b(l)),J(o,l,t))})))),...!v&&a?O(N(r),(t=>ne(void 0,null,(function*(){t!=l&&(yield e(te+b(n)+"DROP"+b(t)),J(o,t))})))):[]])}else yield e("CREATE "+le+b(n)+"("+b(l)+` PRIMARY KEY ON CONFLICT REPLACE${g(O(y,(e=>o+b(e))))});`),J(i,n,Y([[l,t],...O(y,(e=>[e,t]))]));if(v)d(u)?yield e(oe+b(n)+ue+" 1"):yield p(_(u,((t,o)=>ne(void 0,null,(function*(){d(t)?yield e(oe+b(n)+ue+b(l)+"=?",[o]):P(y)||(yield de(e,n,l,R(t),[o,...F(t)],r))})))));else if(P(y))C(i,n)&&(yield e(oe+b(n)+ue+" 1"));else{const t=A($(k(i,n)),(e=>e!=l)),o=[],a=[];_(null!=u?u:{},((e,n)=>{w(o,n,...O(t,(n=>null==e?void 0:e[n]))),w(a,n)})),yield de(e,n,l,t,o,r),yield e(oe+b(n)+ue+b(l)+"NOT IN("+ce(a)+")",a)}})),n=>ne(void 0,null,(function*(){let t;yield e("BEGIN");try{t=yield n()}catch(e){null==l||l(e)}return yield e("END"),t}))]},de=(e,n,l,r,u,a=!0)=>ne(void 0,null,(function*(){return yield e("INSERT "+(a?t:"OR REPLACE ")+"INTO"+b(n)+"("+b(l)+g(O(r,(e=>o+b(e))))+")VALUES"+y(i(`,(?${i(",?",f(r))})`,f(u)/(f(r)+1)),1)+(a?"ON CONFLICT("+b(l)+")DO UPDATE SET"+g(O(r,(e=>b(e)+"=excluded."+b(e))),o):t),O(u,(e=>null!=e?e:null)))})),ce=e=>g(O(e,(()=>"?")),o),ve=JSON.parse;var se=Object.defineProperty,ye=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,he=(e,n,l)=>n in e?se(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,me=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const be=Y(),Ee=Y(),ge=(e,n,l,t,o,r,i,u={},a=[])=>{let v,y,f,p=0;U(be,a,(()=>0)),U(Ee,a,(()=>[]));const[h,m,b,E,g]=((e,n)=>!e||d(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!H(e)||!H(n),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!H(e)||!H(n),n.setDefaultContent])(i,e),O=e=>me(void 0,null,(function*(){return 2!=p&&(p=1,yield A.schedule((()=>me(void 0,null,(function*(){yield e(),p=0}))))),A})),P=n=>{(h&&s(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},A=((e,n)=>{for(var l in n||(n={}))fe.call(n,l)&&he(e,l,n[l]);if(ye)for(var l of ye(n))pe.call(n,l)&&he(e,l,n[l]);return e})({load:e=>me(void 0,null,(function*(){return yield O((()=>me(void 0,null,(function*(){try{P(yield n())}catch(n){null==r||r(n),e&&g(e)}}))))})),startAutoLoad:e=>me(void 0,null,(function*(){return yield A.stopAutoLoad().load(e),y=t(((e,l)=>me(void 0,null,(function*(){const t=null==l?void 0:l();yield O((()=>me(void 0,null,(function*(){var l;try{P(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==r||r(e)}}))))})))),A})),stopAutoLoad:()=>(y&&(o(y),y=void 0),A),isAutoLoading:()=>!d(y),save:e=>me(void 0,null,(function*(){return 1!=p&&(p=2,yield A.schedule((()=>me(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),A})),startAutoSave:()=>me(void 0,null,(function*(){return yield A.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=b();E(e)&&A.save((()=>e))})),A})),stopAutoSave:()=>(c(f,e.delListener),f=void 0,A),isAutoSaving:()=>!d(f),schedule:(...e)=>me(void 0,null,(function*(){return w(k(Ee,a),...e),yield me(void 0,null,(function*(){if(!k(be,a)){for(J(be,a,1);!d((e=k(Ee,a),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}J(be,a,0)}var e})),A})),getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return I(A)};var Oe=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="store",Ae=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,v,s,y]=ae(n,i,o,d);return ge(e,(()=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var e,n;return yield c(),ve(null!=(n=null==(e=(yield v(r,m))[h])?void 0:e[Pe])?n:"null")}))))}))),(e=>Oe(void 0,null,(function*(){return yield y((()=>Oe(void 0,null,(function*(){var n,l;yield c(),yield s(r,m,{[h]:{[Pe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?L.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,{[a]:()=>u},u)};var we=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Ce=(e,n,l,t,o,[r,i,[u,a,c]],v,s,y,f)=>{const[b,E,g,O]=ae(n,v,o,f),P=(e,n)=>we(void 0,null,(function*(){return yield p(G(i,((l,t)=>we(void 0,[l,t],(function*([l,t,o,r],i){n&&!M(e,i)||(yield g(l,t,e[i],o,r,n))})))))})),w=(e,n)=>we(void 0,null,(function*(){return a?yield g(c,m,{[h]:e},!0,!0,n):null}));return ge(e,(()=>we(void 0,null,(function*(){return yield O((()=>we(void 0,null,(function*(){yield b();const e=yield we(void 0,null,(function*(){return D(A(yield p(G(r,((e,n)=>we(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!H(e[1]))))})),n=yield we(void 0,null,(function*(){return u?(yield E(c,m))[h]:{}}));return H(e)&&d(n)?void 0:[e,n]}))))}))),((e,n)=>we(void 0,null,(function*(){return yield O((()=>we(void 0,null,(function*(){if(yield b(),d(n)){const[n,l]=e();yield P(n),yield w(l)}else{const[e,l]=n();yield P(e,!0),yield w(l,!0)}}))))}))),l,t,o,!1,{[y]:()=>s},s)},Ne="json",Te="autoLoadIntervalSeconds",Le="rowIdColumnName",Se="tableId",xe="tableName",Re={mode:Ne,[Te]:1},Ie={load:0,save:0,[xe]:l+"_values"},De=(e,n,l,t)=>{const o=Y();return _(e,((e,r)=>{const i=y(F(j(n,v(e)?{[l]:e}:e)),0,B(n));d(i[0])||t(r,i[0])||J(o,r,i)})),o};var je=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Me="pragma ",_e="data_version",Fe="schema_version",Be=(e,n,t,o,r,i,u,d,c="getDb",s)=>{let f,p,h;const[b,g,O,P]=(e=>{const n=(e=>j(Re,v(e)?{storeTableName:e}:null!=e?e:{}))(e),t=n[Te];if(n.mode==Ne){const{storeTableName:e=l}=n;return[1,t,[e],q(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=n,u=y(F(j(Ie,i)),0,B(Ie)),a=u[2],d=q(a);return[0,t,[De(o,{[Se]:null,[Le]:m},Se,(e=>z(d,e)&&e==a)),De(r,{[xe]:null,[Le]:m,deleteEmptyColumns:0,deleteEmptyTable:0},xe,((e,n)=>z(d,n)&&n==a)),u],d]})(n);return(b?Ae:Ce)(e,i?(e,n)=>je(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>je(void 0,null,(function*(){try{const n=(yield t(Me+_e))[0][_e],l=(yield t(Me+Fe))[0][Fe],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=h?h:h=o)||(e(),f=n,p=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{a(e),f=p=null,r(n)}),u,O,N(P),d,c,s)},He=(n,l,t,o,r)=>Be(n,t,((e,...n)=>{return t=[e,...n],o=function*(e,n=[]){return yield l.getAllAsync(e,n)},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(n=>e((({tableName:e})=>n(e)))),(e=>e.remove()),o,r,l);export{He as createExpoSqliteNextPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",l=",",t=e(""),o=(e,n)=>e.repeat(n),r=Promise,i=clearInterval,u=e=>null==e,a=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=n=>e(n)==t,c=(e,n,l)=>e.slice(n,l),s=e=>e.length,v=e=>{return n=function*(){return r.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},y="_",f="_id",h=e=>`"${e.replace(/"/g,'""')}"`,E="SELECT",p=(e,n="")=>e.join(n),m=(e,n)=>e.map(n),A=e=>0==s(e),O=(e,n)=>e.filter(n),T=(e,...n)=>e.push(...n),L=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},P=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},b=(e,n)=>null==e?void 0:e.delete(n),w=Object,N=e=>w.getPrototypeOf(e),R=w.entries,g=w.keys,x=w.freeze,C=(e=[])=>w.fromEntries(e),D=(...e)=>w.assign({},...e),S=(e,n)=>m(R(e),(([e,l])=>n(l,e))),I=e=>w.values(e),F=e=>s(g(e)),M=e=>(e=>!u(e)&&a(N(e),(e=>e==w.prototype||u(N(e))),(()=>!0)))(e)&&0==F(e),$=e=>new Map(e),_=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},j=(e,n)=>null==e?void 0:e.get(n),B=(e,n)=>{var l;return m([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},H=(e,n,l)=>u(l)?(b(e,n),e):null==e?void 0:e.set(n,l),W=(e,n,l)=>(L(e,n)||H(e,n,l()),j(e,n)),Y=(e,n,l,t=H)=>(S(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>((e,n)=>!u(((e,n)=>a(e,(e=>e[n])))(e,n)))(n,l)?0:t(e,l))),e),k=e=>new Set(Array.isArray(e)||u(e)?e:[e]),G=(e,n)=>null==e?void 0:e.add(n);var J=Object.defineProperty,U=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,K=(e,n,l)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,V=(e,n)=>{for(var l in n||(n={}))q.call(n,l)&&K(e,l,n[l]);if(U)for(var l of U(n))z.call(n,l)&&K(e,l,n[l]);return e},Q=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const X=E+"*FROM",Z="FROM pragma_table_",ee="WHERE",ne=(e,n,t)=>{const o=$();return[()=>Q(void 0,null,(function*(){return Y(o,C(yield v(m(yield e("SELECT name "+Z+"list WHERE schema='main'AND type='table'AND name IN("+te(n)+")ORDER BY name",n),(n=>Q(void 0,[n],(function*({name:n}){return[n,C(m(yield e(E+" name,type "+Z+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>H(o,n,Y(W(o,n,$),l,((e,n,l)=>{l!=j(e,n)&&H(e,n,l)}),((e,n)=>H(e,n))))),((e,n)=>H(o,n)))})),(n,l)=>Q(void 0,null,(function*(){return((e,n)=>!u(j(j(o,e),n)))(n,l)?C(O(m(yield e(X+h(n)),(e=>{return[e[l],(n=V({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!u(e)&&!M(n)))):{}})),(n,t,r,i,a,d=!1)=>Q(void 0,null,(function*(){const c=k();S(null!=r?r:{},(e=>m(g(null!=e?e:{}),(e=>G(c,e)))));const s=P(c);if(!d&&a&&A(s)&&L(o,n))return yield e("DROP TABLE"+h(n)),void H(o,n);if(A(s)||L(o,n)){const l=j(o,n),r=k(_(l));yield v([...m(s,(t=>Q(void 0,null,(function*(){b(r,t)||(yield e(`ALTER TABLE${h(n)}ADD${h(t)}`),H(l,t,""))})))),...!d&&i?m(P(r),(o=>Q(void 0,null,(function*(){o!=t&&(yield e(`ALTER TABLE${h(n)}DROP${h(o)}`),H(l,o))})))):[]])}else yield e(`CREATE TABLE${h(n)}(${h(t)} PRIMARY KEY ON CONFLICT REPLACE${p(m(s,(e=>l+h(e))))});`),H(o,n,$([[t,""],...m(s,(e=>[e,""]))]));if(d)u(r)?yield e("DELETE FROM"+h(n)+"WHERE 1"):yield v(S(r,((l,o)=>Q(void 0,null,(function*(){u(l)?yield e("DELETE FROM"+h(n)+ee+h(t)+"=?",[o]):A(s)||(yield le(e,n,t,g(l),[o,...I(l)]))})))));else if(A(s))L(o,n)&&(yield e("DELETE FROM"+h(n)+"WHERE 1"));else{const l=O(_(j(o,n)),(e=>e!=t)),i=[],u=[];S(null!=r?r:{},((e,n)=>{T(i,n,...m(l,(n=>null==e?void 0:e[n]))),T(u,n)})),yield le(e,n,t,l,i),yield e("DELETE FROM"+h(n)+ee+h(t)+"NOT IN("+te(u)+")",u)}})),n=>Q(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==t||t(e)}return yield e("END"),l}))]},le=(e,n,t,r,i)=>Q(void 0,null,(function*(){return yield e("INSERT INTO"+h(n)+"("+h(t)+p(m(r,(e=>l+h(e))))+")VALUES"+c(o(`,(?${o(",?",s(r))})`,s(i)/(s(r)+1)),1)+"ON CONFLICT("+h(t)+")DO UPDATE SET"+p(m(r,(e=>h(e)+"=excluded."+h(e))),l),i)})),te=e=>p(m(e,(()=>"?")),l),oe=JSON.parse;var re=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ie=$(),ue=$(),ae=(e,n,l,t,o,r,[i,d]=[],c=[])=>{let s,v,y,f=0,h=0;W(ie,c,(()=>0)),W(ue,c,(()=>[]));const E=e=>re(void 0,null,(function*(){return 2!=f&&(f=1,yield p.schedule((()=>re(void 0,null,(function*(){yield e(),f=0}))))),p})),p={load:(l,t)=>re(void 0,null,(function*(){return yield E((()=>re(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([l,t])}}))))})),startAutoLoad:(...l)=>re(void 0,[...l],(function*(l={},o={}){return p.stopAutoLoad(),yield p.load(l,o),h=1,y=t(((l,t)=>re(void 0,null,(function*(){if(t){const n=t();yield E((()=>re(void 0,null,(function*(){return e.setTransactionChanges(n)}))))}else yield E((()=>re(void 0,null,(function*(){var t;try{e.setContent(null!=(t=null==l?void 0:l())?t:yield n())}catch(e){null==r||r(e)}}))))})))),p})),stopAutoLoad:()=>(h&&(o(y),y=void 0,h=0),p),save:n=>re(void 0,null,(function*(){return 1!=f&&(f=2,yield p.schedule((()=>re(void 0,null,(function*(){try{yield l(e.getContent,n)}catch(e){null==r||r(e)}f=0}))))),p})),startAutoSave:()=>re(void 0,null,(function*(){return yield p.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,n)=>{const[l,t]=n();M(l)&&M(t)||p.save((()=>[l,t]))})),p})),stopAutoSave:()=>(a(s,e.delListener),s=void 0,p),schedule:(...e)=>re(void 0,null,(function*(){return T(j(ue,c),...e),yield re(void 0,null,(function*(){if(!j(ie,c)){for(H(ie,c,1);!u((e=j(ue,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}H(ie,c,0)}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i&&(p[i]=()=>d),x(p)};var de=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ce="store",se=(e,n,l,t,o,[r],i,u,a)=>{const[d,c,s,v]=ne(n,i,o);return ae(e,(()=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var e,n;return yield d(),oe(null!=(n=null==(e=(yield c(r,f))[y])?void 0:e[ce])?n:"null")}))))}))),(e=>de(void 0,null,(function*(){return yield v((()=>de(void 0,null,(function*(){var n,l;yield d(),yield s(r,f,{[y]:{[ce]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?w.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,[a,u],u)};var ve=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ye=(e,n,l,t,o,[r,i,[a,d,c]],s,h,E)=>{const[p,m,A,T]=ne(n,s,o),L=(e,n)=>ve(void 0,null,(function*(){return yield v(B(i,((l,t)=>ve(void 0,[l,t],(function*([l,t,o,r],i){const u=e[i];n&&void 0===u||(yield A(l,t,u,o,r,n))})))))})),P=(e,n)=>ve(void 0,null,(function*(){return d?yield A(c,f,{[y]:e},!0,!0,n):null}));return ae(e,(()=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){yield p();const e=yield ve(void 0,null,(function*(){return C(O(yield v(B(r,((e,n)=>ve(void 0,[e,n],(function*([e,n],l){return[e,yield m(l,n)]}))))),(e=>!M(e[1]))))})),n=yield ve(void 0,null,(function*(){return a?(yield m(c,f))[y]:{}}));return M(e)&&u(n)?void 0:[e,n]}))))}))),((e,n)=>ve(void 0,null,(function*(){return yield T((()=>ve(void 0,null,(function*(){if(yield p(),u(n)){const[n,l]=e();yield L(n),yield P(l)}else{const[e,l]=n();yield L(e,!0),yield P(l,!0)}}))))}))),l,t,o,[E,h],h)},fe="json",he="autoLoadIntervalSeconds",Ee="rowIdColumnName",pe="tableId",me="tableName",Ae={mode:fe,[he]:1},Oe={load:0,save:0,[me]:n+"_values"},Te=(e,n,l,t)=>{const o=$();return S(e,((e,r)=>{const i=c(I(D(n,d(e)?{[l]:e}:e)),0,F(n));u(i[0])||t(r,i[0])||H(o,r,i)})),o};var Le=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Pe="pragma ",be="data_version",we="schema_version",Ne=(e,l,t,o,r,u,a,s,v="getDb")=>{let y,h,p;const[m,A,O,T]=(e=>{const l=(e=>D(Ae,d(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[he];if(l.mode==fe){const{storeTableName:e=n}=l;return[1,t,[e],k(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=c(I(D(Oe,i)),0,F(Oe)),a=u[2],s=k(a);return[0,t,[Te(o,{[pe]:null,[Ee]:f},pe,(e=>G(s,e)&&e==a)),Te(r,{[me]:null,[Ee]:f,deleteEmptyColumns:0,deleteEmptyTable:0},me,((e,n)=>G(s,n)&&n==a)),u],s]})(l);return(m?se:ye)(e,u?(e,n)=>Le(void 0,null,(function*(){return u(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Le(void 0,null,(function*(){try{const n=(yield t(Pe+be))[0][be],l=(yield t(Pe+we))[0][we],o=(yield t(E+" TOTAL_CHANGES() c"))[0].c;n==(null!=y?y:y=n)&&l==(null!=h?h:h=l)&&o==(null!=p?p:p=o)||(e(),y=n,h=l)}catch(e){}})),l=A,n(),setInterval(n,1e3*l)),o((n=>T.has(n)?e():0))];var n,l}),(([e,n])=>{i(e),y=h=null,r(n)}),a,O,P(T),s,v)},Re=(e,n,l,t,o)=>Ne(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Re as createExpoSqlitePersister};
1
+ const e=e=>typeof e,n="tinybase",l="",t=",",o=e(l),r=(e,n)=>e.repeat(n),i=Promise,u=clearInterval,a=e=>null==e,d=(e,n,l)=>a(e)?null==l?void 0:l():n(e),c=n=>e(n)==o,s=e=>Array.isArray(e),v=(e,n,l)=>e.slice(n,l),y=e=>e.length,f=e=>{return n=function*(){return i.all(e)},new Promise(((e,l)=>{var t=e=>{try{r(n.next(e))}catch(e){l(e)}},o=e=>{try{r(n.throw(e))}catch(e){l(e)}},r=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);r((n=n.apply(void 0,null)).next())}));var n},p="_",h="_id",m=e=>`"${e.replace(/"/g,'""')}"`,b="SELECT",E=(e,n="")=>e.join(n),g=(e,n)=>e.map(n),O=e=>0==y(e),P=(e,n)=>e.filter(n),A=(e,...n)=>e.push(...n),w=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},C=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},N=(e,n)=>null==e?void 0:e.delete(n),T=Object,L=e=>T.getPrototypeOf(e),S=T.entries,R=T.keys,x=T.freeze,D=(e=[])=>T.fromEntries(e),I=(...e)=>T.assign({},...e),j=(e,n)=>n in e,M=(e,n)=>g(S(e),(([e,l])=>n(l,e))),_=e=>T.values(e),F=e=>y(R(e)),B=e=>(e=>!a(e)&&d(L(e),(e=>e==T.prototype||a(L(e))),(()=>!0)))(e)&&0==F(e),H=e=>new Map(e),Y=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},$=(e,n)=>null==e?void 0:e.get(n),k=(e,n)=>{var l;return g([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>n(l,e)))},G=(e,n,l)=>a(l)?(N(e,n),e):null==e?void 0:e.set(n,l),J=(e,n,l,t)=>(w(e,n)?null==t||t($(e,n)):G(e,n,l()),$(e,n)),U=(e,n,l,t=G)=>(M(n,((n,t)=>l(e,t,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,l)=>n(l)))})(e,(l=>j(n,l)?0:t(e,l))),e),W=e=>new Set(s(e)||a(e)?e:[e]),q=(e,n)=>null==e?void 0:e.add(n);var z=Object.defineProperty,K=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,X=(e,n,l)=>n in e?z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,Z=(e,n)=>{for(var l in n||(n={}))V.call(n,l)&&X(e,l,n[l]);if(K)for(var l of K(n))Q.call(n,l)&&X(e,l,n[l]);return e},ee=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const ne="TABLE",le="ALTER "+ne,te="DELETE FROM",oe=b+"*FROM",re="FROM pragma_table_",ie="WHERE",ue=(e,n,o,r)=>{const i=H();return[()=>ee(void 0,null,(function*(){return U(i,D(yield f(g(yield e("SELECT name "+re+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+de(n)+")ORDER BY name",n),(n=>ee(void 0,[n],(function*({name:n}){return[n,D(g(yield e(b+" name,type "+re+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,l)=>G(i,n,U(J(i,n,H),l,((e,n,l)=>{l!=$(e,n)&&G(e,n,l)}),((e,n)=>G(e,n))))),((e,n)=>G(i,n)))})),(n,l)=>ee(void 0,null,(function*(){return((e,n)=>!a($($(i,e),n)))(n,l)?D(P(g(yield e(oe+m(n)),(e=>{return[e[l],(n=Z({},e),t=l,delete n[t],n)];var n,t})),(([e,n])=>!a(e)&&!B(n)))):{}})),(n,o,u,d,c,s=!1)=>ee(void 0,null,(function*(){const v=W();M(null!=u?u:{},(e=>g(R(null!=e?e:{}),(e=>q(v,e)))));const y=C(v);if(!s&&c&&O(y)&&w(i,n))return yield e("DROP "+ne+m(n)),void G(i,n);if(O(y)||w(i,n)){const t=$(i,n),r=W(Y(t));yield f([...g(y,(o=>ee(void 0,null,(function*(){N(r,o)||(yield e(le+m(n)+"ADD"+m(o)),G(t,o,l))})))),...!s&&d?g(C(r),(l=>ee(void 0,null,(function*(){l!=o&&(yield e(le+m(n)+"DROP"+m(l)),G(t,l))})))):[]])}else yield e("CREATE "+ne+m(n)+"("+m(o)+` PRIMARY KEY ON CONFLICT REPLACE${E(g(y,(e=>t+m(e))))});`),G(i,n,H([[o,l],...g(y,(e=>[e,l]))]));if(s)a(u)?yield e(te+m(n)+ie+" 1"):yield f(M(u,((l,t)=>ee(void 0,null,(function*(){a(l)?yield e(te+m(n)+ie+m(o)+"=?",[t]):O(y)||(yield ae(e,n,o,R(l),[t,..._(l)],r))})))));else if(O(y))w(i,n)&&(yield e(te+m(n)+ie+" 1"));else{const l=P(Y($(i,n)),(e=>e!=o)),t=[],a=[];M(null!=u?u:{},((e,n)=>{A(t,n,...g(l,(n=>null==e?void 0:e[n]))),A(a,n)})),yield ae(e,n,o,l,t,r),yield e(te+m(n)+ie+m(o)+"NOT IN("+de(a)+")",a)}})),n=>ee(void 0,null,(function*(){let l;yield e("BEGIN");try{l=yield n()}catch(e){null==o||o(e)}return yield e("END"),l}))]},ae=(e,n,o,i,u,a=!0)=>ee(void 0,null,(function*(){return yield e("INSERT "+(a?l:"OR REPLACE ")+"INTO"+m(n)+"("+m(o)+E(g(i,(e=>t+m(e))))+")VALUES"+v(r(`,(?${r(",?",y(i))})`,y(u)/(y(i)+1)),1)+(a?"ON CONFLICT("+m(o)+")DO UPDATE SET"+E(g(i,(e=>m(e)+"=excluded."+m(e))),t):l),g(u,(e=>null!=e?e:null)))})),de=e=>E(g(e,(()=>"?")),t),ce=JSON.parse;var se=Object.defineProperty,ve=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,n,l)=>n in e?se(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,he=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const me=H(),be=H(),Ee=(e,n,l,t,o,r,i,u={},c=[])=>{let v,y,f,p=0;J(me,c,(()=>0)),J(be,c,(()=>[]));const[h,m,b,E,g]=((e,n)=>!e||a(n.getMergeableContent)?[0,n.getContent,n.getTransactionChanges,([e,n])=>!B(e)||!B(n),n.setContent]:[1,n.getMergeableContent,n.getTransactionMergeableChanges,([[e],[n]])=>!B(e)||!B(n),n.setDefaultContent])(i,e),O=e=>he(void 0,null,(function*(){return 2!=p&&(p=1,yield w.schedule((()=>he(void 0,null,(function*(){yield e(),p=0}))))),w})),P=n=>{(h&&s(null==n?void 0:n[0])?1===(null==n?void 0:n[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==n?void 0:n[2])?e.applyChanges:e.setContent)(n)},w=((e,n)=>{for(var l in n||(n={}))ye.call(n,l)&&pe(e,l,n[l]);if(ve)for(var l of ve(n))fe.call(n,l)&&pe(e,l,n[l]);return e})({load:e=>he(void 0,null,(function*(){return yield O((()=>he(void 0,null,(function*(){try{P(yield n())}catch(n){null==r||r(n),e&&g(e)}}))))})),startAutoLoad:e=>he(void 0,null,(function*(){return yield w.stopAutoLoad().load(e),y=t(((e,l)=>he(void 0,null,(function*(){const t=null==l?void 0:l();yield O((()=>he(void 0,null,(function*(){var l;try{P(null!=(l=null!=t?t:null==e?void 0:e())?l:yield n())}catch(e){null==r||r(e)}}))))})))),w})),stopAutoLoad:()=>(y&&(o(y),y=void 0),w),isAutoLoading:()=>!a(y),save:e=>he(void 0,null,(function*(){return 1!=p&&(p=2,yield w.schedule((()=>he(void 0,null,(function*(){try{yield l(m,e)}catch(e){null==r||r(e)}p=0}))))),w})),startAutoSave:()=>he(void 0,null,(function*(){return yield w.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=b();E(e)&&w.save((()=>e))})),w})),stopAutoSave:()=>(d(f,e.delListener),f=void 0,w),isAutoSaving:()=>!a(f),schedule:(...e)=>he(void 0,null,(function*(){return A($(be,c),...e),yield he(void 0,null,(function*(){if(!$(me,c)){for(G(me,c,1);!a((e=$(be,c),v=e.shift()));)try{yield v()}catch(e){null==r||r(e)}G(me,c,0)}var e})),w})),getStore:()=>e,destroy:()=>w.stopAutoLoad().stopAutoSave(),getStats:()=>({})},u);return x(w)};var ge=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const Oe="store",Pe=(e,n,l,t,o,[r],i,u,a,d)=>{const[c,s,v,y]=ue(n,i,o,d);return Ee(e,(()=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var e,n;return yield c(),ce(null!=(n=null==(e=(yield s(r,h))[p])?void 0:e[Oe])?n:"null")}))))}))),(e=>ge(void 0,null,(function*(){return yield y((()=>ge(void 0,null,(function*(){var n,l;yield c(),yield v(r,h,{[p]:{[Oe]:(l=null!=(n=e())?n:null,JSON.stringify(l,((e,n)=>n instanceof Map?T.fromEntries([...n]):n)))}},!0,!0)}))))}))),l,t,o,!1,{[a]:()=>u},u)};var Ae=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const we=(e,n,l,t,o,[r,i,[u,d,c]],s,v,y,m)=>{const[b,E,g,O]=ue(n,s,o,m),A=(e,n)=>Ae(void 0,null,(function*(){return yield f(k(i,((l,t)=>Ae(void 0,[l,t],(function*([l,t,o,r],i){n&&!j(e,i)||(yield g(l,t,e[i],o,r,n))})))))})),w=(e,n)=>Ae(void 0,null,(function*(){return d?yield g(c,h,{[p]:e},!0,!0,n):null}));return Ee(e,(()=>Ae(void 0,null,(function*(){return yield O((()=>Ae(void 0,null,(function*(){yield b();const e=yield Ae(void 0,null,(function*(){return D(P(yield f(k(r,((e,n)=>Ae(void 0,[e,n],(function*([e,n],l){return[e,yield E(l,n)]}))))),(e=>!B(e[1]))))})),n=yield Ae(void 0,null,(function*(){return u?(yield E(c,h))[p]:{}}));return B(e)&&a(n)?void 0:[e,n]}))))}))),((e,n)=>Ae(void 0,null,(function*(){return yield O((()=>Ae(void 0,null,(function*(){if(yield b(),a(n)){const[n,l]=e();yield A(n),yield w(l)}else{const[e,l]=n();yield A(e,!0),yield w(l,!0)}}))))}))),l,t,o,!1,{[y]:()=>v},v)},Ce="json",Ne="autoLoadIntervalSeconds",Te="rowIdColumnName",Le="tableId",Se="tableName",Re={mode:Ce,[Ne]:1},xe={load:0,save:0,[Se]:n+"_values"},De=(e,n,l,t)=>{const o=H();return M(e,((e,r)=>{const i=v(_(I(n,c(e)?{[l]:e}:e)),0,F(n));a(i[0])||t(r,i[0])||G(o,r,i)})),o};var Ie=(e,n,l)=>new Promise(((t,o)=>{var r=e=>{try{u(l.next(e))}catch(e){o(e)}},i=e=>{try{u(l.throw(e))}catch(e){o(e)}},u=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,i);u((l=l.apply(e,n)).next())}));const je="pragma ",Me="data_version",_e="schema_version",Fe=(e,l,t,o,r,i,a,d,s="getDb",y)=>{let f,p,m;const[E,g,O,P]=(e=>{const l=(e=>I(Re,c(e)?{storeTableName:e}:null!=e?e:{}))(e),t=l[Ne];if(l.mode==Ce){const{storeTableName:e=n}=l;return[1,t,[e],W(e)]}const{tables:{load:o={},save:r={}}={},values:i={}}=l,u=v(_(I(xe,i)),0,F(xe)),a=u[2],d=W(a);return[0,t,[De(o,{[Le]:null,[Te]:h},Le,(e=>q(d,e)&&e==a)),De(r,{[Se]:null,[Te]:h,deleteEmptyColumns:0,deleteEmptyTable:0},Se,((e,n)=>q(d,n)&&n==a)),u],d]})(l);return(E?Pe:we)(e,i?(e,n)=>Ie(void 0,null,(function*(){return i(e,n),yield t(e,n)})):t,(e=>{return[(n=()=>Ie(void 0,null,(function*(){try{const n=(yield t(je+Me))[0][Me],l=(yield t(je+_e))[0][_e],o=(yield t(b+" TOTAL_CHANGES() c"))[0].c;n==(null!=f?f:f=n)&&l==(null!=p?p:p=l)&&o==(null!=m?m:m=o)||(e(),f=n,p=l)}catch(e){}})),l=g,n(),setInterval(n,1e3*l)),o((n=>P.has(n)?e():0))];var n,l}),(([e,n])=>{u(e),f=p=null,r(n)}),a,O,C(P),d,s,y)},Be=(e,n,l,t,o)=>Fe(e,l,((e,...l)=>{return t=[e,...l],o=function*(e,l=[]){return(yield n.execAsync([{sql:e,args:l}],!1))[0].rows},new Promise(((e,n)=>{var l=e=>{try{i(o.next(e))}catch(e){n(e)}},r=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);i((o=o.apply(void 0,t)).next())}));var t,o}),(e=>n.onDatabaseChange((({tableName:n})=>e(n)))),(e=>e.remove()),t,o,n);export{Be as createExpoSqlitePersister};
@@ -1 +1 @@
1
- import{watch as t}from"fs";import{readFile as e,writeFile as n}from"fs/promises";const o="utf8",l=t=>null==t,i=(t,e,n)=>l(t)?null==n?void 0:n():e(t),r=Object,u=t=>r.getPrototypeOf(t),d=r.keys,s=r.freeze,a=t=>(t=>!l(t)&&i(u(t),(t=>t==r.prototype||l(u(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),c=JSON.parse,v=t=>new Map(t),y=(t,e)=>null==t?void 0:t.get(e),f=(t,e,n)=>{return l(n)?(i=e,null==(o=t)||o.delete(i),t):null==t?void 0:t.set(e,n);var o,i},h=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||f(t,e,n()),y(t,e)};var p=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())}));const m=v(),g=v();var A=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{u(n.next(t))}catch(t){l(t)}},r=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,r);u((n=n.apply(t,e)).next())}));const S=(u,d,v)=>((t,e,n,o,r,u,[d,c]=[],v=[])=>{let A,S,L,P=0,w=0;h(m,v,(()=>0)),h(g,v,(()=>[]));const x=t=>p(void 0,null,(function*(){return 2!=P&&(P=1,yield C.schedule((()=>p(void 0,null,(function*(){yield t(),P=0}))))),C})),C={load:(n,o)=>p(void 0,null,(function*(){return yield x((()=>p(void 0,null,(function*(){try{t.setContent(yield e())}catch(e){t.setContent([n,o])}}))))})),startAutoLoad:(...n)=>p(void 0,[...n],(function*(n={},l={}){return C.stopAutoLoad(),yield C.load(n,l),w=1,L=o(((n,o)=>p(void 0,null,(function*(){if(o){const e=o();yield x((()=>p(void 0,null,(function*(){return t.setTransactionChanges(e)}))))}else yield x((()=>p(void 0,null,(function*(){var o;try{t.setContent(null!=(o=null==n?void 0:n())?o:yield e())}catch(t){null==u||u(t)}}))))})))),C})),stopAutoLoad:()=>(w&&(r(L),L=void 0,w=0),C),save:e=>p(void 0,null,(function*(){return 1!=P&&(P=2,yield C.schedule((()=>p(void 0,null,(function*(){try{yield n(t.getContent,e)}catch(t){null==u||u(t)}P=0}))))),C})),startAutoSave:()=>p(void 0,null,(function*(){return yield C.stopAutoSave().save(),A=t.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();a(n)&&a(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>(i(A,t.delListener),A=void 0,C),schedule:(...t)=>p(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(y(g,v),...t),yield p(void 0,null,(function*(){if(!y(m,v)){for(f(m,v,1);!l((t=y(g,v),S=t.shift()));)try{yield S()}catch(t){null==u||u(t)}f(m,v,0)}var t})),C})),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(C[d]=()=>c),s(C)})(u,(()=>A(void 0,null,(function*(){return c(yield e(d,o))}))),(t=>A(void 0,null,(function*(){return yield n(d,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e))),o);var e}))),(e=>t(d,(()=>e()))),(t=>null==t?void 0:t.close()),v,["getFilePath",d]);export{S as createFilePersister};
1
+ import{watch as e}from"fs";import{readFile as t,writeFile as n}from"fs/promises";const l="utf8",o=e=>null==e,r=(e,t,n)=>o(e)?null==n?void 0:n():t(e),i=Object,u=e=>i.getPrototypeOf(e),a=i.keys,d=i.freeze,s=e=>(e=>!o(e)&&r(u(e),(e=>e==i.prototype||o(u(e))),(()=>!0)))(e)&&0==(e=>a(e).length)(e),v=e=>new Map(e),c=(e,t)=>null==e?void 0:e.get(t),y=(e,t,n)=>{return o(n)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,n);var l,r},p=(e,t,n,l)=>{var o,r,i;return r=t,null!=(i=null==(o=e)?void 0:o.has(r))&&i?null==l||l(c(e,t)):y(e,t,n()),c(e,t)};var f=Object.defineProperty,h=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,m=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const C=v(),O=v();var S=(e,t,n)=>new Promise(((l,o)=>{var r=e=>{try{u(n.next(e))}catch(e){o(e)}},i=e=>{try{u(n.throw(e))}catch(e){o(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const P=(i,u,a)=>((e,t,n,l,i,u,a,v={},f=[])=>{let S,P,w,L=0;p(C,f,(()=>0)),p(O,f,(()=>[]));const[M,j,x,T,D]=((e,t)=>!e||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!s(e)||!s(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!s(e)||!s(t),t.setDefaultContent])(a,e),F=e=>A(void 0,null,(function*(){return 2!=L&&(L=1,yield N.schedule((()=>A(void 0,null,(function*(){yield e(),L=0}))))),N})),J=t=>{var n;(M&&(n=null==t?void 0:t[0],Array.isArray(n))?1===(null==t?void 0:t[2])?e.applyMergeableChanges:e.setMergeableContent:1===(null==t?void 0:t[2])?e.applyChanges:e.setContent)(t)},N=((e,t)=>{for(var n in t||(t={}))g.call(t,n)&&m(e,n,t[n]);if(h)for(var n of h(t))b.call(t,n)&&m(e,n,t[n]);return e})({load:e=>A(void 0,null,(function*(){return yield F((()=>A(void 0,null,(function*(){try{J(yield t())}catch(t){null==u||u(t),e&&D(e)}}))))})),startAutoLoad:e=>A(void 0,null,(function*(){return yield N.stopAutoLoad().load(e),P=l(((e,n)=>A(void 0,null,(function*(){const l=null==n?void 0:n();yield F((()=>A(void 0,null,(function*(){var n;try{J(null!=(n=null!=l?l:null==e?void 0:e())?n:yield t())}catch(e){null==u||u(e)}}))))})))),N})),stopAutoLoad:()=>(P&&(i(P),P=void 0),N),isAutoLoading:()=>!o(P),save:e=>A(void 0,null,(function*(){return 1!=L&&(L=2,yield N.schedule((()=>A(void 0,null,(function*(){try{yield n(j,e)}catch(e){null==u||u(e)}L=0}))))),N})),startAutoSave:()=>A(void 0,null,(function*(){return yield N.stopAutoSave().save(),w=e.addDidFinishTransactionListener((()=>{const e=x();T(e)&&N.save((()=>e))})),N})),stopAutoSave:()=>(r(w,e.delListener),w=void 0,N),isAutoSaving:()=>!o(w),schedule:(...e)=>A(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(c(O,f),...e),yield A(void 0,null,(function*(){if(!c(C,f)){for(y(C,f,1);!o((e=c(O,f),S=e.shift()));)try{yield S()}catch(e){null==u||u(e)}y(C,f,0)}var e})),N})),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})},v);return d(N)})(i,(()=>S(void 0,null,(function*(){return e=yield t(u,l),JSON.parse(e,((e,t)=>""===t?void 0:t));var e}))),(e=>S(void 0,null,(function*(){return yield n(u,(t=e(),JSON.stringify(t,((e,t)=>void 0===t?"":t))),l);var t}))),(t=>e(u,(()=>t()))),(e=>null==e?void 0:e.close()),a,!0,{getFilePath:()=>u});export{P as createFilePersister};