tinybase 5.0.0-beta.1 → 5.0.0-beta.3

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 (313) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -0
  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-partykit-client.cjs +1 -1
  20. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  24. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  30. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  31. package/lib/cjs/persisters.cjs +1 -1
  32. package/lib/cjs/persisters.cjs.gz +0 -0
  33. package/lib/cjs/store.cjs +1 -1
  34. package/lib/cjs/store.cjs.gz +0 -0
  35. package/lib/cjs/tinybase.cjs +1 -1
  36. package/lib/cjs/tinybase.cjs.gz +0 -0
  37. package/lib/cjs/tools.cjs +1 -1
  38. package/lib/cjs/tools.cjs.gz +0 -0
  39. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  40. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  41. package/lib/cjs/ui-react-dom.cjs +1 -1
  42. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  43. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  44. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters.cjs +1 -1
  74. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  75. package/lib/cjs-es6/store.cjs +1 -1
  76. package/lib/cjs-es6/store.cjs.gz +0 -0
  77. package/lib/cjs-es6/tinybase.cjs +1 -1
  78. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  79. package/lib/cjs-es6/tools.cjs +1 -1
  80. package/lib/cjs-es6/tools.cjs.gz +0 -0
  81. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  82. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  83. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  84. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  85. package/lib/debug/mergeable-store.js +1863 -0
  86. package/lib/debug/persisters/persister-automerge.js +54 -53
  87. package/lib/debug/persisters/persister-browser.js +28 -18
  88. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +80 -57
  89. package/lib/debug/persisters/persister-electric-sql.js +80 -57
  90. package/lib/debug/persisters/persister-expo-sqlite-next.js +80 -57
  91. package/lib/debug/persisters/persister-expo-sqlite.js +80 -57
  92. package/lib/debug/persisters/persister-file.js +27 -18
  93. package/lib/debug/persisters/persister-indexed-db.js +34 -23
  94. package/lib/debug/persisters/persister-partykit-client.js +26 -23
  95. package/lib/debug/persisters/persister-partykit-server.js +11 -21
  96. package/lib/debug/persisters/persister-remote.js +28 -18
  97. package/lib/debug/persisters/persister-sqlite-wasm.js +80 -57
  98. package/lib/debug/persisters/persister-sqlite3.js +80 -57
  99. package/lib/debug/persisters/persister-yjs.js +50 -48
  100. package/lib/debug/persisters.js +27 -18
  101. package/lib/debug/queries.js +2 -2
  102. package/lib/debug/store.js +63 -71
  103. package/lib/debug/tinybase.js +354 -90
  104. package/lib/debug/tools.js +13 -15
  105. package/lib/debug/ui-react-dom.js +115 -119
  106. package/lib/es6/mergeable-store.js +1 -0
  107. package/lib/es6/mergeable-store.js.gz +0 -0
  108. package/lib/es6/persisters/persister-automerge.js +1 -1
  109. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  110. package/lib/es6/persisters/persister-browser.js +1 -1
  111. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  112. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  113. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  114. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  115. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  116. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  117. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  118. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  119. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  120. package/lib/es6/persisters/persister-file.js +1 -1
  121. package/lib/es6/persisters/persister-file.js.gz +0 -0
  122. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  123. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  124. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  125. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  126. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  127. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  128. package/lib/es6/persisters/persister-remote.js +1 -1
  129. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  130. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  131. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  132. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  133. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  134. package/lib/es6/persisters/persister-yjs.js +1 -1
  135. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  136. package/lib/es6/persisters.js +1 -1
  137. package/lib/es6/persisters.js.gz +0 -0
  138. package/lib/es6/store.js +1 -1
  139. package/lib/es6/store.js.gz +0 -0
  140. package/lib/es6/tinybase.js +1 -1
  141. package/lib/es6/tinybase.js.gz +0 -0
  142. package/lib/es6/tools.js +1 -1
  143. package/lib/es6/tools.js.gz +0 -0
  144. package/lib/es6/ui-react-dom-debug.js +1 -1
  145. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  146. package/lib/es6/ui-react-dom.js +1 -1
  147. package/lib/es6/ui-react-dom.js.gz +0 -0
  148. package/lib/mergeable-store.js +1 -0
  149. package/lib/mergeable-store.js.gz +0 -0
  150. package/lib/persisters/persister-automerge.js +1 -1
  151. package/lib/persisters/persister-automerge.js.gz +0 -0
  152. package/lib/persisters/persister-browser.js +1 -1
  153. package/lib/persisters/persister-browser.js.gz +0 -0
  154. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  155. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  156. package/lib/persisters/persister-electric-sql.js +1 -1
  157. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  158. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  159. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  160. package/lib/persisters/persister-expo-sqlite.js +1 -1
  161. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  162. package/lib/persisters/persister-file.js +1 -1
  163. package/lib/persisters/persister-file.js.gz +0 -0
  164. package/lib/persisters/persister-indexed-db.js +1 -1
  165. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  166. package/lib/persisters/persister-partykit-client.js +1 -1
  167. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  168. package/lib/persisters/persister-partykit-server.js +1 -1
  169. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  170. package/lib/persisters/persister-remote.js +1 -1
  171. package/lib/persisters/persister-remote.js.gz +0 -0
  172. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  173. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  174. package/lib/persisters/persister-sqlite3.js +1 -1
  175. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  176. package/lib/persisters/persister-yjs.js +1 -1
  177. package/lib/persisters/persister-yjs.js.gz +0 -0
  178. package/lib/persisters.js +1 -1
  179. package/lib/persisters.js.gz +0 -0
  180. package/lib/store.js +1 -1
  181. package/lib/store.js.gz +0 -0
  182. package/lib/tinybase.js +1 -1
  183. package/lib/tinybase.js.gz +0 -0
  184. package/lib/tools.js +1 -1
  185. package/lib/tools.js.gz +0 -0
  186. package/lib/types/mergeable-store.d.ts +79 -0
  187. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  188. package/lib/types/persisters/persister-browser.d.ts +2 -0
  189. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  190. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  191. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -0
  192. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  193. package/lib/types/persisters/persister-file.d.ts +1 -0
  194. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  195. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  196. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  197. package/lib/types/persisters/persister-remote.d.ts +1 -0
  198. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  199. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  200. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  201. package/lib/types/persisters.d.ts +50 -30
  202. package/lib/types/store.d.ts +241 -186
  203. package/lib/types/tinybase.d.ts +1 -0
  204. package/lib/types/tools.d.ts +2 -2
  205. package/lib/types/ui-react.d.ts +1 -0
  206. package/lib/types/with-schemas/internal/store.d.ts +4 -0
  207. package/lib/types/with-schemas/mergeable-store.d.ts +112 -0
  208. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  209. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  210. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  211. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  212. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -0
  213. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  214. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  215. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  216. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  217. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  218. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  219. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  220. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  221. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  222. package/lib/types/with-schemas/persisters.d.ts +81 -45
  223. package/lib/types/with-schemas/store.d.ts +364 -273
  224. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  225. package/lib/types/with-schemas/tools.d.ts +2 -2
  226. package/lib/ui-react-dom.js +1 -1
  227. package/lib/ui-react-dom.js.gz +0 -0
  228. package/lib/umd/mergeable-store.js +1 -0
  229. package/lib/umd/mergeable-store.js.gz +0 -0
  230. package/lib/umd/persisters/persister-automerge.js +1 -1
  231. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  232. package/lib/umd/persisters/persister-browser.js +1 -1
  233. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  234. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  235. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  236. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  237. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  238. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  239. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  240. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  241. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  242. package/lib/umd/persisters/persister-file.js +1 -1
  243. package/lib/umd/persisters/persister-file.js.gz +0 -0
  244. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  245. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  246. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  247. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  248. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  249. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  250. package/lib/umd/persisters/persister-remote.js +1 -1
  251. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  252. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  253. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  254. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  255. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  256. package/lib/umd/persisters/persister-yjs.js +1 -1
  257. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  258. package/lib/umd/persisters.js +1 -1
  259. package/lib/umd/persisters.js.gz +0 -0
  260. package/lib/umd/store.js +1 -1
  261. package/lib/umd/store.js.gz +0 -0
  262. package/lib/umd/tinybase.js +1 -1
  263. package/lib/umd/tinybase.js.gz +0 -0
  264. package/lib/umd/tools.js +1 -1
  265. package/lib/umd/tools.js.gz +0 -0
  266. package/lib/umd/ui-react-dom-debug.js +1 -1
  267. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  268. package/lib/umd/ui-react-dom.js +1 -1
  269. package/lib/umd/ui-react-dom.js.gz +0 -0
  270. package/lib/umd-es6/mergeable-store.js +1 -0
  271. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  272. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  273. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  274. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  275. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  276. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  277. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  278. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  279. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  280. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  281. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  282. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  283. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  284. package/lib/umd-es6/persisters/persister-file.js +1 -1
  285. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  286. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  287. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  288. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  289. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  290. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  291. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  292. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  293. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  295. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  297. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  299. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  300. package/lib/umd-es6/persisters.js +1 -1
  301. package/lib/umd-es6/persisters.js.gz +0 -0
  302. package/lib/umd-es6/store.js +1 -1
  303. package/lib/umd-es6/store.js.gz +0 -0
  304. package/lib/umd-es6/tinybase.js +1 -1
  305. package/lib/umd-es6/tinybase.js.gz +0 -0
  306. package/lib/umd-es6/tools.js +1 -1
  307. package/lib/umd-es6/tools.js.gz +0 -0
  308. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  309. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  310. package/lib/umd-es6/ui-react-dom.js +1 -1
  311. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  312. package/package.json +39 -35
  313. package/readme.md +2 -2
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=clearInterval,a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),n=Object,o=t=>n.getPrototypeOf(t),r=n.keys,i=n.freeze,c=t=>(t=>!a(t)&&s(o(t),(t=>t==n.prototype||a(o(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),y=JSON.parse,d=t=>new Map(t),u=(t,e)=>t?.get(e),f=(t,e,s)=>{return a(s)?(n=t,o=e,n?.delete(o),t):t?.set(e,s);var n,o},l=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),u(t,e)},h=d(),p=d(),w=t=>t.headers.get("ETag");t.createRemotePersister=(t,o,r,d=5,v)=>{let g;return((t,e,n,o,r,y,[d,w]=[],v=[])=>{let g,A,S,T=0,m=0;l(h,v,(()=>0)),l(p,v,(()=>[]));const C=async t=>(2!=T&&(T=1,await L.schedule((async()=>{await t(),T=0}))),L),L={load:async(a,s)=>await C((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(L.stopAutoLoad(),await L.load(a,s),m=1,S=o((async(a,s)=>{if(s){const e=s();await C((async()=>t.setTransactionChanges(e)))}else await C((async()=>{try{t.setContent(a?.()??await e())}catch(t){y?.(t)}}))})),L),stopAutoLoad:()=>(m&&(r(S),S=void 0,m=0),L),save:async e=>(1!=T&&(T=2,await L.schedule((async()=>{try{await n(t.getContent,e)}catch(t){y?.(t)}T=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();c(a)&&c(s)||L.save((()=>[a,s]))})),L),stopAutoSave:()=>(s(g,t.delListener),g=void 0,L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(u(p,v),...t),await(async()=>{if(!u(h,v)){for(f(h,v,1);!a((t=u(p,v),A=t.shift()));)try{await A()}catch(t){y?.(t)}f(h,v,0)}var t})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(L[d]=()=>w),i(L)})(t,(async()=>{const t=await fetch(o);return g=w(t),y(await t.text())}),(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const e=await fetch(o,{method:"HEAD"}),s=w(e);a(g)||a(s)||s==g||(g=s,t())}),1e3*d)),(t=>e(t)),v,["getUrls",[o,r]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=clearInterval,n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=Object,i=t=>r.getPrototypeOf(t),c=r.keys,y=r.freeze,d=t=>(t=>!n(t)&&o(i(t),(t=>t==r.prototype||n(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=JSON.parse,p=t=>new Map(t),u=(t,e)=>t?.get(e),f=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},h=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||f(t,e,a()),u(t,e)},g=p(),w=p(),v=t=>t.headers.get("ETag");t.createRemotePersister=(t,i,c,p=5,A)=>{let C;return((t,s,r,i,c,l,p,[v,A]=[],C=[])=>{let S,T,b,m=0,L=0;h(g,C,(()=>0)),h(w,C,(()=>[]));const O=(p?t.getMergeableContent:null)??t.getContent,x=t.getTransactionChanges,M=async t=>(2!=m&&(m=1,await P.schedule((async()=>{await t(),m=0}))),P),P={load:async(n,o)=>await M((async()=>{try{const n=await s();(p&&(t=>e(t)==a)(n[0])?t.applyMergeableChanges:t.setContent)(n)}catch{t.setContent([n,o])}})),startAutoLoad:async(e={},a={})=>(P.stopAutoLoad(),await P.load(e,a),L=1,b=i((async(e,a)=>{if(a){const e=a();await M((async()=>t.applyChanges(e)))}else await M((async()=>{try{t.setContent(e?.()??await s())}catch(t){l?.(t)}}))})),P),stopAutoLoad:()=>(L&&(c(b),b=void 0,L=0),P),save:async t=>(1!=m&&(m=2,await P.schedule((async()=>{try{await r(O,t)}catch(t){l?.(t)}m=0}))),P),startAutoSave:async()=>(await P.stopAutoSave().save(),S=t.addDidFinishTransactionListener((()=>{const[t,e]=x();d(t)&&d(e)||P.save((()=>[t,e]))})),P),stopAutoSave:()=>(o(S,t.delListener),S=void 0,P),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(u(w,C),...t),await(async()=>{if(!u(g,C)){for(f(g,C,1);!n((t=u(w,C),T=t.shift()));)try{await T()}catch(t){l?.(t)}f(g,C,0)}var t})(),P),getStore:()=>t,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(P[v]=()=>A),y(P)})(t,(async()=>{const t=await fetch(i);return C=v(t),l(await t.text())}),(async t=>{return await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?r.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const e=await fetch(i,{method:"HEAD"}),a=v(e);n(C)||n(a)||a==C||(C=a,t())}),1e3*p)),(t=>s(t)),A,!1,["getUrls",[i,c]])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),E="_",p="_id",f=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",T=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),h=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),R=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,b=a=>S.getPrototypeOf(a),C=S.entries,D=S.keys,g=S.freeze,I=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),M=(a,t)=>v(C(a),(([a,e])=>t(e,a))),F=a=>S.values(a),P=a=>u(D(a)),$=a=>(a=>!r(a)&&l(b(a),(a=>a==S.prototype||r(b(a))),(()=>!0)))(a)&&0==P(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),k=(a,t,e)=>(R(a,t)||H(a,t,e()),j(a,t)),q=(a,t,e,s=H)=>(M(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),Y=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),J=m+"*FROM",U="FROM pragma_table_",V="WHERE",z=(a,t,e)=>{const n=B();return[async()=>q(n,I(await d(v(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(n,t,q(k(n,t,B),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(n,t))),async(t,e)=>((a,t)=>!r(j(j(n,a),t)))(t,e)?I(h(v(await a(J+f(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!$(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=Y();M(i??{},(a=>v(D(a??{}),(a=>G(y,a)))));const w=O(y);if(!l&&c&&A(w)&&R(n,t))return await a("DROP TABLE"+f(t)),void H(n,t);if(A(w)||R(n,t)){const s=j(n,t),i=Y(W(s));await d([...v(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${f(t)}ADD${f(e)}`),H(s,e,""))})),...!l&&o?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${f(t)}DROP${f(n)}`),H(s,n))})):[]])}else await a(`CREATE TABLE${f(t)}(${f(e)} PRIMARY KEY ON CONFLICT REPLACE${T(v(w,(a=>s+f(a))))});`),H(n,t,B([[e,""],...v(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+f(t)+"WHERE 1"):await d(M(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+f(t)+V+f(e)+"=?",[n]):A(w)||await K(a,t,e,D(s),[n,...F(s)])})));else if(A(w))R(n,t)&&await a("DELETE FROM"+f(t)+"WHERE 1");else{const s=h(W(j(n,t)),(a=>a!=e)),o=[],c=[];M(i??{},((a,t)=>{L(o,t,...v(s,(t=>a?.[t]))),L(c,t)})),await K(a,t,e,s,o),await a("DELETE FROM"+f(t)+V+f(e)+"NOT IN("+Q(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},K=async(a,t,e,n,o)=>await a("INSERT INTO"+f(t)+"("+f(e)+T(v(n,(a=>s+f(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+f(e)+")DO UPDATE SET"+T(v(n,(a=>f(a)+"=excluded."+f(a))),s),o),Q=a=>T(v(a,(()=>"?")),s),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,d,E=0,p=0;k(Z,y,(()=>0)),k(aa,y,(()=>[]));const f=async a=>(2!=E&&(E=1,await m.schedule((async()=>{await a(),E=0}))),m),m={load:async(e,s)=>await f((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),p=1,d=s((async(e,s)=>{if(s){const t=s();await f((async()=>a.setTransactionChanges(t)))}else await f((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),m),stopAutoLoad:()=>(p&&(n(d),d=void 0,p=0),m),save:async t=>(1!=E&&(E=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}E=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();$(e)&&$(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(l(w,a.delListener),w=void 0,m),schedule:async(...a)=>(L(j(aa,y),...a),await(async()=>{if(!j(Z,y)){for(H(Z,y,1);!r((a=j(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(Z,y,0)}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(m[o]=()=>c),g(m)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=z(t,o,n);return ta(a,(async()=>await u((async()=>(await l(),X((await y(i,p))[E]?.[ea]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,p,{[E]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,l,y]],w,u,f)=>{const[m,T,v,A]=z(t,w,n),L=async(a,t)=>await d(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await v(e,s,c,n,i,t)}))),R=async(a,t)=>l?await v(y,p,{[E]:a},!0,!0,t):null;return ta(a,(async()=>await A((async()=>{await m();const a=await(async()=>I(h(await d(x(i,(async([a,t],e)=>[a,await T(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>c?(await T(y,p))[E]:{})();return $(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),r(t)){const[t,e]=a();await L(t),await R(e)}else{const[a,e]=t();await L(a,!0),await R(e,!0)}}))),e,s,n,[f,u],u)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},ua=(a,t,e,s)=>{const n=B();return M(a,((a,i)=>{const o=w(F(_(t,y(a)?{[e]:a}:a)),0,P(t));r(o[0])||s(i,o[0])||H(n,i,o)})),n},da="pragma ",Ea="data_version",pa="schema_version",fa=(a,t,s,n,i,o,r,l,u="getDb")=>{let d,E,f;const[T,v,A,h]=(a=>{const t=(a=>_(ya,y(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],Y(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(F(_(wa,o)),0,P(wa)),r=c[2],l=Y(r);return[0,s,[ua(n,{[ra]:null,[ca]:p},ra,(a=>G(l,a)&&a==r)),ua(i,{[la]:null,[ca]:p,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(T?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(da+Ea))[0][Ea],e=(await s(da+pa))[0][pa],n=(await s(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(E??=e)&&n==(f??=n)||(a(),d=t,E=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),n((t=>h.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=E=null,i(t)}),r,A,O(h),l,u)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>fa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s="",n=",",i=t(s),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",m=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==E(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,g=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),N=Object,b=a=>N.getPrototypeOf(a),S=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),_=(...a)=>N.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),$=a=>N.values(a),B=a=>E(D(a)),W=a=>(a=>!l(a)&&y(b(a),(a=>a==N.prototype||l(b(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||q(a,t,e()),H(a,t)),G=(a,t,e,s=q)=>(F(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:s(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),V=T+"*FROM",z="FROM pragma_table_",K="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,M(await d(A(await a("SELECT name "+z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(T+" name,type "+z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,G(Y(o,t,j),e,((a,t,e)=>{e!=H(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?M(L(A(await a(V+m(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();F(c??{},(a=>A(D(a??{}),(a=>U(u,a)))));const E=g(u);if(!w&&y&&h(E)&&O(o,t))return await a("DROP TABLE"+m(t)),void q(o,t);if(h(E)||O(o,t)){const n=H(o,t),i=J(x(n));await d([...A(E,(async e=>{C(i,e)||(await a(`ALTER TABLE${m(t)}ADD${m(e)}`),q(n,e,s))})),...!w&&r?A(g(i),(async s=>{s!=e&&(await a(`ALTER TABLE${m(t)}DROP${m(s)}`),q(n,s))})):[]])}else await a(`CREATE TABLE${m(t)}(${m(e)} PRIMARY KEY ON CONFLICT REPLACE${v(A(E,(a=>n+m(a))))});`),q(o,t,j([[e,s],...A(E,(a=>[a,s]))]));if(w)l(c)?await a("DELETE FROM"+m(t)+"WHERE 1"):await d(F(c,(async(s,n)=>{l(s)?await a("DELETE FROM"+m(t)+K+m(e)+"=?",[n]):h(E)||await X(a,t,e,D(s),[n,...$(s)],i)})));else if(h(E))O(o,t)&&await a("DELETE FROM"+m(t)+"WHERE 1");else{const s=L(x(H(o,t)),(a=>a!=e)),n=[],i=[];F(c??{},((a,t)=>{R(n,t,...A(s,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,s,n),await a("DELETE FROM"+m(t)+K+m(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?s:"OR REPLACE ")+"INTO"+m(t)+"("+m(e)+v(A(i,(a=>n+m(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+m(e)+")DO UPDATE SET"+v(A(i,(a=>m(a)+"=excluded."+m(a))),n):s),A(c,(a=>a??null))),Z=a=>v(A(a,(()=>"?")),n),aa=JSON.parse,ta=j(),ea=j(),sa=(a,t,e,s,n,i,o,[c,r]=[],u=[])=>{let E,d,p,f=0,m=0;Y(ta,u,(()=>0)),Y(ea,u,(()=>[]));const T=(o?a.getMergeableContent:null)??a.getContent,v=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,s)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(h.stopAutoLoad(),await h.load(e,n),m=1,p=s((async(e,s)=>{if(s){const t=s();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(m&&(n(p),p=void 0,m=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(T,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const[a,t]=v();W(a)&&W(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(R(H(ea,u),...a),await(async()=>{if(!H(ta,u)){for(q(ta,u,1);!l((a=H(ea,u),d=a.shift()));)try{await d()}catch(a){i?.(a)}q(ta,u,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),I(h)},na="store",ia=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,n);return sa(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[na]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[na]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,!1,[r,c],c)},oa=(a,t,e,s,n,[i,o,[c,r,y]],w,u,E,m)=>{const[T,v,A,h]=Q(t,w,n,m),R=async(a,t)=>await d(k(o,(async([e,s,n,i],o)=>{t&&!P(a,o)||await A(e,s,a[o],n,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await T();const a=await(async()=>M(L(await d(k(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await v(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await T(),l(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,s,n,!1,[E,u],u)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",ua={mode:ca,[ra]:1},Ea={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,s)=>{const n=j();return F(a,((a,i)=>{const o=u($(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||s(i,o[0])||q(n,i,o)})),n},pa="pragma ",fa="data_version",ma="schema_version",Ta=(a,t,s,n,i,o,c,l,y="getDb",E)=>{let d,p,m;const[v,A,h,L]=(a=>{const t=(a=>_(ua,w(a)?{storeTableName:a}:a??{}))(a),s=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,s,[a],J(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=u($(_(Ea,o)),0,B(Ea)),r=c[2],l=J(r);return[0,s,[da(n,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(v?ia:oa)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(pa+fa))[0][fa],e=(await s(pa+ma))[0][ma],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&n==(m??=n)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,g(L),l,y,E)};a.createSqliteWasmPersister=(a,t,e,s,n,i)=>Ta(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),n,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,r=a=>null==a,l=(a,t,e)=>r(a)?e?.():t(a),y=a=>t(a)==n,w=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>o.all(a),d="_",f="_id",p=a=>`"${a.replace(/"/g,'""')}"`,T="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),A=a=>0==u(a),L=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),S=Object,g=a=>S.getPrototypeOf(a),C=S.entries,D=S.keys,b=S.freeze,I=(a=[])=>S.fromEntries(a),F=(...a)=>S.assign({},...a),M=(a,t)=>m(C(a),(([a,e])=>t(e,a))),P=a=>S.values(a),$=a=>u(D(a)),_=a=>(a=>!r(a)&&l(g(a),(a=>a==S.prototype||r(g(a))),(()=>!0)))(a)&&0==$(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),W=(a,t,e)=>r(e)?(N(a,t),a):a?.set(t,e),Y=(a,t,e)=>(O(a,t)||W(a,t,e()),j(a,t)),k=(a,t,e,s=W)=>(M(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!r(((a,t)=>l(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),q=a=>new Set(Array.isArray(a)||r(a)?a:[a]),G=(a,t)=>a?.add(t),J=T+"*FROM",U="FROM pragma_table_",z="WHERE",K=(a,t,e)=>{const n=B();return[async()=>k(n,I(await E(m(await a("SELECT name "+U+"list WHERE schema='main'AND type='table'AND name IN("+Q(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(T+" name,type "+U+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>W(n,t,k(Y(n,t,B),e,((a,t,e)=>{e!=j(a,t)&&W(a,t,e)}),((a,t)=>W(a,t))))),((a,t)=>W(n,t))),async(t,e)=>((a,t)=>!r(j(j(n,a),t)))(t,e)?I(L(m(await a(J+p(t)),(a=>{return[a[e],(t={...a},s=e,delete t[s],t)];var t,s})),(([a,t])=>!r(a)&&!_(t)))):{},async(t,e,i,o,c,l=!1)=>{const y=q();M(i??{},(a=>m(D(a??{}),(a=>G(y,a)))));const w=R(y);if(!l&&c&&A(w)&&O(n,t))return await a("DROP TABLE"+p(t)),void W(n,t);if(A(w)||O(n,t)){const s=j(n,t),i=q(H(s));await E([...m(w,(async e=>{N(i,e)||(await a(`ALTER TABLE${p(t)}ADD${p(e)}`),W(s,e,""))})),...!l&&o?m(R(i),(async n=>{n!=e&&(await a(`ALTER TABLE${p(t)}DROP${p(n)}`),W(s,n))})):[]])}else await a(`CREATE TABLE${p(t)}(${p(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(w,(a=>s+p(a))))});`),W(n,t,B([[e,""],...m(w,(a=>[a,""]))]));if(l)r(i)?await a("DELETE FROM"+p(t)+"WHERE 1"):await E(M(i,(async(s,n)=>{r(s)?await a("DELETE FROM"+p(t)+z+p(e)+"=?",[n]):A(w)||await V(a,t,e,D(s),[n,...P(s)])})));else if(A(w))O(n,t)&&await a("DELETE FROM"+p(t)+"WHERE 1");else{const s=L(H(j(n,t)),(a=>a!=e)),o=[],c=[];M(i??{},((a,t)=>{h(o,t,...m(s,(t=>a?.[t]))),h(c,t)})),await V(a,t,e,s,o),await a("DELETE FROM"+p(t)+z+p(e)+"NOT IN("+Q(c)+")",c)}},async t=>{let s;await a("BEGIN");try{s=await t()}catch(a){e?.(a)}return await a("END"),s}]},V=async(a,t,e,n,o)=>await a("INSERT INTO"+p(t)+"("+p(e)+v(m(n,(a=>s+p(a))))+")VALUES"+w(i(`,(?${i(",?",u(n))})`,u(o)/(u(n)+1)),1)+"ON CONFLICT("+p(e)+")DO UPDATE SET"+v(m(n,(a=>p(a)+"=excluded."+p(a))),s),o),Q=a=>v(m(a,(()=>"?")),s),X=JSON.parse,Z=B(),aa=B(),ta=(a,t,e,s,n,i,[o,c]=[],y=[])=>{let w,u,E,d=0,f=0;Y(Z,y,(()=>0)),Y(aa,y,(()=>[]));const p=async a=>(2!=d&&(d=1,await T.schedule((async()=>{await a(),d=0}))),T),T={load:async(e,s)=>await p((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(T.stopAutoLoad(),await T.load(e,n),f=1,E=s((async(e,s)=>{if(s){const t=s();await p((async()=>a.setTransactionChanges(t)))}else await p((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),T),stopAutoLoad:()=>(f&&(n(E),E=void 0,f=0),T),save:async t=>(1!=d&&(d=2,await T.schedule((async()=>{try{await e(a.getContent,t)}catch(a){i?.(a)}d=0}))),T),startAutoSave:async()=>(await T.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();_(e)&&_(s)||T.save((()=>[e,s]))})),T),stopAutoSave:()=>(l(w,a.delListener),w=void 0,T),schedule:async(...a)=>(h(j(aa,y),...a),await(async()=>{if(!j(Z,y)){for(W(Z,y,1);!r((a=j(aa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}W(Z,y,0)}var a})(),T),getStore:()=>a,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(T[o]=()=>c),b(T)},ea="store",sa=(a,t,e,s,n,[i],o,c,r)=>{const[l,y,w,u]=K(t,o,n);return ta(a,(async()=>await u((async()=>(await l(),X((await y(i,f))[d]?.[ea]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[d]:{[ea]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,s,n,[r,c],c)},na=(a,t,e,s,n,[i,o,[c,l,y]],w,u,p)=>{const[T,v,m,A]=K(t,w,n),h=async(a,t)=>await E(x(o,(async([e,s,n,i],o)=>{const c=a[o];t&&void 0===c||await m(e,s,c,n,i,t)}))),O=async(a,t)=>l?await m(y,f,{[d]:a},!0,!0,t):null;return ta(a,(async()=>await A((async()=>{await T();const a=await(async()=>I(L(await E(x(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await v(y,f))[d]:{})();return _(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await T(),r(t)){const[t,e]=a();await h(t),await O(e)}else{const[a,e]=t();await h(a,!0),await O(e,!0)}}))),e,s,n,[p,u],u)},ia="json",oa="autoLoadIntervalSeconds",ca="rowIdColumnName",ra="tableId",la="tableName",ya={mode:ia,[oa]:1},wa={load:0,save:0,[la]:e+"_values"},ua=(a,t,e,s)=>{const n=B();return M(a,((a,i)=>{const o=w(P(F(t,y(a)?{[e]:a}:a)),0,$(t));r(o[0])||s(i,o[0])||W(n,i,o)})),n},Ea="pragma ",da="data_version",fa="schema_version",pa=(a,t,s,n,i,o,r,l,u="getDb")=>{let E,d,p;const[v,m,A,L]=(a=>{const t=(a=>F(ya,y(a)?{storeTableName:a}:a??{}))(a),s=t[oa];if(t.mode==ia){const{storeTableName:a=e}=t;return[1,s,[a],q(a)]}const{tables:{load:n={},save:i={}}={},values:o={}}=t,c=w(P(F(wa,o)),0,$(wa)),r=c[2],l=q(r);return[0,s,[ua(n,{[ra]:null,[ca]:f},ra,(a=>G(l,a)&&a==r)),ua(i,{[la]:null,[ca]:f,deleteEmptyColumns:0,deleteEmptyTable:0},la,((a,t)=>G(l,t)&&t==r)),c],l]})(t);return(v?sa:na)(a,o?async(a,t)=>(o(a,t),await s(a,t)):s,(a=>{return[(t=async()=>{try{const t=(await s(Ea+da))[0][da],e=(await s(Ea+fa))[0][fa],n=(await s(T+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(d??=e)&&n==(p??=n)||(a(),E=t,d=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),n((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=d=null,i(t)}),r,A,R(L),l,u)},Ta="change";a.createSqlite3Persister=(a,t,e,s,n)=>pa(a,e,(async(a,e=[])=>{return await(s=(s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t))),new o(s));var s}),(a=>{const e=(t,e,s)=>a(s);return t.on(Ta,e),e}),(a=>t.off(Ta,a)),s,n,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),c=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",m=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==E(a),L=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,g=a=>[...a?.values()??[]],C=(a,t)=>a?.delete(t),N=Object,S=a=>N.getPrototypeOf(a),b=N.entries,D=N.keys,I=N.freeze,M=(a=[])=>N.fromEntries(a),P=(...a)=>N.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>A(b(a),(([a,e])=>t(e,a))),_=a=>N.values(a),B=a=>E(D(a)),H=a=>(a=>!l(a)&&y(S(a),(a=>a==N.prototype||l(S(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>l(e)?(C(a,t),a):a?.set(t,e),q=(a,t,e)=>(O(a,t)||k(a,t,e()),W(a,t)),G=(a,t,e,n=k)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),J=a=>new Set(Array.isArray(a)||l(a)?a:[a]),U=(a,t)=>a?.add(t),z=v+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=j();return[async()=>G(o,M(await d(A(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,M(A(await a(v+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>k(o,t,G(q(o,t,j),e,((a,t,e)=>{e!=W(a,t)&&k(a,t,e)}),((a,t)=>k(a,t))))),((a,t)=>k(o,t))),async(t,e)=>((a,t)=>!l(W(W(o,a),t)))(t,e)?M(L(A(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=J();$(c??{},(a=>A(D(a??{}),(a=>U(u,a)))));const E=g(u);if(!w&&y&&h(E)&&O(o,t))return await a("DROP TABLE"+T(t)),void k(o,t);if(h(E)||O(o,t)){const s=W(o,t),i=J(x(s));await d([...A(E,(async e=>{C(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),k(s,e,n))})),...!w&&r?A(g(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),k(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${m(A(E,(a=>s+T(a))))});`),k(o,t,j([[e,n],...A(E,(a=>[a,n]))]));if(w)l(c)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(c,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(E)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(E))O(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=L(x(W(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{R(s,t,...A(n,(t=>a?.[t]))),R(i,t)})),await X(a,t,e,n,s),await a("DELETE FROM"+T(t)+V+T(e)+"NOT IN("+Z(i)+")",i)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},X=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+m(A(i,(a=>s+T(a))))+")VALUES"+u(o(`,(?${o(",?",E(i))})`,E(c)/(E(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+m(A(i,(a=>T(a)+"=excluded."+T(a))),s):n),A(c,(a=>a??null))),Z=a=>m(A(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=(a,t,e,n,s,i,o,[c,r]=[],u=[])=>{let E,d,p,f=0,T=0;q(ta,u,(()=>0)),q(ea,u,(()=>[]));const v=(o?a.getMergeableContent:null)??a.getContent,m=a.getTransactionChanges,A=async a=>(2!=f&&(f=1,await h.schedule((async()=>{await a(),f=0}))),h),h={load:async(e,n)=>await A((async()=>{try{const e=await t();(o&&w(e[0])?a.applyMergeableChanges:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(h.stopAutoLoad(),await h.load(e,s),T=1,p=n((async(e,n)=>{if(n){const t=n();await A((async()=>a.applyChanges(t)))}else await A((async()=>{try{a.setContent(e?.()??await t())}catch(a){i?.(a)}}))})),h),stopAutoLoad:()=>(T&&(s(p),p=void 0,T=0),h),save:async a=>(1!=f&&(f=2,await h.schedule((async()=>{try{await e(v,a)}catch(a){i?.(a)}f=0}))),h),startAutoSave:async()=>(await h.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const[a,t]=m();H(a)&&H(t)||h.save((()=>[a,t]))})),h),stopAutoSave:()=>(y(E,a.delListener),E=void 0,h),schedule:async(...a)=>(R(W(ea,u),...a),await(async()=>{if(!W(ta,u)){for(k(ta,u,1);!l((a=W(ea,u),d=a.shift()));)try{await d()}catch(a){i?.(a)}k(ta,u,0)}var a})(),h),getStore:()=>a,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(h[c]=()=>r),I(h)},sa="store",ia=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,u]=Q(t,o,s);return na(a,(async()=>await u((async()=>(await l(),aa((await y(i,f))[p]?.[sa]??"null"))))),(async a=>await u((async()=>{var t;await l(),await w(i,f,{[p]:{[sa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?N.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},oa=(a,t,e,n,s,[i,o,[c,r,y]],w,u,E,T)=>{const[v,m,A,h]=Q(t,w,s,T),R=async(a,t)=>await d(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await A(e,n,a[o],s,i,t)}))),O=async(a,t)=>r?await A(y,f,{[p]:a},!0,!0,t):null;return na(a,(async()=>await h((async()=>{await v();const a=await(async()=>M(L(await d(Y(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await m(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await R(t),await O(e)}else{const[a,e]=t();await R(a,!0),await O(e,!0)}}))),e,n,s,!1,[E,u],u)},ca="json",ra="autoLoadIntervalSeconds",la="rowIdColumnName",ya="tableId",wa="tableName",ua={mode:ca,[ra]:1},Ea={load:0,save:0,[wa]:e+"_values"},da=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const o=u(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||k(s,i,o)})),s},pa="pragma ",fa="data_version",Ta="schema_version",va=(a,t,n,s,i,o,c,l,y="getDb",E)=>{let d,p,T;const[m,A,h,L]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[ra];if(t.mode==ca){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=u(_(P(Ea,o)),0,B(Ea)),r=c[2],l=J(r);return[0,n,[da(s,{[ya]:null,[la]:f},ya,(a=>U(l,a)&&a==r)),da(i,{[wa]:null,[la]:f,deleteEmptyColumns:0,deleteEmptyTable:0},wa,((a,t)=>U(l,t)&&t==r)),c],l]})(t);return(m?ia:oa)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(pa+fa))[0][fa],e=(await n(pa+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>L.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,h,g(L),l,y,E)},ma="change";a.createSqlite3Persister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new c(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ma,e),e}),(a=>t.off(ma,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t,e){"use strict";const a="t",s="v",n=t=>null==t,o=(t,e,a)=>n(t)?a?.():e(t),r=t=>t.length,i=t=>t.shift(),c=Object,d=t=>c.getPrototypeOf(t),l=c.entries,u=c.keys,y=c.freeze,g=(t=[])=>c.fromEntries(t),p=(t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)),f=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,a])=>e(a,t))),h=t=>(t=>!n(t)&&o(d(t),(t=>t==c.prototype||n(d(t))),(()=>!0)))(t)&&0==(t=>r(u(t)))(t),v=(t,e,a)=>(p(t,e)||(t[e]=a()),t[e]),w=t=>new Map(t),S=(t,e)=>t?.get(e),A=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),O=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},b=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||O(t,e,a()),S(t,e)},j=w(),J=w(),L="delete",N=t=>[t.get(a),t.get(s)],C=(t,a,s,o)=>{const r=n(a)?t:t.get(a)??t.set(a,new e.Map);let i;return f(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{p(s,e)||(r.delete(e),i=1)})),n(a)||r.size||t.delete(a),i};t.createYjsPersister=(t,c,d="tinybase",l)=>{const u=c.getMap(d);return((t,e,a,s,r,c,[d,l]=[],u=[])=>{let g,p,f,v=0,w=0;b(j,u,(()=>0)),b(J,u,(()=>[]));const A=async t=>(2!=v&&(v=1,await L.schedule((async()=>{await t(),v=0}))),L),L={load:async(a,s)=>await A((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},n={})=>(L.stopAutoLoad(),await L.load(a,n),w=1,f=s((async(a,s)=>{if(s){const e=s();await A((async()=>t.setTransactionChanges(e)))}else await A((async()=>{try{t.setContent(a?.()??await e())}catch(t){c?.(t)}}))})),L),stopAutoLoad:()=>(w&&(r(f),f=void 0,w=0),L),save:async e=>(1!=v&&(v=2,await L.schedule((async()=>{try{await a(t.getContent,e)}catch(t){c?.(t)}v=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();h(a)&&h(s)||L.save((()=>[a,s]))})),L),stopAutoSave:()=>(o(g,t.delListener),g=void 0,L),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(S(J,u),...t),await(async()=>{if(!S(j,u)){for(O(j,u,1);!n(p=i(S(J,u)));)try{await p()}catch(t){c?.(t)}O(j,u,0)}})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(L[d]=()=>l),y(L)})(t,(async()=>u.size?[u.get(a).toJSON(),u.get(s).toJSON()]:void 0),(async(t,r)=>c.transact((()=>((t,r,i)=>{t.size||(t.set(a,new e.Map),t.set(s,new e.Map));const[c,d]=N(t),l=()=>{u=1};let u=1;if(o(i?.(),(([t,e])=>{u=0,f(t,((t,e)=>u?0:n(t)?c.delete(e):o(c.get(e),(e=>f(t,((t,a)=>u?0:n(t)?e.delete(a):o(e.get(a),(e=>f(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),f(e,((t,e)=>u?0:n(t)?d.delete(e):d.set(e,t)))})),u){const[t,e]=r();C(c,void 0,t,((t,e,a)=>C(c,e,a,((t,e,a)=>C(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),C(d,void 0,e,((t,e,a)=>{d.get(e)!==a&&d.set(e,a)}))}})(u,t,r)))),(t=>{const e=e=>t(void 0,(()=>((t,e)=>{if(1==r(e)&&(n=e[0].path,0==r(n)))return[t.get(a).toJSON(),t.get(s).toJSON()];var n;const[c,d]=N(t),l={},u={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>i(t)==a?o(i(t),(a=>{const s=v(l,a,g),n=c.get(a);o(i(t),(t=>{const a=v(s,t,g),o=n.get(t);A(e,((t,{action:e})=>a[t]=e==L?null:o.get(t)))}),(()=>A(e,((t,{action:e})=>s[t]=e==L?null:n.get(t)?.toJSON()))))}),(()=>A(e,((t,{action:e})=>l[t]=e==L?null:c.get(t)?.toJSON())))):A(e,((t,{action:e})=>u[t]=e==L?null:d.get(t)))))})(e),[l,u]})(u,e)));return u.observeDeep(e),e}),(t=>{u.unobserveDeep(t)}),l,["getYDoc",c])}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterYjs={},t.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const a=e=>typeof e,s=a(""),n="t",o="v",r=e=>null==e,i=(e,t,a)=>r(e)?a?.():t(e),c=e=>e.length,l=e=>e.shift(),d=Object,y=e=>d.getPrototypeOf(e),g=d.entries,u=d.keys,p=d.freeze,f=(e=[])=>d.fromEntries(e),h=(e,t)=>t in e,v=(e,t)=>((e,t)=>e.map(t))(g(e),(([e,a])=>t(a,e))),w=e=>(e=>!r(e)&&i(y(e),(e=>e==d.prototype||r(y(e))),(()=>!0)))(e)&&0==(e=>c(u(e)))(e),S=(e,t,a)=>(h(e,t)||(e[t]=a()),e[t]),b=e=>new Map(e),A=(e,t)=>e?.get(t),C=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),O=(e,t,a)=>{return r(a)?(s=e,n=t,s?.delete(n),e):e?.set(t,a);var s,n},j=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||O(e,t,a()),A(e,t)},M=b(),J=b(),L="delete",N=e=>[e.get(n),e.get(o)],T=(e,a,s,n)=>{const o=r(a)?e:e.get(a)??e.set(a,new t.Map);let i;return v(s,((e,t)=>{n(o,t,e)&&(i=1)})),o.forEach(((e,t)=>{h(s,t)||(o.delete(t),i=1)})),r(a)||o.size||e.delete(a),i};e.createYjsPersister=(e,d,y="tinybase",g)=>{const u=d.getMap(y);return((e,t,n,o,c,d,y,[g,u]=[],f=[])=>{let h,v,S,b=0,C=0;j(M,f,(()=>0)),j(J,f,(()=>[]));const L=(y?e.getMergeableContent:null)??e.getContent,N=e.getTransactionChanges,T=async e=>(2!=b&&(b=1,await m.schedule((async()=>{await e(),b=0}))),m),m={load:async(n,o)=>await T((async()=>{try{const n=await t();(y&&(e=>a(e)==s)(n[0])?e.applyMergeableChanges:e.setContent)(n)}catch{e.setContent([n,o])}})),startAutoLoad:async(a={},s={})=>(m.stopAutoLoad(),await m.load(a,s),C=1,S=o((async(a,s)=>{if(s){const t=s();await T((async()=>e.applyChanges(t)))}else await T((async()=>{try{e.setContent(a?.()??await t())}catch(e){d?.(e)}}))})),m),stopAutoLoad:()=>(C&&(c(S),S=void 0,C=0),m),save:async e=>(1!=b&&(b=2,await m.schedule((async()=>{try{await n(L,e)}catch(e){d?.(e)}b=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),h=e.addDidFinishTransactionListener((()=>{const[e,t]=N();w(e)&&w(t)||m.save((()=>[e,t]))})),m),stopAutoSave:()=>(i(h,e.delListener),h=void 0,m),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(A(J,f),...e),await(async()=>{if(!A(M,f)){for(O(M,f,1);!r(v=l(A(J,f)));)try{await v()}catch(e){d?.(e)}O(M,f,0)}})(),m),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(m[g]=()=>u),p(m)})(e,(async()=>u.size?[u.get(n).toJSON(),u.get(o).toJSON()]:void 0),(async(e,a)=>d.transact((()=>((e,a,s)=>{e.size||(e.set(n,new t.Map),e.set(o,new t.Map));const[c,l]=N(e),d=()=>{y=1};let y=1;if(i(s?.(),(([e,t])=>{y=0,v(e,((e,t)=>y?0:r(e)?c.delete(t):i(c.get(t),(t=>v(e,((e,a)=>y?0:r(e)?t.delete(a):i(t.get(a),(t=>v(e,((e,a)=>r(e)?t.delete(a):t.set(a,e)))),d)))),d))),v(t,((e,t)=>y?0:r(e)?l.delete(t):l.set(t,e)))})),y){const[e,t]=a();T(c,void 0,e,((e,t,a)=>T(c,t,a,((e,t,a)=>T(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),T(l,void 0,t,((e,t,a)=>{l.get(t)!==a&&l.set(t,a)}))}})(u,e,a)))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==c(t)&&(a=t[0].path,0==c(a)))return[e.get(n).toJSON(),e.get(o).toJSON()];var a;const[s,r]=N(e),d={},y={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>l(e)==n?i(l(e),(a=>{const n=S(d,a,f),o=s.get(a);i(l(e),(e=>{const a=S(n,e,f),s=o.get(e);C(t,((e,{action:t})=>a[e]=t==L?null:s.get(e)))}),(()=>C(t,((e,{action:t})=>n[e]=t==L?null:o.get(e)?.toJSON()))))}),(()=>C(t,((e,{action:t})=>d[e]=t==L?null:s.get(e)?.toJSON())))):C(t,((e,{action:t})=>y[e]=t==L?null:r.get(e)))))})(t),[d,y]})(u,t)));return u.observeDeep(t),t}),(e=>{u.unobserveDeep(e)}),g,!1,["getYDoc",d])}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,o=t=>s.getPrototypeOf(t),n=s.keys,i=s.freeze,c=t=>(t=>!e(t)&&a(o(t),(t=>t==s.prototype||e(o(t))),(()=>!0)))(t)&&0==(t=>n(t).length)(t),r=t=>new Map(t),d=(t,e)=>t?.get(e),y=(t,a,s)=>{return e(s)?(o=t,n=a,o?.delete(n),t):t?.set(a,s);var o,n},u=(t,e,a)=>{var s,o;return s=t,o=e,s?.has(o)||y(t,e,a()),d(t,e)},f=r(),l=r();t.createCustomPersister=(t,s,o,n,r,p,[h,w]=[],v=[])=>{let g,A,C,L=0,S=0;u(f,v,(()=>0)),u(l,v,(()=>[]));const T=async t=>(2!=L&&(L=1,await b.schedule((async()=>{await t(),L=0}))),b),b={load:async(e,a)=>await T((async()=>{try{t.setContent(await s())}catch{t.setContent([e,a])}})),startAutoLoad:async(e={},a={})=>(b.stopAutoLoad(),await b.load(e,a),S=1,C=n((async(e,a)=>{if(a){const e=a();await T((async()=>t.setTransactionChanges(e)))}else await T((async()=>{try{t.setContent(e?.()??await s())}catch(t){p?.(t)}}))})),b),stopAutoLoad:()=>(S&&(r(C),C=void 0,S=0),b),save:async e=>(1!=L&&(L=2,await b.schedule((async()=>{try{await o(t.getContent,e)}catch(t){p?.(t)}L=0}))),b),startAutoSave:async()=>(await b.stopAutoSave().save(),g=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();c(a)&&c(s)||b.save((()=>[a,s]))})),b),stopAutoSave:()=>(a(g,t.delListener),g=void 0,b),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(d(l,v),...t),await(async()=>{if(!d(f,v)){for(y(f,v,1);!e((t=d(l,v),A=t.shift()));)try{await A()}catch(t){p?.(t)}y(f,v,0)}var t})(),b),getStore:()=>t,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return h&&(b[h]=()=>w),i(b)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var t,e;t=this,e=function(t){"use strict";const e=t=>typeof t,a=e(""),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,i=t=>o.getPrototypeOf(t),c=o.keys,r=o.freeze,y=t=>(t=>!s(t)&&n(i(t),(t=>t==o.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),d=t=>new Map(t),l=(t,e)=>t?.get(e),u=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},p=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||u(t,e,a()),l(t,e)},f=d(),h=d();t.createCustomPersister=(t,o,i,c,d,g,w,[v,C]=[],A=[])=>{let b,L,S,T=0,m=0;p(f,A,(()=>0)),p(h,A,(()=>[]));const x=(w?t.getMergeableContent:null)??t.getContent,M=t.getTransactionChanges,P=async t=>(2!=T&&(T=1,await j.schedule((async()=>{await t(),T=0}))),j),j={load:async(s,n)=>await P((async()=>{try{const s=await o();(w&&(t=>e(t)==a)(s[0])?t.applyMergeableChanges:t.setContent)(s)}catch{t.setContent([s,n])}})),startAutoLoad:async(e={},a={})=>(j.stopAutoLoad(),await j.load(e,a),m=1,S=c((async(e,a)=>{if(a){const e=a();await P((async()=>t.applyChanges(e)))}else await P((async()=>{try{t.setContent(e?.()??await o())}catch(t){g?.(t)}}))})),j),stopAutoLoad:()=>(m&&(d(S),S=void 0,m=0),j),save:async t=>(1!=T&&(T=2,await j.schedule((async()=>{try{await i(x,t)}catch(t){g?.(t)}T=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),b=t.addDidFinishTransactionListener((()=>{const[t,e]=M();y(t)&&y(e)||j.save((()=>[t,e]))})),j),stopAutoSave:()=>(n(b,t.delListener),b=void 0,j),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(l(h,A),...t),await(async()=>{if(!l(f,A)){for(u(f,A,1);!s((t=l(h,A),L=t.shift()));)try{await L()}catch(t){g?.(t)}u(f,A,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(j[v]=()=>C),r(j)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
Binary file
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,V="Cell",C=V+d,S="Value",v=S+"s",y=S+d,p=e=>s+e,m=isFinite,w=e=>null==e,I=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.keys,A=z.isFrozen,M=z.freeze,N=e=>!w(e)&&I(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),B=(e,t)=>!w(((e,t)=>I(e,(e=>e[t])))(e,t)),D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Z(e,t)),se=(e,t,s,l=ee)=>(H(t,((t,l)=>s(e,l,t))),_(e,(s=>B(t,s)?0:l(e,s))),e),le=(e,t,s)=>{const l={};return Q(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ne=(e,t,s)=>le(e,(e=>le(e,t,s)),W),ae=(e,t,s)=>le(e,(e=>ne(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,l)=>s.set(l,t?.(e)??e))),s},re=e=>oe(e,oe),ce=e=>oe(e,re),ie=(e,t,s,l,n=0)=>I((s?te:Z)(e,t[n],n>E(t)-2?s:X),(a=>{if(n>E(t)-2)return l?.(a)&&ee(e,t[n]),a;const o=ie(a,t,s,l,n+1);return G(a)&&ee(e,t[n]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),he=/^\d+$/,fe=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&x(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Ve=([e,t])=>e===t,Ce=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Se=(e,t,s,l,n)=>w(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),pe=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,l)=>{t(s,l)||D(e,l)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Ie=()=>{let e,t,l=!1,n=!1,o=!1,d=!1,m=0;const z=X(),P=X(),j=X(),k=X(),A=X(),N=X(),he=X(),Re=X(),Je=X(),Le=X(),Ee=X(),Fe=X(),Oe=X(),xe=X(),ze=de(),Pe=X(),je=X(),ke=X(),Ae=X(),Me=Te(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),lt=Te(),nt=Te(),at=Te(),ot=X(),rt=Te(),[ct,it,dt,ut]=(e=>{let t;const[l,n]=fe(),a=X();return[(e,n,o,r=[],c=(()=>[]))=>{t??=zs;const i=l(1);return ee(a,i,[e,n,o,r,c]),ue(ie(n,o??[s],de),i),i},(e,l,...n)=>F(((e,t=[s])=>{const l=[],n=(e,s)=>s==E(t)?x(l,e):null===t[s]?Q(e,(e=>n(e,s+1))):F([t[s],null],(t=>n(Z(e,t),s+1)));return n(e,0),l})(e,l),(e=>Q(e,(e=>Z(a,e)[0](t,...l??[],...n))))),e=>I(Z(a,e),(([,t,l])=>(ie(t,l??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(a,e),n(e),l))),e=>I(Z(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...n(o)):w(s[r])?F(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),ht=e=>{if(!me(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(Ce(e[c])!=t&&D(e,c),0))},ft=(t,s)=>(!e||q(Ee,s)||Wt(s))&&me(t,((e,t)=>gt(s,t,e)),(()=>Wt(s))),gt=(e,t,s,l)=>me(l?s:Ct(s,e,t),((l,n)=>I(Tt(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Wt(e,t))),Tt=(t,s,l,n)=>e?I(Z(Z(Ee,t),l),(e=>Ce(n)!=e[r]?Wt(t,s,l,n,e[c]):n),(()=>Wt(t,s,l,n))):w(Ce(n))?Wt(t,s,l,n):n,bt=(e,t)=>me(t?e:St(e),((t,s)=>I(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Vt=(e,s)=>t?I(Z(Oe,e),(t=>Ce(s)!=t[r]?$t(e,s,t[c]):s),(()=>$t(e,s))):w(Ce(s))?$t(e,s):s,Ct=(e,t,s)=>(I(Z(Fe,t),(([l,n])=>{Q(l,((t,s)=>{B(e,s)||(e[s]=t)})),Q(n,(l=>{B(e,l)||Wt(t,s,l)}))})),e),St=e=>(t&&(Q(xe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(ze,(t=>{B(e,t)||$t(t)}))),e),vt=e=>se(Ee,e,((e,t,s)=>{const l=X(),n=de();se(te(Ee,t,X),s,((e,t,s)=>{ee(e,t,s),I(s[c],(e=>ee(l,t,e)),(()=>ue(n,t)))})),ee(Fe,t,[l,n])}),((e,t)=>{ee(Ee,t),ee(Fe,t)})),yt=e=>se(Oe,e,((e,t,s)=>{ee(Oe,t,s),I(s[c],(e=>ee(xe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Oe,t),ee(xe,t),U(ze,t)})),pt=e=>W(e)?ws():Ss(e),mt=e=>se(ke,e,((e,t,s)=>wt(t,s)),((e,t)=>zt(t))),wt=(e,t)=>se(te(ke,e,(()=>(At(e,1),ee(Pe,e,fe()),ee(je,e,X()),X()))),t,((t,s,l)=>It(e,t,s,l)),((t,s)=>Pt(e,t,s))),It=(e,t,s,l,n)=>se(te(t,s,(()=>(Mt(e,s,1),X()))),l,((t,l,n)=>Rt(e,s,t,l,n)),((l,a)=>jt(e,t,s,l,a,n))),Rt=(e,t,s,l,n)=>{q(s,l)||Nt(e,t,l,1);const a=Z(s,l);n!==a&&(Bt(e,t,l,a,n),ee(s,l,n))},Jt=(e,t,s,l,n)=>I(Z(t,s),(t=>Rt(e,s,t,l,n)),(()=>It(e,t,s,Ct({[l]:n},e,s)))),Lt=e=>W(e)?Js():vs(e),Et=e=>se(Ae,e,((e,t,s)=>Ft(t,s)),((e,t)=>kt(t))),Ft=(e,t)=>{q(Ae,e)||Dt(e,1);const s=Z(Ae,e);t!==s&&(Ht(e,s,t),ee(Ae,e,t))},Ot=(e,t)=>{const[s]=Z(Pe,e),l=s(t);return q(Z(ke,e),l)?Ot(e,t):l},xt=e=>Z(ke,e)??wt(e,{}),zt=e=>wt(e,{}),Pt=(e,t,s)=>{const[,l]=Z(Pe,e);l(s),It(e,t,s,{},!0)},jt=(e,t,s,l,n,a)=>{const o=Z(Z(Fe,e)?.[0],n);if(!w(o)&&!a)return Rt(e,s,l,n,o);const r=t=>{Bt(e,s,t,Z(l,t)),Nt(e,s,t,-1),ee(l,t)};w(o)?r(n):_(l,r),G(l)&&(Mt(e,s,-1),G(ee(t,s))&&(At(e,-1),ee(ke,e),ee(Pe,e),ee(je,e)))},kt=e=>{const t=Z(xe,e);if(!w(t))return Ft(e,t);Ht(e,Z(Ae,e)),Dt(e,-1),ee(Ae,e)},At=(e,t)=>we(z,e,t),Mt=(e,t,s)=>we(te(k,e,X),t,s)&&ee(j,e,te(j,e,(()=>0))+s),Nt=(e,t,s,l)=>{const n=Z(je,e),a=Z(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(te(P,e,X),s,l),ee(n,s,a!=-l?a+l:null),we(te(te(A,e,X),t,X),s,l)},Bt=(e,t,s,l,n)=>te(te(te(N,e,X),t,X),s,(()=>[l,0]))[1]=n,Dt=(e,t)=>we(he,e,t),Ht=(e,t,s)=>te(Re,e,(()=>[t,0]))[1]=s,Wt=(e,t,s,l,n)=>(x(te(te(te(Je,e,X),t,X),s,(()=>[])),l),n),$t=(e,t,s)=>(x(te(Le,e,(()=>[])),t),s),qt=(e,t,s)=>I(Z(Z(Z(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(cs(e,t,s))])),Gt=e=>I(Z(Re,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(us(e))])),Kt=e=>G(Je)||G(_e[e])?0:Q(e?ce(Je):Je,((t,s)=>Q(t,((t,l)=>Q(t,((t,n)=>it(_e[e],[s,l,n],t))))))),Qt=e=>G(Le)||G(et[e])?0:Q(e?oe(Le):Le,((t,s)=>it(et[e],[s],t))),Ut=(e,t,s,l)=>{if(!G(e))return it(t,l,(()=>le(e))),_(e,((e,t)=>it(s,[...l??[],e],1==t))),1},Xt=e=>{const t=hs();t!=o&&it(Me[e],void 0,t);const s=G(Ke[e]),l=G(Xe[e])&&G(Ye[e])&&G(Ge[e])&&G(Qe[e])&&G(We[e])&&G($e[e])&&G(qe[e])&&s&&G(Be[e])&&G(De[e]),n=G(Ze[e])&&G(Ue[e])&&G(He[e])&&G(Ne[e]);if(!l||!n){const t=e?[oe(z),re(P),oe(j),re(k),ce(A),ce(N)]:[z,P,j,k,A,N];if(!l){Ut(t[0],Be[e],De[e]),Q(t[1],((t,s)=>Ut(t,We[e],$e[e],[s]))),Q(t[2],((t,s)=>{0!=t&&it(qe[e],[s],ns(s))}));const l=de();Q(t[3],((t,n)=>{Ut(t,Ge[e],Qe[e],[n])&&!s&&(it(Ke[e],[n,null]),ue(l,n))})),s||Q(t[5],((t,s)=>{if(!q(l,s)){const l=de();Q(t,(e=>Q(e,(([t,s],n)=>s!==t?ue(l,n):U(e,n))))),Q(l,(t=>it(Ke[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,l)=>Ut(t,Xe[e],Ye[e],[s,l])))))}if(!n){let s;Q(t[5],((t,l)=>{let n;Q(t,((t,a)=>{let o;Q(t,(([t,r],c)=>{r!==t&&(it(Ze[e],[l,a,c],r,t,qt),s=n=o=1)})),o&&it(Ue[e],[l,a],qt)})),n&&it(He[e],[l],qt)})),s&&it(Ne[e],void 0,qt)}}},Yt=e=>{const t=Vs();t!=d&&it(tt[e],void 0,t);const s=G(lt[e])&&G(nt[e]),l=G(at[e])&&G(st[e]);if(!s||!l){const t=e?[oe(he),oe(Re)]:[he,Re];if(s||Ut(t[0],lt[e],nt[e]),!l){let s;Q(t[1],(([t,l],n)=>{l!==t&&(it(at[e],[n],l,t,Gt),s=1)})),s&&it(st[e],void 0,Gt)}}},Zt=(e,...t)=>(Fs((()=>e(...O(t,p)))),zs),_t=()=>[le(N,((e,t)=>-1===Z(z,t)?null:le(e,((e,s)=>-1===Z(Z(k,t),s)?null:le(e,(([,e])=>e??null),((e,t)=>Ve(t)))),W)),W),le(Re,(([,e])=>e??null),((e,t)=>Ve(t)))],es=()=>({cellsTouched:l,valuesTouched:n,changedCells:ae(N,be,Ve),invalidCells:ae(Je),changedValues:le(Re,be,Ve),invalidValues:le(Le),changedTableIds:le(z),changedRowIds:ne(k),changedCellIds:ae(A),changedValueIds:le(he)}),ts=()=>ae(ke),ss=()=>Y(ke),ls=e=>Y(Z(je,p(e))),ns=e=>$(Z(ke,p(e))),as=e=>Y(Z(ke,p(e))),os=(e,t,s,l=0,n)=>{return O(L((o=Z(ke,p(e)),r=(e,s)=>[w(t)?s:Z(e,p(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,w(n)?n:l+n),(([,e])=>e));var a,o,r},rs=(e,t)=>Y(Z(Z(ke,p(e)),p(t))),cs=(e,t,s)=>Z(Z(Z(ke,p(e)),p(t)),p(s)),is=()=>le(Ae),ds=()=>Y(Ae),us=e=>Z(Ae,p(e)),hs=()=>!G(ke),fs=e=>q(ke,p(e)),gs=(e,t)=>q(Z(je,p(e)),p(t)),Ts=(e,t)=>q(Z(ke,p(e)),p(t)),bs=(e,t,s)=>q(Z(Z(ke,p(e)),p(t)),p(s)),Vs=()=>!G(Ae),Cs=e=>q(Ae,p(e)),Ss=e=>Zt((()=>(e=>me(e,ft,Wt))(e)?mt(e):0)),vs=e=>Zt((()=>bt(e)?Et(e):0)),ys=e=>{try{pt(pe(e))}catch{}return zs},ps=t=>Zt((()=>{if((e=me(t,(e=>me(e,ht))))&&(vt(t),!G(ke))){const e=ts();ws(),Ss(e)}})),ms=e=>Zt((()=>{if(t=(e=>me(e,ht))(e)){const s=is();Es(),Js(),t=!0,yt(e),vs(s)}})),ws=()=>Zt((()=>mt({}))),Is=e=>Zt((e=>q(ke,e)?zt(e):0),e),Rs=(e,t)=>Zt(((e,t)=>I(Z(ke,e),(s=>q(s,t)?Pt(e,s,t):0))),e,t),Js=()=>Zt((()=>Et({}))),Ls=()=>Zt((()=>{vt({}),e=!1})),Es=()=>Zt((()=>{yt({}),t=!1})),Fs=(e,t)=>{if(-1!=m){Os();const s=e();return xs(t),s}},Os=()=>(-1!=m&&m++,1==m&&it(ot,void 0,_t,es),zs),xs=e=>(m>0&&(m--,0==m&&(l=!G(N),n=!G(Re),m=1,Kt(1),l&&Xt(1),Qt(1),n&&Yt(1),e?.(_t,es)&&(Q(N,((e,t)=>Q(e,((e,s)=>Q(e,(([e],l)=>Se(zs,t,s,l,e))))))),Q(Re,(([e],t)=>ve(zs,t,e))),l=n=!1),it(rt[0],void 0,_t,es),m=-1,Kt(0),l&&Xt(0),Qt(0),n&&Yt(0),it(rt[1],void 0,_t,es),m=0,l=n=!1,o=hs(),d=Vs(),F([z,P,j,k,A,N,Je,he,Re,Le],K))),zs),zs={getContent:()=>[ts(),is()],getTables:ts,getTableIds:ss,getTable:e=>ne(Z(ke,p(e))),getTableCellIds:ls,getRowCount:ns,getRowIds:as,getSortedRowIds:os,getRow:(e,t)=>le(Z(Z(ke,p(e)),p(t))),getCellIds:rs,getCell:cs,getValues:is,getValueIds:ds,getValue:us,hasTables:hs,hasTable:fs,hasTableCell:gs,hasRow:Ts,hasCell:bs,hasValues:Vs,hasValue:Cs,getTablesJson:()=>ye(ke),getValuesJson:()=>ye(Ae),getJson:()=>ye([ke,Ae]),getTablesSchemaJson:()=>ye(Ee),getValuesSchemaJson:()=>ye(Oe),getSchemaJson:()=>ye([Ee,Oe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Zt((()=>{(W(e)?ws:Ss)(e),(W(t)?Js:vs)(t)})),setTables:Ss,setTable:(e,t)=>Zt((e=>ft(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>gt(e,t,s)?It(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let l;return gt(e,l,t)&&(e=p(e),It(e,xt(e),l=Ot(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(gt(e,t,s,1)){const l=xt(e);H(s,((s,n)=>Jt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Tt(e,t,s,J(l)?l(cs(e,t,s)):l),(l=>Jt(e,xt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>Zt((()=>bt(e,1)?H(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>Zt((e=>I(Vt(e,J(t)?t(us(e)):t),(t=>Ft(e,t)))),e),setTransactionChanges:e=>Zt((()=>{H(e[0],((e,t)=>w(e)?Is(t):H(e,((e,s)=>w(e)?Rs(t,s):H(e,((e,l)=>Se(zs,t,s,l,e))))))),H(e[1],((e,t)=>ve(zs,t,e)))})),setTablesJson:ys,setValuesJson:e=>{try{Lt(pe(e))}catch{}return zs},setJson:e=>Zt((()=>{try{const[t,s]=pe(e);pt(t),Lt(s)}catch{ys(e)}})),setTablesSchema:ps,setValuesSchema:ms,setSchema:(e,t)=>Zt((()=>{ps(e),ms(t)})),delTables:ws,delTable:Is,delRow:Rs,delCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Z(ke,e),(n=>I(Z(n,t),(a=>q(a,s)?jt(e,n,t,a,s,l):0))))),e,t,s),delValues:Js,delValue:e=>Zt((e=>q(Ae,e)?kt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>Zt((()=>{Ls(),Es()})),transaction:Fs,startTransaction:Os,finishTransaction:xs,forEachTable:e=>Q(ke,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(je,p(e)),t),forEachRow:(e,t)=>Q(Z(ke,p(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(ke,p(e)),p(t)),s),forEachValue:e=>_(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=os(e,t,s,l,n);return ct((()=>{const o=os(e,t,s,l,n);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(zs,e,t,s,l,n,r))}),Ke[o?1:0],[e,t],[ss])},addStartTransactionListener:e=>ct(e,ot),addWillFinishTransactionListener:e=>ct(e,rt[0]),addDidFinishTransactionListener:e=>ct(e,rt[1]),callListener:e=>(ut(e),zs),delListener:e=>(dt(e),zs),getListenerStats:()=>({}),createStore:Ie,addListener:ct,callListeners:it};return H({[i+h]:[0,Me,[],()=>[hs()]],[h]:[0,Ne],[f]:[0,Be],[i+u]:[1,De,[ss],e=>[fs(...e)]],[u]:[1,He,[ss]],[u+C]:[1,We,[ss]],[i+u+V]:[2,$e,[ss,ls],e=>[gs(...e)]],[T]:[1,qe,[ss]],[b]:[1,Ge,[ss]],[i+g]:[2,Qe,[ss,as],e=>[Ts(...e)]],[g]:[2,Ue,[ss,as]],[C]:[2,Xe,[ss,as]],[i+V]:[3,Ye,[ss,as,rs],e=>[bs(...e)]],[V]:[3,Ze,[ss,as,rs],e=>ge(cs(...e))],InvalidCell:[3,_e],[i+v]:[0,tt,[],()=>[Vs()]],[v]:[0,st],[y]:[0,lt],[i+S]:[1,nt,[ds],e=>[Cs(...e)]],[S]:[1,at,[ds],e=>ge(us(e[0]))],InvalidValue:[1,et]},(([e,t,s,l],n)=>{zs["add"+n+"Listener"]=(...n)=>ct(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0,s,l)})),M(zs)};e.createStore=Ie},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",v=p+"s",y=p+d,C=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,J=e=>t(e)==o,I=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),P=(e,...t)=>e.push(...t),x=Object,z=e=>x.getPrototypeOf(e),j=x.entries,k=x.keys,A=x.isFrozen,M=x.freeze,N=e=>!w(e)&&L(z(e),(e=>e==x.prototype||w(z(e))),(()=>!0)),B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Z(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>B(t,s)?0:n(e,s))),e),ne=(e,t,s)=>{const n={};return Q(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},ae=(e,t,s)=>ne(e,(e=>ne(e,t,s)),W),le=(e,t,s)=>ne(e,(e=>ae(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ie=e=>oe(e,re),ce=(e,t,s,n,a=0)=>L((s?te:Z)(e,t[a],a>E(t)-2?s:X),(l=>{if(a>E(t)-2)return n?.(l)&&ee(e,t[a]),l;const o=ce(l,t,s,n,a+1);return G(l)&&ee(e,t[a]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),fe=/^\d+$/,he=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{fe.test(t)&&E(e)<1e3&&P(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Se=([e,t])=>e===t,Ve=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},pe=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?x.fromEntries([...t]):t)),Ce=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Le=()=>{let e,t,n,a=!1,o=!1,d=!1,m=!1,x=0;const z=X(),j=X(),k=X(),A=X(),N=X(),fe=X(),Re=X(),Je=X(),Ie=X(),Ee=X(),Fe=X(),Oe=X(),Pe=X(),xe=X(),ze=de(),je=X(),ke=X(),Ae=X(),Me=X(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),at=Te(),lt=Te(),ot=Te(),rt=X(),it=Te(),[ct,dt,ut,ft]=(e=>{let t;const[n,a]=he(),l=X();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Ps;const c=n(1);return ee(l,c,[e,a,o,r,i]),ue(ce(a,o??[s],de),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?P(n,e):null===t[s]?Q(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(Z(e,t),s+1)));return a(e,0),n})(e,n),(e=>Q(e,(e=>Z(l,e)[0](t,...n??[],...a))))),e=>L(Z(l,e),(([,t,n])=>(ce(t,n??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(l,e),a(e),n))),e=>L(Z(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ht=e=>{if(!me(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(Ve(e[i])!=t&&D(e,i),0))},gt=(t,s)=>(!e||q(Fe,s)||$t(s))&&me(t,((e,t)=>Tt(s,t,e)),(()=>$t(s))),Tt=(e,t,s,n)=>me(n?s:pt(s,e,t),((n,a)=>L(bt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>$t(e,t))),bt=(t,s,n,a)=>e?L(Z(Z(Fe,t),n),(e=>Ve(a)!=e[r]?$t(t,s,n,a,e[i]):a),(()=>$t(t,s,n,a))):w(Ve(a))?$t(t,s,n,a):a,St=(e,t)=>me(t?e:vt(e),((t,s)=>L(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),Vt=(e,s)=>t?L(Z(Pe,e),(t=>Ve(s)!=t[r]?qt(e,s,t[i]):s),(()=>qt(e,s))):w(Ve(s))?qt(e,s):s,pt=(e,t,s)=>(L(Z(Oe,t),(([n,a])=>{Q(n,((t,s)=>{B(e,s)||(e[s]=t)})),Q(a,(n=>{B(e,n)||$t(t,s,n)}))})),e),vt=e=>(t&&(Q(xe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(ze,(t=>{B(e,t)||qt(t)}))),e),yt=e=>se(Fe,e,((e,t,s)=>{const n=X(),a=de();se(te(Fe,t,X),s,((e,t,s)=>{ee(e,t,s),L(s[i],(e=>ee(n,t,e)),(()=>ue(a,t)))})),ee(Oe,t,[n,a])}),((e,t)=>{ee(Fe,t),ee(Oe,t)})),Ct=e=>se(Pe,e,((e,t,s)=>{ee(Pe,t,s),L(s[i],(e=>ee(xe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Pe,t),ee(xe,t),U(ze,t)})),mt=e=>W(e)?ms():Vs(e),wt=e=>se(Ae,e,((e,t,s)=>Lt(t,s)),((e,t)=>zt(t))),Lt=(e,t)=>se(te(Ae,e,(()=>(Mt(e,1),ee(je,e,he()),ee(ke,e,X()),X()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>jt(e,t,s))),Rt=(e,t,s,n,a)=>se(te(t,s,(()=>(Nt(e,s,1),X()))),n,((t,n,a)=>Jt(e,s,t,n,a)),((n,l)=>kt(e,t,s,n,l,a))),Jt=(e,t,s,n,a)=>{q(s,n)||Bt(e,t,n,1);const l=Z(s,n);a!==l&&(Dt(e,t,n,l,a),ee(s,n,a))},It=(e,t,s,n,a)=>L(Z(t,s),(t=>Jt(e,s,t,n,a)),(()=>Rt(e,t,s,pt({[n]:a},e,s)))),Et=e=>W(e)?Rs():ps(e),Ft=e=>se(Me,e,((e,t,s)=>Ot(t,s)),((e,t)=>At(t))),Ot=(e,t)=>{q(Me,e)||Ht(e,1);const s=Z(Me,e);t!==s&&(Wt(e,s,t),ee(Me,e,t))},Pt=(e,t)=>{const[s]=Z(je,e),n=s(t);return q(Z(Ae,e),n)?Pt(e,t):n},xt=e=>Z(Ae,e)??Lt(e,{}),zt=e=>Lt(e,{}),jt=(e,t,s)=>{const[,n]=Z(je,e);n(s),Rt(e,t,s,{},!0)},kt=(e,t,s,n,a,l)=>{const o=Z(Z(Oe,e)?.[0],a);if(!w(o)&&!l)return Jt(e,s,n,a,o);const r=t=>{Dt(e,s,t,Z(n,t)),Bt(e,s,t,-1),ee(n,t)};w(o)?r(a):_(n,r),G(n)&&(Nt(e,s,-1),G(ee(t,s))&&(Mt(e,-1),ee(Ae,e),ee(je,e),ee(ke,e)))},At=e=>{const t=Z(xe,e);if(!w(t))return Ot(e,t);Wt(e,Z(Me,e)),Ht(e,-1),ee(Me,e)},Mt=(e,t)=>we(z,e,t),Nt=(e,t,s)=>we(te(A,e,X),t,s)&&ee(k,e,te(k,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Z(ke,e),l=Z(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(te(j,e,X),s,n),ee(a,s,l!=-n?l+n:null),we(te(te(N,e,X),t,X),s,n)},Dt=(e,t,s,n,a)=>te(te(te(fe,e,X),t,X),s,(()=>[n,0]))[1]=a,Ht=(e,t)=>we(Re,e,t),Wt=(e,t,s)=>te(Je,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,a)=>(P(te(te(te(Ie,e,X),t,X),s,(()=>[])),n),a),qt=(e,t,s)=>(P(te(Ee,e,(()=>[])),t),s),Gt=(e,t,s)=>L(Z(Z(Z(fe,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(rs(e,t,s))])),Kt=e=>L(Z(Je,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(ds(e))])),Qt=e=>G(Ie)||G(et[e])?0:Q(e?ie(Ie):Ie,((t,s)=>Q(t,((t,n)=>Q(t,((t,a)=>dt(et[e],[s,n,a],t))))))),Ut=e=>G(Ee)||G(tt[e])?0:Q(e?oe(Ee):Ee,((t,s)=>dt(tt[e],[s],t))),Xt=(e,t,s,n)=>{if(!G(e))return dt(t,n,(()=>ne(e))),_(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},Yt=e=>{const t=us();t!=d&&dt(Ne[e],void 0,t);const s=G(Qe[e]),n=G(Ye[e])&&G(Ze[e])&&G(Ke[e])&&G(Ue[e])&&G($e[e])&&G(qe[e])&&G(Ge[e])&&s&&G(De[e])&&G(He[e]),a=G(_e[e])&&G(Xe[e])&&G(We[e])&&G(Be[e]);if(!n||!a){const t=e?[oe(z),re(j),oe(k),re(A),ie(N),ie(fe)]:[z,j,k,A,N,fe];if(!n){Xt(t[0],De[e],He[e]),Q(t[1],((t,s)=>Xt(t,$e[e],qe[e],[s]))),Q(t[2],((t,s)=>{0!=t&&dt(Ge[e],[s],ns(s))}));const n=de();Q(t[3],((t,a)=>{Xt(t,Ke[e],Ue[e],[a])&&!s&&(dt(Qe[e],[a,null]),ue(n,a))})),s||Q(t[5],((t,s)=>{if(!q(n,s)){const n=de();Q(t,(e=>Q(e,(([t,s],a)=>s!==t?ue(n,a):U(e,a))))),Q(n,(t=>dt(Qe[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,n)=>Xt(t,Ye[e],Ze[e],[s,n])))))}if(!a){let s;Q(t[5],((t,n)=>{let a;Q(t,((t,l)=>{let o;Q(t,(([t,r],i)=>{r!==t&&(dt(_e[e],[n,l,i],r,t,Gt),s=a=o=1)})),o&&dt(Xe[e],[n,l],Gt)})),a&&dt(We[e],[n],Gt)})),s&&dt(Be[e],void 0,Gt)}}},Zt=e=>{const t=bs();t!=m&&dt(st[e],void 0,t);const s=G(at[e])&&G(lt[e]),n=G(ot[e])&&G(nt[e]);if(!s||!n){const t=e?[oe(Re),oe(Je)]:[Re,Je];if(s||Xt(t[0],at[e],lt[e]),!n){let s;Q(t[1],(([t,n],a)=>{n!==t&&(dt(ot[e],[a],n,t,Kt),s=1)})),s&&dt(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Es((()=>e(...O(t,C)))),Ps),es=()=>le(Ae),ts=()=>Y(Ae),ss=e=>Y(Z(ke,C(e))),ns=e=>$(Z(Ae,C(e))),as=e=>Y(Z(Ae,C(e))),ls=(e,t,s,n=0,a)=>{return O(I((o=Z(Ae,C(e)),r=(e,s)=>[w(t)?s:Z(e,C(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},os=(e,t)=>Y(Z(Z(Ae,C(e)),C(t))),rs=(e,t,s)=>Z(Z(Z(Ae,C(e)),C(t)),C(s)),is=()=>ne(Me),cs=()=>Y(Me),ds=e=>Z(Me,C(e)),us=()=>!G(Ae),fs=e=>q(Ae,C(e)),hs=(e,t)=>q(Z(ke,C(e)),C(t)),gs=(e,t)=>q(Z(Ae,C(e)),C(t)),Ts=(e,t,s)=>q(Z(Z(Ae,C(e)),C(t)),C(s)),bs=()=>!G(Me),Ss=e=>q(Me,C(e)),Vs=e=>_t((()=>(e=>me(e,gt,$t))(e)?wt(e):0)),ps=e=>_t((()=>St(e)?Ft(e):0)),vs=e=>{try{mt(Ce(e))}catch{}return Ps},ys=t=>_t((()=>{if((e=me(t,(e=>me(e,ht))))&&(yt(t),!G(Ae))){const e=es();ms(),Vs(e)}})),Cs=e=>_t((()=>{if(t=(e=>me(e,ht))(e)){const s=is();Is(),Rs(),t=!0,Ct(e),ps(s)}})),ms=()=>_t((()=>wt({}))),ws=e=>_t((e=>q(Ae,e)?zt(e):0),e),Ls=(e,t)=>_t(((e,t)=>L(Z(Ae,e),(s=>q(s,t)?jt(e,s,t):0))),e,t),Rs=()=>_t((()=>Ft({}))),Js=()=>_t((()=>{yt({}),e=!1})),Is=()=>_t((()=>{Ct({}),t=!1})),Es=(e,t)=>{if(-1!=x){Fs();const s=e();return Os(t),s}},Fs=()=>(-1!=x&&x++,1==x&&dt(rt,void 0),Ps),Os=e=>(x>0&&(x--,0==x&&(a=!G(fe),o=!G(Je),x=1,Qt(1),a&&Yt(1),Ut(1),o&&Zt(1),e?.(Ps)&&(Q(fe,((e,t)=>Q(e,((e,s)=>Q(e,(([e],n)=>pe(Ps,t,s,n,e))))))),Q(Je,(([e],t)=>ve(Ps,t,e))),a=o=!1),dt(it[0],void 0),x=-1,Qt(0),a&&Yt(0),Ut(0),o&&Zt(0),n?.(Ps),dt(it[1],void 0),x=0,a=o=!1,d=us(),m=bs(),F([z,j,k,A,N,fe,Ie,Re,Je,Ee],K))),Ps),Ps={getContent:()=>[es(),is()],getTables:es,getTableIds:ts,getTable:e=>ae(Z(Ae,C(e))),getTableCellIds:ss,getRowCount:ns,getRowIds:as,getSortedRowIds:ls,getRow:(e,t)=>ne(Z(Z(Ae,C(e)),C(t))),getCellIds:os,getCell:rs,getValues:is,getValueIds:cs,getValue:ds,hasTables:us,hasTable:fs,hasTableCell:hs,hasRow:gs,hasCell:Ts,hasValues:bs,hasValue:Ss,getTablesJson:()=>ye(Ae),getValuesJson:()=>ye(Me),getJson:()=>ye([Ae,Me]),getTablesSchemaJson:()=>ye(Fe),getValuesSchemaJson:()=>ye(Pe),getSchemaJson:()=>ye([Fe,Pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>_t((()=>{(W(e)?ms:Vs)(e),(W(t)?Rs:ps)(t)})),setTables:Vs,setTable:(e,t)=>_t((e=>gt(t,e)?Lt(e,t):0),e),setRow:(e,t,s)=>_t(((e,t)=>Tt(e,t,s)?Rt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Es((()=>{let n;return Tt(e,n,t)&&(e=C(e),Rt(e,xt(e),n=Pt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>_t(((e,t)=>{if(Tt(e,t,s,1)){const n=xt(e);H(s,((s,a)=>It(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>_t(((e,t,s)=>L(bt(e,t,s,J(n)?n(rs(e,t,s)):n),(n=>It(e,xt(e),t,s,n)))),e,t,s),setValues:ps,setPartialValues:e=>_t((()=>St(e,1)?H(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>_t((e=>L(Vt(e,J(t)?t(ds(e)):t),(t=>Ot(e,t)))),e),applyChanges:e=>_t((()=>{H(e[0],((e,t)=>w(e)?ws(t):H(e,((e,s)=>w(e)?Ls(t,s):H(e,((e,n)=>pe(Ps,t,s,n,e))))))),H(e[1],((e,t)=>ve(Ps,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Et(Ce(e))}catch{}return Ps},setJson:e=>_t((()=>{try{const[t,s]=Ce(e);mt(t),Et(s)}catch{vs(e)}})),setTablesSchema:ys,setValuesSchema:Cs,setSchema:(e,t)=>_t((()=>{ys(e),Cs(t)})),delTables:ms,delTable:ws,delRow:Ls,delCell:(e,t,s,n)=>_t(((e,t,s)=>L(Z(Ae,e),(a=>L(Z(a,t),(l=>q(l,s)?kt(e,a,t,l,s,n):0))))),e,t,s),delValues:Rs,delValue:e=>_t((e=>q(Me,e)?At(e):0),e),delTablesSchema:Js,delValuesSchema:Is,delSchema:()=>_t((()=>{Js(),Is()})),transaction:Es,startTransaction:Fs,getTransactionChanges:()=>[ne(fe,((e,t)=>-1===Z(z,t)?void 0:ne(e,((e,s)=>-1===Z(Z(A,t),s)?void 0:ne(e,(([,e])=>e),((e,t)=>Se(t)))),W)),W),ne(Je,(([,e])=>e),((e,t)=>Se(t)))],getTransactionLog:()=>[a,o,le(fe,be,Se),le(Ie),ne(Je,be,Se),ne(Ee),ne(z),ae(A),le(N),ne(Re)],finishTransaction:Os,forEachTable:e=>Q(Ae,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(ke,C(e)),t),forEachRow:(e,t)=>Q(Z(Ae,C(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(Ae,C(e)),C(t)),s),forEachValue:e=>_(Me,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ls(e,t,s,n,a);return ct((()=>{const o=ls(e,t,s,n,a);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Ps,e,t,s,n,a,r))}),Qe[o?1:0],[e,t],[ts])},addStartTransactionListener:e=>ct(e,rt),addWillFinishTransactionListener:e=>ct(e,it[0]),addDidFinishTransactionListener:e=>ct(e,it[1]),callListener:e=>(ft(e),Ps),delListener:e=>(ut(e),Ps),getListenerStats:()=>({}),createStore:Le,addListener:ct,callListeners:dt,addPostTransactionListener:e=>{n=e}};return H({[c+f]:[0,Ne,[],()=>[us()]],[f]:[0,Be],[h]:[0,De],[c+u]:[1,He,[ts],e=>[fs(...e)]],[u]:[1,We,[ts]],[u+V]:[1,$e,[ts]],[c+u+S]:[2,qe,[ts,ss],e=>[hs(...e)]],[T]:[1,Ge,[ts]],[b]:[1,Ke,[ts]],[c+g]:[2,Ue,[ts,as],e=>[gs(...e)]],[g]:[2,Xe,[ts,as]],[V]:[2,Ye,[ts,as]],[c+S]:[3,Ze,[ts,as,os],e=>[Ts(...e)]],[S]:[3,_e,[ts,as,os],e=>ge(rs(...e))],InvalidCell:[3,et],[c+v]:[0,st,[],()=>[bs()]],[v]:[0,nt],[y]:[0,at],[c+p]:[1,lt,[cs],e=>[Ss(...e)]],[p]:[1,ot,[cs],e=>ge(ds(e[0]))],InvalidValue:[1,tt]},(([e,t,s,n],a)=>{Ps["add"+a+"Listener"]=(...a)=>ct(a[e],t[a[e+1]?1:0],e>0?I(a,0,e):void 0,s,n)})),M(Ps)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),_=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==Q(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,ee=X.keys,te=X.isFrozen,se=X.freeze,ne=e=>!M(e)&&x(Y(e),(e=>e==X.prototype||M(Y(e))),(()=>!0)),ae=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),oe=(e,t)=>(delete e[t],e),re=(e,t)=>_(Z(e),(([e,s])=>t(s,e))),ie=e=>ne(e)&&0==(e=>Q(ee(e)))(e),le=e=>e?.size??0,ce=(e,t)=>e?.has(t)??!1,de=e=>M(e)||0==le(e),ue=e=>[...e?.values()??[]],he=e=>e.clear(),ge=(e,t)=>e?.forEach(t),fe=(e,t)=>e?.delete(t),Le=e=>new Map(e),we=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ie=(e,t)=>ge(e,((e,s)=>t(s,e))),Se=(e,t,s)=>M(s)?(fe(e,t),e):e?.set(t,s),ye=(e,t,s)=>(ce(e,t)||Se(e,t,s()),ve(e,t)),Te=(e,t,s,n=Se)=>(re(t,((t,n)=>s(e,n,t))),Ie(e,(s=>ae(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ge(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},pe=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ie),Ce=(e,t,s)=>Re(e,(e=>pe(e,t,s)),ie),be=(e,t)=>{const s=Le();return ge(e,((e,n)=>s.set(n,t?.(e)??e))),s},me=e=>be(e,be),Ve=e=>be(e,me),Ee=(e,t,s,n,a=0)=>x((s?ye:ve)(e,t[a],a>Q(t)-2?s:Le),(o=>{if(a>Q(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ee(o,t,s,n,a+1);return de(o)&&Se(e,t[a]),r})),ke=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},Me=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),De=e=>new Set(A(e)||M(e)?e:[e]),Je=(e,t)=>e?.add(t),Ae=(e,t,s,n,a)=>{const o=e.hasRow,r=Le(),i=Le(),l=Le(),c=Le(),d=Le(),u=Le(),h=(t,s,...n)=>{const a=ye(u,t,De);return W(n,(t=>Je(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(ve(u,t),(n=>{W($(s)?ue(n):s,(t=>{e.delListener(t),fe(n,t)})),de(n)&&Se(u,t)})),f=(e,s)=>{Se(r,e,s),ce(i,e)||(Se(i,e,t()),Se(c,e,Le()),Se(d,e,Le()),a(l))},L=e=>{Se(r,e),Se(i,e),Se(c,e),Se(d,e),g(e),a(l)};return[()=>e,()=>we(r),e=>Ie(i,e),e=>ce(i,e),e=>ve(r,e),e=>ve(i,e),(e,t)=>Se(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=Le(),u=Le(),L=ve(c,t),w=ve(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=ve(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Se(l,t,[c,d]),!M(i)){const e=ve(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Se(u,t,s)}},I=e=>{a((()=>{ge(l,(([,e],t)=>Se(L,t,e))),ge(u,((e,t)=>Se(w,t,e)))}),l,u,L,w,e),he(l),he(u)};Ie(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{ce(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>Ie(u,L),h,g]},Fe=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Qe=(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}},ze=/^\d+$/,Ne=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{ze.test(t)&&Q(e)<1e3&&G(e,t)}]},Oe=e=>{let t;const[n,a]=Ne(),o=Le();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Se(o,d,[a,r,i,l,c]),Je(Ee(r,i??[s],De),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?G(n,e):null===t[s]?ge(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(ve(e,t),s+1)));return a(e,0),n})(e,n),(e=>ge(e,(e=>ve(o,e)[0](t,...n??[],...a))))),e=>x(ve(o,e),(([,t,n])=>(Ee(t,n??[s],void 0,(t=>(fe(t,e),de(t)?1:0))),Se(o,e),a(e),n))),e=>x(ve(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Pe=Qe((e=>{let t,n,a,o=100,r=Le(),i=Le(),l=1;const c=Le(),d=Le(),[u,h,g]=Oe((()=>F)),f=Le(),L=Le(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=ve(f,s);ge(n,((s,n)=>ge(s,((s,a)=>ge(s,((s,o)=>Me(e,n,a,o,s[t]))))))),ge(a,((s,n)=>xe(e,n,s[t])))})),l=1},S=e=>{Se(f,e),Se(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{G(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=K(w),a=1};let C,b;const m=(e="")=>(M(t)&&(t=s+n++,Se(f,t,[r,i]),J(t,e),r=Le(),i=Le(),a=1),t),V=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=K(w),a=1)},E=()=>{$(v)||(G(w,t),t=U(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&ve(L,e)!==t&&(Se(L,e,t),h(d,[e])),F),A=e=>ce(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>Ie(L,e),hasCheckpoint:A,getCheckpoint:e=>ve(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>($(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({}),_registerListeners:()=>{C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=ye(r,t,Le),i=ye(e,s,Le),l=ye(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&de(Se(i,n))&&de(Se(e,s))&&de(Se(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=ye(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&de(Se(i,t))&&p(),k()}}))}};return se(F.clear())}),(e=>e._registerListeners())),je=(e,t)=>(e??0)<(t??0)?-1:1,Be=Qe((e=>{const t=Le(),n=Le(),[a,o,r]=Oe((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Ae(e,Le,(e=>M(e)?s:A(e)?_(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);ge(n,((t,n)=>s(n,(s=>ge(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=De(),v=De(),I=h(e);if(ge(a,(([e,t],s)=>{const n=De(e),a=De(t);ge(n,(e=>fe(a,e)?fe(n,e):0)),ge(n,(e=>{Je(w,e),x(ve(I,e),(t=>{fe(t,s),de(t)&&(Se(I,e),L=1)}))})),ge(a,(e=>{Je(w,e),ce(I,e)||(Se(I,e,De()),L=1),Je(ve(I,e),s),M(r)||Je(v,e)}))})),s(),de(u)||(f?Ie(I,(e=>Je(v,e))):Ie(i,(e=>x(ve(d,e),(e=>Je(v,e))))),ge(v,(e=>{const t=(t,s)=>l(ve(u,t),ve(u,s),e),s=[...ve(I,e)];j(s,t)||(Se(I,e,De(B(s,t))),Je(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,Le(B(t,c))),L=1)}L&&o(t,[e]),ge(w,(t=>o(n,[e,t])))}),Fe(a),x(r,Fe)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ce(h(e),t),getTableId:u,getSliceIds:e=>we(h(e)),getSliceRowIds:(e,t)=>ue(ve(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return se(S)})),We=Le([["avg",[(e,t)=>H(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=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(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=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),_e=(e,t,s,n,a,o=!1)=>{if(de(s))return;const[r,i,l,c]=a;return o||=M(e),ge(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ue(s),le(s)):e},He=Qe((e=>{const t=Le(),[n,a,o]=Oe((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Ae(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:ve(We,n)??ve(We,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=le(r);l||=M(d),s();let f=_e(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Fe(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return se(v)})),$e=Le(),qe=Le(),Ge=Qe((e=>{const t=e.createStore,n=t(),a=t(),o=Le(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Ae(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>Je(ye(ye(o,t,Le),e,De),s))),A=e=>{x(ve(o,e),(e=>{Ie(e,((e,t)=>ge(t,(t=>e.delListener(t))))),he(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],Le()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return G(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],Le()]];return G(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:ve(We,t)??[(e,t)=>t]]];return G(d,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,J(e)?e:s=>s(e)===t)});const h=Le(i);if(de(h))return P;const g=Le(l);Ie(g,((e,[,t])=>x(ve(g,t),(({3:t})=>M(e)?0:G(t,e)))));const f=Le(d);let L=n;if(de(f)&&$(u))L=a;else{N(t,L,a);const e=Le();Ie(f,((t,[s,n])=>Je(ye(e,s,De),[t,n])));const s=De();Ie(h,(t=>ce(e,t)?0:Je(s,t)));const n=Le(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{Ie(n,((t,[s])=>{const n=ye(i,t,Le),a=ve(n,o),l=r?void 0:s;if(a!==l){const s=De([[a,l]]),r=le(n);Se(n,o,l),ge(ve(e,t),(([e,t])=>{const a=_e(d[e],r,n,s,t);d[e]=M(ke(a))?null:a}))}})),de(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=Le(),h=L.hasRow(t,i);let g=!h;ge(s,(e=>{const[s,n,a]=l(t,i,e);G(c,n),G(d,a),g||=s})),Ie(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Se(u,e,[n])})),g&&o(Ee(n,c,void 0,(([,e])=>(fe(e,i),de(e)))),u,i,1),h&&o(Ee(n,d,(()=>{const e={};return ge(s,(s=>e[s]=L.getCell(t,i,s))),[Le(),De(),void 0,e]}),(([,e])=>{Je(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=ve(g,n),c=o?.(i,s),[d,u]=ve(l,s)??[];c!=d&&(M(u)||k(t,u),Se(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[ve(g,t)?.[0],ve(ve(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?Ie(h,((e,a)=>Me(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=ve(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),ge(g,(({4:e})=>x(ve(e,a),(([,s])=>{k(t,s),Se(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return re({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),se(P)})),Ke=Qe((e=>{const t=Le(),n=Le(),a=Le(),o=Le(),[r,i,l]=Oe((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Ae(e,(()=>[Le(),Le(),Le(),Le()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ce(a,t)){const o=De();if(g(e)!=T(e))Je(o,t);else{let e=t;for(;!M(e)&&!ce(o,e);)Je(o,e),e=ve(n,e)}if(s)return o;Se(a,t,o)}return ve(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Se(e,t))),T=e=>ve(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Se(t,e,r),L(e,s,((t,s)=>{const r=De(),l=De(),c=De(),[d,u]=f(e);ge(s,(([t,s],n)=>{M(t)||(Je(l,t),x(ve(u,t),(e=>{fe(e,n),de(e)&&Se(u,t)}))),M(s)||(Je(l,s),ce(u,s)||Se(u,s,De()),Je(ve(u,s),n)),Je(r,n),Se(d,n,s),Ie(ve(o,e),(t=>{ce(S(e,t),n)&&Je(c,t)}))})),t(),ge(r,(t=>i(n,[e,t]))),ge(l,(t=>i(a,[e,t]))),ge(c,(t=>{y(e,t),i(o,[e,t])}))}),Fe(l)),R),delRelationshipDefinition:e=>(Se(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>ve(f(e)?.[0],t),getLocalRowIds:(e,t)=>ue(ve(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ue(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return se(R)})),Ue=e=>[e,e],Xe=()=>[Le(),Le()],Ye=e=>[...e],Ze=([e,t])=>e===t,et=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),tt=JSON.parse,st=(e,t,s)=>M(e)||!ne(e)||ie(e)||te(e)?(s?.(),!1):(re(e,((s,n)=>{t(s,n)||oe(e,n)})),!ie(e)),nt=(e,t,s)=>Se(e,t,ve(e,t)==-s?void 0:s),at=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=Le(),y=Le(),V=Le(),E=Le(),k=Le(),A=Le(),Q=Le(),z=Le(),O=Le(),j=Le(),H=Le(),$=Le(),q=Le(),K=Le(),U=De(),X=Le(),Y=Le(),Z=Le(),ee=Le(),te=Xe(),ne=Xe(),ue=Xe(),Ee=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),ze=Xe(),Pe=Xe(),Be=Xe(),We=Xe(),_e=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=Le(),ut=Xe(),[ht,gt,ft,Lt]=Oe((()=>zs)),wt=e=>{if(!st(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(ke(e[l])!=t&&oe(e,l),0))},vt=(t,s)=>(!e||ce(H,s)||qt(s))&&st(t,((e,t)=>It(s,t,e)),(()=>qt(s))),It=(e,t,s,n)=>st(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>qt(e,t))),St=(t,s,n,a)=>e?x(ve(ve(H,t),n),(e=>ke(a)!=e[i]?qt(t,s,n,a,e[l]):a),(()=>qt(t,s,n,a))):M(ke(a))?qt(t,s,n,a):a,yt=(e,t)=>st(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Gt())),Tt=(e,s)=>t?x(ve(q,e),(t=>ke(s)!=t[i]?Gt(e,s,t[l]):s),(()=>Gt(e,s))):M(ke(s))?Gt(e,s):s,Rt=(e,t,s)=>(x(ve($,t),(([n,a])=>{ge(n,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(a,(n=>{ae(e,n)||qt(t,s,n)}))})),e),pt=e=>(t&&(ge(K,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(U,(t=>{ae(e,t)||Gt(t)}))),e),Ct=e=>Te(H,e,((e,t,s)=>{const n=Le(),a=De();Te(ye(H,t,Le),s,((e,t,s)=>{Se(e,t,s),x(s[l],(e=>Se(n,t,e)),(()=>Je(a,t)))})),Se($,t,[n,a])}),((e,t)=>{Se(H,t),Se($,t)})),bt=e=>Te(q,e,((e,t,s)=>{Se(q,t,s),x(s[l],(e=>Se(K,t,e)),(()=>Je(U,t)))}),((e,t)=>{Se(q,t),Se(K,t),fe(U,t)})),mt=e=>ie(e)?Es():ps(e),Vt=e=>Te(Z,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>Te(ye(Z,e,(()=>(jt(e,1),Se(X,e,Ne()),Se(Y,e,Le()),Le()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>Te(ye(t,s,(()=>(Bt(e,s,1),Le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{ce(s,n)||Wt(e,t,n,1);const o=ve(s,n);a!==o&&(_t(e,t,n,o,a),Se(s,n,a))},xt=(e,t,s,n,a)=>x(ve(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>ie(e)?xs():Cs(e),Jt=e=>Te(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{ce(ee,e)||Ht(e,1);const s=ve(ee,e);t!==s&&($t(e,s,t),Se(ee,e,t))},Ft=(e,t)=>{const[s]=ve(X,e),n=s(t);return ce(ve(Z,e),n)?Ft(e,t):n},Qt=e=>ve(Z,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=ve(X,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=ve(ve($,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{_t(e,s,t,ve(n,t)),Wt(e,s,t,-1),Se(n,t)};M(r)?i(a):Ie(n,i),de(n)&&(Bt(e,s,-1),de(Se(t,s))&&(jt(e,-1),Se(Z,e),Se(X,e),Se(Y,e)))},Pt=e=>{const t=ve(K,e);if(!M(t))return At(e,t);$t(e,ve(ee,e)),Ht(e,-1),Se(ee,e)},jt=(e,t)=>nt(g,e,t),Bt=(e,t,s)=>nt(ye(E,e,Le),t,s)&&Se(V,e,ye(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ve(Y,e),o=ve(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&nt(ye(y,e,Le),s,n),Se(a,s,o!=-n?o+n:null),nt(ye(ye(k,e,Le),t,Le),s,n)},_t=(e,t,s,n,a)=>ye(ye(ye(A,e,Le),t,Le),s,(()=>[n,0]))[1]=a,Ht=(e,t)=>nt(Q,e,t),$t=(e,t,s)=>ye(z,e,(()=>[t,0]))[1]=s,qt=(e,t,s,n,a)=>(G(ye(ye(ye(O,e,Le),t,Le),s,(()=>[])),n),a),Gt=(e,t,s)=>(G(ye(j,e,(()=>[])),t),s),Kt=(e,t,s)=>x(ve(ve(ve(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Ut=e=>x(ve(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Xt=e=>de(O)||de(Ge[e])?0:ge(e?Ve(O):O,((t,s)=>ge(t,((t,n)=>ge(t,((t,a)=>gt(Ge[e],[s,n,a],t))))))),Yt=e=>de(j)||de(Ke[e])?0:ge(e?be(j):j,((t,s)=>gt(Ke[e],[s],t))),Zt=(e,t,s,n)=>{if(!de(e))return gt(t,n,(()=>Re(e))),Ie(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(te[e],void 0,t);const s=de(Be[e]),n=de(He[e])&&de($e[e])&&de(Pe[e])&&de(We[e])&&de(Fe[e])&&de(Qe[e])&&de(ze[e])&&s&&de(ue[e])&&de(Ee[e]),o=de(qe[e])&&de(_e[e])&&de(Ae[e])&&de(ne[e]);if(!n||!o){const t=e?[be(g),me(y),be(V),me(E),Ve(k),Ve(A)]:[g,y,V,E,k,A];if(!n){Zt(t[0],ue[e],Ee[e]),ge(t[1],((t,s)=>Zt(t,Fe[e],Qe[e],[s]))),ge(t[2],((t,s)=>{0!=t&&gt(ze[e],[s],ls(s))}));const n=De();ge(t[3],((t,a)=>{Zt(t,Pe[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),Je(n,a))})),s||ge(t[5],((t,s)=>{if(!ce(n,s)){const n=De();ge(t,(e=>ge(e,(([t,s],a)=>s!==t?Je(n,a):fe(e,a))))),ge(n,(t=>gt(Be[e],[s,t])))}})),ge(t[4],((t,s)=>ge(t,((t,n)=>Zt(t,He[e],$e[e],[s,n])))))}if(!o){let s;ge(t[5],((t,n)=>{let a;ge(t,((t,o)=>{let r;ge(t,(([t,i],l)=>{i!==t&&(gt(qe[e],[n,o,l],i,t,Kt),s=a=r=1)})),r&&gt(_e[e],[n,o],Kt)})),a&&gt(Ae[e],[n],Kt)})),s&&gt(ne[e],void 0,Kt)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=de(it[e])&&de(lt[e]),n=de(ct[e])&&de(rt[e]);if(!s||!n){const t=e?[be(Q),be(z)]:[Q,z];if(s||Zt(t[0],it[e],lt[e]),!n){let s;ge(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Ut),s=1)})),s&&gt(rt[e],void 0,Ut)}}},ss=(e,...t)=>(As((()=>e(..._(t,m)))),zs),ns=()=>[Re(A,((e,t)=>-1===ve(g,t)?null:Re(e,((e,s)=>-1===ve(ve(E,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ze(t)))),ie)),ie),Re(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:Ce(A,Ye,Ze),invalidCells:Ce(O),changedValues:Re(z,Ye,Ze),invalidValues:Re(j),changedTableIds:Re(g),changedRowIds:pe(E),changedCellIds:Ce(k),changedValueIds:Re(Q)}),os=()=>Ce(Z),rs=()=>we(Z),is=e=>we(ve(Y,m(e))),ls=e=>le(ve(Z,m(e))),cs=e=>we(ve(Z,m(e))),ds=(e,t,s,n=0,a)=>{return _(F(B((o=ve(Z,m(e)),r=(e,s)=>[M(t)?s:ve(e,m(t)),s],_([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>we(ve(ve(Z,m(e)),m(t))),hs=(e,t,s)=>ve(ve(ve(Z,m(e)),m(t)),m(s)),gs=()=>Re(ee),fs=()=>we(ee),Ls=e=>ve(ee,m(e)),ws=()=>!de(Z),vs=e=>ce(Z,m(e)),Is=(e,t)=>ce(ve(Y,m(e)),m(t)),Ss=(e,t)=>ce(ve(Z,m(e)),m(t)),ys=(e,t,s)=>ce(ve(ve(Z,m(e)),m(t)),m(s)),Ts=()=>!de(ee),Rs=e=>ce(ee,m(e)),ps=e=>ss((()=>(e=>st(e,vt,qt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(tt(e))}catch{}return zs},ms=t=>ss((()=>{if((e=st(t,(e=>st(e,wt))))&&(Ct(t),!de(Z))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>st(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>ce(Z,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(ve(Z,e),(s=>ce(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!de(A),n=!de(z),d=1,Xt(1),s&&es(1),Yt(1),n&&ts(1),e?.(ns,as)&&(ge(A,((e,t)=>ge(e,((e,s)=>ge(e,(([e],n)=>Me(zs,t,s,n,e))))))),ge(z,(([e],t)=>xe(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Xt(0),s&&es(0),Yt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],he))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>pe(ve(Z,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Re(ve(ve(Z,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>et(Z),getValuesJson:()=>et(ee),getJson:()=>et([Z,ee]),getTablesSchemaJson:()=>et(H),getValuesSchemaJson:()=>et(q),getSchemaJson:()=>et([H,q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(ie(e)?Es:ps)(e),(ie(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);re(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?re(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{re(e[0],((e,t)=>M(e)?ks(t):re(e,((e,s)=>M(e)?Ms(t,s):re(e,((e,n)=>Me(zs,t,s,n,e))))))),re(e[1],((e,t)=>xe(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(tt(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=tt(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(ve(Z,e),(a=>x(ve(a,t),(o=>ce(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>ce(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ge(Z,((t,s)=>e(s,(e=>ge(t,((t,s)=>e(s,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(ve(Y,m(e)),t),forEachRow:(e,t)=>ge(ve(Z,m(e)),((e,s)=>t(s,(t=>Ie(e,t))))),forEachCell:(e,t,s)=>Ie(ve(ve(Z,m(e)),m(t)),s),forEachValue:e=>Ie(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:at,addListener:ht,callListeners:gt};return re({[h+L]:[0,te,[],()=>[ws()]],[L]:[0,ne],[w]:[0,ue],[h+f]:[1,Ee,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,ze,[rs]],[S]:[1,Pe,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,_e,[rs,cs]],[R]:[2,He,[rs,cs]],[h+T]:[3,$e,[rs,cs,us],e=>[ys(...e)]],[T]:[3,qe,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ge],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,Ke]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),se(zs)};e.createCheckpoints=Pe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;ye($e,l,(()=>0)),ye(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ie(s)&&ie(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(G(ve(qe,l),...e),await(async()=>{if(!ve($e,l)){for(Se($e,l,1);!M(d=U(ve(qe,l)));)try{await d()}catch(e){o?.(e)}Se($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),se(L)},e.createIndexes=Be,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=at,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,C="Row",p=C+"Count",y=C+g,T="Sorted"+C+g,v="Cell",S=v+g,I="Value",R=I+"s",b=I+g,m=e=>s+e,V=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),E=(e,t=0)=>e.charCodeAt(t),k=Math.max,x=Math.min,D=isFinite,A=e=>null==e,J=(e,t,s)=>A(e)?s?.():t(e),F=e=>e==n||e==a,Q=e=>t(e)==n,H=e=>t(e)==r,P=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),N=e=>e.length,O=()=>{},W=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),B=(e,t)=>N(e)===N(t)&&j(e,((e,s)=>t[s]===e)),_=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),$=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==N(e),X=(e,t,s)=>e.reduce(t,s),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,se=e=>te.getPrototypeOf(e),ne=te.entries,ae=te.keys,oe=te.isFrozen,re=te.freeze,le=e=>!A(e)&&J(se(e),(e=>e==te.prototype||A(se(e))),(()=>!0)),ie=(e,t)=>t in e,ce=(e,t)=>(delete e[t],e),de=(e,t)=>q(ne(e),(([e,s])=>t(s,e))),ue=(e,t)=>G(ne(e),(([e,s])=>t(s,e))),he=e=>le(e)&&0==(e=>N(ae(e)))(e),ge=e=>e?.size??0,fe=(e,t)=>e?.has(t)??!1,Le=e=>A(e)||0==ge(e),we=e=>[...e?.values()??[]],Ce=e=>e.clear(),pe=(e,t)=>e?.forEach(t),ye=(e,t)=>e?.delete(t),Te=e=>new Map(e),ve=e=>[...e?.keys()??[]],Se=(e,t)=>e?.get(t),Ie=(e,t)=>pe(e,((e,s)=>t(s,e))),Re=(e,t,s)=>A(s)?(ye(e,t),e):e?.set(t,s),be=(e,t,s)=>(fe(e,t)||Re(e,t,s()),Se(e,t)),me=(e,t,s,n=Re)=>(ue(t,((t,n)=>s(e,n,t))),Ie(e,(s=>ie(t,s)?0:n(e,s))),e),Ve=(e,t,s)=>{const n={};return pe(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Me=(e,t,s)=>Ve(e,(e=>Ve(e,t,s)),he),Ee=(e,t,s)=>Ve(e,(e=>Me(e,t,s)),he),ke=(e,t)=>{const s=Te();return pe(e,((e,n)=>s.set(n,t?.(e)??e))),s},xe=e=>ke(e,ke),De=e=>ke(e,xe),Ae=(e,t,s,n,a=0)=>J((s?be:Se)(e,t[a],a>N(t)-2?s:Te),(o=>{if(a>N(t)-2)return n?.(o)&&Re(e,t[a]),o;const r=Ae(o,t,s,n,a+1);return Le(o)&&Re(e,t[a]),r})),Je=e=>{const s=t(e);return F(s)||s==o&&D(e)?s:void 0},Fe=(e,t,s,n,a)=>A(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Qe=(e,t,s)=>A(s)?e.delValue(t):e.setValue(t,s),He=e=>new Set(P(e)||A(e)?e:[e]),Pe=(e,t)=>e?.add(t),ze=(e,t,s,n,a)=>{const o=e.hasRow,r=Te(),l=Te(),i=Te(),c=Te(),d=Te(),u=Te(),h=(t,s,...n)=>{const a=be(u,t,He);return q(n,(t=>Pe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>J(Se(u,t),(n=>{q(U(s)?we(n):s,(t=>{e.delListener(t),ye(n,t)})),Le(n)&&Re(u,t)})),f=(e,s)=>{Re(r,e,s),fe(l,e)||(Re(l,e,t()),Re(c,e,Te()),Re(d,e,Te()),a(i))},L=e=>{Re(r,e),Re(l,e),Re(c,e),Re(d,e),g(e),a(i)};return[()=>e,()=>ve(r),e=>Ie(l,e),e=>fe(l,e),e=>Se(r,e),e=>Se(l,e),(e,t)=>Re(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Te(),u=Te(),L=Se(c,t),w=Se(d,t),C=t=>{const a=s=>e.getCell(n,t,s),c=Se(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||P(c)&&P(d)&&B(c,d)||Re(i,t,[c,d]),!A(l)){const e=Se(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Re(u,t,s)}},p=e=>{a((()=>{pe(i,(([,e],t)=>Re(L,t,e))),pe(u,((e,t)=>Re(w,t,e)))}),i,u,L,w,e),Ce(i),Ce(u)};Ie(L,C),e.hasTable(n)&&q(e.getRowIds(n),(e=>{fe(L,e)||C(e)})),p(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>C(s))),e.addTableListener(n,(()=>p())))},L,e=>n(e,i),()=>Ie(u,L),h,g]},Ne=(e,t)=>Q(e)?t=>t(e):e??(()=>t??s),Oe=(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}},We=/^\d+$/,je=()=>{const e=[];let t=0;return[n=>(n?ee(e):null)??s+t++,t=>{We.test(t)&&N(e)<1e3&&Y(e,t)}]},Be=e=>{let t;const[n,a]=je(),o=Te();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Re(o,d,[a,r,l,i,c]),Pe(Ae(r,l??[s],He),d),d},(e,n,...a)=>q(((e,t=[s])=>{const n=[],a=(e,s)=>s==N(t)?Y(n,e):null===t[s]?pe(e,(e=>a(e,s+1))):q([t[s],null],(t=>a(Se(e,t),s+1)));return a(e,0),n})(e,n),(e=>pe(e,(e=>Se(o,e)[0](t,...n??[],...a))))),e=>J(Se(o,e),(([,t,n])=>(Ae(t,n??[s],void 0,(t=>(ye(t,e),Le(t)?1:0))),Re(o,e),a(e),n))),e=>J(Se(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=N(r);l==N(s)?e(t,...r,...a(r)):A(s[l])?q(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},_e=Oe((e=>{let t,n,a,o=100,r=Te(),l=Te(),i=1;const c=Te(),d=Te(),[u,h,g]=Be((()=>F)),f=Te(),L=Te(),w=[],C=[],p=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Se(f,s);pe(n,((s,n)=>pe(s,((s,a)=>pe(s,((s,o)=>Fe(e,n,a,o,s[t]))))))),pe(a,((s,n)=>Qe(e,n,s[t])))})),i=1},y=e=>{Re(f,e),Re(L,e),h(d,[e])},T=(e,t)=>q(((e,t)=>e.splice(0,t))(e,t??N(e)),y),v=()=>T(w,N(w)-o),S=()=>J(t,(()=>{Y(w,t),v(),T(C),t=void 0,a=1})),I=()=>{t=Z(w),a=1};let R,b;const m=(e="")=>(A(t)&&(t=s+n++,Re(f,t,[r,l]),x(t,e),r=Te(),l=Te(),a=1),t),V=()=>{U(w)||(((e,...t)=>{e.unshift(...t)})(C,m()),p(0,t),t=Z(w),a=1)},M=()=>{U(C)||(Y(w,t),t=ee(C),p(1,t),a=1)},E=()=>{a&&(h(c),a=0)},k=e=>{const t=m(e);return E(),t},x=(e,t)=>(D(e)&&Se(L,e)!==t&&(Re(L,e,t),h(d,[e])),F),D=e=>fe(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:k,setCheckpoint:x,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...C]],forEachCheckpoint:e=>Ie(L,e),hasCheckpoint:D,getCheckpoint:e=>Se(L,e),goBackward:()=>(V(),E(),F),goForward:()=>(M(),E(),F),goTo:e=>{const s=W(w,e)?V:W(C,e)?M:null;for(;!A(s)&&e!=t;)s();return E(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(T(w),T(C),A(t)||y(t),t=void 0,n=0,k(),F),clearForward:()=>(U(C)||(T(C),h(c)),F),destroy:()=>{e.delListener(R),e.delListener(b)},getListenerStats:()=>({}),_registerListeners:()=>{R=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){S();const e=be(r,t,Te),l=be(e,s,Te),i=be(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(Re(l,n))&&Le(Re(e,s))&&Le(Re(r,t))&&I(),E()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=be(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Le(Re(l,t))&&I(),E()}}))}};return re(F.clear())}),(e=>e._registerListeners())),$e=(e,t)=>(e??0)<(t??0)?-1:1,qe=Oe((e=>{const t=Te(),n=Te(),[a,o,r]=Be((()=>y)),[l,i,c,d,u,h,g,,f,L,w,C]=ze(e,Te,(e=>A(e)?s:P(e)?G(e,m):m(e)),a,o),p=(t,s,n)=>{const a=u(t);pe(n,((t,n)=>s(n,(s=>pe(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},y={setIndexDefinition:(e,s,a,r,l,i=$e)=>{const c=A(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let L=0;const w=He(),C=He(),p=h(e);if(pe(a,(([e,t],s)=>{const n=He(e),a=He(t);pe(n,(e=>ye(a,e)?ye(n,e):0)),pe(n,(e=>{Pe(w,e),J(Se(p,e),(t=>{ye(t,s),Le(t)&&(Re(p,e),L=1)}))})),pe(a,(e=>{Pe(w,e),fe(p,e)||(Re(p,e,He()),L=1),Pe(Se(p,e),s),A(r)||Pe(C,e)}))})),s(),Le(u)||(f?Ie(p,(e=>Pe(C,e))):Ie(l,(e=>J(Se(d,e),(e=>Pe(C,e))))),pe(C,(e=>{const t=(t,s)=>i(Se(u,t),Se(u,s),e),s=[...Se(p,e)];_(s,t)||(Re(p,e,He($(s,t))),Pe(w,e))}))),(L||f)&&!A(c)){const t=[...p];_(t,c)||(g(e,Te($(t,c))),L=1)}L&&o(t,[e]),pe(w,(t=>o(n,[e,t])))}),Ne(a),J(r,Ne)),y},delIndexDefinition:e=>(L(e),y),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>fe(h(e),t),getTableId:u,getSliceIds:e=>ve(h(e)),getSliceRowIds:(e,t)=>we(Se(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),y),destroy:C,getListenerStats:()=>({})};return re(y)})),Ge=Te([["avg",[(e,t)=>K(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=>k(...e),(e,t)=>k(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:k(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ke=(e,t,s,n,a,o=!1)=>{if(Le(s))return;const[r,l,i,c]=a;return o||=A(e),pe(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(we(s),ge(s)):e},Ue=Oe((e=>{const t=Te(),[n,a,o]=Be((()=>C)),[r,l,i,c,d,u,h,,g,f,L,w]=ze(e,O,(e=>isNaN(e)||A(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),C={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=H(n)?[n,r,l,i]:Se(Ge,n)??Se(Ge,"sum");return g(e,s,((s,n,o,r,l,i)=>{const d=u(e),g=ge(r);i||=A(d),s();let f=Ke(d,g,r,n,c,i);D(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Ne(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({})};return re(C)})),Xe=Te(),Ye=Te(),Ze=Oe((e=>{const t=e.createStore,n=t(),a=t(),o=Te(),{addListener:r,callListeners:l,delListener:i}=a,[h,g,L,w,I,,,R,,b,m,V,M,E]=ze(e,(()=>!0),O,r,l),k=(e,t,...s)=>q(s,(s=>Pe(be(be(o,t,Te),e,He),s))),x=e=>{J(Se(o,e),(e=>{Ie(e,((e,t)=>pe(t,(t=>e.delListener(t))))),Ce(e)})),q([a,n],(t=>t.delTable(e)))},D=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),F={setQueryDefinition:(t,o,r)=>{R(t,o),x(t);const l=[],i=[[null,[o,null,null,[],Te()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=H(e)?[N(l)+s,e]:[A(t)?e:t,s=>s(e,t)];return Y(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=A(s)||H(t)?null:t,a=A(n)?t:s,o=[e,[e,n,H(a)?a:e=>e(a),[],Te()]];return Y(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>Y(c,H(e)?e:A(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,H(t)?[t,s,n,a]:Se(Ge,t)??[(e,t)=>t]]];return Y(d,o),{as:e=>o[0]=e}},having:(e,t)=>Y(u,H(e)?e:s=>s(e)===t)});const h=Te(l);if(Le(h))return F;const g=Te(i);Ie(g,((e,[,t])=>J(Se(g,t),(({3:t})=>A(e)?0:Y(t,e)))));const f=Te(d);let L=n;if(Le(f)&&U(u))L=a;else{D(t,L,a);const e=Te();Ie(f,((t,[s,n])=>Pe(be(e,s,He),[t,n])));const s=He();Ie(h,(t=>fe(e,t)?0:Pe(s,t)));const n=Te(),o=(s,n,o,r)=>J(s,(([l,i,c,d])=>{Ie(n,((t,[s])=>{const n=be(l,t,Te),a=Se(n,o),i=r?void 0:s;if(a!==i){const s=He([[a,i]]),r=ge(n);Re(n,o,i),pe(Se(e,t),(([e,t])=>{const a=Ke(d[e],r,n,s,t);d[e]=A(Je(a))?null:a}))}})),Le(i)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):A(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));k(L,t,L.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=Te(),h=L.hasRow(t,l);let g=!h;pe(s,(e=>{const[s,n,a]=i(t,l,e);Y(c,n),Y(d,a),g||=s})),Ie(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&Re(u,e,[n])})),g&&o(Ae(n,c,void 0,(([,e])=>(ye(e,l),Le(e)))),u,l,1),h&&o(Ae(n,d,(()=>{const e={};return pe(s,(s=>e[s]=L.getCell(t,l,s))),[Te(),He(),void 0,e]}),(([,e])=>{Pe(e,l)})),u,l)})))}D(t,e,L);const w=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);q(r,(n=>{const[a,,o,r,i]=Se(g,n),c=o?.(l,s),[d,u]=Se(i,s)??[];c!=d&&(A(u)||E(t,u),Re(i,s,A(c)?null:[c,...M(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...A(n)?[o,s,t]:t===o?[o,s,n]:[Se(g,t)?.[0],Se(Se(g,t)?.[4],s)?.[0],n]);L.transaction((()=>j(c,(e=>e(n)))?Ie(h,((e,a)=>Fe(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:C}=Se(g,null);return L.transaction((()=>M(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,C):(L.delRow(t,a),pe(g,(({4:e})=>J(Se(e,a),(([,s])=>{E(t,s),Re(e,a)})))))}))))),F},delQueryDefinition:e=>(x(e),b(e),F),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:I,addQueryIdsListener:e=>m((()=>e(F))),delListener:e=>(i(e),F),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ue({[f]:[1,1],[f+S]:[0,1],[p]:[0,1],[y]:[0,1],[T]:[0,5],[C]:[1,2],[S]:[0,2],[v]:[1,3]},(([e,t],s)=>{q(e?["get","has","forEach"]:["get"],(e=>F[e+d+s]=(...t)=>a[e+s](...t))),F[u+d+s+c]=(...e)=>a[u+s+c](...z(e,0,t),((s,...n)=>e[t](F,...n)),!0)})),re(F)})),et=Oe((e=>{const t=Te(),n=Te(),a=Te(),o=Te(),[r,l,i]=Be((()=>S)),[c,d,u,h,g,f,,,L,w,C,p]=ze(e,(()=>[Te(),Te(),Te(),Te()]),(e=>A(e)?void 0:e+s),r,l),y=(e,t,s)=>J(f(e),(([n,,a])=>{if(!fe(a,t)){const o=He();if(g(e)!=v(e))Pe(o,t);else{let e=t;for(;!A(e)&&!fe(o,e);)Pe(o,e),e=Se(n,e)}if(s)return o;Re(a,t,o)}return Se(a,t)})),T=(e,t)=>J(f(e),(([,,e])=>Re(e,t))),v=e=>Se(t,e),S={setRelationshipDefinition:(e,s,r,i)=>(Re(t,e,r),L(e,s,((t,s)=>{const r=He(),i=He(),c=He(),[d,u]=f(e);pe(s,(([t,s],n)=>{A(t)||(Pe(i,t),J(Se(u,t),(e=>{ye(e,n),Le(e)&&Re(u,t)}))),A(s)||(Pe(i,s),fe(u,s)||Re(u,s,He()),Pe(Se(u,s),n)),Pe(r,n),Re(d,n,s),Ie(Se(o,e),(t=>{fe(y(e,t),n)&&Pe(c,t)}))})),t(),pe(r,(t=>l(n,[e,t]))),pe(i,(t=>l(a,[e,t]))),pe(c,(t=>{T(e,t),l(o,[e,t])}))}),Ne(i)),S),delRelationshipDefinition:e=>(Re(t,e),w(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Se(f(e)?.[0],t),getLocalRowIds:(e,t)=>we(Se(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>A(f(e))?[t]:we(y(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(y(e,t),r(s,o,[e,t])),delListener:e=>(T(...i(e)??[]),S),destroy:p,getListenerStats:()=>({})};return re(S)})),tt=()=>[s,void 0],st=()=>[s,Te()],nt=([e,t],s)=>[e,s(t,e)],at=(e,t)=>nt(e,(e=>Ve(e,t))),ot=(e,t,s,n)=>de(e,((e,a)=>rt(e,be(t,a,st),s[a]=((e=[])=>te.fromEntries(e))(),n))),rt=([e,t],s,n,a)=>{e>s[0]&&(s[0]=e),a(t,s[1],n)},lt=(e,t,s)=>de(e,(([e,n],a)=>{const o=be(t,a,tt);e>o[0]&&(o[0]=e,o[1]=s[a]=n)})),it=e=>[e,e],ct=()=>[Te(),Te()],dt=e=>[...e],ut=([e,t])=>e===t,ht=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),gt=JSON.parse,ft=(e,t,s)=>A(e)||!le(e)||he(e)||oe(e)?(s?.(),!1):(ue(e,((s,n)=>{t(s,n)||ce(e,n)})),!he(e)),Lt=(e,t,s)=>Re(e,t,Se(e,t)==-s?void 0:s),wt=()=>{let e,t,s,n=!1,a=!1,r=!1,d=!1,g=0;const T=Te(),V=Te(),M=Te(),E=Te(),k=Te(),x=Te(),D=Te(),Q=Te(),P=Te(),N=Te(),O=Te(),j=Te(),_=Te(),K=Te(),U=He(),X=Te(),Z=Te(),ee=Te(),te=Te(),se=ct(),ne=ct(),ae=ct(),oe=ct(),le=ct(),de=ct(),we=ct(),Ae=ct(),ze=ct(),Ne=ct(),Oe=ct(),We=ct(),_e=ct(),qe=ct(),Ge=ct(),Ke=ct(),Ue=ct(),Xe=ct(),Ye=ct(),Ze=ct(),et=ct(),tt=ct(),st=Te(),nt=ct(),[at,ot,rt,lt]=Be((()=>Qs)),Ct=e=>{if(!ft(e,((e,t)=>W([l,i],t))))return!1;const t=e[l];return!(!F(t)&&t!=o||(Je(e[i])!=t&&ce(e,i),0))},pt=(t,s)=>(!e||fe(O,s)||Gt(s))&&ft(t,((e,t)=>yt(s,t,e)),(()=>Gt(s))),yt=(e,t,s,n)=>ft(n?s:It(s,e,t),((n,a)=>J(Tt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),Tt=(t,s,n,a)=>e?J(Se(Se(O,t),n),(e=>Je(a)!=e[l]?Gt(t,s,n,a,e[i]):a),(()=>Gt(t,s,n,a))):A(Je(a))?Gt(t,s,n,a):a,vt=(e,t)=>ft(t?e:Rt(e),((t,s)=>J(St(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),St=(e,s)=>t?J(Se(_,e),(t=>Je(s)!=t[l]?Kt(e,s,t[i]):s),(()=>Kt(e,s))):A(Je(s))?Kt(e,s):s,It=(e,t,s)=>(J(Se(j,t),(([n,a])=>{pe(n,((t,s)=>{ie(e,s)||(e[s]=t)})),pe(a,(n=>{ie(e,n)||Gt(t,s,n)}))})),e),Rt=e=>(t&&(pe(K,((t,s)=>{ie(e,s)||(e[s]=t)})),pe(U,(t=>{ie(e,t)||Kt(t)}))),e),bt=e=>me(O,e,((e,t,s)=>{const n=Te(),a=He();me(be(O,t,Te),s,((e,t,s)=>{Re(e,t,s),J(s[i],(e=>Re(n,t,e)),(()=>Pe(a,t)))})),Re(j,t,[n,a])}),((e,t)=>{Re(O,t),Re(j,t)})),mt=e=>me(_,e,((e,t,s)=>{Re(_,t,s),J(s[i],(e=>Re(K,t,e)),(()=>Pe(U,t)))}),((e,t)=>{Re(_,t),Re(K,t),ye(U,t)})),Vt=e=>he(e)?Vs():Ss(e),Mt=e=>me(ee,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>me(be(ee,e,(()=>(Wt(e,1),Re(X,e,je()),Re(Z,e,Te()),Te()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>zt(e,t,s))),kt=(e,t,s,n,a)=>me(be(t,s,(()=>(jt(e,s,1),Te()))),n,((t,n,a)=>xt(e,s,t,n,a)),((n,o)=>Nt(e,t,s,n,o,a))),xt=(e,t,s,n,a)=>{fe(s,n)||Bt(e,t,n,1);const o=Se(s,n);a!==o&&(_t(e,t,n,o,a),Re(s,n,a))},Dt=(e,t,s,n,a)=>J(Se(t,s),(t=>xt(e,s,t,n,a)),(()=>kt(e,t,s,It({[n]:a},e,s)))),At=e=>he(e)?ks():Is(e),Jt=e=>me(te,e,((e,t,s)=>Ft(t,s)),((e,t)=>Ot(t))),Ft=(e,t)=>{fe(te,e)||$t(e,1);const s=Se(te,e);t!==s&&(qt(e,s,t),Re(te,e,t))},Qt=(e,t)=>{const[s]=Se(X,e),n=s(t);return fe(Se(ee,e),n)?Qt(e,t):n},Ht=e=>Se(ee,e)??Et(e,{}),Pt=e=>Et(e,{}),zt=(e,t,s)=>{const[,n]=Se(X,e);n(s),kt(e,t,s,{},!0)},Nt=(e,t,s,n,a,o)=>{const r=Se(Se(j,e)?.[0],a);if(!A(r)&&!o)return xt(e,s,n,a,r);const l=t=>{_t(e,s,t,Se(n,t)),Bt(e,s,t,-1),Re(n,t)};A(r)?l(a):Ie(n,l),Le(n)&&(jt(e,s,-1),Le(Re(t,s))&&(Wt(e,-1),Re(ee,e),Re(X,e),Re(Z,e)))},Ot=e=>{const t=Se(K,e);if(!A(t))return Ft(e,t);qt(e,Se(te,e)),$t(e,-1),Re(te,e)},Wt=(e,t)=>Lt(T,e,t),jt=(e,t,s)=>Lt(be(E,e,Te),t,s)&&Re(M,e,be(M,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=Se(Z,e),o=Se(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Lt(be(V,e,Te),s,n),Re(a,s,o!=-n?o+n:null),Lt(be(be(k,e,Te),t,Te),s,n)},_t=(e,t,s,n,a)=>be(be(be(x,e,Te),t,Te),s,(()=>[n,0]))[1]=a,$t=(e,t)=>Lt(D,e,t),qt=(e,t,s)=>be(Q,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(Y(be(be(be(P,e,Te),t,Te),s,(()=>[])),n),a),Kt=(e,t,s)=>(Y(be(N,e,(()=>[])),t),s),Ut=(e,t,s)=>J(Se(Se(Se(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...it(us(e,t,s))])),Xt=e=>J(Se(Q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...it(fs(e))])),Yt=e=>Le(P)||Le(Ke[e])?0:pe(e?De(P):P,((t,s)=>pe(t,((t,n)=>pe(t,((t,a)=>ot(Ke[e],[s,n,a],t))))))),Zt=e=>Le(N)||Le(Ue[e])?0:pe(e?ke(N):N,((t,s)=>ot(Ue[e],[s],t))),es=(e,t,s,n)=>{if(!Le(e))return ot(t,n,(()=>Ve(e))),Ie(e,((e,t)=>ot(s,[...n??[],e],1==t))),1},ts=e=>{const t=Ls();t!=r&&ot(se[e],void 0,t);const s=Le(Ne[e]),n=Le(_e[e])&&Le(qe[e])&&Le(ze[e])&&Le(Oe[e])&&Le(de[e])&&Le(we[e])&&Le(Ae[e])&&s&&Le(ae[e])&&Le(oe[e]),a=Le(Ge[e])&&Le(We[e])&&Le(le[e])&&Le(ne[e]);if(!n||!a){const t=e?[ke(T),xe(V),ke(M),xe(E),De(k),De(x)]:[T,V,M,E,k,x];if(!n){es(t[0],ae[e],oe[e]),pe(t[1],((t,s)=>es(t,de[e],we[e],[s]))),pe(t[2],((t,s)=>{0!=t&&ot(Ae[e],[s],ls(s))}));const n=He();pe(t[3],((t,a)=>{es(t,ze[e],Oe[e],[a])&&!s&&(ot(Ne[e],[a,null]),Pe(n,a))})),s||pe(t[5],((t,s)=>{if(!fe(n,s)){const n=He();pe(t,(e=>pe(e,(([t,s],a)=>s!==t?Pe(n,a):ye(e,a))))),pe(n,(t=>ot(Ne[e],[s,t])))}})),pe(t[4],((t,s)=>pe(t,((t,n)=>es(t,_e[e],qe[e],[s,n])))))}if(!a){let s;pe(t[5],((t,n)=>{let a;pe(t,((t,o)=>{let r;pe(t,(([t,l],i)=>{l!==t&&(ot(Ge[e],[n,o,i],l,t,Ut),s=a=r=1)})),r&&ot(We[e],[n,o],Ut)})),a&&ot(le[e],[n],Ut)})),s&&ot(ne[e],void 0,Ut)}}},ss=e=>{const t=Ts();t!=d&&ot(Xe[e],void 0,t);const s=Le(Ze[e])&&Le(et[e]),n=Le(tt[e])&&Le(Ye[e]);if(!s||!n){const t=e?[ke(D),ke(Q)]:[D,Q];if(s||es(t[0],Ze[e],et[e]),!n){let s;pe(t[1],(([t,n],a)=>{n!==t&&(ot(tt[e],[a],n,t,Xt),s=1)})),s&&ot(Ye[e],void 0,Xt)}}},ns=(e,...t)=>(As((()=>e(...G(t,m)))),Qs),as=()=>Ee(ee),os=()=>ve(ee),rs=e=>ve(Se(Z,m(e))),ls=e=>ge(Se(ee,m(e))),is=e=>ve(Se(ee,m(e))),cs=(e,t,s,n=0,a)=>{return G(z($((o=Se(ee,m(e)),r=(e,s)=>[A(t)?s:Se(e,m(t)),s],G([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>$e(e,t)*(s?-1:1))),n,A(a)?a:n+a),(([,e])=>e));var o,r},ds=(e,t)=>ve(Se(Se(ee,m(e)),m(t))),us=(e,t,s)=>Se(Se(Se(ee,m(e)),m(t)),m(s)),hs=()=>Ve(te),gs=()=>ve(te),fs=e=>Se(te,m(e)),Ls=()=>!Le(ee),ws=e=>fe(ee,m(e)),Cs=(e,t)=>fe(Se(Z,m(e)),m(t)),ps=(e,t)=>fe(Se(ee,m(e)),m(t)),ys=(e,t,s)=>fe(Se(Se(ee,m(e)),m(t)),m(s)),Ts=()=>!Le(te),vs=e=>fe(te,m(e)),Ss=e=>ns((()=>(e=>ft(e,pt,Gt))(e)?Mt(e):0)),Is=e=>ns((()=>vt(e)?Jt(e):0)),Rs=e=>{try{Vt(gt(e))}catch{}return Qs},bs=t=>ns((()=>{if((e=ft(t,(e=>ft(e,Ct))))&&(bt(t),!Le(ee))){const e=as();Vs(),Ss(e)}})),ms=e=>ns((()=>{if(t=(e=>ft(e,Ct))(e)){const s=hs();Ds(),ks(),t=!0,mt(e),Is(s)}})),Vs=()=>ns((()=>Mt({}))),Ms=e=>ns((e=>fe(ee,e)?Pt(e):0),e),Es=(e,t)=>ns(((e,t)=>J(Se(ee,e),(s=>fe(s,t)?zt(e,s,t):0))),e,t),ks=()=>ns((()=>Jt({}))),xs=()=>ns((()=>{bt({}),e=!1})),Ds=()=>ns((()=>{mt({}),t=!1})),As=(e,t)=>{if(-1!=g){Js();const s=e();return Fs(t),s}},Js=()=>(-1!=g&&g++,1==g&&ot(st,void 0),Qs),Fs=e=>(g>0&&(g--,0==g&&(n=!Le(x),a=!Le(Q),g=1,Yt(1),n&&ts(1),Zt(1),a&&ss(1),e?.(Qs)&&(pe(x,((e,t)=>pe(e,((e,s)=>pe(e,(([e],n)=>Fe(Qs,t,s,n,e))))))),pe(Q,(([e],t)=>Qe(Qs,t,e))),n=a=!1),ot(nt[0],void 0),g=-1,Yt(0),n&&ts(0),Zt(0),a&&ss(0),s?.(Qs),ot(nt[1],void 0),g=0,n=a=!1,r=Ls(),d=Ts(),q([T,V,M,E,k,x,P,D,Q,N],Ce))),Qs),Qs={getContent:()=>[as(),hs()],getTables:as,getTableIds:os,getTable:e=>Me(Se(ee,m(e))),getTableCellIds:rs,getRowCount:ls,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>Ve(Se(Se(ee,m(e)),m(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:gs,getValue:fs,hasTables:Ls,hasTable:ws,hasTableCell:Cs,hasRow:ps,hasCell:ys,hasValues:Ts,hasValue:vs,getTablesJson:()=>ht(ee),getValuesJson:()=>ht(te),getJson:()=>ht([ee,te]),getTablesSchemaJson:()=>ht(O),getValuesSchemaJson:()=>ht(_),getSchemaJson:()=>ht([O,_]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ns((()=>{(he(e)?Vs:Ss)(e),(he(t)?ks:Is)(t)})),setTables:Ss,setTable:(e,t)=>ns((e=>pt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>yt(e,t,s)?kt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return yt(e,n,t)&&(e=m(e),kt(e,Ht(e),n=Qt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(yt(e,t,s,1)){const n=Ht(e);ue(s,((s,a)=>Dt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ns(((e,t,s)=>J(Tt(e,t,s,H(n)?n(us(e,t,s)):n),(n=>Dt(e,Ht(e),t,s,n)))),e,t,s),setValues:Is,setPartialValues:e=>ns((()=>vt(e,1)?ue(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>ns((e=>J(St(e,H(t)?t(fs(e)):t),(t=>Ft(e,t)))),e),applyChanges:e=>ns((()=>{ue(e[0],((e,t)=>A(e)?Ms(t):ue(e,((e,s)=>A(e)?Es(t,s):ue(e,((e,n)=>Fe(Qs,t,s,n,e))))))),ue(e[1],((e,t)=>Qe(Qs,t,e)))})),setTablesJson:Rs,setValuesJson:e=>{try{At(gt(e))}catch{}return Qs},setJson:e=>ns((()=>{try{const[t,s]=gt(e);Vt(t),At(s)}catch{Rs(e)}})),setTablesSchema:bs,setValuesSchema:ms,setSchema:(e,t)=>ns((()=>{bs(e),ms(t)})),delTables:Vs,delTable:Ms,delRow:Es,delCell:(e,t,s,n)=>ns(((e,t,s)=>J(Se(ee,e),(a=>J(Se(a,t),(o=>fe(o,s)?Nt(e,a,t,o,s,n):0))))),e,t,s),delValues:ks,delValue:e=>ns((e=>fe(te,e)?Ot(e):0),e),delTablesSchema:xs,delValuesSchema:Ds,delSchema:()=>ns((()=>{xs(),Ds()})),transaction:As,startTransaction:Js,getTransactionChanges:()=>[Ve(x,((e,t)=>-1===Se(T,t)?void 0:Ve(e,((e,s)=>-1===Se(Se(E,t),s)?void 0:Ve(e,(([,e])=>e),((e,t)=>ut(t)))),he)),he),Ve(Q,(([,e])=>e),((e,t)=>ut(t)))],getTransactionLog:()=>[n,a,Ee(x,dt,ut),Ee(P),Ve(Q,dt,ut),Ve(N),Ve(T),Me(E),Ee(k),Ve(D)],finishTransaction:Fs,forEachTable:e=>pe(ee,((t,s)=>e(s,(e=>pe(t,((t,s)=>e(s,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(Se(Z,m(e)),t),forEachRow:(e,t)=>pe(Se(ee,m(e)),((e,s)=>t(s,(t=>Ie(e,t))))),forEachCell:(e,t,s)=>Ie(Se(Se(ee,m(e)),m(t)),s),forEachValue:e=>Ie(te,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=cs(e,t,s,n,a);return at((()=>{const r=cs(e,t,s,n,a);B(r,l)||(l=r,o(Qs,e,t,s,n,a,l))}),Ne[r?1:0],[e,t],[os])},addStartTransactionListener:e=>at(e,st),addWillFinishTransactionListener:e=>at(e,nt[0]),addDidFinishTransactionListener:e=>at(e,nt[1]),callListener:e=>(lt(e),Qs),delListener:e=>(rt(e),Qs),getListenerStats:()=>({}),createStore:wt,addListener:at,callListeners:ot,addPostTransactionListener:e=>{s=e}};return ue({[h+L]:[0,se,[],()=>[Ls()]],[L]:[0,ne],[w]:[0,ae],[h+f]:[1,oe,[os],e=>[ws(...e)]],[f]:[1,le,[os]],[f+S]:[1,de,[os]],[h+f+v]:[2,we,[os,rs],e=>[Cs(...e)]],[p]:[1,Ae,[os]],[y]:[1,ze,[os]],[h+C]:[2,Oe,[os,is],e=>[ps(...e)]],[C]:[2,We,[os,is]],[S]:[2,_e,[os,is]],[h+v]:[3,qe,[os,is,ds],e=>[ys(...e)]],[v]:[3,Ge,[os,is,ds],e=>it(us(...e))],InvalidCell:[3,Ke],[h+R]:[0,Xe,[],()=>[Ts()]],[R]:[0,Ye],[b]:[0,Ze],[h+I]:[1,et,[gs],e=>[vs(...e)]],[I]:[1,tt,[gs],e=>it(fs(e[0]))],InvalidValue:[1,Ue]},(([e,t,s,n],a)=>{Qs[u+a+c]=(...a)=>at(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,n)})),re(Qs)},Ct=2**36,pt=2**30,yt=2**24,Tt=2**18,vt=4096,St=64,It=e=>String.fromCharCode(48+(63&e)),Rt=(e,t)=>E(e,t)-48,bt={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},mt=()=>[s,[st(),st()]];e.createCheckpoints=_e,e.createCustomPersister=(e,t,s,n,a,o,r,[l,i]=[],c=[])=>{let d,u,h,g=0,f=0;be(Xe,c,(()=>0)),be(Ye,c,(()=>[]));const L=(r?e.getMergeableContent:null)??e.getContent,w=e.getTransactionChanges,C=async e=>(2!=g&&(g=1,await p.schedule((async()=>{await e(),g=0}))),p),p={load:async(s,n)=>await C((async()=>{try{const s=await t();(r&&Q(s[0])?e.applyMergeableChanges:e.setContent)(s)}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(p.stopAutoLoad(),await p.load(s,a),f=1,h=n((async(s,n)=>{if(n){const t=n();await C((async()=>e.applyChanges(t)))}else await C((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),p),stopAutoLoad:()=>(f&&(a(h),h=void 0,f=0),p),save:async e=>(1!=g&&(g=2,await p.schedule((async()=>{try{await s(L,e)}catch(e){o?.(e)}g=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),d=e.addDidFinishTransactionListener((()=>{const[e,t]=w();he(e)&&he(t)||p.save((()=>[e,t]))})),p),stopAutoSave:()=>(J(d,e.delListener),d=void 0,p),schedule:async(...e)=>(Y(Se(Ye,c),...e),await(async()=>{if(!Se(Xe,c)){for(Re(Xe,c,1);!A(u=ee(Se(Ye,c)));)try{await u()}catch(e){o?.(e)}Re(Xe,c,0)}})(),p),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l&&(p[l]=()=>i),re(p)},e.createIndexes=qe,e.createMergeableStore=e=>{let t=1,s=mt();const[n,a]=(e=>{let t=0,s=0;const n=X(((e,t="",s)=>e.split(t,s))(e),((e,t)=>(e<<5)+e^E(t)),5381)>>>0,a=e=>{const n=t,[a,o]=A(e)?[0,0]:[Rt(r=e,0)*Ct+Rt(r,1)*pt+Rt(r,2)*yt+Rt(r,3)*Tt+Rt(r,4)*vt+Rt(r,5)*St+Rt(r,6),Rt(r,7)*Tt+Rt(r,8)*vt+Rt(r,9)*St+Rt(r,10),Rt(r,11)*yt+Rt(r,12)*Tt+Rt(r,13)*vt+Rt(r,14)*St+Rt(r,15)];var r;t=Math.max(n,a,Date.now()),s=t==n?t==a?Math.max(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,It((e=t)/Ct)+It(e/pt)+It(e/yt)+It(e/Tt)+It(e/vt)+It(e/St)+It(e)+It(o/Tt)+It(o/vt)+It(o/St)+It(o)+It(r/yt)+It(r/Tt)+It(r/vt)+It(r/St)+It(r);var e,o,r},a]})(e),o=wt(),r=e=>{const s=t;t=0,e(),t=s},l=e=>{const t=[{},{}];return a(e[0]),rt(e,s,t,(([e,t],[s,n],[a,o])=>{rt(e,s,a,((e,t,s)=>ot(e,t,s,((e,t,s)=>ot(e,t,s,lt))))),rt(t,n,o,lt)})),r((()=>o.applyChanges(t))),i},i={getMergeableContent:()=>nt(s,(([e,t])=>[at(e,(e=>at(e,(e=>at(e,dt))))),at(t,dt)])),setMergeableContent:e=>(r((()=>o.transaction((()=>{o.delTables().delValues(),s=mt()})))),l(e),i),applyMergeableChanges:l,merge:e=>{const t=i.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableChanges(t),l(s)}};return o.addPostTransactionListener((()=>{if(t){const e=n(),[t,a,r,,l]=o.getTransactionLog(),[i,c]=s[1];s[0]=e,t&&(i[0]=e,ue(r,((t,s)=>{const n=be(i[1],s,tt),a=n[1]??=Te();n[0]=e,ue(t,((t,s)=>{const n=be(a,s,tt),o=n[1]??=Te();n[0]=e,ue(t,(([,t],s)=>Re(o,s,[e,t])))}))}))),a&&(c[0]=e,ue(l,(([,t],s)=>{Re(c[1],s,[e,t])})))}})),ue(o,((e,t)=>i[t]=V(t,"set")||V(t,"del")||V(t,"apply")||M(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),i):V(t,"add")&&M(t,"Listener")?(...s)=>{const n=bt[z(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(i,...t),e(...s)}:e)),re(i)},e.createMetrics=Ue,e.createQueries=Ze,e.createRelationships=et,e.createStore=wt,e.defaultSorter=$e},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file