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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/store.cjs +1 -1
  36. package/lib/cjs/store.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers.cjs +1 -1
  42. package/lib/cjs/synchronizers.cjs.gz +0 -0
  43. package/lib/cjs/tinybase.cjs +1 -1
  44. package/lib/cjs/tinybase.cjs.gz +0 -0
  45. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  46. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  47. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  48. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters.cjs +1 -1
  80. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  81. package/lib/cjs-es6/store.cjs +1 -1
  82. package/lib/cjs-es6/store.cjs.gz +0 -0
  83. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  84. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  89. package/lib/cjs-es6/tinybase.cjs +1 -1
  90. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  91. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  92. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  93. package/lib/debug/mergeable-store.js +4 -1
  94. package/lib/debug/persisters/persister-automerge.js +5 -3
  95. package/lib/debug/persisters/persister-browser.js +5 -3
  96. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +5 -3
  97. package/lib/debug/persisters/persister-electric-sql.js +5 -3
  98. package/lib/debug/persisters/persister-expo-sqlite-next.js +5 -3
  99. package/lib/debug/persisters/persister-expo-sqlite.js +5 -3
  100. package/lib/debug/persisters/persister-file.js +5 -3
  101. package/lib/debug/persisters/persister-indexed-db.js +5 -3
  102. package/lib/debug/persisters/persister-libsql.js +5 -3
  103. package/lib/debug/persisters/persister-partykit-client.js +5 -3
  104. package/lib/debug/persisters/persister-powersync.js +5 -3
  105. package/lib/debug/persisters/persister-remote.js +5 -3
  106. package/lib/debug/persisters/persister-sqlite-wasm.js +5 -3
  107. package/lib/debug/persisters/persister-sqlite3.js +5 -3
  108. package/lib/debug/persisters/persister-yjs.js +5 -3
  109. package/lib/debug/persisters.js +5 -3
  110. package/lib/debug/store.js +1 -0
  111. package/lib/debug/synchronizers/synchronizer-local.js +5 -3
  112. package/lib/debug/synchronizers/synchronizer-ws-client.js +5 -3
  113. package/lib/debug/synchronizers.js +5 -3
  114. package/lib/debug/tinybase.js +9 -4
  115. package/lib/debug/ui-react-dom.js +7 -4
  116. package/lib/es6/mergeable-store.js +1 -1
  117. package/lib/es6/mergeable-store.js.gz +0 -0
  118. package/lib/es6/persisters/persister-automerge.js +1 -1
  119. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  120. package/lib/es6/persisters/persister-browser.js +1 -1
  121. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  123. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  124. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  125. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  127. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  128. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  129. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  130. package/lib/es6/persisters/persister-file.js +1 -1
  131. package/lib/es6/persisters/persister-file.js.gz +0 -0
  132. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  133. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  134. package/lib/es6/persisters/persister-libsql.js +1 -1
  135. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  136. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  137. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  138. package/lib/es6/persisters/persister-powersync.js +1 -1
  139. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  140. package/lib/es6/persisters/persister-remote.js +1 -1
  141. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  144. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  145. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  146. package/lib/es6/persisters/persister-yjs.js +1 -1
  147. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  148. package/lib/es6/persisters.js +1 -1
  149. package/lib/es6/persisters.js.gz +0 -0
  150. package/lib/es6/store.js +1 -1
  151. package/lib/es6/store.js.gz +0 -0
  152. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  153. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  154. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  155. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  156. package/lib/es6/synchronizers.js +1 -1
  157. package/lib/es6/synchronizers.js.gz +0 -0
  158. package/lib/es6/tinybase.js +1 -1
  159. package/lib/es6/tinybase.js.gz +0 -0
  160. package/lib/es6/ui-react-dom-debug.js +1 -1
  161. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  162. package/lib/mergeable-store.js +1 -1
  163. package/lib/mergeable-store.js.gz +0 -0
  164. package/lib/persisters/persister-automerge.js +1 -1
  165. package/lib/persisters/persister-automerge.js.gz +0 -0
  166. package/lib/persisters/persister-browser.js +1 -1
  167. package/lib/persisters/persister-browser.js.gz +0 -0
  168. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  169. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  170. package/lib/persisters/persister-electric-sql.js +1 -1
  171. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  172. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  173. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  176. package/lib/persisters/persister-file.js +1 -1
  177. package/lib/persisters/persister-file.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-libsql.js +1 -1
  181. package/lib/persisters/persister-libsql.js.gz +0 -0
  182. package/lib/persisters/persister-partykit-client.js +1 -1
  183. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  184. package/lib/persisters/persister-powersync.js +1 -1
  185. package/lib/persisters/persister-powersync.js.gz +0 -0
  186. package/lib/persisters/persister-remote.js +1 -1
  187. package/lib/persisters/persister-remote.js.gz +0 -0
  188. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-sqlite3.js +1 -1
  191. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  192. package/lib/persisters/persister-yjs.js +1 -1
  193. package/lib/persisters/persister-yjs.js.gz +0 -0
  194. package/lib/persisters.js +1 -1
  195. package/lib/persisters.js.gz +0 -0
  196. package/lib/store.js +1 -1
  197. package/lib/store.js.gz +0 -0
  198. package/lib/synchronizers/synchronizer-local.js +1 -1
  199. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  200. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  201. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  202. package/lib/synchronizers.js +1 -1
  203. package/lib/synchronizers.js.gz +0 -0
  204. package/lib/tinybase.js +1 -1
  205. package/lib/tinybase.js.gz +0 -0
  206. package/lib/types/checkpoints.d.ts +50 -3
  207. package/lib/types/common.d.ts +4 -0
  208. package/lib/types/indexes.d.ts +58 -14
  209. package/lib/types/mergeable-store.d.ts +9 -0
  210. package/lib/types/metrics.d.ts +46 -7
  211. package/lib/types/persisters/persister-automerge.d.ts +17 -4
  212. package/lib/types/persisters/persister-browser.d.ts +12 -0
  213. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
  214. package/lib/types/persisters/persister-electric-sql.d.ts +18 -3
  215. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +23 -8
  216. package/lib/types/persisters/persister-expo-sqlite.d.ts +17 -4
  217. package/lib/types/persisters/persister-file.d.ts +6 -0
  218. package/lib/types/persisters/persister-indexed-db.d.ts +6 -0
  219. package/lib/types/persisters/persister-libsql.d.ts +12 -0
  220. package/lib/types/persisters/persister-partykit-client.d.ts +11 -3
  221. package/lib/types/persisters/persister-partykit-server.d.ts +37 -14
  222. package/lib/types/persisters/persister-powersync.d.ts +13 -1
  223. package/lib/types/persisters/persister-remote.d.ts +6 -0
  224. package/lib/types/persisters/persister-sqlite-wasm.d.ts +14 -1
  225. package/lib/types/persisters/persister-sqlite3.d.ts +17 -4
  226. package/lib/types/persisters/persister-yjs.d.ts +18 -6
  227. package/lib/types/persisters.d.ts +75 -8
  228. package/lib/types/queries.d.ts +137 -9
  229. package/lib/types/relationships.d.ts +28 -4
  230. package/lib/types/store.d.ts +429 -18
  231. package/lib/types/synchronizers.d.ts +3 -0
  232. package/lib/types/tools.d.ts +45 -10
  233. package/lib/types/ui-react-dom.d.ts +136 -27
  234. package/lib/types/ui-react.d.ts +1806 -326
  235. package/lib/types/with-schemas/checkpoints.d.ts +50 -3
  236. package/lib/types/with-schemas/common.d.ts +4 -0
  237. package/lib/types/with-schemas/indexes.d.ts +58 -14
  238. package/lib/types/with-schemas/mergeable-store.d.ts +23 -0
  239. package/lib/types/with-schemas/metrics.d.ts +46 -7
  240. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +17 -4
  241. package/lib/types/with-schemas/persisters/persister-browser.d.ts +12 -0
  242. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +12 -0
  243. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +18 -3
  244. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +24 -9
  245. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +18 -5
  246. package/lib/types/with-schemas/persisters/persister-file.d.ts +6 -0
  247. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +6 -0
  248. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +12 -0
  249. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +11 -3
  250. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +37 -14
  251. package/lib/types/with-schemas/persisters/persister-powersync.d.ts +13 -1
  252. package/lib/types/with-schemas/persisters/persister-remote.d.ts +6 -0
  253. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +15 -2
  254. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +18 -5
  255. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +18 -6
  256. package/lib/types/with-schemas/persisters.d.ts +75 -8
  257. package/lib/types/with-schemas/queries.d.ts +137 -9
  258. package/lib/types/with-schemas/relationships.d.ts +28 -4
  259. package/lib/types/with-schemas/store.d.ts +429 -18
  260. package/lib/types/with-schemas/synchronizers.d.ts +3 -0
  261. package/lib/types/with-schemas/tools.d.ts +45 -10
  262. package/lib/types/with-schemas/ui-react-dom.d.ts +136 -27
  263. package/lib/types/with-schemas/ui-react.d.ts +1806 -326
  264. package/lib/umd/mergeable-store.js +1 -1
  265. package/lib/umd/mergeable-store.js.gz +0 -0
  266. package/lib/umd/persisters/persister-automerge.js +1 -1
  267. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  268. package/lib/umd/persisters/persister-browser.js +1 -1
  269. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  270. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  271. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  272. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  273. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  274. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  275. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  276. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  277. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  278. package/lib/umd/persisters/persister-file.js +1 -1
  279. package/lib/umd/persisters/persister-file.js.gz +0 -0
  280. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  281. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  282. package/lib/umd/persisters/persister-libsql.js +1 -1
  283. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  284. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  285. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  286. package/lib/umd/persisters/persister-powersync.js +1 -1
  287. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  288. package/lib/umd/persisters/persister-remote.js +1 -1
  289. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  290. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  291. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  292. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  293. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  294. package/lib/umd/persisters/persister-yjs.js +1 -1
  295. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  296. package/lib/umd/persisters.js +1 -1
  297. package/lib/umd/persisters.js.gz +0 -0
  298. package/lib/umd/store.js +1 -1
  299. package/lib/umd/store.js.gz +0 -0
  300. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  301. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  302. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  303. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  304. package/lib/umd/synchronizers.js +1 -1
  305. package/lib/umd/synchronizers.js.gz +0 -0
  306. package/lib/umd/tinybase.js +1 -1
  307. package/lib/umd/tinybase.js.gz +0 -0
  308. package/lib/umd/ui-react-dom-debug.js +1 -1
  309. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  310. package/lib/umd-es6/mergeable-store.js +1 -1
  311. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  313. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  315. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  317. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  319. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  321. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  323. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  324. package/lib/umd-es6/persisters/persister-file.js +1 -1
  325. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  326. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  327. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  328. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  329. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  330. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  331. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  332. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  333. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  334. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  335. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  336. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  337. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  338. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  339. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  340. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  341. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  342. package/lib/umd-es6/persisters.js +1 -1
  343. package/lib/umd-es6/persisters.js.gz +0 -0
  344. package/lib/umd-es6/store.js +1 -1
  345. package/lib/umd-es6/store.js.gz +0 -0
  346. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  347. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  348. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  349. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  350. package/lib/umd-es6/synchronizers.js +1 -1
  351. package/lib/umd-es6/synchronizers.js.gz +0 -0
  352. package/lib/umd-es6/tinybase.js +1 -1
  353. package/lib/umd-es6/tinybase.js.gz +0 -0
  354. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  355. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  356. package/package.json +25 -23
  357. package/readme.md +21 -3
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),P=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(A(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(y(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=P();return[async()=>H(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,P),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=U();D(o??{},(a=>v(f(a??{}),(a=>V(u,a)))));const d=O(u);if(!y&&w&&g(d)&&A(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||A(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{h(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!y&&l?v(O(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,P([[s,e],...v(d,(a=>[a,e]))]));if(y)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,f(e),[n,..._(e)],i)})));else if(g(d))A(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,o={},w=[])=>{let u,d,E,p=0;B(na,w,(()=>0)),B(sa,w,(()=>[]));const[v,g,m,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:0)(r,a),h=t=>{(v&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await S((async()=>{try{h(await t())}catch(t){i?.(t),a&&O(a)}p=0}))),b),N=()=>(d&&(s(d),d=void 0),b),R=async a=>(1!=p&&(p=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),b),f=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(x(na,w,1);!c((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,w,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),b),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:R,startAutoSave:async()=>(await f().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&R(a)})),b),stopAutoSave:f,isAutoSaving:()=>!c(E),schedule:S,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return L(b)},ra=(a,t,e,n,s,i,[r,o,c],l,w,y,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},oa=(a,t,e,n,s,i,[r,o,[l,w,y]],u,d,p,v)=>{const[g,C,A,O]=aa(t,u,s,v),h=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>w?await A(y,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await g();const a=await(async()=>S(m(await E(k(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(y,Y))[J]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=P();return D(a,((a,r)=>{const o=u(_(b(t,w(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Oa="pragma_",ha="data_version",Ta="schema_version",Na=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,y,d="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(b(Ca,r)),0,M(Ca)),c=o[2],l=U(c),y=U(c);return[0,n,[Aa(s,{[va]:null,[pa]:Y},va,(a=>A(y,a)),(a=>V(l,a))),Aa(i,{[ga]:null,[pa]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>A(y,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${ha} d,${Ta} s,TOTAL_CHANGES() c FROM ${Oa}${ha} JOIN ${Oa}${Ta}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,h,O(T),y,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{Na as createSqliteWasmPersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[v,g,m,C,A]=((a=1,t)=>a>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(v&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await L((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}p=0}))),S),N=()=>(d&&(s(d),d=void 0),S),R=async a=>(1!=p&&(p=2,await L((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),b=()=>(l(E,a.delListener),E=void 0,S),L=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),S),S={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,O(t??a),p=0):await T()})),S),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:R,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();C(a)&&R(a)})),S),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return f(S)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},ha={load:0,save:0,[ga]:t+"_values"},Ca=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Aa="pragma_",Oa="data_version",Ta="schema_version",Na=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(ha,r)),0,M(ha)),c=o[2],l=U(c),w=U(c);return[0,n,[Ca(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Ca(i,{[ga]:null,[pa]:Y,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Ta} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Ta}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{Na as createSqliteWasmPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),A=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),f=Object,h=a=>f.getPrototypeOf(a),N=f.entries,R=f.keys,L=f.freeze,S=(a=[])=>f.fromEntries(a),I=(...a)=>f.assign({},...a),b=(a,t)=>t in a,D=(a,t)=>g(N(a),(([a,e])=>t(e,a))),M=a=>f.values(a),$=a=>d(R(a)),_=a=>(a=>!o(a)&&l(h(a),(a=>a==f.prototype||o(h(a))),(()=>!0)))(a)&&0==$(a),P=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(T(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(A(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>b(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(y(a)||o(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=P();return[async()=>Y(r,S(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,P),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!o(j(j(r,a),t)))(t,e)?S(m(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!_(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();D(c??{},(a=>g(R(a??{}),(a=>z(u,a)))));const d=O(u);if(!y&&w&&p(d)&&A(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(p(d)||A(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!y&&l?g(O(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,P([[s,e],...g(d,(a=>[a,e]))]));if(y)o(c)?await a(q+G(t)+Z+" 1"):await E(D(c,(async(e,n)=>{o(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(p(d))A(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],o=[];D(c??{},((a,t)=>{C(n,t,...g(e,(t=>a?.[t]))),C(o,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(o)+")",o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(c,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=P(),sa=P(),ia=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,v=0;J(na,w,(()=>0)),J(sa,w,(()=>[]));const[g,p,m,A,O]=((a=1,t)=>a>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:0)(r,a),T=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,await S((async()=>{try{T(await t())}catch(t){i?.(t),a&&O(a)}v=0}))),I),h=()=>(d&&(s(d),d=void 0),I),N=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(p,a)}catch(a){i?.(a)}v=0}))),I),R=()=>(l(E,a.delListener),E=void 0,I),S=async(...a)=>(C(j(sa,w),...a),await(async()=>{if(!j(na,w)){for(H(na,w,1);!o((a=j(sa,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,w,0)}var a})(),I),I={load:f,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,T(t??a),v=0):await f()})),I),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();A(a)&&N(a)})),I),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:S,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return L(I)},ra=(a,t,e,n,s,i,[r,c,o],l,w,y,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,c))[k]?.[o]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,c,{[k]:{[o]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[y]:()=>w},w)},ca=(a,t,e,n,s,i,[r,c,[l,w,y]],u,d,v,g)=>{const[p,C,A,O]=aa(t,u,s,g),T=async(a,t)=>await E(B(c,(async([e,n,s,i],r)=>{t&&!b(a,r)||await A(e,n,a[r],s,i,t)}))),f=async(a,t)=>w?await A(y,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await O((async()=>{await p();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await C(y,x))[k]:{})();return _(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await p(),o(t)){const[t,e]=a();await T(t),await f(e)}else await T(t[0],!0),await f(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},oa="ColumnName",la="store",wa="json",ya=la+"TableName",ua=la+"Id"+oa,da=la+oa,Ea="autoLoadIntervalSeconds",va="rowId"+oa,ga="tableId",pa="tableName",ma={mode:wa,[Ea]:1},Ca={load:0,save:0,[pa]:t+"_values"},Aa=(a,t,e,n,s)=>{const i=P();return D(a,((a,r)=>{const c=u(M(I(t,w(a)?{[e]:a}:a)),0,$(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},Oa="pragma_",Ta="data_version",fa="schema_version",ha="change",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,o,l,y,d="getDb",E)=>{let v,g,p;const[m,C,T,f]=(a=>{const e=(a=>I(ma,w(a)?{[ya]:a}:a??{}))(a),n=e[Ea];if(e.mode==wa){const a=e[ya]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(M(I(Ca,r)),0,$(Ca)),o=c[2],l=W(o),y=W(o);return[0,n,[Aa(s,{[ga]:null,[va]:x},ga,(a=>A(y,a)),(a=>z(l,a))),Aa(i,{[pa]:null,[va]:x,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>A(y,t)),((a,t)=>z(l,t))),c],l]})(e);return(m?ra:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Ta} d,${fa} s,TOTAL_CHANGES() c FROM ${Oa}${Ta} JOIN ${Oa}${fa}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),v=g=p=null,i(t)}),o,l,T,O(f),y,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(ha,t),t}),(a=>e.off(ha,a)),s,i,3,e);export{Na as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[p,g,m,h,A]=((a=1,t)=>a>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),O=t=>{(p&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=v&&(v=1,await S((async()=>{try{O(await t())}catch(t){i?.(t),a&&A(a)}v=0}))),b),f=()=>(d&&(s(d),d=void 0),b),N=async a=>(1!=v&&(v=2,await S((async()=>{try{await e(g,a)}catch(a){i?.(a)}v=0}))),b),R=()=>(l(E,a.delListener),E=void 0,b),S=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,O(t??a),v=0):await T()})),b),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:N,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();h(a)&&N(a)})),b),stopAutoSave:R,isAutoSaving:()=>!c(E),schedule:S,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({}),...o};return L(b)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma={mode:ya,[Ea]:1},Ca={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Aa="pragma_",Oa="data_version",Ta="schema_version",fa="change",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Ca,r)),0,P(Ca)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),ha(i,{[ga]:null,[va]:x,deleteEmptyColumns:0,deleteEmptyTable:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Oa} d,${Ta} s,TOTAL_CHANGES() c FROM ${Aa}${Oa} JOIN ${Aa}${Ta}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(fa,t),t}),(a=>e.off(fa,a)),s,i,3,e);export{Na as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,u=(t=[])=>i.fromEntries(t),y=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!n(t)&&s(c(t),(t=>t==i.prototype||n(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(y(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),C=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},A=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||C(t,e,a()),w(t,e)},b=f(),O=f(),M="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return p(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{y(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},m=(i,c,g="tinybase",l)=>{const y=c.getMap(g);return((t,e,a,o,i,c,g,l={},u=[])=>{let y,p,v,f=0;A(b,u,(()=>0)),A(O,u,(()=>[]));const[S,M,J,N,m]=((t=1,e)=>t>1&&"merge"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:0)(g,t),D=e=>{var a;(S&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},L=async t=>(2!=f&&(f=1,await j((async()=>{try{D(await e())}catch(e){c?.(e),t&&m(t)}f=0}))),k),z=()=>(p&&(i(p),p=void 0),k),E=async t=>(1!=f&&(f=2,await j((async()=>{try{await a(M,t)}catch(t){c?.(t)}f=0}))),k),T=()=>(s(v,t.delListener),v=void 0,k),j=async(...t)=>(((t,...e)=>{t.push(...e)})(w(O,u),...t),await(async()=>{if(!w(b,u)){for(C(b,u,1);!n(y=r(w(O,u)));)try{await y()}catch(t){c?.(t)}C(b,u,0)}})(),k),k={load:L,startAutoLoad:async t=>(await z().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,D(e??t),f=0):await L()})),k),stopAutoLoad:z,isAutoLoading:()=>!n(p),save:E,startAutoSave:async()=>(await T().save(),v=t.addDidFinishTransactionListener((()=>{const t=J();N(t)&&E(t)})),k),stopAutoSave:T,isAutoSaving:()=>!n(v),schedule:j,getStore:()=>t,destroy:()=>z().stopAutoSave(),getStats:()=>({}),...l};return d(k)})(i,(async()=>y.size?[y.get(e).toJSON(),y.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(s(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:n(t)?c.delete(e):s(c.get(e),(e=>p(t,((t,a)=>d?0:n(t)?e.delete(a):s(e.get(a),(e=>p(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:n(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(y,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==o(n)&&(i=n[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?s(r(t),(e=>{const n=v(l,e,u),o=c.get(e);s(r(t),(t=>{const e=v(n,t,u),s=o.get(t);S(a,((t,{action:a})=>e[t]=a==M?null:s.get(t)))}),(()=>S(a,((t,{action:e})=>n[t]=e==M?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==M?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==M?null:g.get(t)))))})(n),[l,d,1]})(y,n));return y.observeDeep(n),n}),(t=>{y.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{m as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,y=i.freeze,d=(t=[])=>i.fromEntries(t),u=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!n(t)&&s(c(t),(t=>t==i.prototype||n(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(u(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),b=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},C=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)||b(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return p(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{u(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const u=c.getMap(g);return((t,e,a,o,i,c,g,l={},d=[])=>{let u,p,v,f=0;C(A,d,(()=>0)),C(M,d,(()=>[]));const[S,O,J,N,D]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(g,t),E=e=>{var a;(S&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},L=async t=>(2!=f&&(f=1,await j((async()=>{try{E(await e())}catch(e){c?.(e),t&&D(t)}f=0}))),k),m=()=>(p&&(i(p),p=void 0),k),z=async t=>(1!=f&&(f=2,await j((async()=>{try{await a(O,t)}catch(t){c?.(t)}f=0}))),k),T=()=>(s(v,t.delListener),v=void 0,k),j=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,d),...t),await(async()=>{if(!w(A,d)){for(b(A,d,1);!n(u=r(w(M,d)));)try{await u()}catch(t){c?.(t)}b(A,d,0)}})(),k),k={load:L,startAutoLoad:async t=>(await m().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,E(e??t),f=0):await L()})),k),stopAutoLoad:m,isAutoLoading:()=>!n(p),save:z,startAutoSave:async()=>(await T().save(),v=t.addDidFinishTransactionListener((()=>{const t=J();N(t)&&z(t)})),k),stopAutoSave:T,isAutoSaving:()=>!n(v),schedule:j,getStore:()=>t,destroy:()=>m().stopAutoSave(),getStats:()=>({}),...l};return y(k)})(i,(async()=>u.size?[u.get(e).toJSON(),u.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{y=1};let y=1;if(s(i,(([t,e])=>{y=0,p(t,((t,e)=>y?0:n(t)?c.delete(e):s(c.get(e),(e=>p(t,((t,a)=>y?0:n(t)?e.delete(a):s(e.get(a),(e=>p(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>y?0:n(t)?g.delete(e):g.set(e,t)))})),y){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(u,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==o(n)&&(i=n[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},y={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?s(r(t),(e=>{const n=v(l,e,d),o=c.get(e);s(r(t),(t=>{const e=v(n,t,d),s=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:s.get(t)))}),(()=>S(a,((t,{action:e})=>n[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>y[t]=e==O?null:g.get(t)))))})(n),[l,y,1]})(u,n));return u.observeDeep(n),n}),(t=>{u.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
Binary file
package/lib/persisters.js CHANGED
@@ -1 +1 @@
1
- const t=t=>null==t,a=(a,e,n)=>t(a)?n?.():e(a),e=Object,n=t=>e.getPrototypeOf(t),s=e.keys,o=e.freeze,r=o=>(s=>!t(s)&&a(n(s),(a=>a==e.prototype||t(n(a))),(()=>!0)))(o)&&0==(t=>s(t).length)(o),i=t=>new Map(t),c=(t,a)=>t?.get(a),g=(a,e,n)=>{return t(n)?(s=a,o=e,s?.delete(o),a):a?.set(e,n);var s,o},y=(t,a,e,n)=>{var s,o;return s=t,o=a,s?.has(o)||g(t,a,e()),c(t,a)},l=i(),d=i(),u=(e,n,s,i,u,h,p,v={},w=[])=>{let C,A,f,S=0;y(l,w,(()=>0)),y(d,w,(()=>[]));const[b,L,M,T,D]=((t=1,a)=>t>1&&"merge"in a?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!r(t)||!r(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!r(t)||!r(a),a.setContent]:0)(p,e),O=t=>{var a;(b&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},j=async t=>(2!=S&&(S=1,await z((async()=>{try{O(await n())}catch(a){h?.(a),t&&D(t)}S=0}))),F),k=()=>(A&&(u(A),A=void 0),F),m=async t=>(1!=S&&(S=2,await z((async()=>{try{await s(L,t)}catch(t){h?.(t)}S=0}))),F),x=()=>(a(f,e.delListener),f=void 0,F),z=async(...a)=>(((t,...a)=>{t.push(...a)})(c(d,w),...a),await(async()=>{if(!c(l,w)){for(g(l,w,1);!t((a=c(d,w),C=a.shift()));)try{await C()}catch(t){h?.(t)}g(l,w,0)}var a})(),F),F={load:j,startAutoLoad:async t=>(await k().load(t),A=i((async(t,a)=>{a||t?2!=S&&(S=1,O(a??t),S=0):await j()})),F),stopAutoLoad:k,isAutoLoading:()=>!t(A),save:m,startAutoSave:async()=>(await x().save(),f=e.addDidFinishTransactionListener((()=>{const t=M();T(t)&&m(t)})),F),stopAutoSave:x,isAutoSaving:()=>!t(f),schedule:z,getStore:()=>e,destroy:()=>k().stopAutoSave(),getStats:()=>({}),...v};return o(F)};export{u as createCustomPersister};
1
+ 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=t=>new Map(t),c=(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},g=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)||y(t,e,a()),c(t,e)},l=i(),p=i(),d=(a,s,n,i,d,h,u,v={},w=[])=>{let C,A,b,S=0;g(l,w,(()=>0)),g(p,w,(()=>[]));const[f,M,L,T,D]=((t=1,e)=>t>1&&e.isMergeable()?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!o(t)||!o(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!o(t)||!o(e),e.setContent]:(t=>{throw Error("Store type not supported by this Persister")})())(u,a),O=t=>{var e;(f&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},P=async t=>(2!=S&&(S=1,await z((async()=>{try{O(await s())}catch(e){h?.(e),t&&D(t)}S=0}))),E),j=()=>(A&&(d(A),A=void 0),E),k=async t=>(1!=S&&(S=2,await z((async()=>{try{await n(M,t)}catch(t){h?.(t)}S=0}))),E),x=()=>(e(b,a.delListener),b=void 0,E),z=async(...e)=>(((t,...e)=>{t.push(...e)})(c(p,w),...e),await(async()=>{if(!c(l,w)){for(y(l,w,1);!t((e=c(p,w),C=e.shift()));)try{await C()}catch(t){h?.(t)}y(l,w,0)}var e})(),E),E={load:P,startAutoLoad:async t=>(await j().load(t),A=i((async(t,e)=>{e||t?2!=S&&(S=1,O(e??t),S=0):await P()})),E),stopAutoLoad:j,isAutoLoading:()=>!t(A),save:k,startAutoSave:async()=>(await x().save(),b=a.addDidFinishTransactionListener((()=>{const t=L();T(t)&&k(t)})),E),stopAutoSave:x,isAutoSaving:()=>!t(b),schedule:z,getStore:()=>a,destroy:()=>j().stopAutoSave(),getStats:()=>({}),...v};return r(E)};export{d as createCustomPersister};
Binary file
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),o="type",r="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,p=e=>t+e,w=isFinite,y=e=>null==e,m=(e,t,s)=>y(e)?s?.():t(e),L=e=>e==s||e==n,R=t=>e(t)==l,I=(e,t,s)=>e.slice(t,s),J=e=>e.length,E=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),k=z.entries,A=z.isFrozen,M=e=>!y(e)&&m(P(e),(e=>e==z.prototype||y(P(e))),(()=>!0)),N=z.keys,j=z.freeze,x=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>F(k(e),(([e,s])=>t(s,e))),W=e=>M(e)&&0==(e=>J(N(e)))(e),q=(e,t,s,n=0)=>y(e)||!M(e)||!n&&W(e)||A(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!!n||!W(e)),B=e=>e?.size??0,G=(e,t)=>e?.has(t)??!1,K=e=>y(e)||0==B(e),Q=e=>e.clear(),U=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),Z=e=>[...e?.keys()??[]],$=(e,t)=>e?.get(t),_=(e,t)=>U(e,((e,s)=>t(s,e))),ee=(e,t,s)=>y(s)?(X(e,t),e):e?.set(t,s),te=(e,t,s,n)=>(G(e,t)?n?.($(e,t)):ee(e,t,s()),$(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>x(t,s)?0:n(e,s))),e),ne=(e,t,s,n)=>{const a={};return U(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},ae=(e,t,s)=>ne(e,(e=>ne(e,t,s)),K,W),le=(e,t,s)=>ne(e,(e=>ae(e,t,s)),K,W),oe=(e,t)=>{const s=Y();return U(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ce=e=>oe(e,re),ie=(e,t,s,n,a=0)=>m((s?te:$)(e,t[a],a>J(t)-2?s:Y),(l=>{if(a>J(t)-2)return n?.(l)&&ee(e,t[a]),l;const o=ie(l,t,s,n,a+1);return K(l)&&ee(e,t[a]),o})),de=e=>new Set(Array.isArray(e)||y(e)?e:[e]),ue=(e,t)=>e?.add(t),he=/^\d+$/,fe=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{he.test(t)&&J(e)<1e3&&O(e,t)}]},ge=e=>[e,e],Te=()=>[Y(),Y()],be=e=>[...e],Ve=([e,t])=>e===t,Ce=t=>{const s=e(t);return L(s)||s==a&&w(t)?s:void 0},Se=(e,t,s,n,a)=>y(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ve=(e,t,s)=>y(s)?e.delValue(t):e.setValue(t,s),pe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),we=JSON.parse;Y(F("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),((e,t)=>[e,t])));const ye=(e,t,s)=>ee(e,t,$(e,t)==-s?void 0:s),me=()=>{let e,s,n=!1,l=!1,i=0,w=[];const z=Y(),P=Y(),k=Y(),A=Y(),M=Y(),N=Y(),he=Y(),Le=Y(),Re=Y(),Ie=Y(),Je=Y(),Ee=Y(),Fe=Y(),Oe=Y(),ze=de(),Pe=Y(),ke=Y(),Ae=Y(),Me=Y(),Ne=Te(),je=Te(),xe=Te(),De=Te(),He=Te(),We=Te(),qe=Te(),Be=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),$e=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),at=Te(),lt=Y(),ot=Te(),[rt,ct,it,dt]=(e=>{let s;const[n,a]=fe(),l=Y();return[(e,a,o,r=[],c=(()=>[]))=>{s??=Fs;const i=n(1);return ee(l,i,[e,a,o,r,c]),ue(ie(a,o??[t],de),i),i},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==J(s)?O(n,e):null===s[t]?U(e,(e=>a(e,t+1))):E([s[t],null],(s=>a($(e,s),t+1)));return a(e,0),n})(e,n),(e=>U(e,(e=>$(l,e)[0](s,...n??[],...a))))),e=>m($(l,e),(([,s,n])=>(ie(s,n??[t],void 0,(t=>(X(t,e),K(t)?1:0))),ee(l,e),a(e),n))),e=>m($(l,e),(([e,,t=[],n,a])=>{const l=(...o)=>{const r=J(o);r==J(t)?e(s,...o,...a(o)):y(t[r])?E(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,t[r])};l()}))]})(),ut=e=>{if(!q(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!L(t)&&t!=a||(Ce(e[r])!=t&&D(e,r),0))},ht=(t,s)=>(!e||G(Je,s)||Wt(s))&&q(t,((e,t)=>ft(s,t,e)),(()=>Wt(s))),ft=(e,t,s,n)=>q(n?s:Vt(s,e,t),((n,a)=>m(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Wt(e,t))),gt=(t,s,n,a)=>e?m($($(Je,t),n),(e=>Ce(a)!=e[o]?Wt(t,s,n,a,e[r]):a),(()=>Wt(t,s,n,a))):y(Ce(a))?Wt(t,s,n,a):a,Tt=(e,t)=>q(t?e:Ct(e),((t,s)=>m(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),bt=(e,t)=>s?m($(Fe,e),(s=>Ce(t)!=s[o]?qt(e,t,s[r]):t),(()=>qt(e,t))):y(Ce(t))?qt(e,t):t,Vt=(e,t,s)=>(m($(Ee,t),(([n,a])=>{U(n,((t,s)=>{x(e,s)||(e[s]=t)})),U(a,(n=>{x(e,n)||Wt(t,s,n)}))})),e),Ct=e=>(s&&(U(Oe,((t,s)=>{x(e,s)||(e[s]=t)})),U(ze,(t=>{x(e,t)||qt(t)}))),e),St=e=>se(Je,e,((e,t,s)=>{const n=Y(),a=de();se(te(Je,t,Y),s,((e,t,s)=>{ee(e,t,s),m(s[r],(e=>ee(n,t,e)),(()=>ue(a,t)))})),ee(Ee,t,[n,a])}),((e,t)=>{ee(Je,t),ee(Ee,t)})),vt=e=>se(Fe,e,((e,t,s)=>{ee(Fe,t,s),m(s[r],(e=>ee(Oe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Fe,t),ee(Oe,t),X(ze,t)})),pt=e=>W(e)?ps():bs(e),wt=e=>se(Ae,e,((e,t,s)=>yt(t,s)),((e,t)=>zt(t))),yt=(e,t)=>se(te(Ae,e,(()=>(Mt(e,1),ee(Pe,e,fe()),ee(ke,e,Y()),Y()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Pt(e,t,s))),mt=(e,t,s,n,a)=>se(te(t,s,(()=>(Nt(e,s,1),Y()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>kt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{G(s,n)||jt(e,t,n,1);const l=$(s,n);a!==l&&(xt(e,t,n,l,a),ee(s,n,a))},Rt=(e,t,s,n,a)=>m($(t,s),(t=>Lt(e,s,t,n,a)),(()=>mt(e,t,s,Vt({[n]:a},e,s)))),It=e=>W(e)?ms():Vs(e),Jt=e=>se(Me,e,((e,t,s)=>Et(t,s)),((e,t)=>At(t))),Et=(e,t)=>{G(Me,e)||Dt(e,1);const s=$(Me,e);t!==s&&(Ht(e,s,t),ee(Me,e,t))},Ft=(e,t)=>{const[s]=$(Pe,e),n=s(t);return G($(Ae,e),n)?Ft(e,t):n},Ot=e=>$(Ae,e)??yt(e,{}),zt=e=>yt(e,{}),Pt=(e,t,s)=>{const[,n]=$(Pe,e);n(s),mt(e,t,s,{},!0)},kt=(e,t,s,n,a,l)=>{const o=$($(Ee,e)?.[0],a);if(!y(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{xt(e,s,t,$(n,t)),jt(e,s,t,-1),ee(n,t)};y(o)?r(a):_(n,r),K(n)&&(Nt(e,s,-1),K(ee(t,s))&&(Mt(e,-1),ee(Ae,e),ee(Pe,e),ee(ke,e)))},At=e=>{const t=$(Oe,e);if(!y(t))return Et(e,t);Ht(e,$(Me,e)),Dt(e,-1),ee(Me,e)},Mt=(e,t)=>ye(z,e,t),Nt=(e,t,s)=>ye(te(A,e,Y),t,s)&&ee(k,e,te(k,e,(()=>0))+s),jt=(e,t,s,n)=>{const a=$(ke,e),l=$(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&ye(te(P,e,Y),s,n),ee(a,s,l!=-n?l+n:null),ye(te(te(M,e,Y),t,Y),s,n)},xt=(e,t,s,n,a)=>{te(te(te(N,e,Y),t,Y),s,(()=>[n,0]))[1]=a,w[3]?.(e,t,s,a)},Dt=(e,t)=>ye(he,e,t),Ht=(e,t,s)=>{te(Le,e,(()=>[t,0]))[1]=s,w[4]?.(e,s)},Wt=(e,t,s,n,a)=>(O(te(te(te(Re,e,Y),t,Y),s,(()=>[])),n),a),qt=(e,t,s)=>(O(te(Ie,e,(()=>[])),t),s),Bt=(e,t,s)=>m($($($(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(ls(e,t,s))])),Gt=e=>m($(Le,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(cs(e))])),Kt=e=>K(Re)||K($e[e])?0:U(e?ce(Re):Re,((t,s)=>U(t,((t,n)=>U(t,((t,a)=>ct($e[e],[s,n,a],t))))))),Qt=e=>K(Ie)||K(_e[e])?0:U(e?oe(Ie):Ie,((t,s)=>ct(_e[e],[s],t))),Ut=(e,t,s,n)=>{if(!K(e))return ct(t,n,(()=>ne(e))),_(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Ne[e],void 0,t);const s=K(Ke[e]),a=K(Xe[e])&&K(Ye[e])&&K(Ge[e])&&K(Qe[e])&&K(We[e])&&K(qe[e])&&K(Be[e])&&s&&K(xe[e])&&K(De[e]),l=K(Ze[e])&&K(Ue[e])&&K(He[e])&&K(je[e]);if(!a||!l){const t=e?[oe(z),re(P),oe(k),re(A),ce(M),ce(N)]:[z,P,k,A,M,N];if(!a){Ut(t[0],xe[e],De[e]),U(t[1],((t,s)=>Ut(t,We[e],qe[e],[s]))),U(t[2],((t,s)=>{0!=t&&ct(Be[e],[s],ts(s))}));const n=de();U(t[3],((t,a)=>{Ut(t,Ge[e],Qe[e],[a])&&!s&&(ct(Ke[e],[a,null]),ue(n,a))})),s||U(t[5],((t,s)=>{if(!G(n,s)){const n=de();U(t,(e=>U(e,(([t,s],a)=>s!==t?ue(n,a):X(e,a))))),U(n,(t=>ct(Ke[e],[s,t])))}})),U(t[4],((t,s)=>U(t,((t,n)=>Ut(t,Xe[e],Ye[e],[s,n])))))}if(!l){let s;U(t[5],((t,n)=>{let a;U(t,((t,l)=>{let o;U(t,(([t,r],c)=>{r!==t&&(ct(Ze[e],[n,l,c],r,t,Bt),s=a=o=1)})),o&&ct(Ue[e],[n,l],Bt)})),a&&ct(He[e],[n],Bt)})),s&&ct(je[e],void 0,Bt)}}},Yt=e=>{const t=gs();t!=l&&ct(et[e],void 0,t);const s=K(st[e])&&K(nt[e]),n=K(at[e])&&K(tt[e]);if(!s||!n){const t=e?[oe(he),oe(Le)]:[he,Le];if(s||Ut(t[0],st[e],nt[e]),!n){let s;U(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Gt),s=1)})),s&&ct(tt[e],void 0,Gt)}}},Zt=(e,...t)=>(Is((()=>e(...F(t,p)))),Fs),$t=()=>le(Ae),_t=()=>Z(Ae),es=e=>Z($(ke,p(e))),ts=e=>B($(Ae,p(e))),ss=e=>Z($(Ae,p(e))),ns=(e,t,s,n=0,a)=>{return F(I((o=$(Ae,p(e)),r=(e,s)=>[y(t)?s:$(e,p(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,y(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Z($($(Ae,p(e)),p(t))),ls=(e,t,s)=>$($($(Ae,p(e)),p(t)),p(s)),os=()=>ne(Me),rs=()=>Z(Me),cs=e=>$(Me,p(e)),is=()=>!K(Ae),ds=e=>G(Ae,p(e)),us=(e,t)=>G($(ke,p(e)),p(t)),hs=(e,t)=>G($(Ae,p(e)),p(t)),fs=(e,t,s)=>G($($(Ae,p(e)),p(t)),p(s)),gs=()=>!K(Me),Ts=e=>G(Me,p(e)),bs=e=>Zt((()=>(e=>q(e,ht,Wt))(e)?wt(e):0)),Vs=e=>Zt((()=>Tt(e)?Jt(e):0)),Cs=e=>{try{pt(we(e))}catch{}return Fs},Ss=t=>Zt((()=>{if((e=q(t,(e=>q(e,ut))))&&(St(t),!K(Ae))){const e=$t();ps(),bs(e)}})),vs=e=>Zt((()=>{if(s=(e=>q(e,ut))(e)){const t=os();Rs(),ms(),s=!0,vt(e),Vs(t)}})),ps=()=>Zt((()=>wt({}))),ws=e=>Zt((e=>G(Ae,e)?zt(e):0),e),ys=(e,t)=>Zt(((e,t)=>m($(Ae,e),(s=>G(s,t)?Pt(e,s,t):0))),e,t),ms=()=>Zt((()=>Jt({}))),Ls=()=>Zt((()=>{St({}),e=!1})),Rs=()=>Zt((()=>{vt({}),s=!1})),Is=(e,t)=>{if(-1!=i){Js();const s=e();return Es(t),s}},Js=()=>(-1!=i&&i++,1==i&&(w[0]?.(),ct(lt)),Fs),Es=e=>(i>0&&(i--,0==i&&(i=1,Kt(1),K(N)||Xt(1),Qt(1),K(Le)||Yt(1),e?.(Fs)&&(U(N,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>Se(Fs,t,s,n,e))))))),Q(N),U(Le,(([e],t)=>ve(Fs,t,e))),Q(Le)),ct(ot[0],void 0),i=-1,Kt(0),K(N)||Xt(0),Qt(0),K(Le)||Yt(0),w[1]?.(),ct(ot[1],void 0),w[2]?.(),i=0,n=is(),l=gs(),E([z,P,k,A,M,N,Re,he,Le,Ie],Q))),Fs),Fs={getContent:()=>[$t(),os()],getTables:$t,getTableIds:_t,getTable:e=>ae($(Ae,p(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ne($($(Ae,p(e)),p(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:hs,hasCell:fs,hasValues:gs,hasValue:Ts,getTablesJson:()=>pe(Ae),getValuesJson:()=>pe(Me),getJson:()=>pe([Ae,Me]),getTablesSchemaJson:()=>pe(Je),getValuesSchemaJson:()=>pe(Fe),getSchemaJson:()=>pe([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Zt((()=>{(W(e)?ps:bs)(e),(W(t)?ms:Vs)(t)})),setTables:bs,setTable:(e,t)=>Zt((e=>ht(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ft(e,t,s)?mt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ft(e,n,t)&&(e=p(e),mt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(ft(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>m(gt(e,t,s,R(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>Zt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Zt((e=>m(bt(e,R(t)?t(cs(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Zt((()=>{H(e[0],((e,t)=>y(e)?ws(t):H(e,((e,s)=>y(e)?ys(t,s):H(e,((e,n)=>Se(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ve(Fs,t,e)))})),setTablesJson:Cs,setValuesJson:e=>{try{It(we(e))}catch{}return Fs},setJson:e=>Zt((()=>{try{const[t,s]=we(e);pt(t),It(s)}catch{Cs(e)}})),setTablesSchema:Ss,setValuesSchema:vs,setSchema:(e,t)=>Zt((()=>{Ss(e),vs(t)})),delTables:ps,delTable:ws,delRow:ys,delCell:(e,t,s,n)=>Zt(((e,t,s)=>m($(Ae,e),(a=>m($(a,t),(l=>G(l,s)?kt(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Zt((e=>G(Me,e)?At(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Zt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ne(N,((e,t)=>-1===$(z,t)?void 0:ne(e,((e,s)=>-1===$($(A,t),s)?void 0:ne(e,(([,e])=>e),(e=>Ve(e)))),K,W)),K,W),ne(Le,(([,e])=>e),(e=>Ve(e))),1],getTransactionLog:()=>[!K(N),!K(Le),le(N,be,Ve),le(Re),ne(Le,be,Ve),ne(Ie),ne(z),ae(A),le(M),ne(he)],finishTransaction:Es,forEachTable:e=>U(Ae,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_($(ke,p(e)),t),forEachRow:(e,t)=>U($(Ae,p(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_($($(Ae,p(e)),p(t)),s),forEachValue:e=>_(Me,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var c,i,d;i=r,J(c=o)===J(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,l(Fs,e,t,s,n,a,r))}),Ke[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Fs),delListener:e=>(it(e),Fs),getListenerStats:()=>({}),createStore:me,addListener:rt,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>w=[e,t,s,n,a]};return H({[c+u]:[0,Ne,[],()=>[is()]],[u]:[0,je],[h]:[0,xe],[c+d]:[1,De,[_t],e=>[ds(...e)]],[d]:[1,He,[_t]],[d+V]:[1,We,[_t]],[c+d+b]:[2,qe,[_t,es],e=>[us(...e)]],[g]:[1,Be,[_t]],[T]:[1,Ge,[_t]],[c+f]:[2,Qe,[_t,ss],e=>[hs(...e)]],[f]:[2,Ue,[_t,ss]],[V]:[2,Xe,[_t,ss]],[c+b]:[3,Ye,[_t,ss,as],e=>[fs(...e)]],[b]:[3,Ze,[_t,ss,as],e=>ge(ls(...e))],InvalidCell:[3,$e],[c+S]:[0,et,[],()=>[gs()]],[S]:[0,tt],[v]:[0,st],[c+C]:[1,nt,[rs],e=>[Ts(...e)]],[C]:[1,at,[rs],e=>ge(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?I(a,0,e):void 0,s,n)})),j(Fs)};export{me as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),l=e(e),o="type",r="default",c="Has",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,p=e=>t+e,w=isFinite,y=e=>null==e,m=(e,t,s)=>y(e)?s?.():t(e),L=e=>e==s||e==n,R=t=>e(t)==l,I=(e,t,s)=>e.slice(t,s),J=e=>e.length,E=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,M=e=>z.getPrototypeOf(e),P=z.entries,k=z.isFrozen,A=e=>!y(e)&&m(M(e),(e=>e==z.prototype||y(M(e))),(()=>!0)),N=z.keys,j=z.freeze,x=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>F(P(e),(([e,s])=>t(s,e))),W=e=>A(e)&&0==(e=>J(N(e)))(e),q=(e,t,s,n=0)=>y(e)||!A(e)||!n&&W(e)||k(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!!n||!W(e)),B=e=>e?.size??0,G=(e,t)=>e?.has(t)??!1,K=e=>y(e)||0==B(e),Q=e=>e.clear(),U=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),Z=e=>[...e?.keys()??[]],$=(e,t)=>e?.get(t),_=(e,t)=>U(e,((e,s)=>t(s,e))),ee=(e,t,s)=>y(s)?(X(e,t),e):e?.set(t,s),te=(e,t,s,n)=>(G(e,t)?n?.($(e,t)):ee(e,t,s()),$(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>x(t,s)?0:n(e,s))),e),ne=(e,t,s,n)=>{const a={};return U(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},ae=(e,t,s)=>ne(e,(e=>ne(e,t,s)),K,W),le=(e,t,s)=>ne(e,(e=>ae(e,t,s)),K,W),oe=(e,t)=>{const s=Y();return U(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ce=e=>oe(e,re),ie=(e,t,s,n,a=0)=>m((s?te:$)(e,t[a],a>J(t)-2?s:Y),(l=>{if(a>J(t)-2)return n?.(l)&&ee(e,t[a]),l;const o=ie(l,t,s,n,a+1);return K(l)&&ee(e,t[a]),o})),de=e=>new Set(Array.isArray(e)||y(e)?e:[e]),ue=(e,t)=>e?.add(t),he=/^\d+$/,fe=()=>{const e=[];let s=0;return[n=>(n?e.shift():null)??t+s++,t=>{he.test(t)&&J(e)<1e3&&O(e,t)}]},ge=e=>[e,e],Te=()=>[Y(),Y()],be=e=>[...e],Ve=([e,t])=>e===t,Ce=t=>{const s=e(t);return L(s)||s==a&&w(t)?s:void 0},Se=(e,t,s,n,a)=>y(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ve=(e,t,s)=>y(s)?e.delValue(t):e.setValue(t,s),pe=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),we=JSON.parse;Y(F("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),((e,t)=>[e,t])));const ye=(e,t,s)=>ee(e,t,$(e,t)==-s?void 0:s),me=()=>{let e,s,n=!1,l=!1,i=0,w=[];const z=Y(),M=Y(),P=Y(),k=Y(),A=Y(),N=Y(),he=Y(),Le=Y(),Re=Y(),Ie=Y(),Je=Y(),Ee=Y(),Fe=Y(),Oe=Y(),ze=de(),Me=Y(),Pe=Y(),ke=Y(),Ae=Y(),Ne=Te(),je=Te(),xe=Te(),De=Te(),He=Te(),We=Te(),qe=Te(),Be=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),$e=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),at=Te(),lt=Y(),ot=Te(),[rt,ct,it,dt]=(e=>{let s;const[n,a]=fe(),l=Y();return[(e,a,o,r=[],c=(()=>[]))=>{s??=Fs;const i=n(1);return ee(l,i,[e,a,o,r,c]),ue(ie(a,o??[t],de),i),i},(e,n,...a)=>E(((e,s=[t])=>{const n=[],a=(e,t)=>t==J(s)?O(n,e):null===s[t]?U(e,(e=>a(e,t+1))):E([s[t],null],(s=>a($(e,s),t+1)));return a(e,0),n})(e,n),(e=>U(e,(e=>$(l,e)[0](s,...n??[],...a))))),e=>m($(l,e),(([,s,n])=>(ie(s,n??[t],void 0,(t=>(X(t,e),K(t)?1:0))),ee(l,e),a(e),n))),e=>m($(l,e),(([e,,t=[],n,a])=>{const l=(...o)=>{const r=J(o);r==J(t)?e(s,...o,...a(o)):y(t[r])?E(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,t[r])};l()}))]})(),ut=e=>{if(!q(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!L(t)&&t!=a||(Ce(e[r])!=t&&D(e,r),0))},ht=(t,s)=>(!e||G(Je,s)||Wt(s))&&q(t,((e,t)=>ft(s,t,e)),(()=>Wt(s))),ft=(e,t,s,n)=>q(n?s:Vt(s,e,t),((n,a)=>m(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Wt(e,t))),gt=(t,s,n,a)=>e?m($($(Je,t),n),(e=>Ce(a)!=e[o]?Wt(t,s,n,a,e[r]):a),(()=>Wt(t,s,n,a))):y(Ce(a))?Wt(t,s,n,a):a,Tt=(e,t)=>q(t?e:Ct(e),((t,s)=>m(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),bt=(e,t)=>s?m($(Fe,e),(s=>Ce(t)!=s[o]?qt(e,t,s[r]):t),(()=>qt(e,t))):y(Ce(t))?qt(e,t):t,Vt=(e,t,s)=>(m($(Ee,t),(([n,a])=>{U(n,((t,s)=>{x(e,s)||(e[s]=t)})),U(a,(n=>{x(e,n)||Wt(t,s,n)}))})),e),Ct=e=>(s&&(U(Oe,((t,s)=>{x(e,s)||(e[s]=t)})),U(ze,(t=>{x(e,t)||qt(t)}))),e),St=e=>se(Je,e,((e,t,s)=>{const n=Y(),a=de();se(te(Je,t,Y),s,((e,t,s)=>{ee(e,t,s),m(s[r],(e=>ee(n,t,e)),(()=>ue(a,t)))})),ee(Ee,t,[n,a])}),((e,t)=>{ee(Je,t),ee(Ee,t)})),vt=e=>se(Fe,e,((e,t,s)=>{ee(Fe,t,s),m(s[r],(e=>ee(Oe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Fe,t),ee(Oe,t),X(ze,t)})),pt=e=>W(e)?ps():bs(e),wt=e=>se(ke,e,((e,t,s)=>yt(t,s)),((e,t)=>zt(t))),yt=(e,t)=>se(te(ke,e,(()=>(At(e,1),ee(Me,e,fe()),ee(Pe,e,Y()),Y()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Mt(e,t,s))),mt=(e,t,s,n,a)=>se(te(t,s,(()=>(Nt(e,s,1),Y()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{G(s,n)||jt(e,t,n,1);const l=$(s,n);a!==l&&(xt(e,t,n,l,a),ee(s,n,a))},Rt=(e,t,s,n,a)=>m($(t,s),(t=>Lt(e,s,t,n,a)),(()=>mt(e,t,s,Vt({[n]:a},e,s)))),It=e=>W(e)?ms():Vs(e),Jt=e=>se(Ae,e,((e,t,s)=>Et(t,s)),((e,t)=>kt(t))),Et=(e,t)=>{G(Ae,e)||Dt(e,1);const s=$(Ae,e);t!==s&&(Ht(e,s,t),ee(Ae,e,t))},Ft=(e,t)=>{const[s]=$(Me,e),n=s(t);return G($(ke,e),n)?Ft(e,t):n},Ot=e=>$(ke,e)??yt(e,{}),zt=e=>yt(e,{}),Mt=(e,t,s)=>{const[,n]=$(Me,e);n(s),mt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=$($(Ee,e)?.[0],a);if(!y(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{xt(e,s,t,$(n,t)),jt(e,s,t,-1),ee(n,t)};y(o)?r(a):_(n,r),K(n)&&(Nt(e,s,-1),K(ee(t,s))&&(At(e,-1),ee(ke,e),ee(Me,e),ee(Pe,e)))},kt=e=>{const t=$(Oe,e);if(!y(t))return Et(e,t);Ht(e,$(Ae,e)),Dt(e,-1),ee(Ae,e)},At=(e,t)=>ye(z,e,t),Nt=(e,t,s)=>ye(te(k,e,Y),t,s)&&ee(P,e,te(P,e,(()=>0))+s),jt=(e,t,s,n)=>{const a=$(Pe,e),l=$(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&ye(te(M,e,Y),s,n),ee(a,s,l!=-n?l+n:null),ye(te(te(A,e,Y),t,Y),s,n)},xt=(e,t,s,n,a)=>{te(te(te(N,e,Y),t,Y),s,(()=>[n,0]))[1]=a,w[3]?.(e,t,s,a)},Dt=(e,t)=>ye(he,e,t),Ht=(e,t,s)=>{te(Le,e,(()=>[t,0]))[1]=s,w[4]?.(e,s)},Wt=(e,t,s,n,a)=>(O(te(te(te(Re,e,Y),t,Y),s,(()=>[])),n),a),qt=(e,t,s)=>(O(te(Ie,e,(()=>[])),t),s),Bt=(e,t,s)=>m($($($(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(ls(e,t,s))])),Gt=e=>m($(Le,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(cs(e))])),Kt=e=>K(Re)||K($e[e])?0:U(e?ce(Re):Re,((t,s)=>U(t,((t,n)=>U(t,((t,a)=>ct($e[e],[s,n,a],t))))))),Qt=e=>K(Ie)||K(_e[e])?0:U(e?oe(Ie):Ie,((t,s)=>ct(_e[e],[s],t))),Ut=(e,t,s,n)=>{if(!K(e))return ct(t,n,(()=>ne(e))),_(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Xt=e=>{const t=is();t!=n&&ct(Ne[e],void 0,t);const s=K(Ke[e]),a=K(Xe[e])&&K(Ye[e])&&K(Ge[e])&&K(Qe[e])&&K(We[e])&&K(qe[e])&&K(Be[e])&&s&&K(xe[e])&&K(De[e]),l=K(Ze[e])&&K(Ue[e])&&K(He[e])&&K(je[e]);if(!a||!l){const t=e?[oe(z),re(M),oe(P),re(k),ce(A),ce(N)]:[z,M,P,k,A,N];if(!a){Ut(t[0],xe[e],De[e]),U(t[1],((t,s)=>Ut(t,We[e],qe[e],[s]))),U(t[2],((t,s)=>{0!=t&&ct(Be[e],[s],ts(s))}));const n=de();U(t[3],((t,a)=>{Ut(t,Ge[e],Qe[e],[a])&&!s&&(ct(Ke[e],[a,null]),ue(n,a))})),s||U(t[5],((t,s)=>{if(!G(n,s)){const n=de();U(t,(e=>U(e,(([t,s],a)=>s!==t?ue(n,a):X(e,a))))),U(n,(t=>ct(Ke[e],[s,t])))}})),U(t[4],((t,s)=>U(t,((t,n)=>Ut(t,Xe[e],Ye[e],[s,n])))))}if(!l){let s;U(t[5],((t,n)=>{let a;U(t,((t,l)=>{let o;U(t,(([t,r],c)=>{r!==t&&(ct(Ze[e],[n,l,c],r,t,Bt),s=a=o=1)})),o&&ct(Ue[e],[n,l],Bt)})),a&&ct(He[e],[n],Bt)})),s&&ct(je[e],void 0,Bt)}}},Yt=e=>{const t=gs();t!=l&&ct(et[e],void 0,t);const s=K(st[e])&&K(nt[e]),n=K(at[e])&&K(tt[e]);if(!s||!n){const t=e?[oe(he),oe(Le)]:[he,Le];if(s||Ut(t[0],st[e],nt[e]),!n){let s;U(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,Gt),s=1)})),s&&ct(tt[e],void 0,Gt)}}},Zt=(e,...t)=>(Is((()=>e(...F(t,p)))),Fs),$t=()=>le(ke),_t=()=>Z(ke),es=e=>Z($(Pe,p(e))),ts=e=>B($(ke,p(e))),ss=e=>Z($(ke,p(e))),ns=(e,t,s,n=0,a)=>{return F(I((o=$(ke,p(e)),r=(e,s)=>[y(t)?s:$(e,p(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,y(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Z($($(ke,p(e)),p(t))),ls=(e,t,s)=>$($($(ke,p(e)),p(t)),p(s)),os=()=>ne(Ae),rs=()=>Z(Ae),cs=e=>$(Ae,p(e)),is=()=>!K(ke),ds=e=>G(ke,p(e)),us=(e,t)=>G($(Pe,p(e)),p(t)),hs=(e,t)=>G($(ke,p(e)),p(t)),fs=(e,t,s)=>G($($(ke,p(e)),p(t)),p(s)),gs=()=>!K(Ae),Ts=e=>G(Ae,p(e)),bs=e=>Zt((()=>(e=>q(e,ht,Wt))(e)?wt(e):0)),Vs=e=>Zt((()=>Tt(e)?Jt(e):0)),Cs=e=>{try{pt(we(e))}catch{}return Fs},Ss=t=>Zt((()=>{if((e=q(t,(e=>q(e,ut))))&&(St(t),!K(ke))){const e=$t();ps(),bs(e)}})),vs=e=>Zt((()=>{if(s=(e=>q(e,ut))(e)){const t=os();Rs(),ms(),s=!0,vt(e),Vs(t)}})),ps=()=>Zt((()=>wt({}))),ws=e=>Zt((e=>G(ke,e)?zt(e):0),e),ys=(e,t)=>Zt(((e,t)=>m($(ke,e),(s=>G(s,t)?Mt(e,s,t):0))),e,t),ms=()=>Zt((()=>Jt({}))),Ls=()=>Zt((()=>{St({}),e=!1})),Rs=()=>Zt((()=>{vt({}),s=!1})),Is=(e,t)=>{if(-1!=i){Js();const s=e();return Es(t),s}},Js=()=>(-1!=i&&i++,1==i&&(w[0]?.(),ct(lt)),Fs),Es=e=>(i>0&&(i--,0==i&&(i=1,Kt(1),K(N)||Xt(1),Qt(1),K(Le)||Yt(1),e?.(Fs)&&(U(N,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>Se(Fs,t,s,n,e))))))),Q(N),U(Le,(([e],t)=>ve(Fs,t,e))),Q(Le)),ct(ot[0],void 0),i=-1,Kt(0),K(N)||Xt(0),Qt(0),K(Le)||Yt(0),w[1]?.(),ct(ot[1],void 0),w[2]?.(),i=0,n=is(),l=gs(),E([z,M,P,k,A,N,Re,he,Le,Ie],Q))),Fs),Fs={getContent:()=>[$t(),os()],getTables:$t,getTableIds:_t,getTable:e=>ae($(ke,p(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ne($($(ke,p(e)),p(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:hs,hasCell:fs,hasValues:gs,hasValue:Ts,getTablesJson:()=>pe(ke),getValuesJson:()=>pe(Ae),getJson:()=>pe([ke,Ae]),getTablesSchemaJson:()=>pe(Je),getValuesSchemaJson:()=>pe(Fe),getSchemaJson:()=>pe([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>Zt((()=>{(W(e)?ps:bs)(e),(W(t)?ms:Vs)(t)})),setTables:bs,setTable:(e,t)=>Zt((e=>ht(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>ft(e,t,s)?mt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ft(e,n,t)&&(e=p(e),mt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(ft(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Zt(((e,t,s)=>m(gt(e,t,s,R(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Vs,setPartialValues:e=>Zt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Zt((e=>m(bt(e,R(t)?t(cs(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Zt((()=>{H(e[0],((e,t)=>y(e)?ws(t):H(e,((e,s)=>y(e)?ys(t,s):H(e,((e,n)=>Se(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ve(Fs,t,e)))})),setTablesJson:Cs,setValuesJson:e=>{try{It(we(e))}catch{}return Fs},setJson:e=>Zt((()=>{try{const[t,s]=we(e);pt(t),It(s)}catch{Cs(e)}})),setTablesSchema:Ss,setValuesSchema:vs,setSchema:(e,t)=>Zt((()=>{Ss(e),vs(t)})),delTables:ps,delTable:ws,delRow:ys,delCell:(e,t,s,n)=>Zt(((e,t,s)=>m($(ke,e),(a=>m($(a,t),(l=>G(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Zt((e=>G(Ae,e)?kt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Zt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ne(N,((e,t)=>-1===$(z,t)?void 0:ne(e,((e,s)=>-1===$($(k,t),s)?void 0:ne(e,(([,e])=>e),(e=>Ve(e)))),K,W)),K,W),ne(Le,(([,e])=>e),(e=>Ve(e))),1],getTransactionLog:()=>[!K(N),!K(Le),le(N,be,Ve),le(Re),ne(Le,be,Ve),ne(Ie),ne(z),ae(k),le(A),ne(he)],finishTransaction:Es,forEachTable:e=>U(ke,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_($(Pe,p(e)),t),forEachRow:(e,t)=>U($(ke,p(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_($($(ke,p(e)),p(t)),s),forEachValue:e=>_(Ae,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var c,i,d;i=r,J(c=o)===J(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,l(Fs,e,t,s,n,a,r))}),Ke[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Fs),delListener:e=>(it(e),Fs),getListenerStats:()=>({}),isMergeable:()=>!1,createStore:me,addListener:rt,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>w=[e,t,s,n,a]};return H({[c+u]:[0,Ne,[],()=>[is()]],[u]:[0,je],[h]:[0,xe],[c+d]:[1,De,[_t],e=>[ds(...e)]],[d]:[1,He,[_t]],[d+V]:[1,We,[_t]],[c+d+b]:[2,qe,[_t,es],e=>[us(...e)]],[g]:[1,Be,[_t]],[T]:[1,Ge,[_t]],[c+f]:[2,Qe,[_t,ss],e=>[hs(...e)]],[f]:[2,Ue,[_t,ss]],[V]:[2,Xe,[_t,ss]],[c+b]:[3,Ye,[_t,ss,as],e=>[fs(...e)]],[b]:[3,Ze,[_t,ss,as],e=>ge(ls(...e))],InvalidCell:[3,$e],[c+S]:[0,et,[],()=>[gs()]],[S]:[0,tt],[v]:[0,st],[c+C]:[1,nt,[rs],e=>[Ts(...e)]],[C]:[1,at,[rs],e=>ge(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?I(a,0,e):void 0,s,n)})),j(Fs)};export{me as createStore};
package/lib/store.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- const e=Promise,t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=Object,s=e=>n.getPrototypeOf(e),o=n.entries,r=n.keys,i=n.freeze,l=(e,t)=>((e,t)=>e.forEach(t))(o(e),(([e,a])=>t(a,e))),c=e=>(e=>!t(e)&&a(s(e),(e=>e==n.prototype||t(s(e))),(()=>!0)))(e)&&0==(e=>r(e).length)(e),g=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,a,n)=>t(n)?(u(e,a),e):e?.set(a,n),w=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||h(e,t,a()),d(e,t)};new globalThis.TextEncoder;const v=(e,t)=>t?[e,t]:[e],f=(e,t)=>((e??"")>(t??"")?e:t)??"",p=(e="")=>v(((e=[])=>n.fromEntries(e))(),e),b=y(),A=y(),M="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var C;y((C=(e,t)=>[e,t],M.map(C)));const S=(e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+M[63&t]),""),T=y(),m=(n,s)=>{const o=S();return((n,s,o,r,M,C,T={})=>{let m;const L=y();o(((e,o,r,i)=>{0==r?a(d(L,o),(([a,n])=>t(a)||a==e?n(i,e):0)):2==r&&R.isAutoLoading()?E(e,i).then((e=>{m?.(void 0,e)})):3==r&&R.isAutoLoading()?m?.(void 0,i):a(1==r&&R.isAutoSaving()?n.getMergeableContentHashes():4==r?n.getMergeableTableDiff(i):5==r?n.getMergeableRowDiff(i):6==r?n.getMergeableCellDiff(i):7==r?n.getMergeableValueDiff(i):void 0,(t=>{s(e,o,0,t)}))}));const H=async(t,a,n="")=>new e(((e,o)=>{const r=S(),i=setTimeout((()=>{u(L,r),o(`No response from ${t??"anyone"} to '${a}'`)}),1e3*M);h(L,r,[t,(t,a)=>{clearTimeout(i),u(L,r),e([t,a])}]),s(t,r,a,n)})),D=(e,[t,a])=>{l(t,(([t,a],n)=>{const s=g(e[0],n,p);l(t,(([e,t],a)=>{const n=g(s[0],a,p);l(e,(([e,t],a)=>n[0][a]=v(e,t))),n[1]=f(n[1],t)})),s[1]=f(s[1],a)})),e[1]=f(e[1],a)},E=async(e=null,a)=>{t(a)&&([a,e]=await H(e,1));const[s,o]=a,[r,i]=n.getMergeableContentHashes();let l=p();if(r!=s){const[t,a]=(await H(e,4,n.getMergeableTableHashes()))[0];if(l=t,!c(a)){const[t,s]=(await H(e,5,n.getMergeableRowHashes(a)))[0];if(D(l,t),!c(s)){const t=(await H(e,6,n.getMergeableCellHashes(s)))[0];D(l,t)}}}return[l,i==o?p():(await H(e,7,n.getMergeableValuesHashes()))[0],1]},R=((e,n,s,o,r,l,g,u={},y=[])=>{let v,f,p,M=0;w(b,y,(()=>0)),w(A,y,(()=>[]));const[C,S,T,m,L]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:0)(g,e),H=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=M&&(M=1,await x((async()=>{try{H(await n())}catch(t){l?.(t),e&&L(e)}M=0}))),z),E=()=>(f&&(r(f),f=void 0),z),R=async e=>(1!=M&&(M=2,await x((async()=>{try{await s(S,e)}catch(e){l?.(e)}M=0}))),z),V=()=>(a(p,e.delListener),p=void 0,z),x=async(...e)=>(((e,...t)=>{e.push(...t)})(d(A,y),...e),await(async()=>{if(!d(b,y)){for(h(b,y,1);!t((e=d(A,y),v=e.shift()));)try{await v()}catch(e){l?.(e)}h(b,y,0)}var e})(),z),z={load:D,startAutoLoad:async e=>(await E().load(e),f=o((async(e,t)=>{t||e?2!=M&&(M=1,H(t??e),M=0):await D()})),z),stopAutoLoad:E,isAutoLoading:()=>!t(f),save:R,startAutoSave:async()=>(await V().save(),p=e.addDidFinishTransactionListener((()=>{const e=T();m(e)&&R(e)})),z),stopAutoSave:V,isAutoSaving:()=>!t(p),schedule:x,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...u};return i(z)})(n,(async()=>{const e=await E();return c(e[0][0])&&c(e[1][0])?void 0:e}),(async(e,t)=>{t?s(null,null,3,t):s(null,null,2,n.getMergeableContentHashes())}),(e=>m=e),(()=>m=void 0),C,2,{startSync:async e=>await(await R.startAutoLoad(e)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),R.stopSync()),getSynchronizerStats:()=>({}),...T});return R})(n,((e,a,n,s)=>{setTimeout((()=>{return t(e)?(r=T,r?.forEach(((e,t)=>{return r=e,t!=o?r(o,a,n,s):0;var r}))):d(T,e)?.(o,a,n,s);var r}),0)}),(e=>{h(T,o,e)}),(()=>{u(T,o)}),.01,s)};export{m as createLocalSynchronizer};
1
+ const e=Promise,t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,n=e=>s.getPrototypeOf(e),o=s.entries,r=s.keys,i=s.freeze,l=(e,t)=>((e,t)=>e.forEach(t))(o(e),(([e,a])=>t(a,e))),c=e=>(e=>!t(e)&&a(n(e),(e=>e==s.prototype||t(n(e))),(()=>!0)))(e)&&0==(e=>r(e).length)(e),g=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,a,s)=>t(s)?(u(e,a),e):e?.set(a,s),p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||h(e,t,a()),d(e,t)};new globalThis.TextEncoder;const w=(e,t)=>t?[e,t]:[e],v=(e,t)=>((e??"")>(t??"")?e:t)??"",b=(e="")=>w(((e=[])=>s.fromEntries(e))(),e),f=y(),A=y(),M="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var C;y((C=(e,t)=>[e,t],M.map(C)));const S=(e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+M[63&t]),""),T=y(),L=(s,n)=>{const o=S();return((s,n,o,r,M,C,T={})=>{let L;const m=y();o(((e,o,r,i)=>{0==r?a(d(m,o),(([a,s])=>t(a)||a==e?s(i,e):0)):2==r&&P.isAutoLoading()?E(e,i).then((e=>{L?.(void 0,e)})):3==r&&P.isAutoLoading()?L?.(void 0,i):a(1==r&&P.isAutoSaving()?s.getMergeableContentHashes():4==r?s.getMergeableTableDiff(i):5==r?s.getMergeableRowDiff(i):6==r?s.getMergeableCellDiff(i):7==r?s.getMergeableValueDiff(i):void 0,(t=>{n(e,o,0,t)}))}));const H=async(t,a,s="")=>new e(((e,o)=>{const r=S(),i=setTimeout((()=>{u(m,r),o(`No response from ${t??"anyone"} to '${a}'`)}),1e3*M);h(m,r,[t,(t,a)=>{clearTimeout(i),u(m,r),e([t,a])}]),n(t,r,a,s)})),D=(e,[t,a])=>{l(t,(([t,a],s)=>{const n=g(e[0],s,b);l(t,(([e,t],a)=>{const s=g(n[0],a,b);l(e,(([e,t],a)=>s[0][a]=w(e,t))),s[1]=v(s[1],t)})),n[1]=v(n[1],a)})),e[1]=v(e[1],a)},E=async(e=null,a)=>{t(a)&&([a,e]=await H(e,1));const[n,o]=a,[r,i]=s.getMergeableContentHashes();let l=b();if(r!=n){const[t,a]=(await H(e,4,s.getMergeableTableHashes()))[0];if(l=t,!c(a)){const[t,n]=(await H(e,5,s.getMergeableRowHashes(a)))[0];if(D(l,t),!c(n)){const t=(await H(e,6,s.getMergeableCellHashes(n)))[0];D(l,t)}}}return[l,i==o?b():(await H(e,7,s.getMergeableValuesHashes()))[0],1]},P=((e,s,n,o,r,l,g,u={},y=[])=>{let w,v,b,M=0;p(f,y,(()=>0)),p(A,y,(()=>[]));const[C,S,T,L,m]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),H=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=M&&(M=1,await V((async()=>{try{H(await s())}catch(t){l?.(t),e&&m(e)}M=0}))),x),E=()=>(v&&(r(v),v=void 0),x),P=async e=>(1!=M&&(M=2,await V((async()=>{try{await n(S,e)}catch(e){l?.(e)}M=0}))),x),R=()=>(a(b,e.delListener),b=void 0,x),V=async(...e)=>(((e,...t)=>{e.push(...t)})(d(A,y),...e),await(async()=>{if(!d(f,y)){for(h(f,y,1);!t((e=d(A,y),w=e.shift()));)try{await w()}catch(e){l?.(e)}h(f,y,0)}var e})(),x),x={load:D,startAutoLoad:async e=>(await E().load(e),v=o((async(e,t)=>{t||e?2!=M&&(M=1,H(t??e),M=0):await D()})),x),stopAutoLoad:E,isAutoLoading:()=>!t(v),save:P,startAutoSave:async()=>(await R().save(),b=e.addDidFinishTransactionListener((()=>{const e=T();L(e)&&P(e)})),x),stopAutoSave:R,isAutoSaving:()=>!t(b),schedule:V,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...u};return i(x)})(s,(async()=>{const e=await E();return c(e[0][0])&&c(e[1][0])?void 0:e}),(async(e,t)=>{t?n(null,null,3,t):n(null,null,2,s.getMergeableContentHashes())}),(e=>L=e),(()=>L=void 0),C,2,{startSync:async e=>await(await P.startAutoLoad(e)).startAutoSave(),stopSync:()=>P.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),P.stopSync()),getSynchronizerStats:()=>({}),...T});return P})(s,((e,a,s,n)=>{setTimeout((()=>{return t(e)?(r=T,r?.forEach(((e,t)=>{return r=e,t!=o?r(o,a,s,n):0;var r}))):d(T,e)?.(o,a,s,n);var r}),0)}),(e=>{h(T,o,e)}),(()=>{u(T,o)}),.01,n)};export{L as createLocalSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=(e,t,a)=>e.slice(t,a),s=t=>new e(t),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,l=o.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(i(e),(([e,a])=>t(a,e))),u=e=>(e=>!t(e)&&a(r(e),(e=>e==o.prototype||t(r(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),d=(e,t)=>e?.delete(t),f=e=>new Map(e),h=(e,t)=>e?.get(t),v=(e,a,n)=>t(n)?(d(e,a),e):e?.set(a,n),p=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||v(e,t,a()),h(e,t)};new globalThis.TextEncoder;const w=(e,t)=>t?[e,t]:[e],b=(e,t)=>((e??"")>(t??"")?e:t)??"",S=(e="")=>w(((e=[])=>o.fromEntries(e))(),e),A=f(),M=f(),C="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var L;f((L=(e,t)=>[e,t],C.map(L)));const m=async(e,o,r=1,i)=>{let c;const L=(e,t)=>o.addEventListener(e,t),m=((e,n,o,r,i,c,L={})=>{let m;const T=f();o(((s,o,r,i)=>{0==r?a(h(T,o),(([e,a])=>t(e)||e==s?a(i,s):0)):2==r&&E.isAutoLoading()?O(s,i).then((e=>{m?.(void 0,e)})):3==r&&E.isAutoLoading()?m?.(void 0,i):a(1==r&&E.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{n(s,o,0,e)}))}));const H=async(e,t,a="")=>s(((s,o)=>{const r=((e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+C[63&t]),""))(),c=setTimeout((()=>{d(T,r),o(`No response from ${e??"anyone"} to '${t}'`)}),1e3*i);v(T,r,[e,(e,t)=>{clearTimeout(c),d(T,r),s([e,t])}]),n(e,r,t,a)})),D=(e,[t,a])=>{g(t,(([t,a],n)=>{const s=y(e[0],n,S);g(t,(([e,t],a)=>{const n=y(s[0],a,S);g(e,(([e,t],a)=>n[0][a]=w(e,t))),n[1]=b(n[1],t)})),s[1]=b(s[1],a)})),e[1]=b(e[1],a)},O=async(a=null,n)=>{t(n)&&([n,a]=await H(a,1));const[s,o]=n,[r,i]=e.getMergeableContentHashes();let c=S();if(r!=s){const[t,n]=(await H(a,4,e.getMergeableTableHashes()))[0];if(c=t,!u(n)){const[t,s]=(await H(a,5,e.getMergeableRowHashes(n)))[0];if(D(c,t),!u(s)){const t=(await H(a,6,e.getMergeableCellHashes(s)))[0];D(c,t)}}}return[c,i==o?S():(await H(a,7,e.getMergeableValuesHashes()))[0],1]},E=((e,n,s,o,r,i,c,g={},y=[])=>{let d,f,w,b=0;p(A,y,(()=>0)),p(M,y,(()=>[]));const[S,C,L,m,T]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!u(e)||!u(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!u(e)||!u(t),t.setContent]:0)(c,e),H=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=b&&(b=1,await x((async()=>{try{H(await n())}catch(t){i?.(t),e&&T(e)}b=0}))),P),O=()=>(f&&(r(f),f=void 0),P),E=async e=>(1!=b&&(b=2,await x((async()=>{try{await s(C,e)}catch(e){i?.(e)}b=0}))),P),N=()=>(a(w,e.delListener),w=void 0,P),x=async(...e)=>(((e,...t)=>{e.push(...t)})(h(M,y),...e),await(async()=>{if(!h(A,y)){for(v(A,y,1);!t((e=h(M,y),d=e.shift()));)try{await d()}catch(e){i?.(e)}v(A,y,0)}var e})(),P),P={load:D,startAutoLoad:async e=>(await O().load(e),f=o((async(e,t)=>{t||e?2!=b&&(b=1,H(t??e),b=0):await D()})),P),stopAutoLoad:O,isAutoLoading:()=>!t(f),save:E,startAutoSave:async()=>(await N().save(),w=e.addDidFinishTransactionListener((()=>{const e=L();m(e)&&E(e)})),P),stopAutoSave:N,isAutoSaving:()=>!t(w),schedule:x,getStore:()=>e,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...g};return l(P)})(e,(async()=>{const e=await O();return u(e[0][0])&&u(e[1][0])?void 0:e}),(async(t,a)=>{a?n(null,null,3,a):n(null,null,2,e.getMergeableContentHashes())}),(e=>m=e),(()=>m=void 0),c,2,{startSync:async e=>await(await E.startAutoLoad(e)).startAutoSave(),stopSync:()=>E.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),E.stopSync()),getSynchronizerStats:()=>({}),...L});return E})(e,((e,...t)=>{o.send((e??"")+"\n"+JSON.stringify(t,((e,t)=>void 0===t?"":t)))}),(e=>{c=e}),(()=>{o.close()}),r,i,{getWebSocket:()=>o});return L("message",(({data:e})=>{if(!t(c)){const t=e.toString("utf8").indexOf("\n");-1!==t&&c(n(e,0,t),...(a=n(e,t+1),JSON.parse(a,((e,t)=>""===t?void 0:t))))}var a})),s(((e,t)=>{o.readyState!=o.OPEN?(L("error",t),L("open",(()=>e(m)))):e(m)}))};export{m as createWsSynchronizer};
1
+ const e=Promise,t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=(e,t,a)=>e.slice(t,a),n=t=>new e(t),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,l=o.keys,c=o.freeze,g=(e,t)=>((e,t)=>e.forEach(t))(i(e),(([e,a])=>t(a,e))),y=e=>(e=>!t(e)&&a(r(e),(e=>e==o.prototype||t(r(e))),(()=>!0)))(e)&&0==(e=>l(e).length)(e),u=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),d=(e,t)=>e?.delete(t),h=e=>new Map(e),p=(e,t)=>e?.get(t),f=(e,a,s)=>t(s)?(d(e,a),e):e?.set(a,s),v=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||f(e,t,a()),p(e,t)};new globalThis.TextEncoder;const w=(e,t)=>t?[e,t]:[e],b=(e,t)=>((e??"")>(t??"")?e:t)??"",S=(e="")=>w(((e=[])=>o.fromEntries(e))(),e),A=h(),M=h(),C="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var L;h((L=(e,t)=>[e,t],C.map(L)));const T=async(e,o,r=1,i)=>{let l;const L=(e,t)=>o.addEventListener(e,t),T=((e,s,o,r,i,l,L={})=>{let T;const m=h();o(((n,o,r,i)=>{0==r?a(p(m,o),(([e,a])=>t(e)||e==n?a(i,n):0)):2==r&&O.isAutoLoading()?E(n,i).then((e=>{T?.(void 0,e)})):3==r&&O.isAutoLoading()?T?.(void 0,i):a(1==r&&O.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{s(n,o,0,e)}))}));const H=async(e,t,a="")=>n(((n,o)=>{const r=((e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+C[63&t]),""))(),l=setTimeout((()=>{d(m,r),o(`No response from ${e??"anyone"} to '${t}'`)}),1e3*i);f(m,r,[e,(e,t)=>{clearTimeout(l),d(m,r),n([e,t])}]),s(e,r,t,a)})),D=(e,[t,a])=>{g(t,(([t,a],s)=>{const n=u(e[0],s,S);g(t,(([e,t],a)=>{const s=u(n[0],a,S);g(e,(([e,t],a)=>s[0][a]=w(e,t))),s[1]=b(s[1],t)})),n[1]=b(n[1],a)})),e[1]=b(e[1],a)},E=async(a=null,s)=>{t(s)&&([s,a]=await H(a,1));const[n,o]=s,[r,i]=e.getMergeableContentHashes();let l=S();if(r!=n){const[t,s]=(await H(a,4,e.getMergeableTableHashes()))[0];if(l=t,!y(s)){const[t,n]=(await H(a,5,e.getMergeableRowHashes(s)))[0];if(D(l,t),!y(n)){const t=(await H(a,6,e.getMergeableCellHashes(n)))[0];D(l,t)}}}return[l,i==o?S():(await H(a,7,e.getMergeableValuesHashes()))[0],1]},O=((e,s,n,o,r,i,l,g={},u=[])=>{let d,h,w,b=0;v(A,u,(()=>0)),v(M,u,(()=>[]));const[S,C,L,T,m]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!y(e)||!y(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(l,e),H=t=>{var a;(S&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=b&&(b=1,await P((async()=>{try{H(await s())}catch(t){i?.(t),e&&m(e)}b=0}))),x),E=()=>(h&&(r(h),h=void 0),x),O=async e=>(1!=b&&(b=2,await P((async()=>{try{await n(C,e)}catch(e){i?.(e)}b=0}))),x),N=()=>(a(w,e.delListener),w=void 0,x),P=async(...e)=>(((e,...t)=>{e.push(...t)})(p(M,u),...e),await(async()=>{if(!p(A,u)){for(f(A,u,1);!t((e=p(M,u),d=e.shift()));)try{await d()}catch(e){i?.(e)}f(A,u,0)}var e})(),x),x={load:D,startAutoLoad:async e=>(await E().load(e),h=o((async(e,t)=>{t||e?2!=b&&(b=1,H(t??e),b=0):await D()})),x),stopAutoLoad:E,isAutoLoading:()=>!t(h),save:O,startAutoSave:async()=>(await N().save(),w=e.addDidFinishTransactionListener((()=>{const e=L();T(e)&&O(e)})),x),stopAutoSave:N,isAutoSaving:()=>!t(w),schedule:P,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...g};return c(x)})(e,(async()=>{const e=await E();return y(e[0][0])&&y(e[1][0])?void 0:e}),(async(t,a)=>{a?s(null,null,3,a):s(null,null,2,e.getMergeableContentHashes())}),(e=>T=e),(()=>T=void 0),l,2,{startSync:async e=>await(await O.startAutoLoad(e)).startAutoSave(),stopSync:()=>O.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),O.stopSync()),getSynchronizerStats:()=>({}),...L});return O})(e,((e,...t)=>{o.send((e??"")+"\n"+JSON.stringify(t,((e,t)=>void 0===t?"":t)))}),(e=>{l=e}),(()=>{o.close()}),r,i,{getWebSocket:()=>o});return L("message",(({data:e})=>{if(!t(l)){const t=e.toString("utf8").indexOf("\n");-1!==t&&l(s(e,0,t),...(a=s(e,t+1),JSON.parse(a,((e,t)=>""===t?void 0:t))))}var a})),n(((e,t)=>{o.readyState!=o.OPEN?(L("error",t),L("open",(()=>e(T)))):e(T)}))};export{T as createWsSynchronizer};
@@ -1 +1 @@
1
- const e=Promise,t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=Object,s=e=>n.getPrototypeOf(e),o=n.entries,r=n.keys,i=n.freeze,l=(e,t)=>((e,t)=>e.forEach(t))(o(e),(([e,a])=>t(a,e))),c=e=>(e=>!t(e)&&a(s(e),(e=>e==n.prototype||t(s(e))),(()=>!0)))(e)&&0==(e=>r(e).length)(e),g=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,a,n)=>t(n)?(u(e,a),e):e?.set(a,n),w=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)||h(e,t,a()),d(e,t)};new globalThis.TextEncoder;const p=(e,t)=>t?[e,t]:[e],f=(e,t)=>((e??"")>(t??"")?e:t)??"",v=(e="")=>p(((e=[])=>n.fromEntries(e))(),e),b=y(),A=y(),M="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var C;y((C=(e,t)=>[e,t],M.map(C)));const S=(n,s,o,r,C,S,L={})=>{let T;const m=y();o(((e,o,r,i)=>{0==r?a(d(m,o),(([a,n])=>t(a)||a==e?n(i,e):0)):2==r&&R.isAutoLoading()?E(e,i).then((e=>{T?.(void 0,e)})):3==r&&R.isAutoLoading()?T?.(void 0,i):a(1==r&&R.isAutoSaving()?n.getMergeableContentHashes():4==r?n.getMergeableTableDiff(i):5==r?n.getMergeableRowDiff(i):6==r?n.getMergeableCellDiff(i):7==r?n.getMergeableValueDiff(i):void 0,(t=>{s(e,o,0,t)}))}));const H=async(t,a,n="")=>new e(((e,o)=>{const r=((e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+M[63&t]),""))(),i=setTimeout((()=>{u(m,r),o(`No response from ${t??"anyone"} to '${a}'`)}),1e3*C);h(m,r,[t,(t,a)=>{clearTimeout(i),u(m,r),e([t,a])}]),s(t,r,a,n)})),D=(e,[t,a])=>{l(t,(([t,a],n)=>{const s=g(e[0],n,v);l(t,(([e,t],a)=>{const n=g(s[0],a,v);l(e,(([e,t],a)=>n[0][a]=p(e,t))),n[1]=f(n[1],t)})),s[1]=f(s[1],a)})),e[1]=f(e[1],a)},E=async(e=null,a)=>{t(a)&&([a,e]=await H(e,1));const[s,o]=a,[r,i]=n.getMergeableContentHashes();let l=v();if(r!=s){const[t,a]=(await H(e,4,n.getMergeableTableHashes()))[0];if(l=t,!c(a)){const[t,s]=(await H(e,5,n.getMergeableRowHashes(a)))[0];if(D(l,t),!c(s)){const t=(await H(e,6,n.getMergeableCellHashes(s)))[0];D(l,t)}}}return[l,i==o?v():(await H(e,7,n.getMergeableValuesHashes()))[0],1]},R=((e,n,s,o,r,l,g,u={},y=[])=>{let p,f,v,M=0;w(b,y,(()=>0)),w(A,y,(()=>[]));const[C,S,L,T,m]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:0)(g,e),H=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=M&&(M=1,await x((async()=>{try{H(await n())}catch(t){l?.(t),e&&m(e)}M=0}))),z),E=()=>(f&&(r(f),f=void 0),z),R=async e=>(1!=M&&(M=2,await x((async()=>{try{await s(S,e)}catch(e){l?.(e)}M=0}))),z),V=()=>(a(v,e.delListener),v=void 0,z),x=async(...e)=>(((e,...t)=>{e.push(...t)})(d(A,y),...e),await(async()=>{if(!d(b,y)){for(h(b,y,1);!t((e=d(A,y),p=e.shift()));)try{await p()}catch(e){l?.(e)}h(b,y,0)}var e})(),z),z={load:D,startAutoLoad:async e=>(await E().load(e),f=o((async(e,t)=>{t||e?2!=M&&(M=1,H(t??e),M=0):await D()})),z),stopAutoLoad:E,isAutoLoading:()=>!t(f),save:R,startAutoSave:async()=>(await V().save(),v=e.addDidFinishTransactionListener((()=>{const e=L();T(e)&&R(e)})),z),stopAutoSave:V,isAutoSaving:()=>!t(v),schedule:x,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...u};return i(z)})(n,(async()=>{const e=await E();return c(e[0][0])&&c(e[1][0])?void 0:e}),(async(e,t)=>{t?s(null,null,3,t):s(null,null,2,n.getMergeableContentHashes())}),(e=>T=e),(()=>T=void 0),S,2,{startSync:async e=>await(await R.startAutoLoad(e)).startAutoSave(),stopSync:()=>R.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),R.stopSync()),getSynchronizerStats:()=>({}),...L});return R};export{S as createCustomSynchronizer};
1
+ const e=Promise,t=e=>null==e,a=(e,a,s)=>t(e)?s?.():a(e),s=Object,n=e=>s.getPrototypeOf(e),o=s.entries,r=s.keys,i=s.freeze,l=(e,t)=>((e,t)=>e.forEach(t))(o(e),(([e,a])=>t(a,e))),c=e=>(e=>!t(e)&&a(n(e),(e=>e==s.prototype||t(n(e))),(()=>!0)))(e)&&0==(e=>r(e).length)(e),g=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),u=(e,t)=>e?.delete(t),y=e=>new Map(e),d=(e,t)=>e?.get(t),h=(e,a,s)=>t(s)?(u(e,a),e):e?.set(a,s),p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)||h(e,t,a()),d(e,t)};new globalThis.TextEncoder;const w=(e,t)=>t?[e,t]:[e],b=(e,t)=>((e??"")>(t??"")?e:t)??"",f=(e="")=>w(((e=[])=>s.fromEntries(e))(),e),v=y(),A=y(),M="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split("");var C;y((C=(e,t)=>[e,t],M.map(C)));const S=(s,n,o,r,C,S,L={})=>{let T;const m=y();o(((e,o,r,i)=>{0==r?a(d(m,o),(([a,s])=>t(a)||a==e?s(i,e):0)):2==r&&P.isAutoLoading()?E(e,i).then((e=>{T?.(void 0,e)})):3==r&&P.isAutoLoading()?T?.(void 0,i):a(1==r&&P.isAutoSaving()?s.getMergeableContentHashes():4==r?s.getMergeableTableDiff(i):5==r?s.getMergeableRowDiff(i):6==r?s.getMergeableCellDiff(i):7==r?s.getMergeableValueDiff(i):void 0,(t=>{n(e,o,0,t)}))}));const H=async(t,a,s="")=>new e(((e,o)=>{const r=((e=16)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+M[63&t]),""))(),i=setTimeout((()=>{u(m,r),o(`No response from ${t??"anyone"} to '${a}'`)}),1e3*C);h(m,r,[t,(t,a)=>{clearTimeout(i),u(m,r),e([t,a])}]),n(t,r,a,s)})),D=(e,[t,a])=>{l(t,(([t,a],s)=>{const n=g(e[0],s,f);l(t,(([e,t],a)=>{const s=g(n[0],a,f);l(e,(([e,t],a)=>s[0][a]=w(e,t))),s[1]=b(s[1],t)})),n[1]=b(n[1],a)})),e[1]=b(e[1],a)},E=async(e=null,a)=>{t(a)&&([a,e]=await H(e,1));const[n,o]=a,[r,i]=s.getMergeableContentHashes();let l=f();if(r!=n){const[t,a]=(await H(e,4,s.getMergeableTableHashes()))[0];if(l=t,!c(a)){const[t,n]=(await H(e,5,s.getMergeableRowHashes(a)))[0];if(D(l,t),!c(n)){const t=(await H(e,6,s.getMergeableCellHashes(n)))[0];D(l,t)}}}return[l,i==o?f():(await H(e,7,s.getMergeableValuesHashes()))[0],1]},P=((e,s,n,o,r,l,g,u={},y=[])=>{let w,b,f,M=0;p(v,y,(()=>0)),p(A,y,(()=>[]));const[C,S,L,T,m]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!c(e)||!c(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!c(e)||!c(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(g,e),H=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=M&&(M=1,await V((async()=>{try{H(await s())}catch(t){l?.(t),e&&m(e)}M=0}))),x),E=()=>(b&&(r(b),b=void 0),x),P=async e=>(1!=M&&(M=2,await V((async()=>{try{await n(S,e)}catch(e){l?.(e)}M=0}))),x),R=()=>(a(f,e.delListener),f=void 0,x),V=async(...e)=>(((e,...t)=>{e.push(...t)})(d(A,y),...e),await(async()=>{if(!d(v,y)){for(h(v,y,1);!t((e=d(A,y),w=e.shift()));)try{await w()}catch(e){l?.(e)}h(v,y,0)}var e})(),x),x={load:D,startAutoLoad:async e=>(await E().load(e),b=o((async(e,t)=>{t||e?2!=M&&(M=1,H(t??e),M=0):await D()})),x),stopAutoLoad:E,isAutoLoading:()=>!t(b),save:P,startAutoSave:async()=>(await R().save(),f=e.addDidFinishTransactionListener((()=>{const e=L();T(e)&&P(e)})),x),stopAutoSave:R,isAutoSaving:()=>!t(f),schedule:V,getStore:()=>e,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...u};return i(x)})(s,(async()=>{const e=await E();return c(e[0][0])&&c(e[1][0])?void 0:e}),(async(e,t)=>{t?n(null,null,3,t):n(null,null,2,s.getMergeableContentHashes())}),(e=>T=e),(()=>T=void 0),S,2,{startSync:async e=>await(await P.startAutoLoad(e)).startAutoSave(),stopSync:()=>P.stopAutoLoad().stopAutoSave(),destroy:()=>(r(),P.stopSync()),getSynchronizerStats:()=>({}),...L});return P};export{S as createCustomSynchronizer};
Binary file
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",n=e(t),s=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",b=h+g,w="Row",L=w+"Count",C=w+g,v="Sorted"+w+g,y="Cell",T=y+g,p="Value",S=p+"s",R=p+g,I=e=>t+e,M=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=Promise,D=Math.max,E=Math.min,H=isFinite,A=e=>null==e,k=(e,t,n)=>A(e)?n?.():t(e),J=e=>e==n||e==s,x=t=>e(t)==n,F=t=>e(t)==o,Q=e=>Array.isArray(e),z=(e,t,n)=>e.slice(t,n),N=e=>e.length,O=()=>{},P=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),j=(e,t)=>N(e)===N(t)&&W(e,((e,n)=>t[n]===e)),$=(e,t)=>W(e,((n,s)=>0==s||t(e[s-1],n)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),q=e=>K(e,((e,t)=>e+t),0),G=e=>0==N(e),K=(e,t,n)=>e.reduce(t,n),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),ne=ee.entries,se=ee.isFrozen,ae=e=>!A(e)&&k(te(e),(e=>e==ee.prototype||A(te(e))),(()=>!0)),oe=ee.keys,re=ee.freeze,le=(e=[])=>ee.fromEntries(e),ie=(e,t)=>t in e,ce=(e,t)=>(delete e[t],e),de=(e,t)=>B(ne(e),(([e,n])=>t(n,e))),ue=(e,t)=>U(ne(e),(([e,n])=>t(n,e))),ge=e=>ae(e)&&0==(e=>N(oe(e)))(e),he=(e,t,n)=>(ie(e,t)||(e[t]=n()),e[t]),fe=(e,t,n,s=0)=>A(e)||!ae(e)||!s&&ge(e)||se(e)?(n?.(),!1):(ue(e,((n,s)=>{t(n,s)||ce(e,s)})),!!s||!ge(e)),be=e=>e?.size??0,we=(e,t)=>e?.has(t)??!1,Le=e=>A(e)||0==be(e),Ce=e=>[...e?.values()??[]],ve=e=>e.clear(),ye=(e,t)=>e?.forEach(t),Te=(e,t)=>e?.delete(t),pe=e=>new Map(e),Se=e=>[...e?.keys()??[]],Re=(e,t)=>e?.get(t),Ie=(e,t)=>ye(e,((e,n)=>t(n,e))),Me=(e,t,n)=>A(n)?(Te(e,t),e):e?.set(t,n),Ve=(e,t,n,s)=>(we(e,t)?s?.(Re(e,t)):Me(e,t,n()),Re(e,t)),me=(e,t,n,s=Me)=>(ue(t,((t,s)=>n(e,s,t))),Ie(e,(n=>ie(t,n)?0:s(e,n))),e),De=(e,t,n,s)=>{const a={};return ye(e,((e,o)=>{if(!n?.(e,o)){const n=t?t(e,o):e;!s?.(n)&&(a[o]=n)}})),a},Ee=(e,t,n)=>De(e,(e=>De(e,t,n)),Le,ge),He=(e,t,n)=>De(e,(e=>Ee(e,t,n)),Le,ge),Ae=(e,t)=>{const n=pe();return ye(e,((e,s)=>n.set(s,t?.(e)??e))),n},ke=e=>Ae(e,Ae),Je=e=>Ae(e,ke),xe=(e,t,n,s,a=0)=>k((n?Ve:Re)(e,t[a],a>N(t)-2?n:pe),(o=>{if(a>N(t)-2)return s?.(o)&&Me(e,t[a]),o;const r=xe(o,t,n,s,a+1);return Le(o)&&Me(e,t[a]),r})),Fe=t=>{const n=e(t);return J(n)||n==a&&H(t)?n:void 0},Qe=e=>A(e)||!A(Fe(e)),ze=(e,t,n,s,a)=>A(a)?e.delCell(t,n,s,!0):e.setCell(t,n,s,a),Ne=(e,t,n)=>A(n)?e.delValue(t):e.setValue(t,n),Oe=e=>new Set(Q(e)||A(e)?e:[e]),Pe=(e,t)=>e?.add(t),We=(e,t,n,s,a)=>{const o=e.hasRow,r=pe(),l=pe(),i=pe(),c=pe(),d=pe(),u=pe(),g=(t,n,...s)=>{const a=Ve(u,t,Oe);return B(s,(t=>Pe(a,t)&&n&&e.callListener(t))),s},h=(t,...n)=>k(Re(u,t),(s=>{B(G(n)?Ce(s):n,(t=>{e.delListener(t),Te(s,t)})),Le(s)&&Me(u,t)})),f=(e,n)=>{Me(r,e,n),we(l,e)||(Me(l,e,t()),Me(c,e,pe()),Me(d,e,pe()),a(i))},b=e=>{Me(r,e),Me(l,e),Me(c,e),Me(d,e),h(e),a(i)};return[()=>e,()=>Se(r),e=>Ie(l,e),e=>we(l,e),e=>Re(r,e),e=>Re(l,e),(e,t)=>Me(l,e,t),f,(t,s,a,r,l)=>{f(t,s);const i=pe(),u=pe(),b=Re(c,t),w=Re(d,t),L=t=>{const a=n=>e.getCell(s,t,n),c=Re(b,t),d=o(s,t)?n(r(a,t)):void 0;if(c===d||Q(c)&&Q(d)&&j(c,d)||Me(i,t,[c,d]),!A(l)){const e=Re(w,t),n=o(s,t)?l(a,t):void 0;e!=n&&Me(u,t,n)}},C=e=>{a((()=>{ye(i,(([,e],t)=>Me(b,t,e))),ye(u,((e,t)=>Me(w,t,e)))}),i,u,b,w,e),ve(i),ve(u)};Ie(b,L),e.hasTable(s)&&B(e.getRowIds(s),(e=>{we(b,e)||L(e)})),C(!0),h(t),g(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>C())))},b,e=>s(e,i),()=>Ie(u,b),g,h]},je=(e,n)=>x(e)?t=>t(e):e??(()=>n??t),$e=(e,t)=>{const n=new WeakMap;return s=>{n.has(s)||n.set(s,e(s));const a=n.get(s);return t?.(a),a}},_e=/^\d+$/,Be=()=>{const e=[];let n=0;return[s=>(s?Z(e):null)??t+n++,t=>{_e.test(t)&&N(e)<1e3&&X(e,t)}]},Ue=e=>{let n;const[s,a]=Be(),o=pe();return[(a,r,l,i=[],c=(()=>[]))=>{n??=e();const d=s(1);return Me(o,d,[a,r,l,i,c]),Pe(xe(r,l??[t],Oe),d),d},(e,s,...a)=>B(((e,n=[t])=>{const s=[],a=(e,t)=>t==N(n)?X(s,e):null===n[t]?ye(e,(e=>a(e,t+1))):B([n[t],null],(n=>a(Re(e,n),t+1)));return a(e,0),s})(e,s),(e=>ye(e,(e=>Re(o,e)[0](n,...s??[],...a))))),e=>k(Re(o,e),(([,n,s])=>(xe(n,s??[t],void 0,(t=>(Te(t,e),Le(t)?1:0))),Me(o,e),a(e),s))),e=>k(Re(o,e),(([e,,t=[],s,a])=>{const o=(...r)=>{const l=N(r);l==N(t)?e(n,...r,...a(r)):A(t[l])?B(s[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},qe=$e((e=>{let n,s,a,o=100,r=pe(),l=pe(),i=1;const c=pe(),d=pe(),[u,g,h]=Ue((()=>x)),f=pe(),b=pe(),w=[],L=[],C=(t,n)=>{i=0,e.transaction((()=>{const[s,a]=Re(f,n);ye(s,((n,s)=>ye(n,((n,a)=>ye(n,((n,o)=>ze(e,s,a,o,n[t]))))))),ye(a,((n,s)=>Ne(e,s,n[t])))})),i=1},v=e=>{Me(f,e),Me(b,e),g(d,[e])},y=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??N(e)),v),T=()=>y(w,N(w)-o),p=()=>k(n,(()=>{X(w,n),T(),y(L),n=void 0,a=1})),S=()=>{n=Y(w),a=1};let R,I;const M=(e=t)=>(A(n)&&(n=t+s++,Me(f,n,[r,l]),H(n,e),r=pe(),l=pe(),a=1),n),V=()=>{G(w)||(((e,...t)=>{e.unshift(...t)})(L,M()),C(0,n),n=Y(w),a=1)},m=()=>{G(L)||(X(w,n),n=Z(L),C(1,n),a=1)},D=()=>{a&&(g(c),a=0)},E=e=>{const t=M(e);return D(),t},H=(e,t)=>(J(e)&&Re(b,e)!==t&&(Me(b,e,t),g(d,[e])),x),J=e=>we(f,e),x={setSize:e=>(o=e,T(),x),addCheckpoint:E,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...w],n,[...L]],forEachCheckpoint:e=>Ie(b,e),hasCheckpoint:J,getCheckpoint:e=>Re(b,e),goBackward:()=>(V(),D(),x),goForward:()=>(m(),D(),x),goTo:e=>{const t=P(w,e)?V:P(L,e)?m:null;for(;!A(t)&&e!=n;)t();return D(),x},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),x),clear:()=>(y(w),y(L),A(n)||v(n),n=void 0,s=0,E(),x),clearForward:()=>(G(L)||(y(L),g(c)),x),destroy:()=>{e.delListener(R),e.delListener(I)},getListenerStats:()=>({}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,n,s,a,o)=>{if(i){p();const e=Ve(r,t,pe),l=Ve(e,n,pe),i=Ve(l,s,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(Me(l,s))&&Le(Me(e,n))&&Le(Me(r,t))&&S(),D()}})),I=e.addValueListener(null,((e,t,n,s)=>{if(i){p();const e=Ve(l,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&Le(Me(l,t))&&S(),D()}}))}};return re(x.clear())}),(e=>e._registerListeners())),Ge="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),Ke=pe(U(Ge,((e,t)=>[e,t]))),Xe=e=>Ge[63&e],Ye=(e,t)=>Re(Ke,e[t])??0,Ze=(e,t)=>(e??0)<(t??0)?-1:1,et=(e=16)=>K(crypto.getRandomValues(new Uint8Array(e)),((e,t)=>e+Xe(t)),""),tt=$e((e=>{const n=pe(),s=pe(),[a,o,r]=Ue((()=>v)),[l,i,c,d,u,g,h,,f,b,w,L]=We(e,pe,(e=>A(e)?t:Q(e)?U(e,I):I(e)),a,o),C=(t,n,s)=>{const a=u(t);ye(s,((t,s)=>n(s,(n=>ye(t,(t=>n(t,(n=>e.forEachCell(a,t,n)))))))))},v={setIndexDefinition:(e,t,a,r,l,i=Ze)=>{const c=A(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let b=0;const w=Oe(),L=Oe(),C=g(e);if(ye(a,(([e,t],n)=>{const s=Oe(e),a=Oe(t);ye(s,(e=>Te(a,e)?Te(s,e):0)),ye(s,(e=>{Pe(w,e),k(Re(C,e),(t=>{Te(t,n),Le(t)&&(Me(C,e),b=1)}))})),ye(a,(e=>{Pe(w,e),we(C,e)||(Me(C,e,Oe()),b=1),Pe(Re(C,e),n),A(r)||Pe(L,e)}))})),t(),Le(u)||(f?Ie(C,(e=>Pe(L,e))):Ie(l,(e=>k(Re(d,e),(e=>Pe(L,e))))),ye(L,(e=>{const t=(t,n)=>i(Re(u,t),Re(u,n),e),n=[...Re(C,e)];$(n,t)||(Me(C,e,Oe(_(n,t))),Pe(w,e))}))),(b||f)&&!A(c)){const t=[...C];$(t,c)||(h(e,pe(_(t,c))),b=1)}b&&o(n,[e]),ye(w,(t=>o(s,[e,t])))}),je(a),k(r,je)),v},delIndexDefinition:e=>(b(e),v),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,n)=>e(t,(e=>C(t,e,n))))),forEachSlice:(e,t)=>C(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>we(g(e),t),getTableId:u,getSliceIds:e=>Se(g(e)),getSliceRowIds:(e,t)=>Ce(Re(g(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>a(n,s,[e,t]),delListener:e=>(r(e),v),destroy:L,getListenerStats:()=>({})};return re(v)})),nt=pe([["avg",[(e,t)=>q(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:E(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),st=(e,t,n,s,a,o=!1)=>{if(Le(n))return;const[r,l,i,c]=a;return o||=A(e),ye(s,(([n,s])=>{o||(e=A(n)?l?.(e,s,t++):A(s)?i?.(e,n,t--):c?.(e,s,n,t),o||=A(e))})),o?r(Ce(n),be(n)):e},at=$e((e=>{const n=pe(),[s,a,o]=Ue((()=>L)),[r,l,i,c,d,u,g,,h,f,b,w]=We(e,O,(e=>isNaN(e)||A(e)||!0===e||!1===e||e===t?void 0:1*e),s,a),L={setMetricDefinition:(e,t,s,o,r,l,i)=>{const c=F(s)?[s,r,l,i]:Re(nt,s)??Re(nt,"sum");return h(e,t,((t,s,o,r,l,i)=>{const d=u(e),h=be(r);i||=A(d),t();let f=st(d,h,r,s,c,i);H(f)||(f=void 0),f!=d&&(g(e,f),a(n,[e],f,d))}),je(o,1)),L},delMetricDefinition:e=>(f(e),L),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>s(t,n,[e]),delListener:e=>(o(e),L),destroy:w,getListenerStats:()=>({})};return re(L)})),ot=pe(),rt=pe(),lt=(e,t,n,s,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(ot,i,(()=>0)),Ve(rt,i,(()=>[]));const[h,f,b,w,L]=((e=1,t)=>e>1&&"merge"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ge(e)||!ge(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ge(e)||!ge(t),t.setContent]:0)(r,e),C=t=>{(h&&Q(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v=async e=>(2!=g&&(g=1,await S((async()=>{try{C(await t())}catch(t){o?.(t),e&&L(e)}g=0}))),R),y=()=>(d&&(a(d),d=void 0),R),T=async e=>(1!=g&&(g=2,await S((async()=>{try{await n(f,e)}catch(e){o?.(e)}g=0}))),R),p=()=>(k(u,e.delListener),u=void 0,R),S=async(...e)=>(X(Re(rt,i),...e),await(async()=>{if(!Re(ot,i)){for(Me(ot,i,1);!A(c=Z(Re(rt,i)));)try{await c()}catch(e){o?.(e)}Me(ot,i,0)}})(),R),R={load:v,startAutoLoad:async e=>(await y().load(e),d=s((async(e,t)=>{t||e?2!=g&&(g=1,C(t??e),g=0):await v()})),R),stopAutoLoad:y,isAutoLoading:()=>!A(d),save:T,startAutoSave:async()=>(await p().save(),u=e.addDidFinishTransactionListener((()=>{const e=b();w(e)&&T(e)})),R),stopAutoSave:p,isAutoSaving:()=>!A(u),schedule:S,getStore:()=>e,destroy:()=>y().stopAutoSave(),getStats:()=>({}),...l};return re(R)},it=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return B(it.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},dt=([e,t,n])=>[e,t,n],ut=([e,t])=>gt(e,t),gt=(e,t)=>t?[e,t]:[e],ht=e=>e[2],ft=(e,t)=>ct(e+":"+t),bt=(e,t)=>t>e?(e?ct(e):0)^ct(t):0,wt=(e,t)=>((e??"")>(t??"")?e:t)??"",Lt=(e,t,n)=>{e[2]=t>>>0,n>e[1]&&(e[1]=n)},Ct=(e=t)=>gt(le(),e),vt=(e=t)=>[pe(),e,0],yt=([e,t,n],s=dt)=>[De(e,s),t,n],Tt=([e,t],n=ut)=>gt(De(e,n),t),pt=(t,n)=>Q(t)&&3==N(t)&&x(t[1])&&e(t[2])==a&&H(t[2])&&n(t[0]),St=(e,n,s,a,o,r,l={})=>{let i;const c=pe();s(((t,s,a,o)=>{0==a?k(Re(c,s),(([e,n])=>A(e)||e==t?n(o,t):0)):2==a&&h.isAutoLoading()?g(t,o).then((e=>{i?.(void 0,e)})):3==a&&h.isAutoLoading()?i?.(void 0,o):k(1==a&&h.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(o):5==a?e.getMergeableRowDiff(o):6==a?e.getMergeableCellDiff(o):7==a?e.getMergeableValueDiff(o):void 0,(e=>{n(t,s,0,e)}))}));const d=async(e,s,a=t)=>new m(((t,r)=>{const l=et(),i=setTimeout((()=>{Te(c,l),r(`No response from ${e??"anyone"} to '${s}'`)}),1e3*o);Me(c,l,[e,(e,n)=>{clearTimeout(i),Te(c,l),t([e,n])}]),n(e,l,s,a)})),u=(e,[t,n])=>{de(t,(([t,n],s)=>{const a=he(e[0],s,Ct);de(t,(([e,t],n)=>{const s=he(a[0],n,Ct);de(e,(([e,t],n)=>s[0][n]=gt(e,t))),s[1]=wt(s[1],t)})),a[1]=wt(a[1],n)})),e[1]=wt(e[1],n)},g=async(t=null,n)=>{A(n)&&([n,t]=await d(t,1));const[s,a]=n,[o,r]=e.getMergeableContentHashes();let l=Ct();if(o!=s){const[n,s]=(await d(t,4,e.getMergeableTableHashes()))[0];if(l=n,!ge(s)){const[n,a]=(await d(t,5,e.getMergeableRowHashes(s)))[0];if(u(l,n),!ge(a)){const n=(await d(t,6,e.getMergeableCellHashes(a)))[0];u(l,n)}}}return[l,r==a?Ct():(await d(t,7,e.getMergeableValuesHashes()))[0],1]},h=lt(e,(async()=>{const e=await g();return ge(e[0][0])&&ge(e[1][0])?void 0:e}),(async(t,s)=>{s?n(null,null,3,s):n(null,null,2,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,2,{startSync:async e=>await(await h.startAutoLoad(e)).startAutoSave(),stopSync:()=>h.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),h.stopSync()),getSynchronizerStats:()=>({}),...l});return h},Rt=$e((e=>{const n=e.createStore,s=n(),a=n(),o=pe(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,b,p,S,,,R,,I,M,V,m,D]=We(e,(()=>!0),O,r,l),E=(e,t,...n)=>B(n,(n=>Pe(Ve(Ve(o,t,pe),e,Oe),n))),H=e=>{k(Re(o,e),(e=>{Ie(e,((e,t)=>ye(t,(t=>e.delListener(t))))),ve(e)})),B([a,s],(t=>t.delTable(e)))},J=(e,t,n)=>E(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,o,r)=>{R(n,o),H(n);const l=[],i=[[null,[o,null,null,[],pe()]]],c=[],d=[],u=[];r({select:(e,n)=>{const s=F(e)?[N(l)+t,e]:[A(n)?e:n,t=>t(e,n)];return X(l,s),{as:e=>s[0]=e}},join:(e,t,n)=>{const s=A(n)||F(t)?null:t,a=A(s)?t:n,o=[e,[e,s,F(a)?a:e=>e(a),[],pe()]];return X(i,o),{as:e=>o[0]=e}},where:(e,t,n)=>X(c,F(e)?e:A(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,a)=>{const o=[e,[e,F(t)?[t,n,s,a]:Re(nt,t)??[(e,t)=>t]]];return X(d,o),{as:e=>o[0]=e}},having:(e,t)=>X(u,F(e)?e:n=>n(e)===t)});const g=pe(l);if(Le(g))return x;const h=pe(i);Ie(h,((e,[,t])=>k(Re(h,t),(({3:t})=>A(e)?0:X(t,e)))));const f=pe(d);let b=s;if(Le(f)&&G(u))b=a;else{J(n,b,a);const e=pe();Ie(f,((t,[n,s])=>Pe(Ve(e,n,Oe),[t,s])));const t=Oe();Ie(g,(n=>we(e,n)?0:Pe(t,n)));const s=pe(),o=(t,s,o,r)=>k(t,(([l,i,c,d])=>{Ie(s,((t,[n])=>{const s=Ve(l,t,pe),a=Re(s,o),i=r?void 0:n;if(a!==i){const n=Oe([[a,i]]),r=be(s);Me(s,o,i),ye(Re(e,t),(([e,t])=>{const a=st(d[e],r,s,n,t);d[e]=A(Fe(a))?null:a}))}})),Le(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(n,c):A(c)?t[2]=a.addRow(n,d):a.setRow(n,c,d)}));E(b,n,b.addRowListener(n,null,((a,r,l,i)=>{const c=[],d=[],u=pe(),g=b.hasRow(n,l);let h=!g;ye(t,(e=>{const[t,s,a]=i(n,l,e);X(c,s),X(d,a),h||=t})),Ie(e,(e=>{const[t,,s]=i(n,l,e);(h||t)&&Me(u,e,[s])})),h&&o(xe(s,c,void 0,(([,e])=>(Te(e,l),Le(e)))),u,l,1),g&&o(xe(s,d,(()=>{const e={};return ye(t,(t=>e[t]=b.getCell(n,l,t))),[pe(),Oe(),void 0,e]}),(([,e])=>{Pe(e,l)})),u,l)})))}J(n,e,b);const w=(t,s,a,r)=>{const l=t=>e.getCell(s,a,t);B(r,(s=>{const[a,,o,r,i]=Re(h,s),c=o?.(l,t),[d,u]=Re(i,t)??[];c!=d&&(A(u)||D(n,u),Me(i,t,A(c)?null:[c,...m(n,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const s=(n,s)=>e.getCell(...A(s)?[o,t,n]:n===o?[o,t,s]:[Re(h,n)?.[0],Re(Re(h,n)?.[4],t)?.[0],s]);b.transaction((()=>W(c,(e=>e(s)))?Ie(g,((e,a)=>ze(b,n,t,e,a(s,t)))):b.delRow(n,t)))})(t)},{3:L}=Re(h,null);return b.transaction((()=>m(n,1,e.addRowListener(o,null,((t,s,a)=>{e.hasRow(o,a)?w(a,o,a,L):(b.delRow(n,a),ye(h,(({4:e})=>k(Re(e,a),(([,t])=>{D(n,t),Me(e,a)})))))}))))),x},delQueryDefinition:e=>(H(e),I(e),x),getStore:g,getQueryIds:f,forEachQuery:b,hasQuery:p,getTableId:S,addQueryIdsListener:e=>M((()=>e(x))),delListener:e=>(u(e),x),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=a.getListenerStats();return s}};return ue({[h]:[1,1],[h+T]:[0,1],[L]:[0,1],[C]:[0,1],[v]:[0,5],[w]:[1,2],[T]:[0,2],[y]:[1,3]},(([e,t],n)=>{B(e?["get","has","forEach"]:["get"],(e=>x[e+c+n]=(...t)=>a[e+n](...t))),x[d+c+n+i]=(...e)=>a[d+n+i](...z(e,0,t),((n,...s)=>e[t](x,...s)),!0)})),re(x)})),It=$e((e=>{const n=pe(),s=pe(),a=pe(),o=pe(),[r,l,i]=Ue((()=>p)),[c,d,u,g,h,f,,,b,w,L,C]=We(e,(()=>[pe(),pe(),pe(),pe()]),(e=>A(e)?void 0:e+t),r,l),v=(e,t,n)=>k(f(e),(([s,,a])=>{if(!we(a,t)){const o=Oe();if(h(e)!=T(e))Pe(o,t);else{let e=t;for(;!A(e)&&!we(o,e);)Pe(o,e),e=Re(s,e)}if(n)return o;Me(a,t,o)}return Re(a,t)})),y=(e,t)=>k(f(e),(([,,e])=>Me(e,t))),T=e=>Re(n,e),p={setRelationshipDefinition:(e,t,r,i)=>(Me(n,e,r),b(e,t,((t,n)=>{const r=Oe(),i=Oe(),c=Oe(),[d,u]=f(e);ye(n,(([t,n],s)=>{A(t)||(Pe(i,t),k(Re(u,t),(e=>{Te(e,s),Le(e)&&Me(u,t)}))),A(n)||(Pe(i,n),we(u,n)||Me(u,n,Oe()),Pe(Re(u,n),s)),Pe(r,s),Me(d,s,n),Ie(Re(o,e),(t=>{we(v(e,t),s)&&Pe(c,t)}))})),t(),ye(r,(t=>l(s,[e,t]))),ye(i,(t=>l(a,[e,t]))),ye(c,(t=>{y(e,t),l(o,[e,t])}))}),je(i)),p),delRelationshipDefinition:e=>(Me(n,e),w(e),p),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((n=>t(n,(t=>e.forEachRow(h(n),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:T,getRemoteRowId:(e,t)=>Re(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ce(Re(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>A(f(e))?[t]:Ce(v(e,t,!0)),addRelationshipIdsListener:L,addRemoteRowIdListener:(e,t,n)=>r(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>r(n,a,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(v(e,t),r(n,o,[e,t])),delListener:e=>(y(...i(e)??[]),p),destroy:C,getListenerStats:()=>({})};return re(p)})),Mt=e=>[e,e],Vt=()=>[pe(),pe()],mt=e=>[...e],Dt=([e,t])=>e===t,Et=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),Ht=JSON.parse,At=(e,t,n)=>Me(e,t,Re(e,t)==-n?void 0:n),kt=()=>{let e,t,n=!1,s=!1,o=0,c=[];const g=pe(),v=pe(),M=pe(),V=pe(),m=pe(),D=pe(),E=pe(),H=pe(),x=pe(),Q=pe(),N=pe(),O=pe(),W=pe(),$=pe(),q=Oe(),G=pe(),K=pe(),Y=pe(),Z=pe(),ee=Vt(),te=Vt(),ne=Vt(),se=Vt(),ae=Vt(),oe=Vt(),le=Vt(),de=Vt(),he=Vt(),Ce=Vt(),xe=Vt(),Qe=Vt(),We=Vt(),je=Vt(),$e=Vt(),_e=Vt(),qe=Vt(),Ge=Vt(),Ke=Vt(),Xe=Vt(),Ye=Vt(),et=Vt(),tt=pe(),nt=Vt(),[st,at,ot,rt]=Ue((()=>xn)),lt=e=>{if(!fe(e,((e,t)=>P([r,l],t))))return!1;const t=e[r];return!(!J(t)&&t!=a||(Fe(e[l])!=t&&ce(e,l),0))},it=(t,n)=>(!e||we(N,n)||Bt(n))&&fe(t,((e,t)=>ct(n,t,e)),(()=>Bt(n))),ct=(e,t,n,s)=>fe(s?n:ht(n,e,t),((s,a)=>k(dt(e,t,a,s),(e=>(n[a]=e,!0)),(()=>!1))),(()=>Bt(e,t))),dt=(t,n,s,a)=>e?k(Re(Re(N,t),s),(e=>Fe(a)!=e[r]?Bt(t,n,s,a,e[l]):a),(()=>Bt(t,n,s,a))):A(Fe(a))?Bt(t,n,s,a):a,ut=(e,t)=>fe(t?e:ft(e),((t,n)=>k(gt(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Ut())),gt=(e,n)=>t?k(Re(W,e),(t=>Fe(n)!=t[r]?Ut(e,n,t[l]):n),(()=>Ut(e,n))):A(Fe(n))?Ut(e,n):n,ht=(e,t,n)=>(k(Re(O,t),(([s,a])=>{ye(s,((t,n)=>{ie(e,n)||(e[n]=t)})),ye(a,(s=>{ie(e,s)||Bt(t,n,s)}))})),e),ft=e=>(t&&(ye($,((t,n)=>{ie(e,n)||(e[n]=t)})),ye(q,(t=>{ie(e,t)||Ut(t)}))),e),bt=e=>me(N,e,((e,t,n)=>{const s=pe(),a=Oe();me(Ve(N,t,pe),n,((e,t,n)=>{Me(e,t,n),k(n[l],(e=>Me(s,t,e)),(()=>Pe(a,t)))})),Me(O,t,[s,a])}),((e,t)=>{Me(N,t),Me(O,t)})),wt=e=>me(W,e,((e,t,n)=>{Me(W,t,n),k(n[l],(e=>Me($,t,e)),(()=>Pe(q,t)))}),((e,t)=>{Me(W,t),Me($,t),Te(q,t)})),Lt=e=>ge(e)?Mn():Tn(e),Ct=e=>me(Y,e,((e,t,n)=>vt(t,n)),((e,t)=>Ft(t))),vt=(e,t)=>me(Ve(Y,e,(()=>(Ot(e,1),Me(G,e,Be()),Me(K,e,pe()),pe()))),t,((t,n,s)=>yt(e,t,n,s)),((t,n)=>Qt(e,t,n))),yt=(e,t,n,s,a)=>me(Ve(t,n,(()=>(Pt(e,n,1),pe()))),s,((t,s,a)=>Tt(e,n,t,s,a)),((s,o)=>zt(e,t,n,s,o,a))),Tt=(e,t,n,s,a)=>{we(n,s)||Wt(e,t,s,1);const o=Re(n,s);a!==o&&(jt(e,t,s,o,a),Me(n,s,a))},pt=(e,t,n,s,a)=>k(Re(t,n),(t=>Tt(e,n,t,s,a)),(()=>yt(e,t,n,ht({[s]:a},e,n)))),St=e=>ge(e)?Dn():pn(e),Rt=e=>me(Z,e,((e,t,n)=>It(t,n)),((e,t)=>Nt(t))),It=(e,t)=>{we(Z,e)||$t(e,1);const n=Re(Z,e);t!==n&&(_t(e,n,t),Me(Z,e,t))},Jt=(e,t)=>{const[n]=Re(G,e),s=n(t);return we(Re(Y,e),s)?Jt(e,t):s},xt=e=>Re(Y,e)??vt(e,{}),Ft=e=>vt(e,{}),Qt=(e,t,n)=>{const[,s]=Re(G,e);s(n),yt(e,t,n,{},!0)},zt=(e,t,n,s,a,o)=>{const r=Re(Re(O,e)?.[0],a);if(!A(r)&&!o)return Tt(e,n,s,a,r);const l=t=>{jt(e,n,t,Re(s,t)),Wt(e,n,t,-1),Me(s,t)};A(r)?l(a):Ie(s,l),Le(s)&&(Pt(e,n,-1),Le(Me(t,n))&&(Ot(e,-1),Me(Y,e),Me(G,e),Me(K,e)))},Nt=e=>{const t=Re($,e);if(!A(t))return It(e,t);_t(e,Re(Z,e)),$t(e,-1),Me(Z,e)},Ot=(e,t)=>At(g,e,t),Pt=(e,t,n)=>At(Ve(V,e,pe),t,n)&&Me(M,e,Ve(M,e,(()=>0))+n),Wt=(e,t,n,s)=>{const a=Re(K,e),o=Re(a,n)??0;(0==o&&1==s||1==o&&-1==s)&&At(Ve(v,e,pe),n,s),Me(a,n,o!=-s?o+s:null),At(Ve(Ve(m,e,pe),t,pe),n,s)},jt=(e,t,n,s,a)=>{Ve(Ve(Ve(D,e,pe),t,pe),n,(()=>[s,0]))[1]=a,c[3]?.(e,t,n,a)},$t=(e,t)=>At(E,e,t),_t=(e,t,n)=>{Ve(H,e,(()=>[t,0]))[1]=n,c[4]?.(e,n)},Bt=(e,t,n,s,a)=>(X(Ve(Ve(Ve(x,e,pe),t,pe),n,(()=>[])),s),a),Ut=(e,t,n)=>(X(Ve(Q,e,(()=>[])),t),n),qt=(e,t,n)=>k(Re(Re(Re(D,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Mt(dn(e,t,n))])),Gt=e=>k(Re(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Mt(hn(e))])),Kt=e=>Le(x)||Le(_e[e])?0:ye(e?Je(x):x,((t,n)=>ye(t,((t,s)=>ye(t,((t,a)=>at(_e[e],[n,s,a],t))))))),Xt=e=>Le(Q)||Le(qe[e])?0:ye(e?Ae(Q):Q,((t,n)=>at(qe[e],[n],t))),Yt=(e,t,n,s)=>{if(!Le(e))return at(t,s,(()=>De(e))),Ie(e,((e,t)=>at(n,[...s??[],e],1==t))),1},Zt=e=>{const t=fn();t!=n&&at(ee[e],void 0,t);const s=Le(Ce[e]),a=Le(We[e])&&Le(je[e])&&Le(he[e])&&Le(xe[e])&&Le(oe[e])&&Le(le[e])&&Le(de[e])&&s&&Le(ne[e])&&Le(se[e]),o=Le($e[e])&&Le(Qe[e])&&Le(ae[e])&&Le(te[e]);if(!a||!o){const t=e?[Ae(g),ke(v),Ae(M),ke(V),Je(m),Je(D)]:[g,v,M,V,m,D];if(!a){Yt(t[0],ne[e],se[e]),ye(t[1],((t,n)=>Yt(t,oe[e],le[e],[n]))),ye(t[2],((t,n)=>{0!=t&&at(de[e],[n],on(n))}));const n=Oe();ye(t[3],((t,a)=>{Yt(t,he[e],xe[e],[a])&&!s&&(at(Ce[e],[a,null]),Pe(n,a))})),s||ye(t[5],((t,s)=>{if(!we(n,s)){const n=Oe();ye(t,(e=>ye(e,(([t,s],a)=>s!==t?Pe(n,a):Te(e,a))))),ye(n,(t=>at(Ce[e],[s,t])))}})),ye(t[4],((t,n)=>ye(t,((t,s)=>Yt(t,We[e],je[e],[n,s])))))}if(!o){let n;ye(t[5],((t,s)=>{let a;ye(t,((t,o)=>{let r;ye(t,(([t,l],i)=>{l!==t&&(at($e[e],[s,o,i],l,t,qt),n=a=r=1)})),r&&at(Qe[e],[s,o],qt)})),a&&at(ae[e],[s],qt)})),n&&at(te[e],void 0,qt)}}},en=e=>{const t=vn();t!=s&&at(Ge[e],void 0,t);const n=Le(Xe[e])&&Le(Ye[e]),a=Le(et[e])&&Le(Ke[e]);if(!n||!a){const t=e?[Ae(E),Ae(H)]:[E,H];if(n||Yt(t[0],Xe[e],Ye[e]),!a){let n;ye(t[1],(([t,s],a)=>{s!==t&&(at(et[e],[a],s,t,Gt),n=1)})),n&&at(Ke[e],void 0,Gt)}}},tn=(e,...t)=>(An((()=>e(...U(t,I)))),xn),nn=()=>He(Y),sn=()=>Se(Y),an=e=>Se(Re(K,I(e))),on=e=>be(Re(Y,I(e))),rn=e=>Se(Re(Y,I(e))),ln=(e,t,n,s=0,a)=>{return U(z(_((o=Re(Y,I(e)),r=(e,n)=>[A(t)?n:Re(e,I(t)),n],U([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ze(e,t)*(n?-1:1))),s,A(a)?a:s+a),(([,e])=>e));var o,r},cn=(e,t)=>Se(Re(Re(Y,I(e)),I(t))),dn=(e,t,n)=>Re(Re(Re(Y,I(e)),I(t)),I(n)),un=()=>De(Z),gn=()=>Se(Z),hn=e=>Re(Z,I(e)),fn=()=>!Le(Y),bn=e=>we(Y,I(e)),wn=(e,t)=>we(Re(K,I(e)),I(t)),Ln=(e,t)=>we(Re(Y,I(e)),I(t)),Cn=(e,t,n)=>we(Re(Re(Y,I(e)),I(t)),I(n)),vn=()=>!Le(Z),yn=e=>we(Z,I(e)),Tn=e=>tn((()=>(e=>fe(e,it,Bt))(e)?Ct(e):0)),pn=e=>tn((()=>ut(e)?Rt(e):0)),Sn=e=>{try{Lt(Ht(e))}catch{}return xn},Rn=t=>tn((()=>{if((e=fe(t,(e=>fe(e,lt))))&&(bt(t),!Le(Y))){const e=nn();Mn(),Tn(e)}})),In=e=>tn((()=>{if(t=(e=>fe(e,lt))(e)){const n=un();Hn(),Dn(),t=!0,wt(e),pn(n)}})),Mn=()=>tn((()=>Ct({}))),Vn=e=>tn((e=>we(Y,e)?Ft(e):0),e),mn=(e,t)=>tn(((e,t)=>k(Re(Y,e),(n=>we(n,t)?Qt(e,n,t):0))),e,t),Dn=()=>tn((()=>Rt({}))),En=()=>tn((()=>{bt({}),e=!1})),Hn=()=>tn((()=>{wt({}),t=!1})),An=(e,t)=>{if(-1!=o){kn();const n=e();return Jn(t),n}},kn=()=>(-1!=o&&o++,1==o&&(c[0]?.(),at(tt)),xn),Jn=e=>(o>0&&(o--,0==o&&(o=1,Kt(1),Le(D)||Zt(1),Xt(1),Le(H)||en(1),e?.(xn)&&(ye(D,((e,t)=>ye(e,((e,n)=>ye(e,(([e],s)=>ze(xn,t,n,s,e))))))),ve(D),ye(H,(([e],t)=>Ne(xn,t,e))),ve(H)),at(nt[0],void 0),o=-1,Kt(0),Le(D)||Zt(0),Xt(0),Le(H)||en(0),c[1]?.(),at(nt[1],void 0),c[2]?.(),o=0,n=fn(),s=vn(),B([g,v,M,V,m,D,x,E,H,Q],ve))),xn),xn={getContent:()=>[nn(),un()],getTables:nn,getTableIds:sn,getTable:e=>Ee(Re(Y,I(e))),getTableCellIds:an,getRowCount:on,getRowIds:rn,getSortedRowIds:ln,getRow:(e,t)=>De(Re(Re(Y,I(e)),I(t))),getCellIds:cn,getCell:dn,getValues:un,getValueIds:gn,getValue:hn,hasTables:fn,hasTable:bn,hasTableCell:wn,hasRow:Ln,hasCell:Cn,hasValues:vn,hasValue:yn,getTablesJson:()=>Et(Y),getValuesJson:()=>Et(Z),getJson:()=>Et([Y,Z]),getTablesSchemaJson:()=>Et(N),getValuesSchemaJson:()=>Et(W),getSchemaJson:()=>Et([N,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>tn((()=>{(ge(e)?Mn:Tn)(e),(ge(t)?Dn:pn)(t)})),setTables:Tn,setTable:(e,t)=>tn((e=>it(t,e)?vt(e,t):0),e),setRow:(e,t,n)=>tn(((e,t)=>ct(e,t,n)?yt(e,xt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>An((()=>{let s;return ct(e,s,t)&&(e=I(e),yt(e,xt(e),s=Jt(e,n?1:0),t)),s})),setPartialRow:(e,t,n)=>tn(((e,t)=>{if(ct(e,t,n,1)){const s=xt(e);ue(n,((n,a)=>pt(e,s,t,a,n)))}}),e,t),setCell:(e,t,n,s)=>tn(((e,t,n)=>k(dt(e,t,n,F(s)?s(dn(e,t,n)):s),(s=>pt(e,xt(e),t,n,s)))),e,t,n),setValues:pn,setPartialValues:e=>tn((()=>ut(e,1)?ue(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>tn((e=>k(gt(e,F(t)?t(hn(e)):t),(t=>It(e,t)))),e),applyChanges:e=>tn((()=>{ue(e[0],((e,t)=>A(e)?Vn(t):ue(e,((e,n)=>A(e)?mn(t,n):ue(e,((e,s)=>ze(xn,t,n,s,e))))))),ue(e[1],((e,t)=>Ne(xn,t,e)))})),setTablesJson:Sn,setValuesJson:e=>{try{St(Ht(e))}catch{}return xn},setJson:e=>tn((()=>{try{const[t,n]=Ht(e);Lt(t),St(n)}catch{Sn(e)}})),setTablesSchema:Rn,setValuesSchema:In,setSchema:(e,t)=>tn((()=>{Rn(e),In(t)})),delTables:Mn,delTable:Vn,delRow:mn,delCell:(e,t,n,s)=>tn(((e,t,n)=>k(Re(Y,e),(a=>k(Re(a,t),(o=>we(o,n)?zt(e,a,t,o,n,s):0))))),e,t,n),delValues:Dn,delValue:e=>tn((e=>we(Z,e)?Nt(e):0),e),delTablesSchema:En,delValuesSchema:Hn,delSchema:()=>tn((()=>{En(),Hn()})),transaction:An,startTransaction:kn,getTransactionChanges:()=>[De(D,((e,t)=>-1===Re(g,t)?void 0:De(e,((e,n)=>-1===Re(Re(V,t),n)?void 0:De(e,(([,e])=>e),(e=>Dt(e)))),Le,ge)),Le,ge),De(H,(([,e])=>e),(e=>Dt(e))),1],getTransactionLog:()=>[!Le(D),!Le(H),He(D,mt,Dt),He(x),De(H,mt,Dt),De(Q),De(g),Ee(V),He(m),De(E)],finishTransaction:Jn,forEachTable:e=>ye(Y,((t,n)=>e(n,(e=>ye(t,((t,n)=>e(n,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(Re(K,I(e)),t),forEachRow:(e,t)=>ye(Re(Y,I(e)),((e,n)=>t(n,(t=>Ie(e,t))))),forEachCell:(e,t,n)=>Ie(Re(Re(Y,I(e)),I(t)),n),forEachValue:e=>Ie(Z,e),addSortedRowIdsListener:(e,t,n,s,a,o,r)=>{let l=ln(e,t,n,s,a);return st((()=>{const r=ln(e,t,n,s,a);j(r,l)||(l=r,o(xn,e,t,n,s,a,l))}),Ce[r?1:0],[e,t],[sn])},addStartTransactionListener:e=>st(e,tt),addWillFinishTransactionListener:e=>st(e,nt[0]),addDidFinishTransactionListener:e=>st(e,nt[1]),callListener:e=>(rt(e),xn),delListener:e=>(ot(e),xn),getListenerStats:()=>({}),createStore:kt,addListener:st,callListeners:at,setInternalListeners:(e,t,n,s,a)=>c=[e,t,n,s,a]};return ue({[u+f]:[0,ee,[],()=>[fn()]],[f]:[0,te],[b]:[0,ne],[u+h]:[1,se,[sn],e=>[bn(...e)]],[h]:[1,ae,[sn]],[h+T]:[1,oe,[sn]],[u+h+y]:[2,le,[sn,an],e=>[wn(...e)]],[L]:[1,de,[sn]],[C]:[1,he,[sn]],[u+w]:[2,xe,[sn,rn],e=>[Ln(...e)]],[w]:[2,Qe,[sn,rn]],[T]:[2,We,[sn,rn]],[u+y]:[3,je,[sn,rn,cn],e=>[Cn(...e)]],[y]:[3,$e,[sn,rn,cn],e=>Mt(dn(...e))],InvalidCell:[3,_e],[u+S]:[0,Ge,[],()=>[vn()]],[S]:[0,Ke],[R]:[0,Xe],[u+p]:[1,Ye,[gn],e=>[yn(...e)]],[p]:[1,et,[gn],e=>Mt(hn(e[0]))],InvalidValue:[1,qe]},(([e,t,n,s],a)=>{xn[d+a+i]=(...a)=>st(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,n,s)})),re(xn)},Jt=2**36,xt=2**30,Ft=2**24,Qt=2**18,zt=4096,Nt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ot=(e=t)=>[vt(e),vt(e)],Pt=e=>{let n=1,s=Ot(),a=0;const o=pe(),r=Oe(),[l,i]=(e=>{let t=0,n=-1;const s=k(e,(e=>{const t=ct(e);return Xe(t/Ft)+Xe(t/Qt)+Xe(t/zt)+Xe(t/64)+Xe(t)}),(()=>et(5))),a=e=>{const s=t,[a,o]=A(e)||""==e?[0,0]:[Ye(r=e,0)*Jt+Ye(r,1)*xt+Ye(r,2)*Ft+Ye(r,3)*Qt+Ye(r,4)*zt+64*Ye(r,5)+Ye(r,6),Ye(r,7)*Qt+Ye(r,8)*zt+64*Ye(r,9)+Ye(r,10)];var r;t=D(s,a,Date.now()),n=t==s?t==a?D(n,o):n:t==a?o:-1};return[()=>{return a(),o=++n,Xe((e=t)/Jt)+Xe(e/xt)+Xe(e/Ft)+Xe(e/Qt)+Xe(e/zt)+Xe(e/64)+Xe(e)+Xe(o/Qt)+Xe(o/zt)+Xe(o/64)+Xe(o)+s;var e,o},a]})(e),c=kt(),d=e=>{const t=n;return n=0,e(),n=t,b},u=(e,n=0)=>{const a={},o={},[[r,l=t,c=0],d]=e,[u,h]=s,[f,b,w]=u;let L=n?c:w,C=l;de(r,(([e,s=t,o=0],r)=>{const l=Ve(f,r,vt),[i,c,d]=l;let u=n?o:d,h=s;de(e,((e,t)=>{const[s,o,l]=g(e,Ve(i,t,vt),he(he(a,r,le),t,le),n);u^=n?0:(o?ft(t,o):0)^ft(t,l),h=wt(h,s)})),u^=n?0:bt(c,s),Lt(l,u,s),L^=n?0:(d?ft(r,d):0)^ft(r,l[2]),C=wt(C,h)})),L^=n?0:bt(b,l),Lt(u,L,l);const[v]=g(d,h,o,n);return i(wt(C,v)),[a,o,1]},g=(e,n,s,a)=>{const[o,r=t,l=0]=e,[i,c,d]=n;let u=r,g=a?l:d;return de(o,(([e,n,o=0],r)=>{const l=Ve(i,r,(()=>[void 0,t,0])),[,c,d]=l;(!c||n>c)&&(Lt(l,a?o:ct(Et(e??null)+":"+n),n),l[0]=e,s[r]=e,g^=a?0:ft(r,d)^ft(r,l[2]),u=wt(u,n))})),g^=a?0:bt(c,r),Lt(n,g,r),[u,d,n[2]]},h=()=>[yt(s[0],(e=>yt(e,(e=>yt(e))))),yt(s[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>De(s[0][0],ht),getMergeableTableDiff:e=>{const t=Ct(s[0][1]),n={};return Ie(s[0][0],((s,[a,o,r])=>ie(e,s)?r!=e[s]?n[s]=r:0:t[0][s]=Tt([a,o],(e=>Tt(e))))),[t,n]},getMergeableRowHashes:e=>{const t={};return de(e,((e,n)=>k(Re(s[0][0],n),(([s,,a])=>a!=e?Ie(s,((e,[,,s])=>he(t,n,le)[e]=s)):0)))),t},getMergeableRowDiff:e=>{const t=Ct(s[0][1]),n={};return de(e,((e,a)=>Ie(Re(s[0][0],a)?.[0],((s,[o,r,l])=>ie(e,s)?l!==e[s]?he(n,a,le)[s]=l:0:he(t[0],a,Ct)[0][s]=Tt([o,r]))))),[t,n]},getMergeableCellHashes:e=>{const t={};return de(e,((e,n)=>k(Re(s[0][0],n),(([s])=>de(e,((e,a)=>k(Re(s,a),(([s,,o])=>o!==e?Ie(s,((e,[,,s])=>he(he(t,n,le),a,le)[e]=s)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,n]]=s,a={};return de(e,((e,n)=>de(e,((e,s)=>k(Re(t,n),(([t,o])=>k(Re(t,s),(([t,r])=>Ie(t,((t,[l,i,c])=>c!==e[t]?he(he(a,n,(()=>Ct(o)))[0],s,(()=>Ct(r)))[0][t]=[l,i]:0)))))))))),gt(a,n)},getMergeableValuesHashes:()=>De(s[1][0],ht),getMergeableValueDiff:e=>{const[,[t,n]]=s,a=De(t,ut,(([,,t],n)=>t==e?.[n]));return gt(a,n)},setMergeableContent:e=>d((()=>(e=>Q(e)&&2==N(e)&&pt(e[0],(e=>fe(e,(e=>pt(e,(e=>fe(e,(e=>pt(e,(e=>fe(e,(e=>pt(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&pt(e[1],(e=>fe(e,(e=>pt(e,Qe)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),s=Ot(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[n,a]]=s,l={};ye(o,((t,n)=>k(Re(e,n),(([e,s])=>{const a={};ye(t,((t,n)=>k(Re(e,n),(([e,s])=>{const o={};ye(t,(t=>{k(Re(e,t),(([e,n])=>o[t]=gt(e,n)))})),a[n]=gt(o,s)})))),l[n]=gt(a,s)}))));const i={};return ye(r,(e=>k(Re(n,e),(([t,n])=>i[e]=gt(t,n))))),[gt(l,t),gt(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),n=e.getMergeableContent();return e.applyMergeableChanges(t),f(n)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{ve(o),ve(r)}),((e,s,r,i)=>{Pe(Ve(Ve(o,e,pe),s,Oe),r),n&&u([[{[e]:[{[s]:[{[r]:[i,a?t:l()]}]}]}],[{}],1])}),((e,s)=>{Pe(r,e),n&&u([[{}],[{[e]:[s,a?t:l()]}],1])})),ue(c,((e,t)=>b[t]=M(t,"set")||M(t,"del")||M(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):M(t,"add")&&V(t,"Listener")?(...n)=>{const s=Nt[z(t,3,-8)]??0,a=n[s];return n[s]=(e,...t)=>a(b,...t),e(...n)}:e)),re(b)};export{qe as createCheckpoints,lt as createCustomPersister,St as createCustomSynchronizer,tt as createIndexes,Pt as createMergeableStore,at as createMetrics,Rt as createQueries,It as createRelationships,kt as createStore,Ze as defaultSorter,et as getUniqueId};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Has",g="Ids",h="Table",f=h+"s",b=h+g,w="Row",L=w+"Count",C=w+g,v="Sorted"+w+g,y="Cell",p=y+g,T="Value",S=T+"s",R=T+g,I=e=>t+e,M=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),m=Promise,D=Math.max,E=Math.min,H=isFinite,A=e=>null==e,k=(e,t,s)=>A(e)?s?.():t(e),J=e=>e==s||e==n,x=t=>e(t)==s,F=t=>e(t)==o,Q=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),N=e=>e.length,P=()=>{},O=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),j=(e,t)=>N(e)===N(t)&&W(e,((e,s)=>t[s]===e)),$=(e,t)=>W(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),B=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),q=e=>K(e,((e,t)=>e+t),0),G=e=>0==N(e),K=(e,t,s)=>e.reduce(t,s),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),se=ee.entries,ne=ee.isFrozen,ae=e=>!A(e)&&k(te(e),(e=>e==ee.prototype||A(te(e))),(()=>!0)),oe=ee.keys,re=ee.freeze,le=(e=[])=>ee.fromEntries(e),ie=(e,t)=>t in e,ce=(e,t)=>(delete e[t],e),de=(e,t)=>B(se(e),(([e,s])=>t(s,e))),ue=(e,t)=>U(se(e),(([e,s])=>t(s,e))),ge=e=>ae(e)&&0==(e=>N(oe(e)))(e),he=(e,t,s)=>(ie(e,t)||(e[t]=s()),e[t]),fe=(e,t,s,n=0)=>A(e)||!ae(e)||!n&&ge(e)||ne(e)?(s?.(),!1):(ue(e,((s,n)=>{t(s,n)||ce(e,n)})),!!n||!ge(e)),be=e=>e?.size??0,we=(e,t)=>e?.has(t)??!1,Le=e=>A(e)||0==be(e),Ce=e=>[...e?.values()??[]],ve=e=>e.clear(),ye=(e,t)=>e?.forEach(t),pe=(e,t)=>e?.delete(t),Te=e=>new Map(e),Se=e=>[...e?.keys()??[]],Re=(e,t)=>e?.get(t),Ie=(e,t)=>ye(e,((e,s)=>t(s,e))),Me=(e,t,s)=>A(s)?(pe(e,t),e):e?.set(t,s),Ve=(e,t,s,n)=>(we(e,t)?n?.(Re(e,t)):Me(e,t,s()),Re(e,t)),me=(e,t,s,n=Me)=>(ue(t,((t,n)=>s(e,n,t))),Ie(e,(s=>ie(t,s)?0:n(e,s))),e),De=(e,t,s,n)=>{const a={};return ye(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},Ee=(e,t,s)=>De(e,(e=>De(e,t,s)),Le,ge),He=(e,t,s)=>De(e,(e=>Ee(e,t,s)),Le,ge),Ae=(e,t)=>{const s=Te();return ye(e,((e,n)=>s.set(n,t?.(e)??e))),s},ke=e=>Ae(e,Ae),Je=e=>Ae(e,ke),xe=(e,t,s,n,a=0)=>k((s?Ve:Re)(e,t[a],a>N(t)-2?s:Te),(o=>{if(a>N(t)-2)return n?.(o)&&Me(e,t[a]),o;const r=xe(o,t,s,n,a+1);return Le(o)&&Me(e,t[a]),r})),Fe=t=>{const s=e(t);return J(s)||s==a&&H(t)?s:void 0},Qe=e=>A(e)||!A(Fe(e)),ze=(e,t,s,n,a)=>A(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ne=(e,t,s)=>A(s)?e.delValue(t):e.setValue(t,s),Pe=e=>new Set(Q(e)||A(e)?e:[e]),Oe=(e,t)=>e?.add(t),We=(e,t,s,n,a)=>{const o=e.hasRow,r=Te(),l=Te(),i=Te(),c=Te(),d=Te(),u=Te(),g=(t,s,...n)=>{const a=Ve(u,t,Pe);return B(n,(t=>Oe(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>k(Re(u,t),(n=>{B(G(s)?Ce(n):s,(t=>{e.delListener(t),pe(n,t)})),Le(n)&&Me(u,t)})),f=(e,s)=>{Me(r,e,s),we(l,e)||(Me(l,e,t()),Me(c,e,Te()),Me(d,e,Te()),a(i))},b=e=>{Me(r,e),Me(l,e),Me(c,e),Me(d,e),h(e),a(i)};return[()=>e,()=>Se(r),e=>Ie(l,e),e=>we(l,e),e=>Re(r,e),e=>Re(l,e),(e,t)=>Me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Te(),u=Te(),b=Re(c,t),w=Re(d,t),L=t=>{const a=s=>e.getCell(n,t,s),c=Re(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||Q(c)&&Q(d)&&j(c,d)||Me(i,t,[c,d]),!A(l)){const e=Re(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Me(u,t,s)}},C=e=>{a((()=>{ye(i,(([,e],t)=>Me(b,t,e))),ye(u,((e,t)=>Me(w,t,e)))}),i,u,b,w,e),ve(i),ve(u)};Ie(b,L),e.hasTable(n)&&B(e.getRowIds(n),(e=>{we(b,e)||L(e)})),C(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>L(s))),e.addTableListener(n,(()=>C())))},b,e=>n(e,i),()=>Ie(u,b),g,h]},je=(e,s)=>x(e)?t=>t(e):e??(()=>s??t),$e=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},_e=/^\d+$/,Be=()=>{const e=[];let s=0;return[n=>(n?Z(e):null)??t+s++,t=>{_e.test(t)&&N(e)<1e3&&X(e,t)}]},Ue=e=>{let s;const[n,a]=Be(),o=Te();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return Me(o,d,[a,r,l,i,c]),Oe(xe(r,l??[t],Pe),d),d},(e,n,...a)=>B(((e,s=[t])=>{const n=[],a=(e,t)=>t==N(s)?X(n,e):null===s[t]?ye(e,(e=>a(e,t+1))):B([s[t],null],(s=>a(Re(e,s),t+1)));return a(e,0),n})(e,n),(e=>ye(e,(e=>Re(o,e)[0](s,...n??[],...a))))),e=>k(Re(o,e),(([,s,n])=>(xe(s,n??[t],void 0,(t=>(pe(t,e),Le(t)?1:0))),Me(o,e),a(e),n))),e=>k(Re(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=N(r);l==N(t)?e(s,...r,...a(r)):A(t[l])?B(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},qe=$e((e=>{let s,n,a,o=100,r=Te(),l=Te(),i=1;const c=Te(),d=Te(),[u,g,h]=Ue((()=>x)),f=Te(),b=Te(),w=[],L=[],C=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Re(f,s);ye(n,((s,n)=>ye(s,((s,a)=>ye(s,((s,o)=>ze(e,n,a,o,s[t]))))))),ye(a,((s,n)=>Ne(e,n,s[t])))})),i=1},v=e=>{Me(f,e),Me(b,e),g(d,[e])},y=(e,t)=>B(((e,t)=>e.splice(0,t))(e,t??N(e)),v),p=()=>y(w,N(w)-o),T=()=>k(s,(()=>{X(w,s),p(),y(L),s=void 0,a=1})),S=()=>{s=Y(w),a=1};let R,I;const M=(e=t)=>(A(s)&&(s=t+n++,Me(f,s,[r,l]),H(s,e),r=Te(),l=Te(),a=1),s),V=()=>{G(w)||(((e,...t)=>{e.unshift(...t)})(L,M()),C(0,s),s=Y(w),a=1)},m=()=>{G(L)||(X(w,s),s=Z(L),C(1,s),a=1)},D=()=>{a&&(g(c),a=0)},E=e=>{const t=M(e);return D(),t},H=(e,t)=>(J(e)&&Re(b,e)!==t&&(Me(b,e,t),g(d,[e])),x),J=e=>we(f,e),x={setSize:e=>(o=e,p(),x),addCheckpoint:E,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...L]],forEachCheckpoint:e=>Ie(b,e),hasCheckpoint:J,getCheckpoint:e=>Re(b,e),goBackward:()=>(V(),D(),x),goForward:()=>(m(),D(),x),goTo:e=>{const t=O(w,e)?V:O(L,e)?m:null;for(;!A(t)&&e!=s;)t();return D(),x},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),x),clear:()=>(y(w),y(L),A(s)||v(s),s=void 0,n=0,E(),x),clearForward:()=>(G(L)||(y(L),g(c)),x),destroy:()=>{e.delListener(R),e.delListener(I)},getListenerStats:()=>({}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){T();const e=Ve(r,t,Te),l=Ve(e,s,Te),i=Ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(Me(l,n))&&Le(Me(e,s))&&Le(Me(r,t))&&S(),D()}})),I=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=Ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Le(Me(l,t))&&S(),D()}}))}};return re(x.clear())}),(e=>e._registerListeners())),Ge="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(t),Ke=Te(U(Ge,((e,t)=>[e,t]))),Xe=e=>Ge[63&e],Ye=(e,t)=>Re(Ke,e[t])??0,Ze=(e,t)=>(e??0)<(t??0)?-1:1,et=(e=16)=>K(crypto.getRandomValues(new Uint8Array(e)),((e,t)=>e+Xe(t)),""),tt=$e((e=>{const s=Te(),n=Te(),[a,o,r]=Ue((()=>v)),[l,i,c,d,u,g,h,,f,b,w,L]=We(e,Te,(e=>A(e)?t:Q(e)?U(e,I):I(e)),a,o),C=(t,s,n)=>{const a=u(t);ye(n,((t,n)=>s(n,(s=>ye(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},v={setIndexDefinition:(e,t,a,r,l,i=Ze)=>{const c=A(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let b=0;const w=Pe(),L=Pe(),C=g(e);if(ye(a,(([e,t],s)=>{const n=Pe(e),a=Pe(t);ye(n,(e=>pe(a,e)?pe(n,e):0)),ye(n,(e=>{Oe(w,e),k(Re(C,e),(t=>{pe(t,s),Le(t)&&(Me(C,e),b=1)}))})),ye(a,(e=>{Oe(w,e),we(C,e)||(Me(C,e,Pe()),b=1),Oe(Re(C,e),s),A(r)||Oe(L,e)}))})),t(),Le(u)||(f?Ie(C,(e=>Oe(L,e))):Ie(l,(e=>k(Re(d,e),(e=>Oe(L,e))))),ye(L,(e=>{const t=(t,s)=>i(Re(u,t),Re(u,s),e),s=[...Re(C,e)];$(s,t)||(Me(C,e,Pe(_(s,t))),Oe(w,e))}))),(b||f)&&!A(c)){const t=[...C];$(t,c)||(h(e,Te(_(t,c))),b=1)}b&&o(s,[e]),ye(w,(t=>o(n,[e,t])))}),je(a),k(r,je)),v},delIndexDefinition:e=>(b(e),v),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>C(t,e,s))))),forEachSlice:(e,t)=>C(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>we(g(e),t),getTableId:u,getSliceIds:e=>Se(g(e)),getSliceRowIds:(e,t)=>Ce(Re(g(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),v),destroy:L,getListenerStats:()=>({})};return re(v)})),st=Te([["avg",[(e,t)=>q(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:D(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>q(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),nt=(e,t,s,n,a,o=!1)=>{if(Le(s))return;const[r,l,i,c]=a;return o||=A(e),ye(n,(([s,n])=>{o||(e=A(s)?l?.(e,n,t++):A(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=A(e))})),o?r(Ce(s),be(s)):e},at=$e((e=>{const s=Te(),[n,a,o]=Ue((()=>L)),[r,l,i,c,d,u,g,,h,f,b,w]=We(e,P,(e=>isNaN(e)||A(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),L={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=F(n)?[n,r,l,i]:Re(st,n)??Re(st,"sum");return h(e,t,((t,n,o,r,l,i)=>{const d=u(e),h=be(r);i||=A(d),t();let f=nt(d,h,r,n,c,i);H(f)||(f=void 0),f!=d&&(g(e,f),a(s,[e],f,d))}),je(o,1)),L},delMetricDefinition:e=>(f(e),L),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),L),destroy:w,getListenerStats:()=>({})};return re(L)})),ot=Te(),rt=Te(),lt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(ot,i,(()=>0)),Ve(rt,i,(()=>[]));const[h,f,b,w,L]=((e=1,t)=>e>1&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ge(e)||!ge(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ge(e)||!ge(t),t.setContent]:(e=>{throw Error("Store type not supported by this Persister")})())(r,e),C=t=>{(h&&Q(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},v=async e=>(2!=g&&(g=1,await S((async()=>{try{C(await t())}catch(t){o?.(t),e&&L(e)}g=0}))),R),y=()=>(d&&(a(d),d=void 0),R),p=async e=>(1!=g&&(g=2,await S((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),R),T=()=>(k(u,e.delListener),u=void 0,R),S=async(...e)=>(X(Re(rt,i),...e),await(async()=>{if(!Re(ot,i)){for(Me(ot,i,1);!A(c=Z(Re(rt,i)));)try{await c()}catch(e){o?.(e)}Me(ot,i,0)}})(),R),R={load:v,startAutoLoad:async e=>(await y().load(e),d=n((async(e,t)=>{t||e?2!=g&&(g=1,C(t??e),g=0):await v()})),R),stopAutoLoad:y,isAutoLoading:()=>!A(d),save:p,startAutoSave:async()=>(await T().save(),u=e.addDidFinishTransactionListener((()=>{const e=b();w(e)&&p(e)})),R),stopAutoSave:T,isAutoSaving:()=>!A(u),schedule:S,getStore:()=>e,destroy:()=>y().stopAutoSave(),getStats:()=>({}),...l};return re(R)},it=new globalThis.TextEncoder,ct=e=>{let t=2166136261;return B(it.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},dt=([e,t,s])=>[e,t,s],ut=([e,t])=>gt(e,t),gt=(e,t)=>t?[e,t]:[e],ht=e=>e[2],ft=(e,t)=>ct(e+":"+t),bt=(e,t)=>t>e?(e?ct(e):0)^ct(t):0,wt=(e,t)=>((e??"")>(t??"")?e:t)??"",Lt=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},Ct=(e=t)=>gt(le(),e),vt=(e=t)=>[Te(),e,0],yt=([e,t,s],n=dt)=>[De(e,n),t,s],pt=([e,t],s=ut)=>gt(De(e,s),t),Tt=(t,s)=>Q(t)&&3==N(t)&&x(t[1])&&e(t[2])==a&&H(t[2])&&s(t[0]),St=(e,s,n,a,o,r,l={})=>{let i;const c=Te();n(((t,n,a,o)=>{0==a?k(Re(c,n),(([e,s])=>A(e)||e==t?s(o,t):0)):2==a&&h.isAutoLoading()?g(t,o).then((e=>{i?.(void 0,e)})):3==a&&h.isAutoLoading()?i?.(void 0,o):k(1==a&&h.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(o):5==a?e.getMergeableRowDiff(o):6==a?e.getMergeableCellDiff(o):7==a?e.getMergeableValueDiff(o):void 0,(e=>{s(t,n,0,e)}))}));const d=async(e,n,a=t)=>new m(((t,r)=>{const l=et(),i=setTimeout((()=>{pe(c,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);Me(c,l,[e,(e,s)=>{clearTimeout(i),pe(c,l),t([e,s])}]),s(e,l,n,a)})),u=(e,[t,s])=>{de(t,(([t,s],n)=>{const a=he(e[0],n,Ct);de(t,(([e,t],s)=>{const n=he(a[0],s,Ct);de(e,(([e,t],s)=>n[0][s]=gt(e,t))),n[1]=wt(n[1],t)})),a[1]=wt(a[1],s)})),e[1]=wt(e[1],s)},g=async(t=null,s)=>{A(s)&&([s,t]=await d(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=Ct();if(o!=n){const[s,n]=(await d(t,4,e.getMergeableTableHashes()))[0];if(l=s,!ge(n)){const[s,a]=(await d(t,5,e.getMergeableRowHashes(n)))[0];if(u(l,s),!ge(a)){const s=(await d(t,6,e.getMergeableCellHashes(a)))[0];u(l,s)}}}return[l,r==a?Ct():(await d(t,7,e.getMergeableValuesHashes()))[0],1]},h=lt(e,(async()=>{const e=await g();return ge(e[0][0])&&ge(e[1][0])?void 0:e}),(async(t,n)=>{n?s(null,null,3,n):s(null,null,2,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,2,{startSync:async e=>await(await h.startAutoLoad(e)).startAutoSave(),stopSync:()=>h.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),h.stopSync()),getSynchronizerStats:()=>({}),...l});return h},Rt=$e((e=>{const s=e.createStore,n=s(),a=s(),o=Te(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,b,T,S,,,R,,I,M,V,m,D]=We(e,(()=>!0),P,r,l),E=(e,t,...s)=>B(s,(s=>Oe(Ve(Ve(o,t,Te),e,Pe),s))),H=e=>{k(Re(o,e),(e=>{Ie(e,((e,t)=>ye(t,(t=>e.delListener(t))))),ve(e)})),B([a,n],(t=>t.delTable(e)))},J=(e,t,s)=>E(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),x={setQueryDefinition:(s,o,r)=>{R(s,o),H(s);const l=[],i=[[null,[o,null,null,[],Te()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=F(e)?[N(l)+t,e]:[A(s)?e:s,t=>t(e,s)];return X(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=A(s)||F(t)?null:t,a=A(n)?t:s,o=[e,[e,n,F(a)?a:e=>e(a),[],Te()]];return X(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>X(c,F(e)?e:A(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,F(t)?[t,s,n,a]:Re(st,t)??[(e,t)=>t]]];return X(d,o),{as:e=>o[0]=e}},having:(e,t)=>X(u,F(e)?e:s=>s(e)===t)});const g=Te(l);if(Le(g))return x;const h=Te(i);Ie(h,((e,[,t])=>k(Re(h,t),(({3:t})=>A(e)?0:X(t,e)))));const f=Te(d);let b=n;if(Le(f)&&G(u))b=a;else{J(s,b,a);const e=Te();Ie(f,((t,[s,n])=>Oe(Ve(e,s,Pe),[t,n])));const t=Pe();Ie(g,(s=>we(e,s)?0:Oe(t,s)));const n=Te(),o=(t,n,o,r)=>k(t,(([l,i,c,d])=>{Ie(n,((t,[s])=>{const n=Ve(l,t,Te),a=Re(n,o),i=r?void 0:s;if(a!==i){const s=Pe([[a,i]]),r=be(n);Me(n,o,i),ye(Re(e,t),(([e,t])=>{const a=nt(d[e],r,n,s,t);d[e]=A(Fe(a))?null:a}))}})),Le(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(s,c):A(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));E(b,s,b.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=Te(),g=b.hasRow(s,l);let h=!g;ye(t,(e=>{const[t,n,a]=i(s,l,e);X(c,n),X(d,a),h||=t})),Ie(e,(e=>{const[t,,n]=i(s,l,e);(h||t)&&Me(u,e,[n])})),h&&o(xe(n,c,void 0,(([,e])=>(pe(e,l),Le(e)))),u,l,1),g&&o(xe(n,d,(()=>{const e={};return ye(t,(t=>e[t]=b.getCell(s,l,t))),[Te(),Pe(),void 0,e]}),(([,e])=>{Oe(e,l)})),u,l)})))}J(s,e,b);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);B(r,(n=>{const[a,,o,r,i]=Re(h,n),c=o?.(l,t),[d,u]=Re(i,t)??[];c!=d&&(A(u)||D(s,u),Me(i,t,A(c)?null:[c,...m(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...A(n)?[o,t,s]:s===o?[o,t,n]:[Re(h,s)?.[0],Re(Re(h,s)?.[4],t)?.[0],n]);b.transaction((()=>W(c,(e=>e(n)))?Ie(g,((e,a)=>ze(b,s,t,e,a(n,t)))):b.delRow(s,t)))})(t)},{3:L}=Re(h,null);return b.transaction((()=>m(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,L):(b.delRow(s,a),ye(h,(({4:e})=>k(Re(e,a),(([,t])=>{D(s,t),Me(e,a)})))))}))))),x},delQueryDefinition:e=>(H(e),I(e),x),getStore:g,getQueryIds:f,forEachQuery:b,hasQuery:T,getTableId:S,addQueryIdsListener:e=>M((()=>e(x))),delListener:e=>(u(e),x),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ue({[h]:[1,1],[h+p]:[0,1],[L]:[0,1],[C]:[0,1],[v]:[0,5],[w]:[1,2],[p]:[0,2],[y]:[1,3]},(([e,t],s)=>{B(e?["get","has","forEach"]:["get"],(e=>x[e+c+s]=(...t)=>a[e+s](...t))),x[d+c+s+i]=(...e)=>a[d+s+i](...z(e,0,t),((s,...n)=>e[t](x,...n)),!0)})),re(x)})),It=$e((e=>{const s=Te(),n=Te(),a=Te(),o=Te(),[r,l,i]=Ue((()=>T)),[c,d,u,g,h,f,,,b,w,L,C]=We(e,(()=>[Te(),Te(),Te(),Te()]),(e=>A(e)?void 0:e+t),r,l),v=(e,t,s)=>k(f(e),(([n,,a])=>{if(!we(a,t)){const o=Pe();if(h(e)!=p(e))Oe(o,t);else{let e=t;for(;!A(e)&&!we(o,e);)Oe(o,e),e=Re(n,e)}if(s)return o;Me(a,t,o)}return Re(a,t)})),y=(e,t)=>k(f(e),(([,,e])=>Me(e,t))),p=e=>Re(s,e),T={setRelationshipDefinition:(e,t,r,i)=>(Me(s,e,r),b(e,t,((t,s)=>{const r=Pe(),i=Pe(),c=Pe(),[d,u]=f(e);ye(s,(([t,s],n)=>{A(t)||(Oe(i,t),k(Re(u,t),(e=>{pe(e,n),Le(e)&&Me(u,t)}))),A(s)||(Oe(i,s),we(u,s)||Me(u,s,Pe()),Oe(Re(u,s),n)),Oe(r,n),Me(d,n,s),Ie(Re(o,e),(t=>{we(v(e,t),n)&&Oe(c,t)}))})),t(),ye(r,(t=>l(n,[e,t]))),ye(i,(t=>l(a,[e,t]))),ye(c,(t=>{y(e,t),l(o,[e,t])}))}),je(i)),T),delRelationshipDefinition:e=>(Me(s,e),w(e),T),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:p,getRemoteRowId:(e,t)=>Re(f(e)?.[0],t),getLocalRowIds:(e,t)=>Ce(Re(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>A(f(e))?[t]:Ce(v(e,t,!0)),addRelationshipIdsListener:L,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),r(s,o,[e,t])),delListener:e=>(y(...i(e)??[]),T),destroy:C,getListenerStats:()=>({})};return re(T)})),Mt=e=>[e,e],Vt=()=>[Te(),Te()],mt=e=>[...e],Dt=([e,t])=>e===t,Et=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),Ht=JSON.parse,At=(e,t,s)=>Me(e,t,Re(e,t)==-s?void 0:s),kt=()=>{let e,t,s=!1,n=!1,o=0,c=[];const g=Te(),v=Te(),M=Te(),V=Te(),m=Te(),D=Te(),E=Te(),H=Te(),x=Te(),Q=Te(),N=Te(),P=Te(),W=Te(),$=Te(),q=Pe(),G=Te(),K=Te(),Y=Te(),Z=Te(),ee=Vt(),te=Vt(),se=Vt(),ne=Vt(),ae=Vt(),oe=Vt(),le=Vt(),de=Vt(),he=Vt(),Ce=Vt(),xe=Vt(),Qe=Vt(),We=Vt(),je=Vt(),$e=Vt(),_e=Vt(),qe=Vt(),Ge=Vt(),Ke=Vt(),Xe=Vt(),Ye=Vt(),et=Vt(),tt=Te(),st=Vt(),[nt,at,ot,rt]=Ue((()=>Js)),lt=e=>{if(!fe(e,((e,t)=>O([r,l],t))))return!1;const t=e[r];return!(!J(t)&&t!=a||(Fe(e[l])!=t&&ce(e,l),0))},it=(t,s)=>(!e||we(N,s)||Bt(s))&&fe(t,((e,t)=>ct(s,t,e)),(()=>Bt(s))),ct=(e,t,s,n)=>fe(n?s:ht(s,e,t),((n,a)=>k(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Bt(e,t))),dt=(t,s,n,a)=>e?k(Re(Re(N,t),n),(e=>Fe(a)!=e[r]?Bt(t,s,n,a,e[l]):a),(()=>Bt(t,s,n,a))):A(Fe(a))?Bt(t,s,n,a):a,ut=(e,t)=>fe(t?e:ft(e),((t,s)=>k(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),gt=(e,s)=>t?k(Re(W,e),(t=>Fe(s)!=t[r]?Ut(e,s,t[l]):s),(()=>Ut(e,s))):A(Fe(s))?Ut(e,s):s,ht=(e,t,s)=>(k(Re(P,t),(([n,a])=>{ye(n,((t,s)=>{ie(e,s)||(e[s]=t)})),ye(a,(n=>{ie(e,n)||Bt(t,s,n)}))})),e),ft=e=>(t&&(ye($,((t,s)=>{ie(e,s)||(e[s]=t)})),ye(q,(t=>{ie(e,t)||Ut(t)}))),e),bt=e=>me(N,e,((e,t,s)=>{const n=Te(),a=Pe();me(Ve(N,t,Te),s,((e,t,s)=>{Me(e,t,s),k(s[l],(e=>Me(n,t,e)),(()=>Oe(a,t)))})),Me(P,t,[n,a])}),((e,t)=>{Me(N,t),Me(P,t)})),wt=e=>me(W,e,((e,t,s)=>{Me(W,t,s),k(s[l],(e=>Me($,t,e)),(()=>Oe(q,t)))}),((e,t)=>{Me(W,t),Me($,t),pe(q,t)})),Lt=e=>ge(e)?Is():ys(e),Ct=e=>me(Y,e,((e,t,s)=>vt(t,s)),((e,t)=>Ft(t))),vt=(e,t)=>me(Ve(Y,e,(()=>(Pt(e,1),Me(G,e,Be()),Me(K,e,Te()),Te()))),t,((t,s,n)=>yt(e,t,s,n)),((t,s)=>Qt(e,t,s))),yt=(e,t,s,n,a)=>me(Ve(t,s,(()=>(Ot(e,s,1),Te()))),n,((t,n,a)=>pt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),pt=(e,t,s,n,a)=>{we(s,n)||Wt(e,t,n,1);const o=Re(s,n);a!==o&&(jt(e,t,n,o,a),Me(s,n,a))},Tt=(e,t,s,n,a)=>k(Re(t,s),(t=>pt(e,s,t,n,a)),(()=>yt(e,t,s,ht({[n]:a},e,s)))),St=e=>ge(e)?ms():ps(e),Rt=e=>me(Z,e,((e,t,s)=>It(t,s)),((e,t)=>Nt(t))),It=(e,t)=>{we(Z,e)||$t(e,1);const s=Re(Z,e);t!==s&&(_t(e,s,t),Me(Z,e,t))},Jt=(e,t)=>{const[s]=Re(G,e),n=s(t);return we(Re(Y,e),n)?Jt(e,t):n},xt=e=>Re(Y,e)??vt(e,{}),Ft=e=>vt(e,{}),Qt=(e,t,s)=>{const[,n]=Re(G,e);n(s),yt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Re(Re(P,e)?.[0],a);if(!A(r)&&!o)return pt(e,s,n,a,r);const l=t=>{jt(e,s,t,Re(n,t)),Wt(e,s,t,-1),Me(n,t)};A(r)?l(a):Ie(n,l),Le(n)&&(Ot(e,s,-1),Le(Me(t,s))&&(Pt(e,-1),Me(Y,e),Me(G,e),Me(K,e)))},Nt=e=>{const t=Re($,e);if(!A(t))return It(e,t);_t(e,Re(Z,e)),$t(e,-1),Me(Z,e)},Pt=(e,t)=>At(g,e,t),Ot=(e,t,s)=>At(Ve(V,e,Te),t,s)&&Me(M,e,Ve(M,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=Re(K,e),o=Re(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&At(Ve(v,e,Te),s,n),Me(a,s,o!=-n?o+n:null),At(Ve(Ve(m,e,Te),t,Te),s,n)},jt=(e,t,s,n,a)=>{Ve(Ve(Ve(D,e,Te),t,Te),s,(()=>[n,0]))[1]=a,c[3]?.(e,t,s,a)},$t=(e,t)=>At(E,e,t),_t=(e,t,s)=>{Ve(H,e,(()=>[t,0]))[1]=s,c[4]?.(e,s)},Bt=(e,t,s,n,a)=>(X(Ve(Ve(Ve(x,e,Te),t,Te),s,(()=>[])),n),a),Ut=(e,t,s)=>(X(Ve(Q,e,(()=>[])),t),s),qt=(e,t,s)=>k(Re(Re(Re(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Mt(cs(e,t,s))])),Gt=e=>k(Re(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Mt(gs(e))])),Kt=e=>Le(x)||Le(_e[e])?0:ye(e?Je(x):x,((t,s)=>ye(t,((t,n)=>ye(t,((t,a)=>at(_e[e],[s,n,a],t))))))),Xt=e=>Le(Q)||Le(qe[e])?0:ye(e?Ae(Q):Q,((t,s)=>at(qe[e],[s],t))),Yt=(e,t,s,n)=>{if(!Le(e))return at(t,n,(()=>De(e))),Ie(e,((e,t)=>at(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&at(ee[e],void 0,t);const n=Le(Ce[e]),a=Le(We[e])&&Le(je[e])&&Le(he[e])&&Le(xe[e])&&Le(oe[e])&&Le(le[e])&&Le(de[e])&&n&&Le(se[e])&&Le(ne[e]),o=Le($e[e])&&Le(Qe[e])&&Le(ae[e])&&Le(te[e]);if(!a||!o){const t=e?[Ae(g),ke(v),Ae(M),ke(V),Je(m),Je(D)]:[g,v,M,V,m,D];if(!a){Yt(t[0],se[e],ne[e]),ye(t[1],((t,s)=>Yt(t,oe[e],le[e],[s]))),ye(t[2],((t,s)=>{0!=t&&at(de[e],[s],os(s))}));const s=Pe();ye(t[3],((t,a)=>{Yt(t,he[e],xe[e],[a])&&!n&&(at(Ce[e],[a,null]),Oe(s,a))})),n||ye(t[5],((t,n)=>{if(!we(s,n)){const s=Pe();ye(t,(e=>ye(e,(([t,n],a)=>n!==t?Oe(s,a):pe(e,a))))),ye(s,(t=>at(Ce[e],[n,t])))}})),ye(t[4],((t,s)=>ye(t,((t,n)=>Yt(t,We[e],je[e],[s,n])))))}if(!o){let s;ye(t[5],((t,n)=>{let a;ye(t,((t,o)=>{let r;ye(t,(([t,l],i)=>{l!==t&&(at($e[e],[n,o,i],l,t,qt),s=a=r=1)})),r&&at(Qe[e],[n,o],qt)})),a&&at(ae[e],[n],qt)})),s&&at(te[e],void 0,qt)}}},es=e=>{const t=Cs();t!=n&&at(Ge[e],void 0,t);const s=Le(Xe[e])&&Le(Ye[e]),a=Le(et[e])&&Le(Ke[e]);if(!s||!a){const t=e?[Ae(E),Ae(H)]:[E,H];if(s||Yt(t[0],Xe[e],Ye[e]),!a){let s;ye(t[1],(([t,n],a)=>{n!==t&&(at(et[e],[a],n,t,Gt),s=1)})),s&&at(Ke[e],void 0,Gt)}}},ts=(e,...t)=>(Hs((()=>e(...U(t,I)))),Js),ss=()=>He(Y),ns=()=>Se(Y),as=e=>Se(Re(K,I(e))),os=e=>be(Re(Y,I(e))),rs=e=>Se(Re(Y,I(e))),ls=(e,t,s,n=0,a)=>{return U(z(_((o=Re(Y,I(e)),r=(e,s)=>[A(t)?s:Re(e,I(t)),s],U([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ze(e,t)*(s?-1:1))),n,A(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Se(Re(Re(Y,I(e)),I(t))),cs=(e,t,s)=>Re(Re(Re(Y,I(e)),I(t)),I(s)),ds=()=>De(Z),us=()=>Se(Z),gs=e=>Re(Z,I(e)),hs=()=>!Le(Y),fs=e=>we(Y,I(e)),bs=(e,t)=>we(Re(K,I(e)),I(t)),ws=(e,t)=>we(Re(Y,I(e)),I(t)),Ls=(e,t,s)=>we(Re(Re(Y,I(e)),I(t)),I(s)),Cs=()=>!Le(Z),vs=e=>we(Z,I(e)),ys=e=>ts((()=>(e=>fe(e,it,Bt))(e)?Ct(e):0)),ps=e=>ts((()=>ut(e)?Rt(e):0)),Ts=e=>{try{Lt(Ht(e))}catch{}return Js},Ss=t=>ts((()=>{if((e=fe(t,(e=>fe(e,lt))))&&(bt(t),!Le(Y))){const e=ss();Is(),ys(e)}})),Rs=e=>ts((()=>{if(t=(e=>fe(e,lt))(e)){const s=ds();Es(),ms(),t=!0,wt(e),ps(s)}})),Is=()=>ts((()=>Ct({}))),Ms=e=>ts((e=>we(Y,e)?Ft(e):0),e),Vs=(e,t)=>ts(((e,t)=>k(Re(Y,e),(s=>we(s,t)?Qt(e,s,t):0))),e,t),ms=()=>ts((()=>Rt({}))),Ds=()=>ts((()=>{bt({}),e=!1})),Es=()=>ts((()=>{wt({}),t=!1})),Hs=(e,t)=>{if(-1!=o){As();const s=e();return ks(t),s}},As=()=>(-1!=o&&o++,1==o&&(c[0]?.(),at(tt)),Js),ks=e=>(o>0&&(o--,0==o&&(o=1,Kt(1),Le(D)||Zt(1),Xt(1),Le(H)||es(1),e?.(Js)&&(ye(D,((e,t)=>ye(e,((e,s)=>ye(e,(([e],n)=>ze(Js,t,s,n,e))))))),ve(D),ye(H,(([e],t)=>Ne(Js,t,e))),ve(H)),at(st[0],void 0),o=-1,Kt(0),Le(D)||Zt(0),Xt(0),Le(H)||es(0),c[1]?.(),at(st[1],void 0),c[2]?.(),o=0,s=hs(),n=Cs(),B([g,v,M,V,m,D,x,E,H,Q],ve))),Js),Js={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>Ee(Re(Y,I(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>De(Re(Re(Y,I(e)),I(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:bs,hasRow:ws,hasCell:Ls,hasValues:Cs,hasValue:vs,getTablesJson:()=>Et(Y),getValuesJson:()=>Et(Z),getJson:()=>Et([Y,Z]),getTablesSchemaJson:()=>Et(N),getValuesSchemaJson:()=>Et(W),getSchemaJson:()=>Et([N,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(ge(e)?Is:ys)(e),(ge(t)?ms:ps)(t)})),setTables:ys,setTable:(e,t)=>ts((e=>it(t,e)?vt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?yt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Hs((()=>{let n;return ct(e,n,t)&&(e=I(e),yt(e,xt(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(ct(e,t,s,1)){const n=xt(e);ue(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>k(dt(e,t,s,F(n)?n(cs(e,t,s)):n),(n=>Tt(e,xt(e),t,s,n)))),e,t,s),setValues:ps,setPartialValues:e=>ts((()=>ut(e,1)?ue(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>ts((e=>k(gt(e,F(t)?t(gs(e)):t),(t=>It(e,t)))),e),applyChanges:e=>ts((()=>{ue(e[0],((e,t)=>A(e)?Ms(t):ue(e,((e,s)=>A(e)?Vs(t,s):ue(e,((e,n)=>ze(Js,t,s,n,e))))))),ue(e[1],((e,t)=>Ne(Js,t,e)))})),setTablesJson:Ts,setValuesJson:e=>{try{St(Ht(e))}catch{}return Js},setJson:e=>ts((()=>{try{const[t,s]=Ht(e);Lt(t),St(s)}catch{Ts(e)}})),setTablesSchema:Ss,setValuesSchema:Rs,setSchema:(e,t)=>ts((()=>{Ss(e),Rs(t)})),delTables:Is,delTable:Ms,delRow:Vs,delCell:(e,t,s,n)=>ts(((e,t,s)=>k(Re(Y,e),(a=>k(Re(a,t),(o=>we(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:ms,delValue:e=>ts((e=>we(Z,e)?Nt(e):0),e),delTablesSchema:Ds,delValuesSchema:Es,delSchema:()=>ts((()=>{Ds(),Es()})),transaction:Hs,startTransaction:As,getTransactionChanges:()=>[De(D,((e,t)=>-1===Re(g,t)?void 0:De(e,((e,s)=>-1===Re(Re(V,t),s)?void 0:De(e,(([,e])=>e),(e=>Dt(e)))),Le,ge)),Le,ge),De(H,(([,e])=>e),(e=>Dt(e))),1],getTransactionLog:()=>[!Le(D),!Le(H),He(D,mt,Dt),He(x),De(H,mt,Dt),De(Q),De(g),Ee(V),He(m),De(E)],finishTransaction:ks,forEachTable:e=>ye(Y,((t,s)=>e(s,(e=>ye(t,((t,s)=>e(s,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(Re(K,I(e)),t),forEachRow:(e,t)=>ye(Re(Y,I(e)),((e,s)=>t(s,(t=>Ie(e,t))))),forEachCell:(e,t,s)=>Ie(Re(Re(Y,I(e)),I(t)),s),forEachValue:e=>Ie(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return nt((()=>{const r=ls(e,t,s,n,a);j(r,l)||(l=r,o(Js,e,t,s,n,a,l))}),Ce[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,tt),addWillFinishTransactionListener:e=>nt(e,st[0]),addDidFinishTransactionListener:e=>nt(e,st[1]),callListener:e=>(rt(e),Js),delListener:e=>(ot(e),Js),getListenerStats:()=>({}),isMergeable:()=>!1,createStore:kt,addListener:nt,callListeners:at,setInternalListeners:(e,t,s,n,a)=>c=[e,t,s,n,a]};return ue({[u+f]:[0,ee,[],()=>[hs()]],[f]:[0,te],[b]:[0,se],[u+h]:[1,ne,[ns],e=>[fs(...e)]],[h]:[1,ae,[ns]],[h+p]:[1,oe,[ns]],[u+h+y]:[2,le,[ns,as],e=>[bs(...e)]],[L]:[1,de,[ns]],[C]:[1,he,[ns]],[u+w]:[2,xe,[ns,rs],e=>[ws(...e)]],[w]:[2,Qe,[ns,rs]],[p]:[2,We,[ns,rs]],[u+y]:[3,je,[ns,rs,is],e=>[Ls(...e)]],[y]:[3,$e,[ns,rs,is],e=>Mt(cs(...e))],InvalidCell:[3,_e],[u+S]:[0,Ge,[],()=>[Cs()]],[S]:[0,Ke],[R]:[0,Xe],[u+T]:[1,Ye,[us],e=>[vs(...e)]],[T]:[1,et,[us],e=>Mt(gs(e[0]))],InvalidValue:[1,qe]},(([e,t,s,n],a)=>{Js[d+a+i]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,n)})),re(Js)},Jt=2**36,xt=2**30,Ft=2**24,Qt=2**18,zt=4096,Nt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Pt=(e=t)=>[vt(e),vt(e)],Ot=e=>{let s=1,n=Pt(),a=0;const o=Te(),r=Pe(),[l,i]=(e=>{let t=0,s=-1;const n=k(e,(e=>{const t=ct(e);return Xe(t/Ft)+Xe(t/Qt)+Xe(t/zt)+Xe(t/64)+Xe(t)}),(()=>et(5))),a=e=>{const n=t,[a,o]=A(e)||""==e?[0,0]:[Ye(r=e,0)*Jt+Ye(r,1)*xt+Ye(r,2)*Ft+Ye(r,3)*Qt+Ye(r,4)*zt+64*Ye(r,5)+Ye(r,6),Ye(r,7)*Qt+Ye(r,8)*zt+64*Ye(r,9)+Ye(r,10)];var r;t=D(n,a,Date.now()),s=t==n?t==a?D(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,Xe((e=t)/Jt)+Xe(e/xt)+Xe(e/Ft)+Xe(e/Qt)+Xe(e/zt)+Xe(e/64)+Xe(e)+Xe(o/Qt)+Xe(o/zt)+Xe(o/64)+Xe(o)+n;var e,o},a]})(e),c=kt(),d=e=>{const t=s;return s=0,e(),s=t,b},u=(e,s=0)=>{const a={},o={},[[r,l=t,c=0],d]=e,[u,h]=n,[f,b,w]=u;let L=s?c:w,C=l;de(r,(([e,n=t,o=0],r)=>{const l=Ve(f,r,vt),[i,c,d]=l;let u=s?o:d,h=n;de(e,((e,t)=>{const[n,o,l]=g(e,Ve(i,t,vt),he(he(a,r,le),t,le),s);u^=s?0:(o?ft(t,o):0)^ft(t,l),h=wt(h,n)})),u^=s?0:bt(c,n),Lt(l,u,n),L^=s?0:(d?ft(r,d):0)^ft(r,l[2]),C=wt(C,h)})),L^=s?0:bt(b,l),Lt(u,L,l);const[v]=g(d,h,o,s);return i(wt(C,v)),[a,o,1]},g=(e,s,n,a)=>{const[o,r=t,l=0]=e,[i,c,d]=s;let u=r,g=a?l:d;return de(o,(([e,s,o=0],r)=>{const l=Ve(i,r,(()=>[void 0,t,0])),[,c,d]=l;(!c||s>c)&&(Lt(l,a?o:ct(Et(e??null)+":"+s),s),l[0]=e,n[r]=e,g^=a?0:ft(r,d)^ft(r,l[2]),u=wt(u,s))})),g^=a?0:bt(c,r),Lt(s,g,r),[u,d,s[2]]},h=()=>[yt(n[0],(e=>yt(e,(e=>yt(e))))),yt(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>De(n[0][0],ht),getMergeableTableDiff:e=>{const t=Ct(n[0][1]),s={};return Ie(n[0][0],((n,[a,o,r])=>ie(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=pt([a,o],(e=>pt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return de(e,((e,s)=>k(Re(n[0][0],s),(([n,,a])=>a!=e?Ie(n,((e,[,,n])=>he(t,s,le)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=Ct(n[0][1]),s={};return de(e,((e,a)=>Ie(Re(n[0][0],a)?.[0],((n,[o,r,l])=>ie(e,n)?l!==e[n]?he(s,a,le)[n]=l:0:he(t[0],a,Ct)[0][n]=pt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return de(e,((e,s)=>k(Re(n[0][0],s),(([n])=>de(e,((e,a)=>k(Re(n,a),(([n,,o])=>o!==e?Ie(n,((e,[,,n])=>he(he(t,s,le),a,le)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return de(e,((e,s)=>de(e,((e,n)=>k(Re(t,s),(([t,o])=>k(Re(t,n),(([t,r])=>Ie(t,((t,[l,i,c])=>c!==e[t]?he(he(a,s,(()=>Ct(o)))[0],n,(()=>Ct(r)))[0][t]=[l,i]:0)))))))))),gt(a,s)},getMergeableValuesHashes:()=>De(n[1][0],ht),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=De(t,ut,(([,,t],s)=>t==e?.[s]));return gt(a,s)},setMergeableContent:e=>d((()=>(e=>Q(e)&&2==N(e)&&Tt(e[0],(e=>fe(e,(e=>Tt(e,(e=>fe(e,(e=>Tt(e,(e=>fe(e,(e=>Tt(e,Qe)),void 0,1)))),void 0,1)))),void 0,1)))&&Tt(e[1],(e=>fe(e,(e=>Tt(e,Qe)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Pt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};ye(o,((t,s)=>k(Re(e,s),(([e,n])=>{const a={};ye(t,((t,s)=>k(Re(e,s),(([e,n])=>{const o={};ye(t,(t=>{k(Re(e,t),(([e,s])=>o[t]=gt(e,s)))})),a[s]=gt(o,n)})))),l[s]=gt(a,n)}))));const i={};return ye(r,(e=>k(Re(s,e),(([t,s])=>i[e]=gt(t,s))))),[gt(l,t),gt(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{ve(o),ve(r)}),((e,n,r,i)=>{Oe(Ve(Ve(o,e,Te),n,Pe),r),s&&u([[{[e]:[{[n]:[{[r]:[i,a?t:l()]}]}]}],[{}],1])}),((e,n)=>{Oe(r,e),s&&u([[{}],[{[e]:[n,a?t:l()]}],1])})),ue(c,((e,t)=>b[t]=M(t,"set")||M(t,"del")||M(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):M(t,"add")&&V(t,"Listener")?(...s)=>{const n=Nt[z(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:"isMergeable"==t?()=>!0:e)),re(b)};export{qe as createCheckpoints,lt as createCustomPersister,St as createCustomSynchronizer,tt as createIndexes,Ot as createMergeableStore,at as createMetrics,Rt as createQueries,It as createRelationships,kt as createStore,Ze as defaultSorter,et as getUniqueId};
Binary file