tinybase 5.0.0-beta.0 → 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 (493) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/mergeable-store.cjs +1 -0
  9. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  10. package/lib/cjs/metrics.cjs +1 -1
  11. package/lib/cjs/metrics.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  13. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  15. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  17. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  19. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  21. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  23. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-file.cjs +1 -1
  25. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  27. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  29. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  30. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  31. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  32. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  33. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  34. package/lib/cjs/persisters/persister-powersync.cjs +1 -0
  35. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  36. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  37. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  38. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  39. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  40. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  41. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  42. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  43. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  44. package/lib/cjs/persisters.cjs +1 -1
  45. package/lib/cjs/persisters.cjs.gz +0 -0
  46. package/lib/cjs/queries.cjs +1 -1
  47. package/lib/cjs/queries.cjs.gz +0 -0
  48. package/lib/cjs/relationships.cjs +1 -1
  49. package/lib/cjs/relationships.cjs.gz +0 -0
  50. package/lib/cjs/store.cjs +1 -1
  51. package/lib/cjs/store.cjs.gz +0 -0
  52. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -0
  53. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  54. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -0
  55. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  56. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -0
  57. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  58. package/lib/cjs/synchronizers.cjs +1 -0
  59. package/lib/cjs/synchronizers.cjs.gz +0 -0
  60. package/lib/cjs/tinybase.cjs +1 -1
  61. package/lib/cjs/tinybase.cjs.gz +0 -0
  62. package/lib/cjs/tools.cjs +1 -1
  63. package/lib/cjs/tools.cjs.gz +0 -0
  64. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  65. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  66. package/lib/cjs/ui-react-dom.cjs +1 -1
  67. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  68. package/lib/cjs/ui-react.cjs +1 -1
  69. package/lib/cjs/ui-react.cjs.gz +0 -0
  70. package/lib/cjs-es6/checkpoints.cjs +1 -1
  71. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  72. package/lib/cjs-es6/indexes.cjs +1 -1
  73. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  74. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  75. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  76. package/lib/cjs-es6/metrics.cjs +1 -1
  77. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  78. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  79. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  80. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  81. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  82. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  83. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  84. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  85. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  86. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  87. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  88. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  89. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  90. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  91. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  92. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  93. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  94. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  95. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  96. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  97. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  98. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  99. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  100. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -0
  101. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  102. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  103. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  104. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  105. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  106. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  107. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  108. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  109. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  110. package/lib/cjs-es6/persisters.cjs +1 -1
  111. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  112. package/lib/cjs-es6/queries.cjs +1 -1
  113. package/lib/cjs-es6/queries.cjs.gz +0 -0
  114. package/lib/cjs-es6/relationships.cjs +1 -1
  115. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  116. package/lib/cjs-es6/store.cjs +1 -1
  117. package/lib/cjs-es6/store.cjs.gz +0 -0
  118. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -0
  119. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  120. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -0
  121. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  122. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -0
  123. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  124. package/lib/cjs-es6/synchronizers.cjs +1 -0
  125. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  126. package/lib/cjs-es6/tinybase.cjs +1 -1
  127. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  128. package/lib/cjs-es6/tools.cjs +1 -1
  129. package/lib/cjs-es6/tools.cjs.gz +0 -0
  130. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  131. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  132. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  133. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  134. package/lib/cjs-es6/ui-react.cjs +1 -1
  135. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  136. package/lib/debug/checkpoints.js +254 -235
  137. package/lib/debug/indexes.js +10 -6
  138. package/lib/debug/mergeable-store.js +2230 -0
  139. package/lib/debug/metrics.js +10 -6
  140. package/lib/debug/persisters/persister-automerge.js +113 -87
  141. package/lib/debug/persisters/persister-browser.js +95 -57
  142. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +175 -109
  143. package/lib/debug/persisters/persister-electric-sql.js +176 -109
  144. package/lib/debug/persisters/persister-expo-sqlite-next.js +176 -110
  145. package/lib/debug/persisters/persister-expo-sqlite.js +175 -109
  146. package/lib/debug/persisters/persister-file.js +94 -57
  147. package/lib/debug/persisters/persister-indexed-db.js +94 -57
  148. package/lib/debug/persisters/persister-libsql.js +913 -0
  149. package/lib/debug/persisters/persister-partykit-client.js +90 -59
  150. package/lib/debug/persisters/persister-partykit-server.js +19 -26
  151. package/lib/debug/persisters/persister-powersync.js +928 -0
  152. package/lib/debug/persisters/persister-remote.js +86 -53
  153. package/lib/debug/persisters/persister-sqlite-wasm.js +175 -109
  154. package/lib/debug/persisters/persister-sqlite3.js +175 -109
  155. package/lib/debug/persisters/persister-yjs.js +111 -84
  156. package/lib/debug/persisters.js +82 -50
  157. package/lib/debug/queries.js +18 -12
  158. package/lib/debug/relationships.js +10 -6
  159. package/lib/debug/store.js +150 -127
  160. package/lib/debug/synchronizers/synchronizer-local.js +559 -0
  161. package/lib/debug/synchronizers/synchronizer-ws-client.js +586 -0
  162. package/lib/debug/synchronizers/synchronizer-ws-server.js +96 -0
  163. package/lib/debug/synchronizers.js +519 -0
  164. package/lib/debug/tinybase.js +1281 -409
  165. package/lib/debug/tools.js +41 -64
  166. package/lib/debug/ui-react-dom.js +277 -213
  167. package/lib/debug/ui-react.js +213 -198
  168. package/lib/es6/checkpoints.js +1 -1
  169. package/lib/es6/checkpoints.js.gz +0 -0
  170. package/lib/es6/indexes.js +1 -1
  171. package/lib/es6/indexes.js.gz +0 -0
  172. package/lib/es6/mergeable-store.js +1 -0
  173. package/lib/es6/mergeable-store.js.gz +0 -0
  174. package/lib/es6/metrics.js +1 -1
  175. package/lib/es6/metrics.js.gz +0 -0
  176. package/lib/es6/persisters/persister-automerge.js +1 -1
  177. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  178. package/lib/es6/persisters/persister-browser.js +1 -1
  179. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  180. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  181. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  182. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  183. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  184. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  185. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  186. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  187. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  188. package/lib/es6/persisters/persister-file.js +1 -1
  189. package/lib/es6/persisters/persister-file.js.gz +0 -0
  190. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  191. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  192. package/lib/es6/persisters/persister-libsql.js +1 -0
  193. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  194. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  195. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  196. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  197. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  198. package/lib/es6/persisters/persister-powersync.js +1 -0
  199. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  200. package/lib/es6/persisters/persister-remote.js +1 -1
  201. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  202. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  203. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  204. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  205. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  206. package/lib/es6/persisters/persister-yjs.js +1 -1
  207. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  208. package/lib/es6/persisters.js +1 -1
  209. package/lib/es6/persisters.js.gz +0 -0
  210. package/lib/es6/queries.js +1 -1
  211. package/lib/es6/queries.js.gz +0 -0
  212. package/lib/es6/relationships.js +1 -1
  213. package/lib/es6/relationships.js.gz +0 -0
  214. package/lib/es6/store.js +1 -1
  215. package/lib/es6/store.js.gz +0 -0
  216. package/lib/es6/synchronizers/synchronizer-local.js +1 -0
  217. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  218. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -0
  219. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  220. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -0
  221. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  222. package/lib/es6/synchronizers.js +1 -0
  223. package/lib/es6/synchronizers.js.gz +0 -0
  224. package/lib/es6/tinybase.js +1 -1
  225. package/lib/es6/tinybase.js.gz +0 -0
  226. package/lib/es6/tools.js +1 -1
  227. package/lib/es6/tools.js.gz +0 -0
  228. package/lib/es6/ui-react-dom-debug.js +1 -1
  229. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  230. package/lib/es6/ui-react-dom.js +1 -1
  231. package/lib/es6/ui-react-dom.js.gz +0 -0
  232. package/lib/es6/ui-react.js +1 -1
  233. package/lib/es6/ui-react.js.gz +0 -0
  234. package/lib/indexes.js +1 -1
  235. package/lib/indexes.js.gz +0 -0
  236. package/lib/mergeable-store.js +1 -0
  237. package/lib/mergeable-store.js.gz +0 -0
  238. package/lib/metrics.js +1 -1
  239. package/lib/metrics.js.gz +0 -0
  240. package/lib/persisters/persister-automerge.js +1 -1
  241. package/lib/persisters/persister-automerge.js.gz +0 -0
  242. package/lib/persisters/persister-browser.js +1 -1
  243. package/lib/persisters/persister-browser.js.gz +0 -0
  244. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  245. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  246. package/lib/persisters/persister-electric-sql.js +1 -1
  247. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  248. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  249. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  250. package/lib/persisters/persister-expo-sqlite.js +1 -1
  251. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  252. package/lib/persisters/persister-file.js +1 -1
  253. package/lib/persisters/persister-file.js.gz +0 -0
  254. package/lib/persisters/persister-indexed-db.js +1 -1
  255. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  256. package/lib/persisters/persister-libsql.js +1 -0
  257. package/lib/persisters/persister-libsql.js.gz +0 -0
  258. package/lib/persisters/persister-partykit-client.js +1 -1
  259. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  260. package/lib/persisters/persister-partykit-server.js +1 -1
  261. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  262. package/lib/persisters/persister-powersync.js +1 -0
  263. package/lib/persisters/persister-powersync.js.gz +0 -0
  264. package/lib/persisters/persister-remote.js +1 -1
  265. package/lib/persisters/persister-remote.js.gz +0 -0
  266. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  267. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  268. package/lib/persisters/persister-sqlite3.js +1 -1
  269. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  270. package/lib/persisters/persister-yjs.js +1 -1
  271. package/lib/persisters/persister-yjs.js.gz +0 -0
  272. package/lib/persisters.js +1 -1
  273. package/lib/persisters.js.gz +0 -0
  274. package/lib/queries.js +1 -1
  275. package/lib/queries.js.gz +0 -0
  276. package/lib/relationships.js +1 -1
  277. package/lib/relationships.js.gz +0 -0
  278. package/lib/store.js +1 -1
  279. package/lib/store.js.gz +0 -0
  280. package/lib/synchronizers/synchronizer-local.js +1 -0
  281. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  282. package/lib/synchronizers/synchronizer-ws-client.js +1 -0
  283. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  284. package/lib/synchronizers/synchronizer-ws-server.js +1 -0
  285. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  286. package/lib/synchronizers.js +1 -0
  287. package/lib/synchronizers.js.gz +0 -0
  288. package/lib/tinybase.js +1 -1
  289. package/lib/tinybase.js.gz +0 -0
  290. package/lib/tools.js +1 -1
  291. package/lib/tools.js.gz +0 -0
  292. package/lib/types/checkpoints.d.ts +2 -2
  293. package/lib/types/indexes.d.ts +2 -2
  294. package/lib/types/mergeable-store.d.ts +214 -0
  295. package/lib/types/metrics.d.ts +2 -2
  296. package/lib/types/persisters/persister-automerge.d.ts +11 -7
  297. package/lib/types/persisters/persister-browser.d.ts +13 -4
  298. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +4 -0
  299. package/lib/types/persisters/persister-electric-sql.d.ts +4 -0
  300. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +7 -3
  301. package/lib/types/persisters/persister-expo-sqlite.d.ts +4 -0
  302. package/lib/types/persisters/persister-file.d.ts +7 -2
  303. package/lib/types/persisters/persister-indexed-db.d.ts +4 -0
  304. package/lib/types/persisters/persister-libsql.d.ts +142 -0
  305. package/lib/types/persisters/persister-partykit-client.d.ts +4 -0
  306. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  307. package/lib/types/persisters/persister-powersync.d.ts +157 -0
  308. package/lib/types/persisters/persister-remote.d.ts +4 -0
  309. package/lib/types/persisters/persister-sqlite-wasm.d.ts +4 -0
  310. package/lib/types/persisters/persister-sqlite3.d.ts +4 -0
  311. package/lib/types/persisters/persister-yjs.d.ts +6 -2
  312. package/lib/types/persisters.d.ts +125 -48
  313. package/lib/types/queries.d.ts +2 -2
  314. package/lib/types/relationships.d.ts +2 -2
  315. package/lib/types/store.d.ts +275 -187
  316. package/lib/types/synchronizers/synchronizer-local.d.ts +27 -0
  317. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +35 -0
  318. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +36 -0
  319. package/lib/types/synchronizers.d.ts +132 -0
  320. package/lib/types/tinybase.d.ts +10 -8
  321. package/lib/types/tools.d.ts +4 -4
  322. package/lib/types/ui-react.d.ts +235 -95
  323. package/lib/types/with-schemas/checkpoints.d.ts +2 -2
  324. package/lib/types/with-schemas/indexes.d.ts +2 -2
  325. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  326. package/lib/types/with-schemas/internal/store.d.ts +8 -3
  327. package/lib/types/with-schemas/mergeable-store.d.ts +492 -0
  328. package/lib/types/with-schemas/metrics.d.ts +2 -2
  329. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +12 -8
  330. package/lib/types/with-schemas/persisters/persister-browser.d.ts +17 -8
  331. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +5 -1
  332. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +5 -1
  333. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +8 -4
  334. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +5 -1
  335. package/lib/types/with-schemas/persisters/persister-file.d.ts +9 -4
  336. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +5 -1
  337. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +155 -0
  338. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +5 -1
  339. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  340. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
  341. package/lib/types/with-schemas/persisters/persister-remote.d.ts +5 -1
  342. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +5 -1
  343. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +5 -1
  344. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +7 -3
  345. package/lib/types/with-schemas/persisters.d.ts +161 -101
  346. package/lib/types/with-schemas/queries.d.ts +3 -3
  347. package/lib/types/with-schemas/relationships.d.ts +2 -2
  348. package/lib/types/with-schemas/store.d.ts +483 -345
  349. package/lib/types/with-schemas/synchronizers/synchronizer-local.d.ts +29 -0
  350. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +41 -0
  351. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +36 -0
  352. package/lib/types/with-schemas/synchronizers.d.ts +146 -0
  353. package/lib/types/with-schemas/tinybase.d.ts +9 -8
  354. package/lib/types/with-schemas/tools.d.ts +4 -4
  355. package/lib/types/with-schemas/ui-react.d.ts +259 -102
  356. package/lib/ui-react-dom.js +1 -1
  357. package/lib/ui-react-dom.js.gz +0 -0
  358. package/lib/ui-react.js +1 -1
  359. package/lib/ui-react.js.gz +0 -0
  360. package/lib/umd/checkpoints.js +1 -1
  361. package/lib/umd/checkpoints.js.gz +0 -0
  362. package/lib/umd/indexes.js +1 -1
  363. package/lib/umd/indexes.js.gz +0 -0
  364. package/lib/umd/mergeable-store.js +1 -0
  365. package/lib/umd/mergeable-store.js.gz +0 -0
  366. package/lib/umd/metrics.js +1 -1
  367. package/lib/umd/metrics.js.gz +0 -0
  368. package/lib/umd/persisters/persister-automerge.js +1 -1
  369. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  370. package/lib/umd/persisters/persister-browser.js +1 -1
  371. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  372. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  373. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  374. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  375. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  376. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  377. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  378. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  379. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  380. package/lib/umd/persisters/persister-file.js +1 -1
  381. package/lib/umd/persisters/persister-file.js.gz +0 -0
  382. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  383. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  384. package/lib/umd/persisters/persister-libsql.js +1 -0
  385. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  386. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  387. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  388. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  389. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  390. package/lib/umd/persisters/persister-powersync.js +1 -0
  391. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  392. package/lib/umd/persisters/persister-remote.js +1 -1
  393. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  394. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  395. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  396. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  397. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  398. package/lib/umd/persisters/persister-yjs.js +1 -1
  399. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  400. package/lib/umd/persisters.js +1 -1
  401. package/lib/umd/persisters.js.gz +0 -0
  402. package/lib/umd/queries.js +1 -1
  403. package/lib/umd/queries.js.gz +0 -0
  404. package/lib/umd/relationships.js +1 -1
  405. package/lib/umd/relationships.js.gz +0 -0
  406. package/lib/umd/store.js +1 -1
  407. package/lib/umd/store.js.gz +0 -0
  408. package/lib/umd/synchronizers/synchronizer-local.js +1 -0
  409. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  410. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -0
  411. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  412. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -0
  413. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  414. package/lib/umd/synchronizers.js +1 -0
  415. package/lib/umd/synchronizers.js.gz +0 -0
  416. package/lib/umd/tinybase.js +1 -1
  417. package/lib/umd/tinybase.js.gz +0 -0
  418. package/lib/umd/tools.js +1 -1
  419. package/lib/umd/tools.js.gz +0 -0
  420. package/lib/umd/ui-react-dom-debug.js +1 -1
  421. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  422. package/lib/umd/ui-react-dom.js +1 -1
  423. package/lib/umd/ui-react-dom.js.gz +0 -0
  424. package/lib/umd/ui-react.js +1 -1
  425. package/lib/umd/ui-react.js.gz +0 -0
  426. package/lib/umd-es6/checkpoints.js +1 -1
  427. package/lib/umd-es6/checkpoints.js.gz +0 -0
  428. package/lib/umd-es6/indexes.js +1 -1
  429. package/lib/umd-es6/indexes.js.gz +0 -0
  430. package/lib/umd-es6/mergeable-store.js +1 -0
  431. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  432. package/lib/umd-es6/metrics.js +1 -1
  433. package/lib/umd-es6/metrics.js.gz +0 -0
  434. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  435. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  436. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  437. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  438. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  439. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  440. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  441. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  442. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  443. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  444. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  445. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  446. package/lib/umd-es6/persisters/persister-file.js +1 -1
  447. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  448. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  449. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  450. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  451. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  452. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  453. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  454. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  455. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  456. package/lib/umd-es6/persisters/persister-powersync.js +1 -0
  457. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  458. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  459. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  460. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  461. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  462. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  463. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  464. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  465. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  466. package/lib/umd-es6/persisters.js +1 -1
  467. package/lib/umd-es6/persisters.js.gz +0 -0
  468. package/lib/umd-es6/queries.js +1 -1
  469. package/lib/umd-es6/queries.js.gz +0 -0
  470. package/lib/umd-es6/relationships.js +1 -1
  471. package/lib/umd-es6/relationships.js.gz +0 -0
  472. package/lib/umd-es6/store.js +1 -1
  473. package/lib/umd-es6/store.js.gz +0 -0
  474. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -0
  475. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  476. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -0
  477. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  478. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -0
  479. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  480. package/lib/umd-es6/synchronizers.js +1 -0
  481. package/lib/umd-es6/synchronizers.js.gz +0 -0
  482. package/lib/umd-es6/tinybase.js +1 -1
  483. package/lib/umd-es6/tinybase.js.gz +0 -0
  484. package/lib/umd-es6/tools.js +1 -1
  485. package/lib/umd-es6/tools.js.gz +0 -0
  486. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  487. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  488. package/lib/umd-es6/ui-react-dom.js +1 -1
  489. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  490. package/lib/umd-es6/ui-react.js +1 -1
  491. package/lib/umd-es6/ui-react.js.gz +0 -0
  492. package/package.json +68 -48
  493. package/readme.md +2 -2
package/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #! /usr/bin/env node
2
- import{resolve as t,dirname as e}from"path";import{readFileSync as r,writeFileSync as s}from"fs";import{createStore as a}from"tinybase";import{createTools as o}from"tinybase/tools";import{fileURLToPath as i}from"url";const n="utf8",m=Object,c=JSON.parse,p=(...t)=>{return e=t=>process.stdout.write(t+"\n"),t.forEach(e);var e},d=t=>c(r(t,n)),l=(e,r,a,o)=>{const i=t(e,r);p(o.padStart(23)+": "+i),s(i,a,n)},u=()=>{var t,e;p("","tinybase <command>","","Usage:",""),t=f,e=([,t,e],r)=>p(` tinybase ${r} ${t}`," - "+e,""),((t,e)=>{t.map(e)})(m.entries(t),(([t,r])=>e(r,t))),p("See also http://tinybase.org/guides/developer-tools/command-line/","")},f={help:[u,"","print this message"],version:[()=>p(d(t(e(i(import.meta.url)),"../package.json")).version),"","get the current TinyBase version"],getStoreApi:[async(t,e,r)=>{try{const[s,i,n,m]=await(t=>{const e=d(t);return o(a().setSchema(...(r=e,Array.isArray(r)?e:[e])));var r})(t).getPrettyStoreApi(e);l(r,e+".d.ts",s,"Definition"),l(r,e+".ts",i,"Implementation"),l(r,e+"-ui-react.d.ts",n,"UI React definition"),l(r,e+"-ui-react.tsx",m,"UI React implementation")}catch{process.stderr.write("ERROR: provide a valid schemaFile, storeName, and outputDir\n")}},"<schemaFile> <storeName> <outputDir>","generate .d.ts, .ts, and .tsx API files from a schema file"]};(()=>{const[,,t,...e]=process.argv;(f[t]?.[0]??u)(...e)})();
2
+ import{resolve as t,dirname as e}from"path";import{readFileSync as r,writeFileSync as s}from"fs";import{createStore as a}from"tinybase";import{createTools as o}from"tinybase/tools";import{fileURLToPath as i}from"url";const n="utf8",m=Object.entries,c=JSON.parse,p=(...t)=>{return e=t=>process.stdout.write(t+"\n"),t.forEach(e);var e},d=t=>c(r(t,n)),l=(e,r,a,o)=>{const i=t(e,r);p(o.padStart(23)+": "+i),s(i,a,n)},u=()=>{var t;p("","tinybase <command>","","Usage:",""),t=([,t,e],r)=>p(` tinybase ${r} ${t}`," - "+e,""),((t,e)=>{m(f).map(e)})(0,(([e,r])=>t(r,e))),p("See also http://tinybase.org/guides/developer-tools/command-line/","")},f={help:[u,"","print this message"],version:[()=>p(d(t(e(i(import.meta.url)),"../package.json")).version),"","get the current TinyBase version"],getStoreApi:[async(t,e,r)=>{try{const[s,i,n,m]=await(t=>{const e=d(t);return o(a().setSchema(...(r=e,Array.isArray(r)?e:[e])));var r})(t).getPrettyStoreApi(e);l(r,e+".d.ts",s,"Definition"),l(r,e+".ts",i,"Implementation"),l(r,e+"-ui-react.d.ts",n,"UI React definition"),l(r,e+"-ui-react.tsx",m,"UI React implementation")}catch{process.stderr.write("ERROR: provide a valid schemaFile, storeName, and outputDir\n")}},"<schemaFile> <storeName> <outputDir>","generate .d.ts, .ts, and .tsx API files from a schema file"]};(()=>{const[,,t,...e]=process.argv;(f[t]?.[0]??u)(...e)})();
@@ -1 +1 @@
1
- const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),a=e=>e.shift(),i=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),C=e=>new Map(e),f=(e,t)=>e?.get(t),g=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),k=(e,t,n)=>(d(e,t)||g(e,t,n()),f(e,t)),L=(e,r,s,o,l=0)=>t((s?k:f)(e,r[l],l>n(r)-2?s:C),(t=>{if(l>n(r)-2)return o?.(t)&&g(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&g(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=C(),F=C(),I=1;const M=C(),b=C(),[j,x,B]=(r=>{let o;const[c,i]=(()=>{const e=[];let t=0;return[n=>(n?a(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const l=c(1);var a,i;return g(d,l,[e,t,n,r,s]),a=L(t,n??[""],v),i=l,a?.add(i),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(f(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>f(d,e)[0](o,...t??[],...r))))),e=>t(f(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),g(d,e),i(e),n))),r=>t(f(d,r),(([t,,r=[],l,c])=>{const a=(...i)=>{const d=n(i);d==n(r)?t(o,...i,...c(i)):e(r[d])?s(l[d]?.(...i)??[],(e=>a(...i,e))):a(...i,r[d])};a()}))]})(),O=C(),T=C(),W=[],$=[],m=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=f(O,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},q=e=>{g(O,e),g(T,e),x(b,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),q),G=()=>D(W,n(W)-V),H=()=>t(y,(()=>{l(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=c(W),E=1},K=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){H();const e=k(A,t,C),l=k(e,n,C),c=k(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(g(l,r))&&u(g(e,n))&&u(g(A,t))&&J(),U()}})),N=S.addValueListener(null,((e,t,n,r)=>{if(I){H();const e=k(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(g(F,t))&&J(),U()}})),P=(t="")=>(e(y)&&(y=""+z++,g(O,y,[A,F]),Y(y,t),A=C(),F=C(),E=1),y),Q=()=>{o(W)||(((e,...t)=>{e.unshift(...t)})($,P()),m(0,y),y=c(W),E=1)},R=()=>{o($)||(l(W,y),y=a($),m(1,y),E=1)},U=()=>{E&&(x(M),E=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&f(T,e)!==t&&(g(T,e,t),x(b,[e])),_),Z=e=>d(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return t=e,h(T,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>f(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:t=>{const n=r(W,t)?Q:r($,t)?R:null;for(;!e(n)&&t!=y;)n();return U(),_},addCheckpointIdsListener:e=>j(e,M),addCheckpointListener:(e,t)=>j(t,b,[e]),delListener:e=>(B(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),clearForward:()=>(o($)||(D($),x(M)),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return i(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
1
+ const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),i=e=>e.shift(),a=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),C=(e,t)=>e?.get(t),f=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),k=(e,t,n,r)=>(d(e,t)?r?.(C(e,t)):f(e,t,n()),C(e,t)),L=(e,r,s,o,l=0)=>t((s?k:C)(e,r[l],l>n(r)-2?s:g),(t=>{if(l>n(r)-2)return o?.(t)&&f(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&f(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),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=g(),F=g(),I=1;const M=g(),_=g(),[b,j,x]=(r=>{let o;const[c,a]=(()=>{const e=[];let t=0;return[n=>(n?i(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=g();return[(e,t,n,r=[],s=(()=>[]))=>{o??=Z;const l=c(1);var i,a;return f(d,l,[e,t,n,r,s]),i=L(t,n??[""],v),a=l,i?.add(a),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(C(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>C(d,e)[0](o,...t??[],...r))))),e=>t(C(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),f(d,e),a(e),n))),r=>t(C(d,r),(([t,,r=[],l,c])=>{const i=(...a)=>{const d=n(a);d==n(r)?t(o,...a,...c(a)):e(r[d])?s(l[d]?.(...a)??[],(e=>i(...a,e))):i(...a,r[d])};i()}))]})(),B=g(),O=g(),T=[],W=[],$=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=C(B,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},m=e=>{f(B,e),f(O,e),j(_,[e])},q=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),m),D=()=>q(T,n(T)-V),G=()=>t(y,(()=>{l(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=c(T),E=1};let J,K;const N=(t="")=>(e(y)&&(y=""+z++,f(B,y,[A,F]),X(y,t),A=g(),F=g(),E=1),y),P=()=>{o(T)||(((e,...t)=>{e.unshift(...t)})(W,N()),$(0,y),y=c(T),E=1)},Q=()=>{o(W)||(l(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(O,e)!==t&&(f(O,e,t),j(_,[e])),Z),Y=e=>d(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return t=e,h(O,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:t=>{const n=r(T,t)?P:r(W,t)?Q:null;for(;!e(n)&&t!=y;)n();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,t)=>b(t,_,[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,t,n,r,s,o)=>{if(I){G();const e=k(A,t,g),l=k(e,n,g),c=k(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(f(l,r))&&u(f(e,n))&&u(f(A,t))&&H(),R()}})),K=S.addValueListener(null,((e,t,n,r)=>{if(I){G();const e=k(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(f(F,t))&&H(),R()}}))}};return a(Z.clear())})(S));const y=z.get(S);return y._registerListeners(),y}})();export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),i=e=>e.shift(),a=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),C=e=>new Map(e),k=(e,t)=>e?.get(t),f=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),g=(e,t,n)=>(d(e,t)||f(e,t,n()),k(e,t)),L=(e,r,s,o,l=0)=>t((s?g:k)(e,r[l],l>n(r)-2?s:C),(t=>{if(l>n(r)-2)return o?.(t)&&f(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&f(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=C(),F=C(),I=1;const M=C(),b=C(),[j,x,B]=(r=>{let o;const[c,a]=(()=>{const e=[];let t=0;return[n=>(n?i(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=C();return[(e,t,n,r=[],s=(()=>[]))=>{o??=_;const l=c(1);var i,a;return f(d,l,[e,t,n,r,s]),i=L(t,n??[""],v),a=l,i?.add(a),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(k(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>k(d,e)[0](o,...t??[],...r))))),e=>t(k(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),f(d,e),a(e),n))),r=>t(k(d,r),(([t,,r=[],l,c])=>{const i=(...a)=>{const d=n(a);d==n(r)?t(o,...a,...c(a)):e(r[d])?s(l[d]?.(...a)??[],(e=>i(...a,e))):i(...a,r[d])};i()}))]})(),O=C(),T=C(),W=[],$=[],m=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=k(O,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},q=e=>{f(O,e),f(T,e),x(b,[e])},D=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),q),G=()=>D(W,n(W)-V),H=()=>t(y,(()=>{l(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=c(W),E=1},K=S.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(I){H();const e=g(A,t,C),l=g(e,n,C),c=g(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(f(l,r))&&u(f(e,n))&&u(f(A,t))&&J(),U()}})),N=S.addValueListener(null,((e,t,n,r)=>{if(I){H();const e=g(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(f(F,t))&&J(),U()}})),P=(t="")=>(e(y)&&(y=""+z++,f(O,y,[A,F]),Y(y,t),A=C(),F=C(),E=1),y),Q=()=>{o(W)||(((e,...t)=>{e.unshift(...t)})($,P()),m(0,y),y=c(W),E=1)},R=()=>{o($)||(l(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(x(M),E=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&k(T,e)!==t&&(f(T,e,t),x(b,[e])),_),Z=e=>d(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return t=e,h(T,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>k(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:t=>{const n=r(W,t)?Q:r($,t)?R:null;for(;!e(n)&&t!=y;)n();return U(),_},addCheckpointIdsListener:e=>j(e,M),addCheckpointListener:(e,t)=>j(t,b,[e]),delListener:e=>(B(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),clearForward:()=>(o($)||(D($),x(M)),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return a(_.clear())})(S)),y.get(S))})();exports.createCheckpoints=S;
1
+ "use strict";const e=e=>null==e,t=(t,n,r)=>e(t)?r?.():n(t),n=e=>e.length,r=(e,t)=>e.includes(t),s=(e,t)=>e.forEach(t),o=e=>0==n(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),i=e=>e.shift(),a=Object.freeze,d=(e,t)=>e?.has(t)??!1,u=t=>e(t)||0==(e=>e?.size??0)(t),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),C=(e,t)=>e?.get(t),k=(t,n,r)=>e(r)?(p(t,n),t):t?.set(n,r),f=(e,t,n,r)=>(d(e,t)?r?.(C(e,t)):k(e,t,n()),C(e,t)),L=(e,r,s,o,l=0)=>t((s?f:C)(e,r[l],l>n(r)-2?s:g),(t=>{if(l>n(r)-2)return o?.(t)&&k(e,r[l]),t;const c=L(t,r,s,o,l+1);return u(t)&&k(e,r[l]),c})),v=t=>new Set(Array.isArray(t)||e(t)?t:[t]),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=g(),F=g(),I=1;const M=g(),_=g(),[b,j,x]=(r=>{let o;const[c,a]=(()=>{const e=[];let t=0;return[n=>(n?i(e):null)??""+t++,t=>{w.test(t)&&n(e)<1e3&&l(e,t)}]})(),d=g();return[(e,t,n,r=[],s=(()=>[]))=>{o??=Z;const l=c(1);var i,a;return k(d,l,[e,t,n,r,s]),i=L(t,n??[""],v),a=l,i?.add(a),l},(e,t,...r)=>s(((e,t=[""])=>{const r=[],o=(e,c)=>c==n(t)?l(r,e):null===t[c]?h(e,(e=>o(e,c+1))):s([t[c],null],(t=>o(C(e,t),c+1)));return o(e,0),r})(e,t),(e=>h(e,(e=>C(d,e)[0](o,...t??[],...r))))),e=>t(C(d,e),(([,t,n])=>(L(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),k(d,e),a(e),n))),r=>t(C(d,r),(([t,,r=[],l,c])=>{const i=(...a)=>{const d=n(a);d==n(r)?t(o,...a,...c(a)):e(r[d])?s(l[d]?.(...a)??[],(e=>i(...a,e))):i(...a,r[d])};i()}))]})(),B=g(),O=g(),T=[],W=[],$=(t,n)=>{I=0,S.transaction((()=>{const[r,s]=C(B,n);h(r,((n,r)=>h(n,((n,s)=>h(n,((n,o)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(S,r,s,o,n[t]))))))),h(s,((n,r)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(S,r,n[t])))})),I=1},m=e=>{k(B,e),k(O,e),j(_,[e])},q=(e,t)=>s(((e,t)=>e.splice(0,t))(e,t??n(e)),m),D=()=>q(T,n(T)-V),G=()=>t(y,(()=>{l(T,y),D(),q(W),y=void 0,E=1})),H=()=>{y=c(T),E=1};let J,K;const N=(t="")=>(e(y)&&(y=""+z++,k(B,y,[A,F]),X(y,t),A=g(),F=g(),E=1),y),P=()=>{o(T)||(((e,...t)=>{e.unshift(...t)})(W,N()),$(0,y),y=c(T),E=1)},Q=()=>{o(W)||(l(T,y),y=i(W),$(1,y),E=1)},R=()=>{E&&(j(M),E=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(O,e)!==t&&(k(O,e,t),j(_,[e])),Z),Y=e=>d(B,e),Z={setSize:e=>(V=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>S,getCheckpointIds:()=>[[...T],y,[...W]],forEachCheckpoint:e=>{return t=e,h(O,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(O,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:t=>{const n=r(T,t)?P:r(W,t)?Q:null;for(;!e(n)&&t!=y;)n();return R(),Z},addCheckpointIdsListener:e=>b(e,M),addCheckpointListener:(e,t)=>b(t,_,[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,t,n,r,s,o)=>{if(I){G();const e=f(A,t,g),l=f(e,n,g),c=f(l,r,(()=>[o,void 0]));c[1]=s,c[0]===s&&u(k(l,r))&&u(k(e,n))&&u(k(A,t))&&H(),R()}})),K=S.addValueListener(null,((e,t,n,r)=>{if(I){G();const e=f(F,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&u(k(F,t))&&H(),R()}}))}};return a(Z.clear())})(S));const y=z.get(S);return y._registerListeners(),y}})();exports.createCheckpoints=S;
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",n=e(t),s=e=>t+e,r=e=>null==e,o=(e,t,n)=>r(e)?n?.():t(e),c=e=>Array.isArray(e),d=e=>e.length,l=(e,t)=>e.every(t),a=(e,t)=>l(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),I=(e,...t)=>e.push(...t),h=Object.freeze,f=(e,t)=>e?.has(t)??!1,g=e=>r(e)||0==(e=>e?.size??0)(e),L=e=>[...e?.values()??[]],S=e=>e.clear(),v=(e,t)=>e?.forEach(t),w=(e,t)=>e?.delete(t),x=e=>new Map(e),p=e=>[...e?.keys()??[]],y=(e,t)=>e?.get(t),E=(e,t)=>v(e,((e,n)=>t(n,e))),R=(e,t,n)=>r(n)?(w(e,t),e):e?.set(t,n),b=(e,t,n)=>(f(e,t)||R(e,t,n()),y(e,t)),T=(e,t,n,s,r=0)=>o((n?b:y)(e,t[r],r>d(t)-2?n:x),(o=>{if(r>d(t)-2)return s?.(o)&&R(e,t[r]),o;const c=T(o,t,n,s,r+1);return g(o)&&R(e,t[r]),c})),k=e=>new Set(c(e)||r(e)?e:[e]),z=(e,t)=>e?.add(t),A=(s,r)=>e(s)==n?e=>e(s):s??(()=>r??t),C=(e,t)=>(e??0)<(t??0)?-1:1,D=/^\d+$/,M=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=x(),M=x(),[j,m,O]=(e=>{let n;const[s,c]=(()=>{const e=[];let n=0;return[s=>(s?e.shift():null)??t+n++,t=>{D.test(t)&&d(e)<1e3&&I(e,t)}]})(),l=x();return[(e,r,o,c=[],d=(()=>[]))=>{n??=U;const a=s(1);return R(l,a,[e,r,o,c,d]),z(T(r,o??[t],k),a),a},(e,s,...r)=>u(((e,n=[t])=>{const s=[],r=(e,t)=>t==d(n)?I(s,e):null===n[t]?v(e,(e=>r(e,t+1))):u([n[t],null],(n=>r(y(e,n),t+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>y(l,e)[0](n,...s??[],...r))))),e=>o(y(l,e),(([,n,s])=>(T(n,s??[t],void 0,(t=>(w(t,e),g(t)?1:0))),R(l,e),c(e),s))),e=>o(y(l,e),(([e,,t=[],s,o])=>{const c=(...l)=>{const a=d(l);a==d(t)?e(n,...l,...o(l)):r(t[a])?u(s[a]?.(...l)??[],(e=>c(...l,e))):c(...l,t[a])};c()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,t,n,s,a)=>{const i=e.hasRow,I=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(t,n,...s)=>{const r=b(D,t,k);return u(s,(t=>z(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>o(y(D,t),(s=>{u(0==d(n)?L(s):n,(t=>{e.delListener(t),w(s,t)})),g(s)&&R(D,t)})),m=(e,n)=>{R(I,e,n),f(h,e)||(R(h,e,t()),R(A,e,x()),R(C,e,x()),a(T))},O=e=>{R(I,e),R(h,e),R(A,e),R(C,e),j(e),a(T)};return[()=>e,()=>p(I),e=>E(h,e),e=>f(h,e),e=>y(I,e),e=>y(h,e),(e,t)=>R(h,e,t),m,(t,s,o,a,I)=>{m(t,s);const h=x(),g=x(),L=y(A,t),w=y(C,t),p=t=>{const o=n=>e.getCell(s,t,n),u=y(L,t),f=i(s,t)?n(a(o,t)):void 0;var S,v;if(u===f||c(u)&&c(f)&&(v=f,d(S=u)===d(v)&&l(S,((e,t)=>v[t]===e)))||R(h,t,[u,f]),!r(I)){const e=y(w,t),n=i(s,t)?I(o,t):void 0;e!=n&&R(g,t,n)}},b=e=>{o((()=>{v(h,(([,e],t)=>R(L,t,e))),v(g,((e,t)=>R(w,t,e)))}),h,g,L,w,e),S(h),S(g)};E(L,p),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(L,e)||p(e)})),b(!0),j(t),M(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>b())))},O,e=>s(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?t:c(e)?(n=s,e.map(n)):s(e);var n}),j,m),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,t,s,c,d,l=C)=>{const u=r(d)?void 0:([e],[t])=>d(e,t);return J(e,t,((t,s,d,I,h,L)=>{let S=0;const p=k(),b=k(),T=G(e);if(v(s,(([e,t],n)=>{const s=k(e),d=k(t);v(s,(e=>w(d,e)?w(s,e):0)),v(s,(e=>{z(p,e),o(y(T,e),(t=>{w(t,n),g(t)&&(R(T,e),S=1)}))})),v(d,(e=>{z(p,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),n),r(c)||z(b,e)}))})),t(),g(h)||(L?E(T,(e=>z(b,e))):E(d,(e=>o(y(I,e),(e=>z(b,e))))),v(b,(e=>{const t=(t,n)=>l(y(h,t),y(h,n),e),n=[...y(T,e)];a(n,t)||(R(T,e,k(i(n,t))),z(p,e))}))),(S||L)&&!r(u)){const t=[...T];a(t,u)||(H(e,x(i(t,u))),S=1)}S&&m(n,[e]),v(p,(t=>m(M,[e,t])))}),A(s),o(c,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:B,hasSlice:(e,t)=>f(G(e),t),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,t)=>L(y(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,t)=>j(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>j(n,M,[e,t]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e)),n.get(e))})();exports.createIndexes=M;
1
+ "use strict";const e=e=>typeof e,t="",n=e(t),s=e=>t+e,r=e=>null==e,o=(e,t,n)=>r(e)?n?.():t(e),c=e=>Array.isArray(e),d=e=>e.length,l=(e,t)=>e.every(t),a=(e,t)=>l(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),I=(e,...t)=>e.push(...t),h=Object.freeze,f=(e,t)=>e?.has(t)??!1,g=e=>r(e)||0==(e=>e?.size??0)(e),L=e=>[...e?.values()??[]],S=e=>e.clear(),v=(e,t)=>e?.forEach(t),w=(e,t)=>e?.delete(t),x=e=>new Map(e),p=e=>[...e?.keys()??[]],y=(e,t)=>e?.get(t),E=(e,t)=>v(e,((e,n)=>t(n,e))),R=(e,t,n)=>r(n)?(w(e,t),e):e?.set(t,n),b=(e,t,n,s)=>(f(e,t)?s?.(y(e,t)):R(e,t,n()),y(e,t)),T=(e,t,n,s,r=0)=>o((n?b:y)(e,t[r],r>d(t)-2?n:x),(o=>{if(r>d(t)-2)return s?.(o)&&R(e,t[r]),o;const c=T(o,t,n,s,r+1);return g(o)&&R(e,t[r]),c})),k=e=>new Set(c(e)||r(e)?e:[e]),z=(e,t)=>e?.add(t),A=(s,r)=>e(s)==n?e=>e(s):s??(()=>r??t),C=(e,t)=>(e??0)<(t??0)?-1:1,D=/^\d+$/,M=((e,n)=>{const M=new WeakMap;return e=>{M.has(e)||M.set(e,(e=>{const n=x(),M=x(),[j,m,O]=(e=>{let n;const[s,c]=(()=>{const e=[];let n=0;return[s=>(s?e.shift():null)??t+n++,t=>{D.test(t)&&d(e)<1e3&&I(e,t)}]})(),l=x();return[(e,r,o,c=[],d=(()=>[]))=>{n??=U;const a=s(1);return R(l,a,[e,r,o,c,d]),z(T(r,o??[t],k),a),a},(e,s,...r)=>u(((e,n=[t])=>{const s=[],r=(e,t)=>t==d(n)?I(s,e):null===n[t]?v(e,(e=>r(e,t+1))):u([n[t],null],(n=>r(y(e,n),t+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>y(l,e)[0](n,...s??[],...r))))),e=>o(y(l,e),(([,n,s])=>(T(n,s??[t],void 0,(t=>(w(t,e),g(t)?1:0))),R(l,e),c(e),s))),e=>o(y(l,e),(([e,,t=[],s,o])=>{const c=(...l)=>{const a=d(l);a==d(t)?e(n,...l,...o(l)):r(t[a])?u(s[a]?.(...l)??[],(e=>c(...l,e))):c(...l,t[a])};c()}))]})(),[W,$,q,B,F,G,H,,J,K,N,P]=((e,t,n,s,a)=>{const i=e.hasRow,I=x(),h=x(),T=x(),A=x(),C=x(),D=x(),M=(t,n,...s)=>{const r=b(D,t,k);return u(s,(t=>z(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>o(y(D,t),(s=>{u(0==d(n)?L(s):n,(t=>{e.delListener(t),w(s,t)})),g(s)&&R(D,t)})),m=(e,n)=>{R(I,e,n),f(h,e)||(R(h,e,t()),R(A,e,x()),R(C,e,x()),a(T))},O=e=>{R(I,e),R(h,e),R(A,e),R(C,e),j(e),a(T)};return[()=>e,()=>p(I),e=>E(h,e),e=>f(h,e),e=>y(I,e),e=>y(h,e),(e,t)=>R(h,e,t),m,(t,s,o,a,I)=>{m(t,s);const h=x(),g=x(),L=y(A,t),w=y(C,t),p=t=>{const o=n=>e.getCell(s,t,n),u=y(L,t),f=i(s,t)?n(a(o,t)):void 0;var S,v;if(u===f||c(u)&&c(f)&&(v=f,d(S=u)===d(v)&&l(S,((e,t)=>v[t]===e)))||R(h,t,[u,f]),!r(I)){const e=y(w,t),n=i(s,t)?I(o,t):void 0;e!=n&&R(g,t,n)}},b=e=>{o((()=>{v(h,(([,e],t)=>R(L,t,e))),v(g,((e,t)=>R(w,t,e)))}),h,g,L,w,e),S(h),S(g)};E(L,p),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(L,e)||p(e)})),b(!0),j(t),M(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>b())))},O,e=>s(e,T),()=>E(D,O),M,j]})(e,x,(e=>{return r(e)?t:c(e)?(n=s,e.map(n)):s(e);var n}),j,m),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,t,s,c,d,l=C)=>{const u=r(d)?void 0:([e],[t])=>d(e,t);return J(e,t,((t,s,d,I,h,L)=>{let S=0;const p=k(),b=k(),T=G(e);if(v(s,(([e,t],n)=>{const s=k(e),d=k(t);v(s,(e=>w(d,e)?w(s,e):0)),v(s,(e=>{z(p,e),o(y(T,e),(t=>{w(t,n),g(t)&&(R(T,e),S=1)}))})),v(d,(e=>{z(p,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),n),r(c)||z(b,e)}))})),t(),g(h)||(L?E(T,(e=>z(b,e))):E(d,(e=>o(y(I,e),(e=>z(b,e))))),v(b,(e=>{const t=(t,n)=>l(y(h,t),y(h,n),e),n=[...y(T,e)];a(n,t)||(R(T,e,k(i(n,t))),z(p,e))}))),(S||L)&&!r(u)){const t=[...T];a(t,u)||(H(e,x(i(t,u))),S=1)}S&&m(n,[e]),v(p,(t=>m(M,[e,t])))}),A(s),o(c,A)),U},delIndexDefinition:e=>(K(e),U),getStore:W,getIndexIds:$,forEachIndex:e=>q(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:B,hasSlice:(e,t)=>f(G(e),t),getTableId:F,getSliceIds:e=>p(G(e)),getSliceRowIds:(e,t)=>L(y(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,t)=>j(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>j(n,M,[e,t]),delListener:e=>(O(e),U),destroy:P,getListenerStats:()=>({})};return h(U)})(e));return M.get(e)}})();exports.createIndexes=M;
Binary file
@@ -0,0 +1 @@
1
+ "use strict";const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),r="type",o="default",c="Has",i="Ids",d="Table",u=d+"s",g=d+i,h="Row",b=h+"Count",f=h+i,C="Cell",T=C+i,v="Value",V=v+"s",p=v+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),I=Math.max,M=isFinite,R=e=>null==e,m=(e,t,s)=>R(e)?s?.():t(e),L=e=>e==s||e==n,H=t=>e(t)==l,J=e=>Array.isArray(e),E=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,t)=>t in e,B=(e,t)=>(delete e[t],e),G=(e,t)=>F(P(e),(([e,s])=>t(s,e))),K=(e,t)=>O(P(e),(([e,s])=>t(s,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),U=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),X=(e,t,s,n=0)=>R(e)||!k(e)||!n&&Q(e)||W(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||B(e,n)})),!!n||!Q(e)),Y=e=>new Set(J(e)||R(e)?e:[e]),Z=(e,t)=>e?.add(t),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ce=(e,t)=>ne(e,((e,s)=>t(s,e))),ie=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ie(e,t,s()),oe(e,t)),ue=(e,t,s,n=ie)=>(K(t,((t,n)=>s(e,n,t))),ce(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,Q),be=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,Q),fe=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>fe(e,fe),Te=e=>fe(e,Ce),ve=(e,t,s,n,a=0)=>m((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ie(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ie(e,t[a]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let t=2166136261;return F(Ve.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},we=([e,t,s])=>[e,t,s],Se=([e,t])=>ye(e,t),ye=(e,t)=>t?[e,t]:[e],Ie=e=>e[2],Me=(e,t)=>pe(e+":"+t),Re=(e,t)=>t>e?(e?pe(e):0)^pe(t):0,me=(e,t)=>((e??"")>(t??"")?e:t)??"",Le=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},He=(e=t)=>ye($(),e),Je=(e=t)=>[le(),e,0],Ee=([e,t,s],n=we)=>[ge(e,n),t,s],De=([e,t],s=Se)=>ye(ge(e,s),t),Fe=(t,n)=>{return J(t)&&3==D(t)&&(l=t[1],e(l)==s)&&e(t[2])==a&&M(t[2])&&n(t[0]);var l},Oe=/^\d+$/,xe=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{Oe.test(t)&&D(e)<1e3&&x(e,t)}]},ze=e=>[e,e],Ae=()=>[le(),le()],Pe=e=>[...e],We=([e,t])=>e===t,ke=t=>{const s=e(t);return L(s)||s==a&&M(t)?s:void 0},Ne=e=>R(e)||!R(ke(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),$e=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),qe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),Be=JSON.parse,Ge=(e,t,s)=>ie(e,t,oe(e,t)==-s?void 0:s),Ke=()=>{let e,s,n=!1,l=!1,i=0,S=[];const y=le(),I=le(),M=le(),J=le(),z=le(),A=le(),P=le(),W=le(),k=le(),N=le(),$=le(),G=le(),U=le(),Ve=le(),pe=Y(),we=le(),Se=le(),ye=le(),Ie=le(),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(),et=Ae(),tt=Ae(),st=Ae(),nt=Ae(),at=Ae(),lt=le(),rt=Ae(),[ot,ct,it,dt]=(e=>{let s;const[n,a]=xe(),l=le();return[(e,a,r,o=[],c=(()=>[]))=>{s??=Js;const i=n(1);return ie(l,i,[e,a,r,o,c]),Z(ve(a,r??[t],Y),i),i},(e,n,...a)=>F(((e,s=[t])=>{const n=[],a=(e,t)=>t==D(s)?x(n,e):null===s[t]?ne(e,(e=>a(e,t+1))):F([s[t],null],(s=>a(oe(e,s),t+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](s,...n??[],...a))))),e=>m(oe(l,e),(([,s,n])=>(ve(s,n??[t],void 0,(t=>(ae(t,e),te(t)?1:0))),ie(l,e),a(e),n))),e=>m(oe(l,e),(([e,,t=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(t)?e(s,...r,...a(r)):R(t[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,t[o])};l()}))]})(),ut=e=>{if(!X(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!L(t)&&t!=a||(ke(e[o])!=t&&B(e,o),0))},gt=(t,s)=>(!e||ee($,s)||jt(s))&&X(t,((e,t)=>ht(s,t,e)),(()=>jt(s))),ht=(e,t,s,n)=>X(n?s:Tt(s,e,t),((n,a)=>m(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>jt(e,t))),bt=(t,s,n,a)=>e?m(oe(oe($,t),n),(e=>ke(a)!=e[r]?jt(t,s,n,a,e[o]):a),(()=>jt(t,s,n,a))):R(ke(a))?jt(t,s,n,a):a,ft=(e,t)=>X(t?e:vt(e),((t,s)=>m(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Ct=(e,t)=>s?m(oe(U,e),(s=>ke(t)!=s[r]?$t(e,t,s[o]):t),(()=>$t(e,t))):R(ke(t))?$t(e,t):t,Tt=(e,t,s)=>(m(oe(G,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||jt(t,s,n)}))})),e),vt=e=>(s&&(ne(Ve,((t,s)=>{q(e,s)||(e[s]=t)})),ne(pe,(t=>{q(e,t)||$t(t)}))),e),Vt=e=>ue($,e,((e,t,s)=>{const n=le(),a=Y();ue(de($,t,le),s,((e,t,s)=>{ie(e,t,s),m(s[o],(e=>ie(n,t,e)),(()=>Z(a,t)))})),ie(G,t,[n,a])}),((e,t)=>{ie($,t),ie(G,t)})),pt=e=>ue(U,e,((e,t,s)=>{ie(U,t,s),m(s[o],(e=>ie(Ve,t,e)),(()=>Z(pe,t)))}),((e,t)=>{ie(U,t),ie(Ve,t),ae(pe,t)})),wt=e=>Q(e)?ws():Cs(e),St=e=>ue(ye,e,((e,t,s)=>yt(t,s)),((e,t)=>Dt(t))),yt=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ie(we,e,xe()),ie(Se,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Ft(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ie(s,n,a))},Rt=(e,t,s,n,a)=>m(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Tt({[n]:a},e,s)))),mt=e=>Q(e)?Is():Ts(e),Lt=e=>ue(Ie,e,((e,t,s)=>Ht(t,s)),((e,t)=>xt(t))),Ht=(e,t)=>{ee(Ie,e)||kt(e,1);const s=oe(Ie,e);t!==s&&(Nt(e,s,t),ie(Ie,e,t))},Jt=(e,t)=>{const[s]=oe(we,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??yt(e,{}),Dt=e=>yt(e,{}),Ft=(e,t,s)=>{const[,n]=oe(we,e);n(s),It(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const r=oe(oe(G,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ie(n,t)};R(r)?o(a):ce(n,o),te(n)&&(At(e,s,-1),te(ie(t,s))&&(zt(e,-1),ie(ye,e),ie(we,e),ie(Se,e)))},xt=e=>{const t=oe(Ve,e);if(!R(t))return Ht(e,t);Nt(e,oe(Ie,e)),kt(e,-1),ie(Ie,e)},zt=(e,t)=>Ge(y,e,t),At=(e,t,s)=>Ge(de(J,e,le),t,s)&&ie(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Se,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&Ge(de(I,e,le),s,n),ie(a,s,l!=-n?l+n:null),Ge(de(de(z,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>{de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,S[3]?.(e,t,s,a)},kt=(e,t)=>Ge(P,e,t),Nt=(e,t,s)=>{de(W,e,(()=>[t,0]))[1]=s,S[4]?.(e,s)},jt=(e,t,s,n,a)=>(x(de(de(de(k,e,le),t,le),s,(()=>[])),n),a),$t=(e,t,s)=>(x(de(N,e,(()=>[])),t),s),qt=(e,t,s)=>m(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(ls(e,t,s))])),Bt=e=>m(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ze(cs(e))])),Gt=e=>te(k)||te(Ze[e])?0:ne(e?Te(k):k,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>te(N)||te(_e[e])?0:ne(e?fe(N):N,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return ct(t,n,(()=>ge(e))),ce(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(Me[e],void 0,t);const s=te(Oe[e]),a=te(Ue[e])&&te(Xe[e])&&te(Fe[e])&&te(Ne[e])&&te(Je[e])&&te(Ee[e])&&te(De[e])&&s&&te(me[e])&&te(Le[e]),l=te(Ye[e])&&te(Qe[e])&&te(He[e])&&te(Re[e]);if(!a||!l){const t=e?[fe(y),Ce(I),fe(M),Ce(J),Te(z),Te(A)]:[y,I,M,J,z,A];if(!a){Qt(t[0],me[e],Le[e]),ne(t[1],((t,s)=>Qt(t,Je[e],Ee[e],[s]))),ne(t[2],((t,s)=>{0!=t&&ct(De[e],[s],ts(s))}));const n=Y();ne(t[3],((t,a)=>{Qt(t,Fe[e],Ne[e],[a])&&!s&&(ct(Oe[e],[a,null]),Z(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Y();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Z(n,a):ae(e,a))))),ne(n,(t=>ct(Oe[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],c)=>{o!==t&&(ct(Ye[e],[n,l,c],o,t,qt),s=a=r=1)})),r&&ct(Qe[e],[n,l],qt)})),a&&ct(He[e],[n],qt)})),s&&ct(Re[e],void 0,qt)}}},Xt=e=>{const t=bs();t!=l&&ct(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[fe(P),fe(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Bt),s=1)})),s&&ct(tt[e],void 0,Bt)}}},Yt=(e,...t)=>(ms((()=>e(...O(t,w)))),Js),Zt=()=>be(ye),_t=()=>re(ye),es=e=>re(oe(Se,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(E((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(Ie),os=()=>re(Ie),cs=e=>oe(Ie,w(e)),is=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Se,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),bs=()=>!te(Ie),fs=e=>ee(Ie,w(e)),Cs=e=>Yt((()=>(e=>X(e,gt,jt))(e)?St(e):0)),Ts=e=>Yt((()=>ft(e)?Lt(e):0)),vs=e=>{try{wt(Be(e))}catch{}return Js},Vs=t=>Yt((()=>{if((e=X(t,(e=>X(e,ut))))&&(Vt(t),!te(ye))){const e=Zt();ws(),Cs(e)}})),ps=e=>Yt((()=>{if(s=(e=>X(e,ut))(e)){const t=rs();Rs(),Is(),s=!0,pt(e),Ts(t)}})),ws=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>ee(ye,e)?Dt(e):0),e),ys=(e,t)=>Yt(((e,t)=>m(oe(ye,e),(s=>ee(s,t)?Ft(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{Vt({}),e=!1})),Rs=()=>Yt((()=>{pt({}),s=!1})),ms=(e,t)=>{if(-1!=i){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=i&&i++,1==i&&(S[0]?.(),ct(lt,void 0)),Js),Hs=e=>(i>0&&(i--,0==i&&(i=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>$e(Js,t,e))),se(W)),ct(rt[0],void 0),i=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),S[1]?.(),ct(rt[1],void 0),S[2]?.(),i=0,n=is(),l=bs(),F([y,I,M,J,z,A,k,P,W,N],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:bs,hasValue:fs,getTablesJson:()=>qe(ye),getValuesJson:()=>qe(Ie),getJson:()=>qe([ye,Ie]),getTablesSchemaJson:()=>qe($),getValuesSchemaJson:()=>qe(U),getSchemaJson:()=>qe([$,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Yt((()=>{(Q(e)?ws:Cs)(e),(Q(t)?Is:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Yt((e=>gt(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ms((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>m(bt(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>Rt(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Yt((()=>ft(e,1)?K(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>m(Ct(e,H(t)?t(cs(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>R(e)?Ss(t):K(e,((e,s)=>R(e)?ys(t,s):K(e,((e,n)=>je(Js,t,s,n,e))))))),K(e[1],((e,t)=>$e(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{mt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);wt(t),mt(s)}catch{vs(e)}})),setTablesSchema:Vs,setValuesSchema:ps,setSchema:(e,t)=>Yt((()=>{Vs(e),ps(t)})),delTables:ws,delTable:Ss,delRow:ys,delCell:(e,t,s,n)=>Yt(((e,t,s)=>m(oe(ye,e),(a=>m(oe(a,t),(l=>ee(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(Ie,e)?xt(e):0),e),delTablesSchema:Ms,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ms(),Rs()})),transaction:ms,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(y,t)?void 0:ge(e,((e,s)=>-1===oe(oe(J,t),s)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),te,Q)),te,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!te(A),!te(W),be(A,Pe,We),be(k),ge(W,Pe,We),ge(N),ge(y),he(J),be(z),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(oe(Se,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ce(Ie,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var c,i,d;i=o,D(c=r)===D(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Oe[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(it(e),Js),getListenerStats:()=>({}),createStore:Ke,addListener:ot,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>S=[e,t,s,n,a]};return K({[c+u]:[0,Me,[],()=>[is()]],[u]:[0,Re],[g]:[0,me],[c+d]:[1,Le,[_t],e=>[ds(...e)]],[d]:[1,He,[_t]],[d+T]:[1,Je,[_t]],[c+d+C]:[2,Ee,[_t,es],e=>[us(...e)]],[b]:[1,De,[_t]],[f]:[1,Fe,[_t]],[c+h]:[2,Ne,[_t,ss],e=>[gs(...e)]],[h]:[2,Qe,[_t,ss]],[T]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>ze(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[bs()]],[V]:[0,tt],[p]:[0,st],[c+v]:[1,nt,[os],e=>[fs(...e)]],[v]:[1,at,[os],e=>ze(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),j(Js)},Qe=2**36,Ue=2**30,Xe=2**24,Ye=2**18,Ze=4096,_e=64,et=e=>String.fromCharCode(48+(63&e)),tt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,st={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},nt=(e=t)=>[Je(e),Je(e)];exports.createMergeableStore=e=>{let s=1,n=nt(),a=0;const l=le(),r=Y(),[o,c]=(e=>{let t=0,s=-1;const n=pe(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[tt(r=e,0)*Qe+tt(r,1)*Ue+tt(r,2)*Xe+tt(r,3)*Ye+tt(r,4)*Ze+tt(r,5)*_e+tt(r,6),tt(r,7)*Ye+tt(r,8)*Ze+tt(r,9)*_e+tt(r,10),tt(r,11)*Xe+tt(r,12)*Ye+tt(r,13)*Ze+tt(r,14)*_e+tt(r,15)];var r;t=I(n,a,Date.now()),s=t==n?t==a?I(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,et((e=t)/Qe)+et(e/Ue)+et(e/Xe)+et(e/Ye)+et(e/Ze)+et(e/_e)+et(e)+et(l/Ye)+et(l/Ze)+et(l/_e)+et(l)+et(r/Xe)+et(r/Ye)+et(r/Ze)+et(r/_e)+et(r);var e,l,r},a]})(e),i=Ke(),d=e=>{const t=s;return s=0,e(),s=t,f},u=(e,s=0)=>{const a={},l={},[[r,o=t,i=0],d]=e,[u,h]=n,[b,f,C]=u;let T=s?i:C,v=o;G(r,(([e,n=t,l=0],r)=>{const o=de(b,r,Je),[c,i,d]=o;let u=s?l:d,h=n;G(e,((e,t)=>{const[n,l,o]=g(e,de(c,t,Je),U(U(a,r,$),t,$),s);u^=s?0:(l?Me(t,l):0)^Me(t,o),h=me(h,n)})),u^=s?0:Re(i,n),Le(o,u,n),T^=s?0:(d?Me(r,d):0)^Me(r,o[2]),v=me(v,h)})),T^=s?0:Re(f,o),Le(u,T,o);const[V]=g(d,h,l,s);return c(me(v,V)),[a,l,1]},g=(e,s,n,a)=>{const[l,r=t,o=0]=e,[c,i,d]=s;let u=r,g=a?o:d;return G(l,(([e,s,l=0],r)=>{const o=de(c,r,(()=>[void 0,t,0])),[,i,d]=o;(!i||s>i)&&(Le(o,a?l:pe(qe(e??null)+":"+s),s),o[0]=e,n[r]=e,g^=a?0:Me(r,d)^Me(r,o[2]),u=me(u,s))})),g^=a?0:Re(i,r),Le(s,g,r),[u,d,s[2]]},h=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],b=e=>d((()=>i.applyChanges(u(e)))),f={getId:()=>e,getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Ie),getMergeableTableDiff:e=>{const t=He(n[0][1]),s={};return ce(n[0][0],((n,[a,l,r])=>q(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=De([a,l],(e=>De(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n,,a])=>a!=e?ce(n,((e,[,,n])=>U(t,s,$)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=He(n[0][1]),s={};return G(e,((e,a)=>ce(oe(n[0][0],a)?.[0],((n,[l,r,o])=>q(e,n)?o!==e[n]?U(s,a,$)[n]=o:0:U(t[0],a,He)[0][n]=De([l,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return G(e,((e,s)=>m(oe(n[0][0],s),(([n])=>G(e,((e,a)=>m(oe(n,a),(([n,,l])=>l!==e?ce(n,((e,[,,n])=>U(U(t,s,$),a,$)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return G(e,((e,s)=>G(e,((e,n)=>m(oe(t,s),(([t,l])=>m(oe(t,n),(([t,r])=>ce(t,((t,[o,c,i])=>i!==e[t]?U(U(a,s,(()=>He(l)))[0],n,(()=>He(r)))[0][t]=[o,c]:0)))))))))),ye(a,s)},getMergeableValuesHashes:()=>ge(n[1][0],Ie),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=ge(t,Se,(([,,t],s)=>t==e?.[s]));return ye(a,s)},setMergeableContent:e=>d((()=>(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=nt(),i.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{a=1,i.setContent(e),a=0})),f),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,o={};ne(l,((t,s)=>m(oe(e,s),(([e,n])=>{const a={};ne(t,((t,s)=>m(oe(e,s),(([e,n])=>{const l={};ne(t,(t=>{m(oe(e,t),(([e,s])=>l[t]=ye(e,s)))})),a[s]=ye(l,n)})))),o[s]=ye(a,n)}))));const c={};return ne(r,(e=>m(oe(s,e),(([t,s])=>c[e]=ye(t,s))))),[ye(o,t),ye(c,a),1]},applyMergeableChanges:b,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),b(s)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{se(l),se(r)}),((e,n,r,c)=>{Z(de(de(l,e,le),n,Y),r),s&&u([[{[e]:[{[n]:[{[r]:[c,a?t:o()]}]}]}],[{}],1])}),((e,n)=>{Z(r,e),s&&u([[{}],[{[e]:[n,a?t:o()]}],1])})),K(i,((e,t)=>f[t]=S(t,"set")||S(t,"del")||S(t,"apply")||y(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),f):S(t,"add")&&y(t,"Listener")?(...s)=>{const n=st[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(f,...t),e(...s)}:e)),j(f)};
Binary file
@@ -1 +1 @@
1
- "use strict";const e=e=>typeof e,t="",r=e(t),n=e(e),s=Math.max,i=Math.min,o=isFinite,c=e=>null==e,a=(e,t,r)=>c(e)?r?.():t(e),d=e=>Array.isArray(e),l=e=>e.length,u=()=>{},v=(e,t)=>e.forEach(t),h=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,w=e=>c(e)||0==L(e),y=e=>[...e?.values()??[]],p=e=>e.clear(),b=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>b(e,((e,r)=>t(r,e))),S=(e,t,r)=>c(r)?(I(e,t),e):e?.set(t,r),T=(e,t,r)=>(m(e,t)||S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>a((r?T:E)(e,t[s],s>l(t)-2?r:x),(i=>{if(s>l(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return w(i)&&S(e,t[s]),o})),z=x([["avg",[(e,t)=>h(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:s(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["sum",[e=>h(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(d(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,j=(s=>{const i=new WeakMap;return s=>(i.has(s)||i.set(s,(s=>{const i=x(),[h,M,j]=(e=>{let r;const[n,s]=(()=>{const e=[];let r=0;return[n=>(n?e.shift():null)??t+r++,t=>{N.test(t)&&l(e)<1e3&&f(e,t)}]})(),i=x();return[(e,s,o,c=[],a=(()=>[]))=>{r??=P;const d=n(1);return S(i,d,[e,s,o,c,a]),D(k(s,o??[t],A),d),d},(e,n,...s)=>v(((e,r=[t])=>{const n=[],s=(e,t)=>t==l(r)?f(n,e):null===r[t]?b(e,(e=>s(e,t+1))):v([r[t],null],(r=>s(E(e,r),t+1)));return s(e,0),n})(e,n),(e=>b(e,(e=>E(i,e)[0](r,...n??[],...s))))),e=>a(E(i,e),(([,r,n])=>(k(r,n??[t],void 0,(t=>(I(t,e),w(t)?1:0))),S(i,e),s(e),n))),e=>a(E(i,e),(([e,,t=[],n,s])=>{const i=(...o)=>{const a=l(o);a==l(t)?e(r,...o,...s(o)):c(t[a])?v(n[a]?.(...o)??[],(e=>i(...o,e))):i(...o,t[a])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,r,n,s,i)=>{const o=e.hasRow,u=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(t,r,...n)=>{const s=T(L,t,A);return v(n,(t=>D(s,t)&&r&&e.callListener(t))),n},z=(t,...r)=>a(E(L,t),(n=>{v(0==l(r)?y(n):r,(t=>{e.delListener(t),I(n,t)})),w(n)&&S(L,t)})),N=(e,t)=>{S(u,e,t),m(h,e)||(S(h,e,r()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(u,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return e=u,[...e?.keys()??[]];var e},e=>R(h,e),e=>m(h,e),e=>E(u,e),e=>E(h,e),(e,t)=>S(h,e,t),N,(r,n,s,i,a)=>{N(r,n);const u=x(),h=x(),M=E(f,r),L=E(g,r),w=r=>{const s=t=>e.getCell(n,r,t),v=E(M,r),f=o(n,r)?(g=i(s,r),isNaN(g)||c(g)||!0===g||!1===g||g===t?void 0:1*g):void 0;var g,m,w,y;if(v===f||d(v)&&d(f)&&(w=f,l(m=v)===l(w)&&(y=(e,t)=>w[t]===e,m.every(y)))||S(u,r,[v,f]),!c(a)){const e=E(L,r),t=o(n,r)?a(s,r):void 0;e!=t&&S(h,r,t)}},y=e=>{s((()=>{b(u,(([,e],t)=>S(M,t,e))),b(h,((e,t)=>S(L,t,e)))}),u,h,M,L,e),p(u),p(h)};R(M,w),e.hasTable(n)&&v(e.getRowIds(n),(e=>{m(M,e)||w(e)})),y(!0),z(r),k(r,0,e.addRowListener(n,null,((e,t,r)=>w(r))),e.addTableListener(n,(()=>y())))},j,e=>s(e,M),()=>R(L,j),k,z]})(s,u,0,h,M),P={setMetricDefinition:(t,s,a,d,l,u,v)=>{const h=e(a)==n?[a,l,u,v]:E(z,a)??E(z,"sum");return G(t,s,((e,r,n,s,a,d)=>{const l=q(t),u=L(s);d||=c(l),e();let v=((e,t,r,n,s,i=!1)=>{if(w(r))return;const[o,a,d,l]=s;return i||=c(e),b(n,(([r,n])=>{i||(e=c(r)?a?.(e,n,t++):c(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=c(e))})),i?o(y(r),L(r)):e})(l,u,s,r,h,d);o(v)||(v=void 0),v!=l&&(B(t,v),M(i,[t],v,l))}),(1,e(f=d)==r?e=>e(f):f??(()=>1))),P;var f},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,t)=>h(t,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(s)),i.get(s))})();exports.createMetrics=j;
1
+ "use strict";const e=e=>typeof e,t="",r=e(t),n=e(e),s=Math.max,i=Math.min,o=isFinite,c=e=>null==e,a=(e,t,r)=>c(e)?r?.():t(e),d=e=>Array.isArray(e),l=e=>e.length,u=()=>{},v=(e,t)=>e.forEach(t),h=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),f=(e,...t)=>e.push(...t),g=Object.freeze,L=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,w=e=>c(e)||0==L(e),y=e=>[...e?.values()??[]],p=e=>e.clear(),b=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>b(e,((e,r)=>t(r,e))),S=(e,t,r)=>c(r)?(I(e,t),e):e?.set(t,r),T=(e,t,r,n)=>(m(e,t)?n?.(E(e,t)):S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>a((r?T:E)(e,t[s],s>l(t)-2?r:x),(i=>{if(s>l(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return w(i)&&S(e,t[s]),o})),z=x([["avg",[(e,t)=>h(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>s(...e),(e,t)=>s(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:s(t,e)]],["min",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["sum",[e=>h(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(d(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,j=((s,i)=>{const h=new WeakMap;return s=>{h.has(s)||h.set(s,(s=>{const i=x(),[h,M,j]=(e=>{let r;const[n,s]=(()=>{const e=[];let r=0;return[n=>(n?e.shift():null)??t+r++,t=>{N.test(t)&&l(e)<1e3&&f(e,t)}]})(),i=x();return[(e,s,o,c=[],a=(()=>[]))=>{r??=P;const d=n(1);return S(i,d,[e,s,o,c,a]),D(k(s,o??[t],A),d),d},(e,n,...s)=>v(((e,r=[t])=>{const n=[],s=(e,t)=>t==l(r)?f(n,e):null===r[t]?b(e,(e=>s(e,t+1))):v([r[t],null],(r=>s(E(e,r),t+1)));return s(e,0),n})(e,n),(e=>b(e,(e=>E(i,e)[0](r,...n??[],...s))))),e=>a(E(i,e),(([,r,n])=>(k(r,n??[t],void 0,(t=>(I(t,e),w(t)?1:0))),S(i,e),s(e),n))),e=>a(E(i,e),(([e,,t=[],n,s])=>{const i=(...o)=>{const a=l(o);a==l(t)?e(r,...o,...s(o)):c(t[a])?v(n[a]?.(...o)??[],(e=>i(...o,e))):i(...o,t[a])};i()}))]})(),[C,F,O,W,$,q,B,,G,H,J,K]=((e,r,n,s,i)=>{const o=e.hasRow,u=x(),h=x(),M=x(),f=x(),g=x(),L=x(),k=(t,r,...n)=>{const s=T(L,t,A);return v(n,(t=>D(s,t)&&r&&e.callListener(t))),n},z=(t,...r)=>a(E(L,t),(n=>{v(0==l(r)?y(n):r,(t=>{e.delListener(t),I(n,t)})),w(n)&&S(L,t)})),N=(e,t)=>{S(u,e,t),m(h,e)||(S(h,e,r()),S(f,e,x()),S(g,e,x()),i(M))},j=e=>{S(u,e),S(h,e),S(f,e),S(g,e),z(e),i(M)};return[()=>e,()=>{return e=u,[...e?.keys()??[]];var e},e=>R(h,e),e=>m(h,e),e=>E(u,e),e=>E(h,e),(e,t)=>S(h,e,t),N,(r,n,s,i,a)=>{N(r,n);const u=x(),h=x(),M=E(f,r),L=E(g,r),w=r=>{const s=t=>e.getCell(n,r,t),v=E(M,r),f=o(n,r)?(g=i(s,r),isNaN(g)||c(g)||!0===g||!1===g||g===t?void 0:1*g):void 0;var g,m,w,y;if(v===f||d(v)&&d(f)&&(w=f,l(m=v)===l(w)&&(y=(e,t)=>w[t]===e,m.every(y)))||S(u,r,[v,f]),!c(a)){const e=E(L,r),t=o(n,r)?a(s,r):void 0;e!=t&&S(h,r,t)}},y=e=>{s((()=>{b(u,(([,e],t)=>S(M,t,e))),b(h,((e,t)=>S(L,t,e)))}),u,h,M,L,e),p(u),p(h)};R(M,w),e.hasTable(n)&&v(e.getRowIds(n),(e=>{m(M,e)||w(e)})),y(!0),z(r),k(r,0,e.addRowListener(n,null,((e,t,r)=>w(r))),e.addTableListener(n,(()=>y())))},j,e=>s(e,M),()=>R(L,j),k,z]})(s,u,0,h,M),P={setMetricDefinition:(t,s,a,d,l,u,v)=>{const h=e(a)==n?[a,l,u,v]:E(z,a)??E(z,"sum");return G(t,s,((e,r,n,s,a,d)=>{const l=q(t),u=L(s);d||=c(l),e();let v=((e,t,r,n,s,i=!1)=>{if(w(r))return;const[o,a,d,l]=s;return i||=c(e),b(n,(([r,n])=>{i||(e=c(r)?a?.(e,n,t++):c(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=c(e))})),i?o(y(r),L(r)):e})(l,u,s,r,h,d);o(v)||(v=void 0),v!=l&&(B(t,v),M(i,[t],v,l))}),(1,e(f=d)==r?e=>e(f):f??(()=>1))),P;var f},delMetricDefinition:e=>(H(e),P),getStore:C,getMetricIds:F,forEachMetric:O,hasMetric:W,getTableId:$,getMetric:q,addMetricIdsListener:J,addMetricListener:(e,t)=>h(t,i,[e]),delListener:e=>(j(e),P),destroy:K,getListenerStats:()=>({})};return g(P)})(s));return h.get(s)}})();exports.createMetrics=j;
Binary file
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,o=a.freeze,c=(t,a)=>e(t,(t=>t[a])),r=(e,a)=>!t(c(e,a)),i=(t,e)=>(delete t[e],t),d=(t,e)=>((t,e)=>t.map(e))(a.entries(t),(([t,a])=>e(a,t))),y=t=>n(t).length,u=n=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(n)&&0==y(n),v=t=>new Map(t),h=(t,e)=>t?.get(e),l=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},w=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||l(t,e,a()),h(t,e)},g=v(),p=v(),A=(t,e)=>[t[e].t,t[e].v],f=(e,a,s,n)=>{const o=t(a)?e:((t,e,a)=>(r(t,e)||(t[e]={}),t[e]))(e,a);let c;return d(s,((t,e)=>{n(o,e,t)&&(c=1)})),d(o,((t,e)=>{r(s,e)||(i(o,e),c=1)})),!t(a)&&u(o)&&i(e,a),c};exports.createAutomergePersister=(a,s,n="tinybase",r)=>(s.change((t=>t[n]={})),((a,s,n,c,r,i,[d,y]=[],v=[])=>{let A,f,L,S=0,C=0;w(g,v,(()=>0)),w(p,v,(()=>[]));const m=async t=>(2!=S&&(S=1,await b.schedule((async()=>{await t(),S=0}))),b),b={load:async(t,e)=>await m((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(b.stopAutoLoad(),await b.load(t,e),C=1,L=c((async(t,e)=>{if(e){const t=e();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(t?.()??await s())}catch(t){i?.(t)}}))})),b),stopAutoLoad:()=>(C&&(r(L),L=void 0,C=0),b),save:async t=>(1!=S&&(S=2,await b.schedule((async()=>{try{await n(a.getContent,t)}catch(t){i?.(t)}S=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),A=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();u(a)&&u(s)||b.save((()=>[a,s]))})),b),stopAutoSave:()=>(e(A,a.delListener),A=void 0,b),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(h(p,v),...e),await(async()=>{if(!h(g,v)){for(l(g,v,1);!t((e=h(p,v),f=e.shift()));)try{await f()}catch(t){i?.(t)}l(g,v,0)}var e})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(b[d]=()=>y),o(b)})(a,(async()=>2==y(s.doc[n])?A(s.doc,n):void 0),(async(a,o)=>s.change((s=>((a,s,n,o)=>{((t,e)=>{u(t[e])&&(t[e]={t:{},v:{}})})(a,s);const[r,y]=A(a,s),v=()=>{h=1};let h=1;if(e(o?.(),(([a,s])=>{h=0,d(a,((a,s)=>h?0:t(a)?i(r,s):e(r[s],(s=>d(a,((a,n)=>h?0:t(a)?i(s,n):e(c(s,n),(e=>d(a,((a,s)=>t(a)?i(e,s):e[s]=a))),v)))),v))),d(s,((e,a)=>h?0:t(e)?i(y,a):y[a]=e))})),h){const[t,e]=n();f(r,void 0,t,((t,e,a)=>f(r,e,a,((t,e,a)=>f(t,e,a,((t,e,a)=>{if(c(t,e)!==a)return t[e]=a,1})))))),f(y,void 0,e,((t,e,a)=>{c(y,e)!==a&&(y[e]=a)}))}})(s,n,a,o)))),(t=>{const e=({doc:e})=>t((()=>A(e,n)));return s.on("change",e),e}),(t=>{s.removeListener("change",t)}),r,["getDocHandle",s]));
1
+ "use strict";const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=Object,n=t=>a.getPrototypeOf(t),s=a.entries,o=a.keys,r=a.freeze,c=(t,a)=>e(t,(t=>t[a])),i=(t,e)=>e in t,g=(t,e)=>(delete t[e],t),y=(t,e)=>((t,e)=>t.map(e))(s(t),(([t,a])=>e(a,t))),d=t=>o(t).length,u=s=>(s=>!t(s)&&e(n(s),(e=>e==a.prototype||t(n(e))),(()=>!0)))(s)&&0==d(s),l=t=>new Map(t),h=(t,e)=>t?.get(e),v=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},p=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(h(t,e)):v(t,e,a()),h(t,e)},w=l(),A=l(),C=(t,e)=>[t[e].t,t[e].v],f=(e,a,n,s)=>{const o=t(a)?e:((t,e,a)=>(i(t,e)||(t[e]={}),t[e]))(e,a);let r;return y(n,((t,e)=>{s(o,e,t)&&(r=1)})),y(o,((t,e)=>{i(n,e)||(g(o,e),r=1)})),!t(a)&&u(o)&&g(e,a),r};exports.createAutomergePersister=(a,n,s="tinybase",o)=>(n.change((t=>t[s]={})),((a,n,s,o,c,i,g,y={},d=[])=>{let l,C,f,L=0;p(w,d,(()=>0)),p(A,d,(()=>[]));const[b,S,M,m,D]=((e,a)=>!e||t(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,e])=>!u(t)||!u(e),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[e]])=>!u(t)||!u(e),a.setDefaultContent])(g,a),T=async t=>(2!=L&&(L=1,await P.schedule((async()=>{await t(),L=0}))),P),O=t=>{var e;(b&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},P={load:async t=>await T((async()=>{try{O(await n())}catch(e){i?.(e),t&&D(t)}})),startAutoLoad:async t=>(await P.stopAutoLoad().load(t),C=o((async(t,e)=>{const a=e?.();await T((async()=>{try{O(a??t?.()??await n())}catch(t){i?.(t)}}))})),P),stopAutoLoad:()=>(C&&(c(C),C=void 0),P),isAutoLoading:()=>!t(C),save:async t=>(1!=L&&(L=2,await P.schedule((async()=>{try{await s(S,t)}catch(t){i?.(t)}L=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),f=a.addDidFinishTransactionListener((()=>{const t=M();m(t)&&P.save((()=>t))})),P),stopAutoSave:()=>(e(f,a.delListener),f=void 0,P),isAutoSaving:()=>!t(f),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(h(A,d),...e),await(async()=>{if(!h(w,d)){for(v(w,d,1);!t((e=h(A,d),l=e.shift()));)try{await l()}catch(t){i?.(t)}v(w,d,0)}var e})(),P),getStore:()=>a,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...y};return r(P)})(a,(async()=>{const t=await n.doc();return 2==d(t[s])?C(t,s):void 0}),(async(a,o)=>n.change((n=>((a,n,s,o)=>{((t,e)=>{u(t[e])&&(t[e]={t:{},v:{}})})(a,n);const[r,i]=C(a,n),d=()=>{l=1};let l=1;if(e(o?.(),(([a,n])=>{l=0,y(a,((a,n)=>l?0:t(a)?g(r,n):e(r[n],(n=>y(a,((a,s)=>l?0:t(a)?g(n,s):e(c(n,s),(e=>y(a,((a,n)=>t(a)?g(e,n):e[n]=a))),d)))),d))),y(n,((e,a)=>l?0:t(e)?g(i,a):i[a]=e))})),l){const[t,e]=s();f(r,void 0,t,((t,e,a)=>f(r,e,a,((t,e,a)=>f(t,e,a,((t,e,a)=>{if(c(t,e)!==a)return t[e]=a,1})))))),f(i,void 0,e,((t,e,a)=>{c(i,e)!==a&&(i[e]=a)}))}})(n,s,a,o)))),(t=>{const e=({doc:e})=>t((()=>C(e,s)));return n.on("change",e),e}),(t=>{n.removeListener("change",t)}),o,!1,{getDocHandle:()=>n}));
@@ -1 +1 @@
1
- "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,o=a.freeze,r=o=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(o)&&0==(t=>n(t).length)(o),c=JSON.parse,i=t=>new Map(t),y=(t,e)=>t?.get(e),d=(e,a,s)=>{return t(s)?(n=e,o=a,n?.delete(o),e):e?.set(a,s);var n,o},u=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||d(t,e,a()),y(t,e)},l=i(),w=i(),g="storage",v=globalThis.window,p=(s,n,i,p)=>((a,s,n,c,i,g,[v,p]=[],h=[])=>{let S,f,A,L=0,m=0;u(l,h,(()=>0)),u(w,h,(()=>[]));const C=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(t,e)=>await C((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(O.stopAutoLoad(),await O.load(t,e),m=1,A=c((async(t,e)=>{if(e){const t=e();await C((async()=>a.setTransactionChanges(t)))}else await C((async()=>{try{a.setContent(t?.()??await s())}catch(t){g?.(t)}}))})),O),stopAutoLoad:()=>(m&&(i(A),A=void 0,m=0),O),save:async t=>(1!=L&&(L=2,await O.schedule((async()=>{try{await n(a.getContent,t)}catch(t){g?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),S=a.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();r(a)&&r(s)||O.save((()=>[a,s]))})),O),stopAutoSave:()=>(e(S,a.delListener),S=void 0,O),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(y(w,h),...e),await(async()=>{if(!y(l,h)){for(d(l,h,1);!t((e=y(w,h),f=e.shift()));)try{await f()}catch(t){g?.(t)}d(l,h,0)}var e})(),O),getStore:()=>a,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(O[v]=()=>p),o(O)})(s,(async()=>c(i.getItem(n))),(async t=>{return i.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?a.fromEntries([...e]):e))));var e}),(t=>{const e=e=>{e.storageArea===i&&e.key===n&&t((()=>c(e.newValue)))};return v.addEventListener(g,e),e}),(t=>v.removeEventListener(g,t)),p,["getStorageName",n]);exports.createLocalPersister=(t,e,a)=>p(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>p(t,e,sessionStorage,a);
1
+ "use strict";const t=t=>null==t,e=(e,a,s)=>t(e)?s?.():a(e),a=Object,s=t=>a.getPrototypeOf(t),n=a.keys,r=a.freeze,o=r=>(n=>!t(n)&&e(s(n),(e=>e==a.prototype||t(s(e))),(()=>!0)))(r)&&0==(t=>n(t).length)(r),i=JSON.parse,c=t=>new Map(t),g=(t,e)=>t?.get(e),y=(e,a,s)=>{return t(s)?(n=e,r=a,n?.delete(r),e):e?.set(a,s);var n,r},l=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(g(t,e)):y(t,e,a()),g(t,e)},u=c(),d=c(),v="storage",p=globalThis.window,h=(a,s,n,c)=>((a,s,n,i,c,v,p,h={},w=[])=>{let S,A,C,L=0;l(u,w,(()=>0)),l(d,w,(()=>[]));const[b,f,M,O,m]=((e,a)=>!e||t(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,e])=>!o(t)||!o(e),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),a.setDefaultContent])(p,a),N=async t=>(2!=L&&(L=1,await J.schedule((async()=>{await t(),L=0}))),J),T=t=>{var e;(b&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},J={load:async t=>await N((async()=>{try{T(await s())}catch(e){v?.(e),t&&m(t)}})),startAutoLoad:async t=>(await J.stopAutoLoad().load(t),A=i((async(t,e)=>{const a=e?.();await N((async()=>{try{T(a??t?.()??await s())}catch(t){v?.(t)}}))})),J),stopAutoLoad:()=>(A&&(c(A),A=void 0),J),isAutoLoading:()=>!t(A),save:async t=>(1!=L&&(L=2,await J.schedule((async()=>{try{await n(f,t)}catch(t){v?.(t)}L=0}))),J),startAutoSave:async()=>(await J.stopAutoSave().save(),C=a.addDidFinishTransactionListener((()=>{const t=M();O(t)&&J.save((()=>t))})),J),stopAutoSave:()=>(e(C,a.delListener),C=void 0,J),isAutoSaving:()=>!t(C),schedule:async(...e)=>(((t,...e)=>{t.push(...e)})(g(d,w),...e),await(async()=>{if(!g(u,w)){for(y(u,w,1);!t((e=g(d,w),S=e.shift()));)try{await S()}catch(t){v?.(t)}y(u,w,0)}var e})(),J),getStore:()=>a,destroy:()=>J.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...h};return r(J)})(a,(async()=>{return t=n.getItem(s),JSON.parse(t,((t,e)=>""===e?void 0:e));var t}),(async t=>{return n.setItem(s,(e=t(),JSON.stringify(e,((t,e)=>void 0===e?"":e))));var e}),(t=>{const e=e=>{e.storageArea===n&&e.key===s&&t((()=>i(e.newValue)))};return p.addEventListener(v,e),e}),(t=>p.removeEventListener(v,t)),c,!0,{getStorageName:()=>s});exports.createLocalPersister=(t,e,a)=>h(t,e,localStorage,a),exports.createSessionPersister=(t,e,a)=>h(t,e,sessionStorage,a);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),A=a=>0==y(a),L=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),h=Object,C=a=>h.getPrototypeOf(a),D=h.keys,S=h.freeze,g=(a=[])=>h.fromEntries(a),I=(...a)=>h.assign({},...a),b=(a,t)=>p(h.entries(a),(([a,e])=>t(e,a))),F=a=>h.values(a),M=a=>y(D(a)),$=a=>(a=>!o(a)&&r(C(a),(a=>a==h.prototype||o(C(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>o(e)?(N(a,t),a):a?.set(t,e),j=(a,t,e)=>(R(a,t)||W(a,t,e()),B(a,t)),x=(a,t,e,s=W)=>(b(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!o(((a,t)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),U=a=>new Set(Array.isArray(a)||o(a)?a:[a]),Y=(a,t)=>a?.add(t),k=T+"*FROM",G="FROM pragma_table_",J="WHERE",q=(a,t,s)=>{const n=P();return[async()=>x(n,g(await E(p(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(p(await a(T+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,x(j(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?g(L(p(await a(k+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=U();b(i??{},(a=>p(D(a??{}),(a=>Y(l,a)))));const y=f(l);if(!w&&r&&A(y)&&R(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(A(y)||R(n,t)){const e=B(n,t),i=U(_(e));await E([...p(y,(async s=>{N(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!w&&c?p(f(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(p(y,(a=>e+v(a))))});`),W(n,t,P([[s,""],...p(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(b(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):A(y)||await z(a,t,s,D(e),[n,...F(e)])})));else if(A(y))R(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],o=[];b(i??{},((a,t)=>{O(c,t,...p(e,(t=>a?.[t]))),O(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(p(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(p(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>m(p(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;j(Q,l,(()=>0)),j(X,l,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(r(y,a.delListener),y=void 0,m),schedule:async(...a)=>(O(B(X,l),...a),await(async()=>{if(!B(Q,l)){for(W(Q,l,1);!o((a=B(X,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,l,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>w),S(m)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,w,l,y]=q(t,c,n);return Z(a,(async()=>await y((async()=>(await r(),V((await w(i,d))[u]?.[aa]??"null"))))),(async a=>await y((async()=>{var t;await r(),await l(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},ea=(a,t,e,s,n,[i,c,[r,w,l]],y,v)=>{const[T,m,p,A]=q(t,y,n),O=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await p(e,s,o,n,i,t)}))),R=async(a,t)=>w?await p(l,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await A((async()=>{await T();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await m(l,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),o(t)){const[t,e]=a();await O(t),await R(e)}else{const[a,e]=t();await O(a,!0),await R(e,!0)}}))),e,s,n,["getDb",v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},wa={load:0,save:0,[oa]:t+"_values"},la=(a,t,e,s)=>{const n=P();return b(a,((a,i)=>{const c=l(F(I(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y)=>{let E,u,v;const[m,p,A,L]=(a=>{const e=(a=>I(ra,w(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],U(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(F(I(wa,c)),0,M(wa)),r=o[2],y=U(r);return[0,s,[la(n,{[ca]:null,[ia]:d},ca,(a=>Y(y,a)&&a==r)),la(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>Y(y,t)&&t==r)),o],y]})(e);return(m?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(u??=e)&&n==(v??=n)||(a(),E=t,u=e)}catch{}},e=p,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=u=null,i(t)}),r,A,f(L),y)};exports.createCrSqliteWasmPersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),p="_",v="_id",g=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),O=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),b=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(b(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!r(a)&&l(S(a),(a=>a==R.prototype||r(S(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),U=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>r(e)?(L(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(f(a,t)?n?.(W(a,t)):$(a,t,e()),W(a,t)),G=(a,t,e,n=$)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),J=a=>new Set(y(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const c=H();return[async()=>G(c,M(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(c,t,G(k(c,t,H),e,((a,t,e)=>{e!=W(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(c,t))),async(t,e)=>((a,t)=>!r(W(W(c,a),t)))(t,e)?M(O(C(await a(Q+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=J();F(o??{},(a=>C(D(a??{}),(a=>q(u,a)))));const d=N(u);if(!y&&w&&h(d)&&f(c,t))return await a("DROP "+z+g(t)),void $(c,t);if(h(d)||f(c,t)){const n=W(c,t),i=J(U(n));await E([...C(d,(async s=>{L(i,s)||(await a(K+g(t)+"ADD"+g(s)),$(n,s,e))})),...!y&&l?C(N(i),(async e=>{e!=s&&(await a(K+g(t)+"DROP"+g(e)),$(n,e))})):[]])}else await a("CREATE "+z+g(t)+"("+g(s)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>n+g(a))))});`),$(c,t,H([[s,e],...C(d,(a=>[a,e]))]));if(y)r(o)?await a(V+g(t)+Z+" 1"):await E(F(o,(async(e,n)=>{r(e)?await a(V+g(t)+Z+g(s)+"=?",[n]):h(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(h(d))f(c,t)&&await a(V+g(t)+Z+" 1");else{const e=O(U(W(c,t)),(a=>a!=s)),n=[],r=[];F(o??{},((a,t)=>{T(n,t,...C(e,(t=>a?.[t]))),T(r,t)})),await ta(a,t,s,e,n,i),await a(V+g(t)+Z+g(s)+"NOT IN("+ea(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+g(t)+"("+g(s)+A(C(c,(a=>n+g(a))))+")VALUES"+u(i(`,(?${i(",?",d(c))})`,d(o)/(d(c)+1)),1)+(r?"ON CONFLICT("+g(s)+")DO UPDATE SET"+A(C(c,(a=>g(a)+"=excluded."+g(a))),n):e),C(o,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ca=(a,t,e,n,s,i,c,o={},w=[])=>{let u,d,E,p=0;k(sa,w,(()=>0)),k(ia,w,(()=>[]));const[v,g,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await f.schedule((async()=>{await a(),p=0}))),f),O=t=>{(v&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async a=>await h((async()=>{try{O(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await f.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{O(n??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(s(d),d=void 0),f),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await f.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T(W(ia,w),...a),await(async()=>{if(!W(sa,w)){for($(sa,w,1);!r((a=W(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}$(sa,w,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return I(f)},oa="store",ra=(a,t,e,n,s,[i],c,o,r,l)=>{const[w,y,u,d]=aa(t,c,s,l);return ca(a,(async()=>await d((async()=>(await w(),na((await y(i,v))[p]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,v,{[p]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},la=(a,t,e,n,s,[i,c,[o,l,w]],y,u,d,g)=>{const[m,A,C,h]=aa(t,y,s,g),T=async(a,t)=>await E(Y(c,(async([e,n,s,i],c)=>{t&&!_(a,c)||await C(e,n,a[c],s,i,t)}))),f=async(a,t)=>l?await C(w,v,{[p]:a},!0,!0,t):null;return ca(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(O(await E(Y(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,v))[p]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},va={load:0,save:0,[Ea]:t+"_values"},ga=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const c=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));r(c[0])||n(i,c[0])||$(s,i,c)})),s},ma="pragma ",Aa="data_version",Ca="schema_version",ha=(a,e,n,s,i,c,r,l,y="getDb",d)=>{let E,p,g;const[A,C,h,O]=(a=>{const e=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=e,o=u(j(P(va,c)),0,x(va)),r=o[2],l=J(r);return[0,n,[ga(s,{[da]:null,[ua]:v},da,(a=>q(l,a)&&a==r)),ga(i,{[Ea]:null,[ua]:v,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==r)),o],l]})(e);return(A?ra:la)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Aa))[0][Aa],e=(await n(ma+Ca))[0][Ca],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(g??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),r,h,N(O),l,y,d)};exports.createCrSqliteWasmPersister=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>a()),n,s,t);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,r=a=>null==a,o=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),N=Object,D=a=>N.getPrototypeOf(a),C=N.keys,S=N.freeze,b=(a=[])=>N.fromEntries(a),g=(...a)=>N.assign({},...a),I=(a,t)=>A(N.entries(a),(([a,e])=>t(e,a))),F=a=>N.values(a),M=a=>y(C(a)),$=a=>(a=>!r(a)&&o(D(a),(a=>a==N.prototype||r(D(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(R(a,t),a):a?.set(t,e),j=(a,t,e)=>(h(a,t)||W(a,t,e()),B(a,t)),Y=(a,t,e,s=W)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>o(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),k=a=>new Set(Array.isArray(a)||r(a)?a:[a]),q=(a,t)=>a?.add(t),x=T+"*FROM",G="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=P();return[async()=>Y(n,b(await E(A(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,b(A(await a(T+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,Y(j(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?b(L(A(await a(x+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,s,i,c,o,l=!1)=>{const w=k();I(i??{},(a=>A(C(a??{}),(a=>q(w,a)))));const y=O(w);if(!l&&o&&p(y)&&h(n,t))return await a("DROP TABLE"+v(t)),void W(n,t);if(p(y)||h(n,t)){const e=B(n,t),i=k(_(e));await E([...A(y,(async s=>{R(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),W(e,s,""))})),...!l&&c?A(O(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),W(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${m(A(y,(a=>e+v(a))))});`),W(n,t,P([[s,""],...A(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(I(i,(async(e,n)=>{r(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):p(y)||await z(a,t,s,C(e),[n,...F(e)])})));else if(p(y))h(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],r=[];I(i??{},((a,t)=>{f(c,t,...A(e,(t=>a?.[t]))),f(r,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+m(A(i,(a=>e+v(a))))+")VALUES"+w(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+m(A(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>m(A(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,l]=[],w=[])=>{let y,E,u,d=0,v=0;j(Q,w,(()=>0)),j(X,w,(()=>[]));const T=async a=>(2!=d&&(d=1,await m.schedule((async()=>{await a(),d=0}))),m),m={load:async(e,s)=>await T((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await T((async()=>a.setTransactionChanges(t)))}else await T((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),m),save:async t=>(1!=d&&(d=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(o(y,a.delListener),y=void 0,m),schedule:async(...a)=>(f(B(X,w),...a),await(async()=>{if(!B(Q,w)){for(W(Q,w,1);!r((a=B(X,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(Q,w,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(m[c]=()=>l),S(m)},aa="store",ta=(a,t,e,s,n,[i],c,r)=>{const[o,l,w,y]=U(t,c,n);return Z(a,(async()=>await y((async()=>(await o(),V((await l(i,d))[u]?.[aa]??"null"))))),(async a=>await y((async()=>{var t;await o(),await w(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",r],r)},ea=(a,t,e,s,n,[i,c,[o,l,w]],y,v)=>{const[T,m,A,p]=U(t,y,n),f=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const r=a[c];t&&void 0===r||await A(e,s,r,n,i,t)}))),h=async(a,t)=>l?await A(w,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await p((async()=>{await T();const a=await(async()=>b(L(await E(H(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>o?(await m(w,d))[u]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await p((async()=>{if(await T(),r(t)){const[t,e]=a();await f(t),await h(e)}else{const[a,e]=t();await f(a,!0),await h(e,!0)}}))),e,s,n,["getDb",v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",ra="tableName",oa={mode:sa,[na]:1},la={load:0,save:0,[ra]:t+"_values"},wa=(a,t,e,s)=>{const n=P();return I(a,((a,i)=>{const c=w(F(g(t,l(a)?{[e]:a}:a)),0,M(t));r(c[0])||s(i,c[0])||W(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,r,o,y)=>{let E,u,v;const[m,A,p,L]=(a=>{const e=(a=>g(oa,l(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,r=w(F(g(la,c)),0,M(la)),o=r[2],y=k(o);return[0,s,[wa(n,{[ca]:null,[ia]:d},ca,(a=>q(y,a)&&a==o)),wa(i,{[ra]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>q(y,t)&&t==o)),r],y]})(e);return(m?ta:ea)(a,r?async(a,t)=>(r(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(u??=e)&&n==(v??=n)||(a(),E=t,u=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=u=null,i(t)}),o,p,O(L),y)};exports.createElectricSqlPersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return s=({tablename:t})=>a(t),t.notifier.alias(e).forEach(s);var s}))),(a=>a()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),f=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),b=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),L=Object,R=a=>L.getPrototypeOf(a),S=L.entries,D=L.keys,I=L.freeze,M=(a=[])=>L.fromEntries(a),P=(...a)=>L.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(S(a),(([a,e])=>t(e,a))),j=a=>L.values(a),B=a=>d(D(a)),H=a=>(a=>!o(a)&&l(R(a),(a=>a==L.prototype||o(R(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),q=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(b(a,t)?n?.(k(a,t)):x(a,t,e()),k(a,t)),J=(a,t,e,n=x)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),U=a=>new Set(y(a)||o(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=Y();return[async()=>J(r,M(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,J(G(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!o(k(k(r,a),t)))(t,e)?M(f(C(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!H(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=U();F(c??{},(a=>C(D(a??{}),(a=>W(u,a)))));const d=N(u);if(!y&&w&&h(d)&&b(r,t))return await a("DROP "+z+v(t)),void x(r,t);if(h(d)||b(r,t)){const n=k(r,t),i=U($(n));await E([...C(d,(async s=>{O(i,s)||(await a(K+v(t)+"ADD"+v(s)),x(n,s,e))})),...!y&&l?C(N(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),x(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>n+v(a))))});`),x(r,t,Y([[s,e],...C(d,(a=>[a,e]))]));if(y)o(c)?await a(V+v(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+v(t)+Z+v(s)+"=?",[n]):h(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(h(d))b(r,t)&&await a(V+v(t)+Z+" 1");else{const e=f($(k(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{T(n,t,...C(e,(t=>a?.[t]))),T(o,t)})),await ta(a,t,s,e,n,i),await a(V+v(t)+Z+v(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+A(C(r,(a=>n+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(C(r,(a=>v(a)+"=excluded."+v(a))),n):e),C(c,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),n),na=JSON.parse,sa=Y(),ia=Y(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;G(sa,w,(()=>0)),G(ia,w,(()=>[]));const[p,v,m,A,C]=((a,t)=>!a||o(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent])(r,a),h=async a=>(2!=g&&(g=1,await b.schedule((async()=>{await a(),g=0}))),b),f=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b={load:async a=>await h((async()=>{try{f(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await b.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{f(n??a?.()??await t())}catch(a){i?.(a)}}))})),b),stopAutoLoad:()=>(d&&(s(d),d=void 0),b),isAutoLoading:()=>!o(d),save:async a=>(1!=g&&(g=2,await b.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&b.save((()=>a))})),b),stopAutoSave:()=>(l(E,a.delListener),E=void 0,b),isAutoSaving:()=>!o(E),schedule:async(...a)=>(T(k(ia,w),...a),await(async()=>{if(!k(sa,w)){for(x(sa,w,1);!o((a=k(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(sa,w,0)}var a})(),b),getStore:()=>a,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return I(b)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,v)=>{const[m,A,C,h]=aa(t,y,s,v),T=async(a,t)=>await E(q(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await C(e,n,a[r],s,i,t)}))),b=async(a,t)=>l?await C(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(f(await E(q(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await A(w,p))[g]:{})();return H(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),o(t)){const[t,e]=a();await T(t),await b(e)}else{const[a,e]=t();await T(a,!0),await b(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,B(t));o(r[0])||n(i,r[0])||x(s,i,r)})),s},ma="pragma ",Aa="data_version",Ca="schema_version",ha=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,v;const[A,C,h,f]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,B(pa)),o=c[2],l=U(o);return[0,n,[va(s,{[da]:null,[ua]:p},da,(a=>W(l,a)&&a==o)),va(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>W(l,t)&&t==o)),c],l]})(e);return(A?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Aa))[0][Aa],e=(await n(ma+Ca))[0][Ca],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(v??=s)||(a(),E=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,h,N(f),l,y,d)};exports.createElectricSqlPersister=(a,t,e,n,s)=>ha(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");
@@ -1 +1 @@
1
- "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=a=>t(a)==n,y=(a,t,e)=>a.slice(t,e),E=a=>a.length,u=async a=>c.all(a),d="_",v="_id",m=a=>`"${a.replace(/"/g,'""')}"`,p="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),L=a=>0==E(a),N=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,f=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),D=Object,C=a=>D.getPrototypeOf(a),S=D.keys,g=D.freeze,b=(a=[])=>D.fromEntries(a),I=(...a)=>D.assign({},...a),F=(a,t)=>T(D.entries(a),(([a,e])=>t(e,a))),M=a=>D.values(a),$=a=>E(S(a)),P=a=>(a=>!r(a)&&l(C(a),(a=>a==D.prototype||r(C(a))),(()=>!0)))(a)&&0==$(a),_=a=>new Map(a),x=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(h(a,t),a):a?.set(t,e),j=(a,t,e)=>(R(a,t)||W(a,t,e()),B(a,t)),q=(a,t,e,s=W)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),k=(a,t)=>a?.add(t),G=p+"*FROM",J="FROM pragma_table_",U="WHERE",z=(a,t,e)=>{const n=_();return[async()=>q(n,b(await u(T(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")ORDER BY name",t),(async({name:t})=>[t,b(T(await a(p+" name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,q(j(n,t,_),e,((a,t,e)=>{e!=B(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!r(B(B(n,a),t)))(t,e)?b(N(T(await a(G+m(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!P(t)))):{},async(t,e,i,c,o,l=!1)=>{const w=Y();F(i??{},(a=>T(S(a??{}),(a=>k(w,a)))));const y=f(w);if(!l&&o&&L(y)&&R(n,t))return await a("DROP TABLE"+m(t)),void W(n,t);if(L(y)||R(n,t)){const s=B(n,t),i=Y(x(s));await u([...T(y,(async e=>{h(i,e)||(await a(`ALTER TABLE${m(t)}ADD${m(e)}`),W(s,e,""))})),...!l&&c?T(f(i),(async n=>{n!=e&&(await a(`ALTER TABLE${m(t)}DROP${m(n)}`),W(s,n))})):[]])}else await a(`CREATE TABLE${m(t)}(${m(e)} PRIMARY KEY ON CONFLICT REPLACE${A(T(y,(a=>s+m(a))))});`),W(n,t,_([[e,""],...T(y,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+m(t)+"WHERE 1"):await u(F(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+m(t)+U+m(e)+"=?",[n]):L(y)||await K(a,t,e,S(s),[n,...M(s)])})));else if(L(y))R(n,t)&&await a("DELETE FROM"+m(t)+"WHERE 1");else{const s=N(x(B(n,t)),(a=>a!=e)),c=[],o=[];F(i??{},((a,t)=>{O(c,t,...T(s,(t=>a?.[t]))),O(o,t)})),await K(a,t,e,s,c),await a("DELETE FROM"+m(t)+U+m(e)+"NOT IN("+V(o)+")",o)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,c)=>await a("INSERT INTO"+m(t)+"("+m(e)+A(T(n,(a=>s+m(a))))+")VALUES"+y(i(`,(?${i(",?",E(n))})`,E(c)/(E(n)+1)),1)+"ON CONFLICT("+m(e)+")DO UPDATE SET"+A(T(n,(a=>m(a)+"=excluded."+m(a))),s),c),V=a=>A(T(a,(()=>"?")),s),Q=JSON.parse,X=_(),Z=_(),aa=(a,t,e,s,n,i,[c,o]=[],w=[])=>{let y,E,u,d=0,v=0;j(X,w,(()=>0)),j(Z,w,(()=>[]));const m=async a=>(2!=d&&(d=1,await p.schedule((async()=>{await a(),d=0}))),p),p={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),p),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),p),save:async t=>(1!=d&&(d=2,await p.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();P(e)&&P(s)||p.save((()=>[e,s]))})),p),stopAutoSave:()=>(l(y,a.delListener),y=void 0,p),schedule:async(...a)=>(O(B(Z,w),...a),await(async()=>{if(!B(X,w)){for(W(X,w,1);!r((a=B(Z,w),E=a.shift()));)try{await E()}catch(a){i?.(a)}W(X,w,0)}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(p[c]=()=>o),g(p)},ta="store",ea=(a,t,e,s,n,[i],c,o)=>{const[r,l,w,y]=z(t,c,n);return aa(a,(async()=>await y((async()=>(await r(),Q((await l(i,v))[d]?.[ta]??"null"))))),(async a=>await y((async()=>{var t;await r(),await w(i,v,{[d]:{[ta]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?D.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},sa=(a,t,e,s,n,[i,c,[o,l,w]],y,E)=>{const[m,p,A,T]=z(t,y,n),L=async(a,t)=>await u(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await A(e,s,o,n,i,t)}))),O=async(a,t)=>l?await A(w,v,{[d]:a},!0,!0,t):null;return aa(a,(async()=>await T((async()=>{await m();const a=await(async()=>b(N(await u(H(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>o?(await p(w,v))[d]:{})();return P(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),r(t)){const[t,e]=a();await L(t),await O(e)}else{const[a,e]=t();await L(a,!0),await O(e,!0)}}))),e,s,n,["getDb",E],E)},na="json",ia="autoLoadIntervalSeconds",ca="rowIdColumnName",oa="tableId",ra="tableName",la={mode:na,[ia]:1},wa={load:0,save:0,[ra]:e+"_values"},ya=(a,t,e,s)=>{const n=_();return F(a,((a,i)=>{const c=y(M(I(t,w(a)?{[e]:a}:a)),0,$(t));r(c[0])||s(i,c[0])||W(n,i,c)})),n},Ea="pragma ",ua="data_version",da="schema_version",va=(a,t,s,n,i,c,r,l)=>{let E,u,d;const[m,A,T,L]=(a=>{const t=(a=>I(la,w(a)?{storeTableName:a}:a??{}))(a),s=t[ia];if(t.mode==na){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=t,o=y(M(I(wa,c)),0,$(wa)),r=o[2],l=Y(r);return[0,s,[ya(n,{[oa]:null,[ca]:v},oa,(a=>k(l,a)&&a==r)),ya(i,{[ra]:null,[ca]:v,deleteEmptyColumns:0,deleteEmptyTable:0},ra,((a,t)=>k(l,t)&&t==r)),o],l]})(t);return(m?ea:sa)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+ua))[0][ua],e=(await s(Ea+da))[0][da],n=(await s(p+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(u??=e)&&n==(d??=n)||(a(),E=t,u=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=u=null,i(t)}),r,T,f(L),l)};exports.createExpoSqliteNextPersister=(t,e,s,n,i)=>va(t,s,(async(a,t=[])=>await e.allAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),n,i,e);
1
+ "use strict";var a=require("expo-sqlite/next");const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,A="SELECT",C=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),N=a=>0==E(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),D=R.entries,I=R.keys,M=R.freeze,P=(a=[])=>R.fromEntries(a),_=(...a)=>R.assign({},...a),x=(a,t)=>t in a,F=(a,t)=>h(D(a),(([a,e])=>t(e,a))),j=a=>R.values(a),q=a=>E(I(a)),B=a=>(a=>!l(a)&&y(S(a),(a=>a==R.prototype||l(S(a))),(()=>!0)))(a)&&0==q(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(L(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>x(t,e)?0:n(a,e))),a),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=A+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const c=H();return[async()=>U(c,P(await p(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(A+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(c,t,U(J(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(c,t))),async(t,e)=>((a,t)=>!l($($(c,a),t)))(t,e)?P(T(h(await a(X+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!B(t)))):{},async(t,e,o,r,y,w=!1)=>{const u=W();F(o??{},(a=>h(I(a??{}),(a=>z(u,a)))));const d=O(u);if(!w&&y&&N(d)&&L(c,t))return await a("DROP "+K+m(t)),void G(c,t);if(N(d)||L(c,t)){const s=$(c,t),i=W(Y(s));await p([...h(d,(async e=>{b(i,e)||(await a(V+m(t)+"ADD"+m(e)),G(s,e,n))})),...!w&&r?h(O(i),(async n=>{n!=e&&(await a(V+m(t)+"DROP"+m(n)),G(s,n))})):[]])}else await a("CREATE "+K+m(t)+"("+m(e)+` PRIMARY KEY ON CONFLICT REPLACE${C(h(d,(a=>s+m(a))))});`),G(c,t,H([[e,n],...h(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+m(t)+aa+" 1"):await p(F(o,(async(n,s)=>{l(n)?await a(Q+m(t)+aa+m(e)+"=?",[s]):N(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(N(d))L(c,t)&&await a(Q+m(t)+aa+" 1");else{const n=T(Y($(c,t)),(a=>a!=e)),s=[],r=[];F(o??{},((a,t)=>{f(s,t,...h(n,(t=>a?.[t]))),f(r,t)})),await ea(a,t,e,n,s,i),await a(Q+m(t)+aa+m(e)+"NOT IN("+na(r)+")",r)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+C(h(i,(a=>s+m(a))))+")VALUES"+d(c(`,(?${c(",?",E(i))})`,E(o)/(E(i)+1)),1)+(r?"ON CONFLICT("+m(e)+")DO UPDATE SET"+C(h(i,(a=>m(a)+"=excluded."+m(a))),s):n),h(o,(a=>a??null))),na=a=>C(h(a,(()=>"?")),s),sa=JSON.parse,ia=H(),ca=H(),oa=(a,t,e,n,s,i,c,o={},r=[])=>{let w,d,E,p=0;J(ia,r,(()=>0)),J(ca,r,(()=>[]));const[v,g,m,A,C]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await T.schedule((async()=>{await a(),p=0}))),T),N=t=>{(v&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T={load:async a=>await h((async()=>{try{N(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await T.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await h((async()=>{try{N(n??a?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(d&&(s(d),d=void 0),T),isAutoLoading:()=>!l(d),save:async a=>(1!=p&&(p=2,await T.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&T.save((()=>a))})),T),stopAutoSave:()=>(y(E,a.delListener),E=void 0,T),isAutoSaving:()=>!l(E),schedule:async(...a)=>(f($(ca,r),...a),await(async()=>{if(!$(ia,r)){for(G(ia,r,1);!l((a=$(ca,r),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,r,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return M(T)},ra="store",la=(a,t,e,n,s,[i],c,o,r,l)=>{const[y,w,u,d]=ta(t,c,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[v]?.[ra]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[v]:{[ra]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>o},o)},ya=(a,t,e,n,s,[i,c,[o,r,y]],w,u,d,E)=>{const[m,A,C,h]=ta(t,w,s,E),N=async(a,t)=>await p(k(c,(async([e,n,s,i],c)=>{t&&!x(a,c)||await C(e,n,a[c],s,i,t)}))),f=async(a,t)=>r?await C(y,g,{[v]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await m();const a=await(async()=>P(T(await p(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(y,g))[v]:{})();return B(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),l(t)){const[t,e]=a();await N(t),await f(e)}else{const[a,e]=t();await N(a,!0),await f(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",Ea="tableId",pa="tableName",va={mode:wa,[ua]:1},ga={load:0,save:0,[pa]:e+"_values"},ma=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const c=d(j(_(t,w(a)?{[e]:a}:a)),0,q(t));l(c[0])||n(i,c[0])||G(s,i,c)})),s},Aa="pragma ",Ca="data_version",ha="schema_version",Na=(a,t,n,s,i,c,o,l,y="getDb",u)=>{let E,p,v;const[m,C,h,N]=(a=>{const t=(a=>_(va,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,o=d(j(_(ga,c)),0,q(ga)),r=o[2],l=W(r);return[0,n,[ma(s,{[Ea]:null,[da]:g},Ea,(a=>z(l,a)&&a==r)),ma(i,{[pa]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>z(l,t)&&t==r)),o],l]})(t);return(m?la:ya)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(Aa+Ca))[0][Ca],e=(await n(Aa+ha))[0][ha],s=(await n(A+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(v??=s)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),o,h,O(N),l,y,u)};exports.createExpoSqliteNextPersister=(t,e,n,s,i)=>Na(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a.addDatabaseChangeListener((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);
@@ -1 +1 @@
1
- "use strict";const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t)=>a.repeat(t),i=Promise,c=clearInterval,o=a=>null==a,r=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,l=(a,t,e)=>a.slice(t,e),y=a=>a.length,E=async a=>i.all(a),u="_",d="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==y(a),L=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],f=(a,t)=>a?.delete(t),h=Object,D=a=>h.getPrototypeOf(a),C=h.keys,S=h.freeze,g=(a=[])=>h.fromEntries(a),b=(...a)=>h.assign({},...a),I=(a,t)=>T(h.entries(a),(([a,e])=>t(e,a))),F=a=>h.values(a),M=a=>y(C(a)),$=a=>(a=>!o(a)&&r(D(a),(a=>a==h.prototype||o(D(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),_=a=>[...a?.keys()??[]],B=(a,t)=>a?.get(t),H=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>o(e)?(f(a,t),a):a?.set(t,e),W=(a,t,e)=>(O(a,t)||x(a,t,e()),B(a,t)),j=(a,t,e,s=x)=>(I(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!o(((a,t)=>r(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||o(a)?a:[a]),k=(a,t)=>a?.add(t),q=m+"*FROM",G="FROM pragma_table_",J="WHERE",U=(a,t,s)=>{const n=P();return[async()=>j(n,g(await E(T(await a("SELECT name "+G+"list WHERE schema='main'AND type='table'AND name IN("+K(t)+")ORDER BY name",t),(async({name:t})=>[t,g(T(await a(m+" name,type "+G+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(n,t,j(W(n,t,P),e,((a,t,e)=>{e!=B(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(n,t))),async(t,e)=>((a,t)=>!o(B(B(n,a),t)))(t,e)?g(L(T(await a(q+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!o(a)&&!$(t)))):{},async(t,s,i,c,r,w=!1)=>{const l=Y();I(i??{},(a=>T(C(a??{}),(a=>k(l,a)))));const y=R(l);if(!w&&r&&p(y)&&O(n,t))return await a("DROP TABLE"+v(t)),void x(n,t);if(p(y)||O(n,t)){const e=B(n,t),i=Y(_(e));await E([...T(y,(async s=>{f(i,s)||(await a(`ALTER TABLE${v(t)}ADD${v(s)}`),x(e,s,""))})),...!w&&c?T(R(i),(async n=>{n!=s&&(await a(`ALTER TABLE${v(t)}DROP${v(n)}`),x(e,n))})):[]])}else await a(`CREATE TABLE${v(t)}(${v(s)} PRIMARY KEY ON CONFLICT REPLACE${A(T(y,(a=>e+v(a))))});`),x(n,t,P([[s,""],...T(y,(a=>[a,""]))]));if(w)o(i)?await a("DELETE FROM"+v(t)+"WHERE 1"):await E(I(i,(async(e,n)=>{o(e)?await a("DELETE FROM"+v(t)+J+v(s)+"=?",[n]):p(y)||await z(a,t,s,C(e),[n,...F(e)])})));else if(p(y))O(n,t)&&await a("DELETE FROM"+v(t)+"WHERE 1");else{const e=L(_(B(n,t)),(a=>a!=s)),c=[],o=[];I(i??{},((a,t)=>{N(c,t,...T(e,(t=>a?.[t]))),N(o,t)})),await z(a,t,s,e,c),await a("DELETE FROM"+v(t)+J+v(s)+"NOT IN("+K(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},z=async(a,t,s,i,c)=>await a("INSERT INTO"+v(t)+"("+v(s)+A(T(i,(a=>e+v(a))))+")VALUES"+l(n(`,(?${n(",?",y(i))})`,y(c)/(y(i)+1)),1)+"ON CONFLICT("+v(s)+")DO UPDATE SET"+A(T(i,(a=>v(a)+"=excluded."+v(a))),e),c),K=a=>A(T(a,(()=>"?")),e),V=JSON.parse,Q=P(),X=P(),Z=(a,t,e,s,n,i,[c,w]=[],l=[])=>{let y,E,u,d=0,v=0;W(Q,l,(()=>0)),W(X,l,(()=>[]));const m=async a=>(2!=d&&(d=1,await A.schedule((async()=>{await a(),d=0}))),A),A={load:async(e,s)=>await m((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),v=1,u=s((async(e,s)=>{if(s){const t=s();await m((async()=>a.setTransactionChanges(t)))}else await m((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(v&&(n(u),u=void 0,v=0),A),save:async t=>(1!=d&&(d=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),y=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(r(y,a.delListener),y=void 0,A),schedule:async(...a)=>(N(B(X,l),...a),await(async()=>{if(!B(Q,l)){for(x(Q,l,1);!o((a=B(X,l),E=a.shift()));)try{await E()}catch(a){i?.(a)}x(Q,l,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(A[c]=()=>w),S(A)},aa="store",ta=(a,t,e,s,n,[i],c,o)=>{const[r,w,l,y]=U(t,c,n);return Z(a,(async()=>await y((async()=>(await r(),V((await w(i,d))[u]?.[aa]??"null"))))),(async a=>await y((async()=>{var t;await r(),await l(i,d,{[u]:{[aa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?h.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,["getDb",o],o)},ea=(a,t,e,s,n,[i,c,[r,w,l]],y,v)=>{const[m,A,T,p]=U(t,y,n),N=async(a,t)=>await E(H(c,(async([e,s,n,i],c)=>{const o=a[c];t&&void 0===o||await T(e,s,o,n,i,t)}))),O=async(a,t)=>w?await T(l,d,{[u]:a},!0,!0,t):null;return Z(a,(async()=>await p((async()=>{await m();const a=await(async()=>g(L(await E(H(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>r?(await A(l,d))[u]:{})();return $(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await p((async()=>{if(await m(),o(t)){const[t,e]=a();await N(t),await O(e)}else{const[a,e]=t();await N(a,!0),await O(e,!0)}}))),e,s,n,["getDb",v],v)},sa="json",na="autoLoadIntervalSeconds",ia="rowIdColumnName",ca="tableId",oa="tableName",ra={mode:sa,[na]:1},wa={load:0,save:0,[oa]:t+"_values"},la=(a,t,e,s)=>{const n=P();return I(a,((a,i)=>{const c=l(F(b(t,w(a)?{[e]:a}:a)),0,M(t));o(c[0])||s(i,c[0])||x(n,i,c)})),n},ya="pragma ",Ea="data_version",ua="schema_version",da=(a,e,s,n,i,o,r,y)=>{let E,u,v;const[A,T,p,L]=(a=>{const e=(a=>b(ra,w(a)?{storeTableName:a}:a??{}))(a),s=e[na];if(e.mode==sa){const{storeTableName:a=t}=e;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=l(F(b(wa,c)),0,M(wa)),r=o[2],y=Y(r);return[0,s,[la(n,{[ca]:null,[ia]:d},ca,(a=>k(y,a)&&a==r)),la(i,{[oa]:null,[ia]:d,deleteEmptyColumns:0,deleteEmptyTable:0},oa,((a,t)=>k(y,t)&&t==r)),o],y]})(e);return(A?ta:ea)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ya+Ea))[0][Ea],e=(await s(ya+ua))[0][ua],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(u??=e)&&n==(v??=n)||(a(),E=t,u=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=u=null,i(t)}),r,p,R(L),y)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>da(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),p="_",g="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),N=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),f=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),b=Object,R=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(S(a),(([a,e])=>t(e,a))),x=a=>b.values(a),j=a=>d(D(a)),B=a=>(a=>!r(a)&&l(R(a),(a=>a==b.prototype||r(R(a))),(()=>!0)))(a)&&0==j(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>r(e)?(L(a,t),a):a?.set(t,e),G=(a,t,e,s)=>(f(a,t)?s?.($(a,t)):q(a,t,e()),$(a,t)),J=(a,t,e,s=q)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:s(a,e))),a),U=a=>new Set(y(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,n,i)=>{const c=H();return[async()=>J(c,M(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(c,t,J(G(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?M(N(C(await a(Q+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=U();F(o??{},(a=>C(D(a??{}),(a=>W(u,a)))));const d=O(u);if(!y&&w&&h(d)&&f(c,t))return await a("DROP "+z+v(t)),void q(c,t);if(h(d)||f(c,t)){const s=$(c,t),i=U(Y(s));await E([...C(d,(async n=>{L(i,n)||(await a(K+v(t)+"ADD"+v(n)),q(s,n,e))})),...!y&&l?C(O(i),(async e=>{e!=n&&(await a(K+v(t)+"DROP"+v(e)),q(s,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(n)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>s+v(a))))});`),q(c,t,H([[n,e],...C(d,(a=>[a,e]))]));if(y)r(o)?await a(V+v(t)+Z+" 1"):await E(F(o,(async(e,s)=>{r(e)?await a(V+v(t)+Z+v(n)+"=?",[s]):h(d)||await ta(a,t,n,D(e),[s,...x(e)],i)})));else if(h(d))f(c,t)&&await a(V+v(t)+Z+" 1");else{const e=N(Y($(c,t)),(a=>a!=n)),s=[],r=[];F(o??{},((a,t)=>{T(s,t,...C(e,(t=>a?.[t]))),T(r,t)})),await ta(a,t,n,e,s,i),await a(V+v(t)+Z+v(n)+"NOT IN("+ea(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},ta=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(n)+A(C(c,(a=>s+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(c))})`,d(o)/(d(c)+1)),1)+(r?"ON CONFLICT("+v(n)+")DO UPDATE SET"+A(C(c,(a=>v(a)+"=excluded."+v(a))),s):e),C(o,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),s),sa=JSON.parse,na=H(),ia=H(),ca=(a,t,e,s,n,i,c,o={},w=[])=>{let u,d,E,p=0;G(na,w,(()=>0)),G(ia,w,(()=>[]));const[g,v,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await f.schedule((async()=>{await a(),p=0}))),f),N=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f={load:async a=>await h((async()=>{try{N(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await f.stopAutoLoad().load(a),d=s((async(a,e)=>{const s=e?.();await h((async()=>{try{N(s??a?.()??await t())}catch(a){i?.(a)}}))})),f),stopAutoLoad:()=>(d&&(n(d),d=void 0),f),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await f.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),f),startAutoSave:async()=>(await f.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&f.save((()=>a))})),f),stopAutoSave:()=>(l(E,a.delListener),E=void 0,f),isAutoSaving:()=>!r(E),schedule:async(...a)=>(T($(ia,w),...a),await(async()=>{if(!$(na,w)){for(q(na,w,1);!r((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(na,w,0)}var a})(),f),getStore:()=>a,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return I(f)},oa="store",ra=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=aa(t,c,n,l);return ca(a,(async()=>await d((async()=>(await w(),sa((await y(i,g))[p]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[p]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,{[r]:()=>o},o)},la=(a,t,e,s,n,[i,c,[o,l,w]],y,u,d,v)=>{const[m,A,C,h]=aa(t,y,n,v),T=async(a,t)=>await E(k(c,(async([e,s,n,i],c)=>{t&&!_(a,c)||await C(e,s,a[c],n,i,t)}))),f=async(a,t)=>l?await C(w,g,{[p]:a},!0,!0,t):null;return ca(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(N(await E(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,g))[p]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),r(t)){const[t,e]=a();await T(t),await f(e)}else{const[a,e]=t();await T(a,!0),await f(e,!0)}}))),e,s,n,!1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},ga={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,s)=>{const n=H();return F(a,((a,i)=>{const c=u(x(P(t,w(a)?{[e]:a}:a)),0,j(t));r(c[0])||s(i,c[0])||q(n,i,c)})),n},ma="pragma ",Aa="data_version",Ca="schema_version",ha=(a,e,s,n,i,c,r,l,y="getDb",d)=>{let E,p,v;const[A,C,h,N]=(a=>{const e=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,s,[a],U(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=u(x(P(ga,c)),0,j(ga)),r=o[2],l=U(r);return[0,s,[va(n,{[da]:null,[ua]:g},da,(a=>W(l,a)&&a==r)),va(i,{[Ea]:null,[ua]:g,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?ra:la)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ma+Aa))[0][Aa],e=(await s(ma+Ca))[0][Ca],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&n==(v??=n)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),n((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),r,h,O(N),l,y,d)};exports.createExpoSqlitePersister=(a,t,e,s,n)=>ha(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),s,n,t);
@@ -1 +1 @@
1
- "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=t=>null==t,n=(t,a,e)=>s(t)?e?.():a(t),r=Object,o=t=>r.getPrototypeOf(t),i=r.keys,c=r.freeze,y=t=>(t=>!s(t)&&n(o(t),(t=>t==r.prototype||s(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),u=JSON.parse,d=t=>new Map(t),w=(t,a)=>t?.get(a),l=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},h=(t,a,e)=>{var s,n;return s=t,n=a,s?.has(n)||l(t,a,e()),w(t,a)},p=d(),v=d();exports.createFilePersister=(o,i,d)=>((t,a,e,r,o,i,[u,d]=[],f=[])=>{let g,A,S,L=0,C=0;h(p,f,(()=>0)),h(v,f,(()=>[]));const F=async t=>(2!=L&&(L=1,await O.schedule((async()=>{await t(),L=0}))),O),O={load:async(e,s)=>await F((async()=>{try{t.setContent(await a())}catch{t.setContent([e,s])}})),startAutoLoad:async(e={},s={})=>(O.stopAutoLoad(),await O.load(e,s),C=1,S=r((async(e,s)=>{if(s){const a=s();await F((async()=>t.setTransactionChanges(a)))}else await F((async()=>{try{t.setContent(e?.()??await a())}catch(t){i?.(t)}}))})),O),stopAutoLoad:()=>(C&&(o(S),S=void 0,C=0),O),save:async a=>(1!=L&&(L=2,await O.schedule((async()=>{try{await e(t.getContent,a)}catch(t){i?.(t)}L=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();y(e)&&y(s)||O.save((()=>[e,s]))})),O),stopAutoSave:()=>(n(g,t.delListener),g=void 0,O),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(w(v,f),...t),await(async()=>{if(!w(p,f)){for(l(p,f,1);!s((t=w(v,f),A=t.shift()));)try{await A()}catch(t){i?.(t)}l(p,f,0)}var t})(),O),getStore:()=>t,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u&&(O[u]=()=>d),c(O)})(o,(async()=>u(await a.readFile(i,e))),(async t=>{return await a.writeFile(i,(s=t(),JSON.stringify(s,((t,a)=>a instanceof Map?r.fromEntries([...a]):a))),e);var s}),(a=>t.watch(i,(()=>a()))),(t=>t?.close()),d,["getFilePath",i]);
1
+ "use strict";var t=require("fs"),a=require("fs/promises");const e="utf8",s=t=>null==t,r=(t,a,e)=>s(t)?e?.():a(t),n=Object,o=t=>n.getPrototypeOf(t),i=n.keys,c=n.freeze,y=t=>(t=>!s(t)&&r(o(t),(t=>t==n.prototype||s(o(t))),(()=>!0)))(t)&&0==(t=>i(t).length)(t),u=t=>new Map(t),l=(t,a)=>t?.get(a),g=(t,a,e)=>{return s(e)?(r=t,n=a,r?.delete(n),t):t?.set(a,e);var r,n},d=(t,a,e,s)=>{var r,n;return r=t,n=a,r?.has(n)?s?.(l(t,a)):g(t,a,e()),l(t,a)},v=u(),h=u();exports.createFilePersister=(n,o,i)=>((t,a,e,n,o,i,u,p={},w=[])=>{let A,C,f,S=0;d(v,w,(()=>0)),d(h,w,(()=>[]));const[L,b,M,F,O]=((t,a)=>!t||s(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,a])=>!y(t)||!y(a),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!y(t)||!y(a),a.setDefaultContent])(u,t),P=async t=>(2!=S&&(S=1,await q.schedule((async()=>{await t(),S=0}))),q),T=a=>{var e;(L&&(e=a?.[0],Array.isArray(e))?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},q={load:async t=>await P((async()=>{try{T(await a())}catch(a){i?.(a),t&&O(t)}})),startAutoLoad:async t=>(await q.stopAutoLoad().load(t),C=n((async(t,e)=>{const s=e?.();await P((async()=>{try{T(s??t?.()??await a())}catch(t){i?.(t)}}))})),q),stopAutoLoad:()=>(C&&(o(C),C=void 0),q),isAutoLoading:()=>!s(C),save:async t=>(1!=S&&(S=2,await q.schedule((async()=>{try{await e(b,t)}catch(t){i?.(t)}S=0}))),q),startAutoSave:async()=>(await q.stopAutoSave().save(),f=t.addDidFinishTransactionListener((()=>{const t=M();F(t)&&q.save((()=>t))})),q),stopAutoSave:()=>(r(f,t.delListener),f=void 0,q),isAutoSaving:()=>!s(f),schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l(h,w),...t),await(async()=>{if(!l(v,w)){for(g(v,w,1);!s((t=l(h,w),A=t.shift()));)try{await A()}catch(t){i?.(t)}g(v,w,0)}var t})(),q),getStore:()=>t,destroy:()=>q.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...p};return c(q)})(n,(async()=>{return t=await a.readFile(o,e),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await a.writeFile(o,(s=t(),JSON.stringify(s,((t,a)=>void 0===a?"":a))),e);var s}),(a=>t.watch(o,(()=>a()))),(t=>t?.close()),i,!0,{getFilePath:()=>o});
@@ -1 +1 @@
1
- "use strict";const t=Promise,e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=e=>new t(e),o=async e=>t.all(e),r=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,y=t=>i.getPrototypeOf(t),d=i.keys,l=i.freeze,u=t=>(t=>!a(t)&&s(y(t),(t=>t==i.prototype||a(y(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),h=(t,e)=>t?.get(e),p=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},v=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||p(t,e,a()),h(t,e)},g=w(),A=w(),S=globalThis.window,b=["t","v"],f={keyPath:"k"},L=async(t,e)=>{const n=((e,a)=>r(i.entries(e),(([e,a])=>j(t,"put",{k:e,v:a}))))(e);r(await j(t,"getAllKeys"),(o=>((t,e)=>!a(((t,e)=>s(t,(t=>t[e])))(t,e)))(e,o)?0:c(n,j(t,"delete",o)))),await o(n)},j=async(t,e,a)=>n(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,y,d=1,w)=>{const k=async(t,e=[],a=0)=>n(((s,n)=>{const c=S.indexedDB.open(y,a?2:void 0);c.onupgradeneeded=()=>a&&r(b,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(b,"readwrite"),n=await o(r(b,(async(s,n)=>await t(a.objectStore(s),e[n]))));c.result.close(),s(n)}catch(t){n(t)}},c.onerror=()=>n("indexedDB.open error")}));return((t,e,n,o,r,i,[y,d]=[],w=[])=>{let S,b,f,L=0,j=0;v(g,w,(()=>0)),v(A,w,(()=>[]));const k=async t=>(2!=L&&(L=1,await x.schedule((async()=>{await t(),L=0}))),x),x={load:async(a,s)=>await k((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(x.stopAutoLoad(),await x.load(a,s),j=1,f=o((async(a,s)=>{if(s){const e=s();await k((async()=>t.setTransactionChanges(e)))}else await k((async()=>{try{t.setContent(a?.()??await e())}catch(t){i?.(t)}}))})),x),stopAutoLoad:()=>(j&&(r(f),f=void 0,j=0),x),save:async e=>(1!=L&&(L=2,await x.schedule((async()=>{try{await n(t.getContent,e)}catch(t){i?.(t)}L=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),S=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();u(a)&&u(s)||x.save((()=>[a,s]))})),x),stopAutoSave:()=>(s(S,t.delListener),S=void 0,x),schedule:async(...t)=>(c(h(A,w),...t),await(async()=>{if(!h(g,w)){for(p(g,w,1);!a((t=h(A,w),b=t.shift()));)try{await b()}catch(t){i?.(t)}p(g,w,0)}var t})(),x),getStore:()=>t,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(x[y]=()=>d),l(x)})(t,(async()=>await k((async t=>((t=[])=>i.fromEntries(t))(r(await j(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await k((async(t,e)=>await L(t,e)),t(),1)),(t=>setInterval(t,1e3*d)),(t=>e(t)),w,["getDbName",y])},exports.objectStoreMatch=L;
1
+ "use strict";const t=Promise,e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=e=>new t(e),o=async e=>t.all(e),r=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,l=t=>i.getPrototypeOf(t),y=i.entries,d=i.keys,u=i.freeze,g=t=>(t=>!a(t)&&s(l(t),(t=>t==i.prototype||a(l(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),p=(t,e)=>t?.get(e),h=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},v=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(p(t,e)):h(t,e,a()),p(t,e)},A=w(),b=w(),C=globalThis.window,S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>r(y(e),(([e,a])=>L(t,"put",{k:e,v:a}))))(e);r(await L(t,"getAllKeys"),(s=>((t,e)=>e in t)(e,s)?0:c(a,L(t,"delete",s)))),await o(a)},L=async(t,e,a)=>n(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));exports.createIndexedDbPersister=(t,l,y=1,d)=>{const w=async(t,e=[],a=0)=>n(((s,n)=>{const c=(C?C.indexedDB:indexedDB).open(l,a?2:void 0);c.onupgradeneeded=()=>a&&r(S,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(S,"readwrite"),n=await o(r(S,(async(s,n)=>await t(a.objectStore(s),e[n]))));c.result.close(),s(n)}catch(t){c.result.close(),n(t)}},c.onerror=()=>n("indexedDB.open error")}));return((t,e,n,o,r,i,l,y={},d=[])=>{let w,C,S,f=0;v(A,d,(()=>0)),v(b,d,(()=>[]));const[D,L,M,x,j]=((t,e)=>!t||a(e.getMergeableContent)?[0,e.getContent,e.getTransactionChanges,([t,e])=>!g(t)||!g(e),e.setContent]:[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!g(t)||!g(e),e.setDefaultContent])(l,t),k=async t=>(2!=f&&(f=1,await P.schedule((async()=>{await t(),f=0}))),P),m=e=>{var a;(D&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},P={load:async t=>await k((async()=>{try{m(await e())}catch(e){i?.(e),t&&j(t)}})),startAutoLoad:async t=>(await P.stopAutoLoad().load(t),C=o((async(t,a)=>{const s=a?.();await k((async()=>{try{m(s??t?.()??await e())}catch(t){i?.(t)}}))})),P),stopAutoLoad:()=>(C&&(r(C),C=void 0),P),isAutoLoading:()=>!a(C),save:async t=>(1!=f&&(f=2,await P.schedule((async()=>{try{await n(L,t)}catch(t){i?.(t)}f=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const t=M();x(t)&&P.save((()=>t))})),P),stopAutoSave:()=>(s(S,t.delListener),S=void 0,P),isAutoSaving:()=>!a(S),schedule:async(...t)=>(c(p(b,d),...t),await(async()=>{if(!p(A,d)){for(h(A,d,1);!a((t=p(b,d),w=t.shift()));)try{await w()}catch(t){i?.(t)}h(A,d,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...y};return u(P)})(t,(async()=>await w((async t=>((t=[])=>i.fromEntries(t))(r(await L(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await w((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>e(t)),d,!1,{getDbName:()=>l})},exports.objectStoreMatch=D;
@@ -0,0 +1 @@
1
+ "use strict";const a=a=>typeof a,t="tinybase",e="",s=",",n=a(e),i=(a,t)=>a.repeat(t),c=Promise,o=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),w=t=>a(t)==n,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>c.all(a),p="_",g="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",A=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),h=a=>0==d(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),b=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>C(b(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!r(a)&&l(S(a),(a=>a==R.prototype||r(S(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>C([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),G=(a,t,e,s)=>(L(a,t)?s?.($(a,t)):q(a,t,e()),$(a,t)),J=(a,t,e,s=q)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:s(a,e))),a),U=a=>new Set(y(a)||r(a)?a:[a]),W=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,n,i)=>{const c=H();return[async()=>J(c,M(await E(C(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,M(C(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(c,t,J(G(c,t,H),e,((a,t,e)=>{e!=$(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(c,t))),async(t,e)=>((a,t)=>!r($($(c,a),t)))(t,e)?M(T(C(await a(Q+v(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!B(t)))):{},async(t,n,o,l,w,y=!1)=>{const u=U();F(o??{},(a=>C(D(a??{}),(a=>W(u,a)))));const d=N(u);if(!y&&w&&h(d)&&L(c,t))return await a("DROP "+z+v(t)),void q(c,t);if(h(d)||L(c,t)){const s=$(c,t),i=U(Y(s));await E([...C(d,(async n=>{O(i,n)||(await a(K+v(t)+"ADD"+v(n)),q(s,n,e))})),...!y&&l?C(N(i),(async e=>{e!=n&&(await a(K+v(t)+"DROP"+v(e)),q(s,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(n)+` PRIMARY KEY ON CONFLICT REPLACE${A(C(d,(a=>s+v(a))))});`),q(c,t,H([[n,e],...C(d,(a=>[a,e]))]));if(y)r(o)?await a(V+v(t)+Z+" 1"):await E(F(o,(async(e,s)=>{r(e)?await a(V+v(t)+Z+v(n)+"=?",[s]):h(d)||await ta(a,t,n,D(e),[s,...j(e)],i)})));else if(h(d))L(c,t)&&await a(V+v(t)+Z+" 1");else{const e=T(Y($(c,t)),(a=>a!=n)),s=[],r=[];F(o??{},((a,t)=>{f(s,t,...C(e,(t=>a?.[t]))),f(r,t)})),await ta(a,t,n,e,s,i),await a(V+v(t)+Z+v(n)+"NOT IN("+ea(r)+")",r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){n?.(a)}return await a("END"),e}]},ta=async(a,t,n,c,o,r=!0)=>await a("INSERT "+(r?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(n)+A(C(c,(a=>s+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(c))})`,d(o)/(d(c)+1)),1)+(r?"ON CONFLICT("+v(n)+")DO UPDATE SET"+A(C(c,(a=>v(a)+"=excluded."+v(a))),s):e),C(o,(a=>a??null))),ea=a=>A(C(a,(()=>"?")),s),sa=JSON.parse,na=H(),ia=H(),ca=(a,t,e,s,n,i,c,o={},w=[])=>{let u,d,E,p=0;G(na,w,(()=>0)),G(ia,w,(()=>[]));const[g,v,m,A,C]=((a,t)=>!a||r(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent])(c,a),h=async a=>(2!=p&&(p=1,await L.schedule((async()=>{await a(),p=0}))),L),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},L={load:async a=>await h((async()=>{try{T(await t())}catch(t){i?.(t),a&&C(a)}})),startAutoLoad:async a=>(await L.stopAutoLoad().load(a),d=s((async(a,e)=>{const s=e?.();await h((async()=>{try{T(s??a?.()??await t())}catch(a){i?.(a)}}))})),L),stopAutoLoad:()=>(d&&(n(d),d=void 0),L),isAutoLoading:()=>!r(d),save:async a=>(1!=p&&(p=2,await L.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}p=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&L.save((()=>a))})),L),stopAutoSave:()=>(l(E,a.delListener),E=void 0,L),isAutoSaving:()=>!r(E),schedule:async(...a)=>(f($(ia,w),...a),await(async()=>{if(!$(na,w)){for(q(na,w,1);!r((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(na,w,0)}var a})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...o};return I(L)},oa="store",ra=(a,t,e,s,n,[i],c,o,r,l)=>{const[w,y,u,d]=aa(t,c,n,l);return ca(a,(async()=>await d((async()=>(await w(),sa((await y(i,g))[p]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[p]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,{[r]:()=>o},o)},la=(a,t,e,s,n,[i,c,[o,l,w]],y,u,d,v)=>{const[m,A,C,h]=aa(t,y,n,v),f=async(a,t)=>await E(k(c,(async([e,s,n,i],c)=>{t&&!_(a,c)||await C(e,s,a[c],n,i,t)}))),L=async(a,t)=>l?await C(w,g,{[p]:a},!0,!0,t):null;return ca(a,(async()=>await h((async()=>{await m();const a=await(async()=>M(T(await E(k(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await A(w,g))[p]:{})();return B(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await m(),r(t)){const[t,e]=a();await f(t),await L(e)}else{const[a,e]=t();await f(a,!0),await L(e,!0)}}))),e,s,n,!1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},ga={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,s)=>{const n=H();return F(a,((a,i)=>{const c=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));r(c[0])||s(i,c[0])||q(n,i,c)})),n},ma="pragma ",Aa="data_version",Ca="schema_version",ha=(a,e,s,n,i,c,r,l,y="getDb",d)=>{let E,p,v;const[A,C,h,T]=(a=>{const e=(a=>P(pa,w(a)?{storeTableName:a}:a??{}))(a),s=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,s,[a],U(a)]}const{tables:{load:n={},save:i={}}={},values:c={}}=e,o=u(j(P(ga,c)),0,x(ga)),r=o[2],l=U(r);return[0,s,[va(n,{[da]:null,[ua]:g},da,(a=>W(l,a)&&a==r)),va(i,{[Ea]:null,[ua]:g,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>W(l,t)&&t==r)),o],l]})(e);return(A?ra:la)(a,c?async(a,t)=>(c(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(ma+Aa))[0][Aa],e=(await s(ma+Ca))[0][Ca],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&n==(v??=n)||(a(),E=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),n((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=p=null,i(t)}),r,h,N(T),l,y,d)};exports.createLibSqlPersister=(a,t,e,s,n)=>ha(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),s,n,t,"getClient");