tinybase 5.0.0-beta.4 → 5.0.0-beta.5

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 (332) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/mergeable-store.cjs +1 -1
  8. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  9. package/lib/cjs/metrics.cjs +1 -1
  10. package/lib/cjs/metrics.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  12. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  14. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  16. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  18. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  20. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  22. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-file.cjs +1 -1
  24. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  26. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-libsql.cjs +1 -0
  28. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  30. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  32. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  33. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  34. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  35. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  36. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  37. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  38. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  39. package/lib/cjs/persisters.cjs +1 -1
  40. package/lib/cjs/persisters.cjs.gz +0 -0
  41. package/lib/cjs/queries.cjs +1 -1
  42. package/lib/cjs/queries.cjs.gz +0 -0
  43. package/lib/cjs/relationships.cjs +1 -1
  44. package/lib/cjs/relationships.cjs.gz +0 -0
  45. package/lib/cjs/store.cjs +1 -1
  46. package/lib/cjs/store.cjs.gz +0 -0
  47. package/lib/cjs/tinybase.cjs +1 -1
  48. package/lib/cjs/tinybase.cjs.gz +0 -0
  49. package/lib/cjs/tools.cjs +1 -1
  50. package/lib/cjs/tools.cjs.gz +0 -0
  51. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  52. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  53. package/lib/cjs-es6/checkpoints.cjs +1 -1
  54. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  55. package/lib/cjs-es6/indexes.cjs +1 -1
  56. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  57. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  58. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  59. package/lib/cjs-es6/metrics.cjs +1 -1
  60. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -0
  78. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  84. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  85. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  86. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  87. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  88. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  89. package/lib/cjs-es6/persisters.cjs +1 -1
  90. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  91. package/lib/cjs-es6/queries.cjs +1 -1
  92. package/lib/cjs-es6/queries.cjs.gz +0 -0
  93. package/lib/cjs-es6/relationships.cjs +1 -1
  94. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  95. package/lib/cjs-es6/store.cjs +1 -1
  96. package/lib/cjs-es6/store.cjs.gz +0 -0
  97. package/lib/cjs-es6/tinybase.cjs +1 -1
  98. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  99. package/lib/cjs-es6/tools.cjs +1 -1
  100. package/lib/cjs-es6/tools.cjs.gz +0 -0
  101. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  102. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  103. package/lib/debug/checkpoints.js +3 -1
  104. package/lib/debug/indexes.js +3 -1
  105. package/lib/debug/mergeable-store.js +196 -129
  106. package/lib/debug/metrics.js +3 -1
  107. package/lib/debug/persisters/persister-automerge.js +3 -1
  108. package/lib/debug/persisters/persister-browser.js +3 -1
  109. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -1
  110. package/lib/debug/persisters/persister-electric-sql.js +3 -1
  111. package/lib/debug/persisters/persister-expo-sqlite-next.js +3 -1
  112. package/lib/debug/persisters/persister-expo-sqlite.js +3 -1
  113. package/lib/debug/persisters/persister-file.js +3 -1
  114. package/lib/debug/persisters/persister-indexed-db.js +3 -1
  115. package/lib/debug/persisters/persister-libsql.js +898 -0
  116. package/lib/debug/persisters/persister-partykit-client.js +3 -1
  117. package/lib/debug/persisters/persister-remote.js +3 -1
  118. package/lib/debug/persisters/persister-sqlite-wasm.js +3 -1
  119. package/lib/debug/persisters/persister-sqlite3.js +3 -1
  120. package/lib/debug/persisters/persister-yjs.js +3 -1
  121. package/lib/debug/persisters.js +3 -1
  122. package/lib/debug/queries.js +7 -4
  123. package/lib/debug/relationships.js +3 -1
  124. package/lib/debug/store.js +7 -4
  125. package/lib/debug/tinybase.js +197 -130
  126. package/lib/debug/tools.js +7 -4
  127. package/lib/debug/ui-react-dom.js +7 -4
  128. package/lib/es6/checkpoints.js +1 -1
  129. package/lib/es6/checkpoints.js.gz +0 -0
  130. package/lib/es6/indexes.js +1 -1
  131. package/lib/es6/indexes.js.gz +0 -0
  132. package/lib/es6/mergeable-store.js +1 -1
  133. package/lib/es6/mergeable-store.js.gz +0 -0
  134. package/lib/es6/metrics.js +1 -1
  135. package/lib/es6/metrics.js.gz +0 -0
  136. package/lib/es6/persisters/persister-automerge.js +1 -1
  137. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  138. package/lib/es6/persisters/persister-browser.js +1 -1
  139. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  140. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  141. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  142. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  143. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  144. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  145. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  146. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  147. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  148. package/lib/es6/persisters/persister-file.js +1 -1
  149. package/lib/es6/persisters/persister-file.js.gz +0 -0
  150. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  151. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  152. package/lib/es6/persisters/persister-libsql.js +1 -0
  153. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  154. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  155. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  156. package/lib/es6/persisters/persister-remote.js +1 -1
  157. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  158. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  159. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  160. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  161. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  162. package/lib/es6/persisters/persister-yjs.js +1 -1
  163. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  164. package/lib/es6/persisters.js +1 -1
  165. package/lib/es6/persisters.js.gz +0 -0
  166. package/lib/es6/queries.js +1 -1
  167. package/lib/es6/queries.js.gz +0 -0
  168. package/lib/es6/relationships.js +1 -1
  169. package/lib/es6/relationships.js.gz +0 -0
  170. package/lib/es6/store.js +1 -1
  171. package/lib/es6/store.js.gz +0 -0
  172. package/lib/es6/tinybase.js +1 -1
  173. package/lib/es6/tinybase.js.gz +0 -0
  174. package/lib/es6/tools.js +1 -1
  175. package/lib/es6/tools.js.gz +0 -0
  176. package/lib/es6/ui-react-dom-debug.js +1 -1
  177. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  178. package/lib/indexes.js +1 -1
  179. package/lib/indexes.js.gz +0 -0
  180. package/lib/mergeable-store.js +1 -1
  181. package/lib/mergeable-store.js.gz +0 -0
  182. package/lib/metrics.js +1 -1
  183. package/lib/metrics.js.gz +0 -0
  184. package/lib/persisters/persister-automerge.js +1 -1
  185. package/lib/persisters/persister-automerge.js.gz +0 -0
  186. package/lib/persisters/persister-browser.js +1 -1
  187. package/lib/persisters/persister-browser.js.gz +0 -0
  188. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  189. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  190. package/lib/persisters/persister-electric-sql.js +1 -1
  191. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  192. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  193. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  194. package/lib/persisters/persister-expo-sqlite.js +1 -1
  195. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  196. package/lib/persisters/persister-file.js +1 -1
  197. package/lib/persisters/persister-file.js.gz +0 -0
  198. package/lib/persisters/persister-indexed-db.js +1 -1
  199. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  200. package/lib/persisters/persister-libsql.js +1 -0
  201. package/lib/persisters/persister-libsql.js.gz +0 -0
  202. package/lib/persisters/persister-partykit-client.js +1 -1
  203. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  204. package/lib/persisters/persister-remote.js +1 -1
  205. package/lib/persisters/persister-remote.js.gz +0 -0
  206. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  207. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  208. package/lib/persisters/persister-sqlite3.js +1 -1
  209. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  210. package/lib/persisters/persister-yjs.js +1 -1
  211. package/lib/persisters/persister-yjs.js.gz +0 -0
  212. package/lib/persisters.js +1 -1
  213. package/lib/persisters.js.gz +0 -0
  214. package/lib/queries.js +1 -1
  215. package/lib/queries.js.gz +0 -0
  216. package/lib/relationships.js +1 -1
  217. package/lib/relationships.js.gz +0 -0
  218. package/lib/store.js +1 -1
  219. package/lib/store.js.gz +0 -0
  220. package/lib/tinybase.js +1 -1
  221. package/lib/tinybase.js.gz +0 -0
  222. package/lib/tools.js +1 -1
  223. package/lib/tools.js.gz +0 -0
  224. package/lib/types/mergeable-store.d.ts +72 -11
  225. package/lib/types/persisters/persister-libsql.d.ts +139 -0
  226. package/lib/types/persisters.d.ts +1 -0
  227. package/lib/types/with-schemas/mergeable-store.d.ts +308 -31
  228. package/lib/types/with-schemas/persisters/persister-libsql.d.ts +152 -0
  229. package/lib/types/with-schemas/persisters.d.ts +1 -0
  230. package/lib/types/with-schemas/store.d.ts +37 -87
  231. package/lib/umd/checkpoints.js +1 -1
  232. package/lib/umd/checkpoints.js.gz +0 -0
  233. package/lib/umd/indexes.js +1 -1
  234. package/lib/umd/indexes.js.gz +0 -0
  235. package/lib/umd/mergeable-store.js +1 -1
  236. package/lib/umd/mergeable-store.js.gz +0 -0
  237. package/lib/umd/metrics.js +1 -1
  238. package/lib/umd/metrics.js.gz +0 -0
  239. package/lib/umd/persisters/persister-automerge.js +1 -1
  240. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  241. package/lib/umd/persisters/persister-browser.js +1 -1
  242. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  243. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  244. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  245. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  246. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  247. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  248. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  249. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  250. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  251. package/lib/umd/persisters/persister-file.js +1 -1
  252. package/lib/umd/persisters/persister-file.js.gz +0 -0
  253. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  254. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  255. package/lib/umd/persisters/persister-libsql.js +1 -0
  256. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  257. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  258. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  259. package/lib/umd/persisters/persister-remote.js +1 -1
  260. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  261. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  262. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  263. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  264. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  265. package/lib/umd/persisters/persister-yjs.js +1 -1
  266. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  267. package/lib/umd/persisters.js +1 -1
  268. package/lib/umd/persisters.js.gz +0 -0
  269. package/lib/umd/queries.js +1 -1
  270. package/lib/umd/queries.js.gz +0 -0
  271. package/lib/umd/relationships.js +1 -1
  272. package/lib/umd/relationships.js.gz +0 -0
  273. package/lib/umd/store.js +1 -1
  274. package/lib/umd/store.js.gz +0 -0
  275. package/lib/umd/tinybase.js +1 -1
  276. package/lib/umd/tinybase.js.gz +0 -0
  277. package/lib/umd/tools.js +1 -1
  278. package/lib/umd/tools.js.gz +0 -0
  279. package/lib/umd/ui-react-dom-debug.js +1 -1
  280. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  281. package/lib/umd-es6/checkpoints.js +1 -1
  282. package/lib/umd-es6/checkpoints.js.gz +0 -0
  283. package/lib/umd-es6/indexes.js +1 -1
  284. package/lib/umd-es6/indexes.js.gz +0 -0
  285. package/lib/umd-es6/mergeable-store.js +1 -1
  286. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  287. package/lib/umd-es6/metrics.js +1 -1
  288. package/lib/umd-es6/metrics.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  290. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  292. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  294. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  296. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  298. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  300. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-file.js +1 -1
  302. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  304. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  305. package/lib/umd-es6/persisters/persister-libsql.js +1 -0
  306. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  307. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  308. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  309. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  310. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  311. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  312. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  313. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  314. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  315. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  316. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  317. package/lib/umd-es6/persisters.js +1 -1
  318. package/lib/umd-es6/persisters.js.gz +0 -0
  319. package/lib/umd-es6/queries.js +1 -1
  320. package/lib/umd-es6/queries.js.gz +0 -0
  321. package/lib/umd-es6/relationships.js +1 -1
  322. package/lib/umd-es6/relationships.js.gz +0 -0
  323. package/lib/umd-es6/store.js +1 -1
  324. package/lib/umd-es6/store.js.gz +0 -0
  325. package/lib/umd-es6/tinybase.js +1 -1
  326. package/lib/umd-es6/tinybase.js.gz +0 -0
  327. package/lib/umd-es6/tools.js +1 -1
  328. package/lib/umd-es6/tools.js.gz +0 -0
  329. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  330. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  331. package/package.json +34 -29
  332. package/readme.md +2 -2
@@ -2207,26 +2207,24 @@ export type ChangedValue<
2207
2207
  */
2208
2208
  export type InvalidValues = {[valueId: Id]: any[]};
2209
2209
 
2210
- // Changes
2210
+ //
2211
2211
  export type Changes<Schemas extends OptionalSchemas> = [
2212
2212
  {
2213
- [TableId in TableIdFromSchema<Schemas[0]>]?: {
2214
- [rowId: Id]:
2215
- | {
2216
- [CellId in CellIdFromSchema<Schemas[0], TableId>]?: Cell<
2217
- Schemas[0],
2218
- TableId,
2219
- CellId
2220
- > | null;
2221
- }
2222
- | null;
2223
- } | null;
2213
+ [TableId in TableIdFromSchema<Schemas[0]>]?:
2214
+ | {
2215
+ [rowId: Id]:
2216
+ | {
2217
+ [CellId in CellIdFromSchema<
2218
+ Schemas[0],
2219
+ TableId
2220
+ >]?: CellOrUndefined<Schemas[0], TableId, CellId>;
2221
+ }
2222
+ | undefined;
2223
+ }
2224
+ | undefined;
2224
2225
  },
2225
2226
  {
2226
- [ValueId in ValueIdFromSchema<Schemas[1]>]?: Value<
2227
- Schemas[1],
2228
- ValueId
2229
- > | null;
2227
+ [ValueId in ValueIdFromSchema<Schemas[1]>]?: Value<Schemas[1], ValueId>;
2230
2228
  },
2231
2229
  ];
2232
2230
 
@@ -3692,7 +3690,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3692
3690
  * @category Setter
3693
3691
  * @since v4.0.0
3694
3692
  */
3695
- setContent(content: Content<Schemas, true>): Store<Schemas>;
3693
+ setContent(content: Content<Schemas, true>): this;
3696
3694
 
3697
3695
  /**
3698
3696
  * The setTables method takes an object and sets the entire tabular data of
@@ -3746,7 +3744,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3746
3744
  * ```
3747
3745
  * @category Setter
3748
3746
  */
3749
- setTables(tables: Tables<Schemas[0], true>): Store<Schemas>;
3747
+ setTables(tables: Tables<Schemas[0], true>): this;
3750
3748
 
3751
3749
  /**
3752
3750
  * The setTable method takes an object and sets the entire data of a single
@@ -3805,7 +3803,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3805
3803
  setTable<TableId extends TableIdFromSchema<Schemas[0]>>(
3806
3804
  tableId: TableId,
3807
3805
  table: Table<Schemas[0], TableId, true>,
3808
- ): Store<Schemas>;
3806
+ ): this;
3809
3807
 
3810
3808
  /**
3811
3809
  * The setRow method takes an object and sets the entire data of a single Row
@@ -3864,7 +3862,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3864
3862
  tableId: TableId,
3865
3863
  rowId: Id,
3866
3864
  row: Row<Schemas[0], TableId, true>,
3867
- ): Store<Schemas>;
3865
+ ): this;
3868
3866
 
3869
3867
  /**
3870
3868
  * The addRow method takes an object and creates a new Row in the Store,
@@ -3996,7 +3994,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3996
3994
  tableId: TableId,
3997
3995
  rowId: Id,
3998
3996
  partialRow: Row<Schemas[0], TableId, true>,
3999
- ): Store<Schemas>;
3997
+ ): this;
4000
3998
 
4001
3999
  /**
4002
4000
  * The setCell method sets the value of a single Cell in the Store.
@@ -4069,7 +4067,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4069
4067
  cell:
4070
4068
  | Cell<Schemas[0], TableId, CellId>
4071
4069
  | MapCell<Schemas[0], TableId, CellId>,
4072
- ): Store<Schemas>;
4070
+ ): this;
4073
4071
 
4074
4072
  /**
4075
4073
  * The setValues method takes an object and sets all the Values in the Store.
@@ -4122,7 +4120,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4122
4120
  * @category Setter
4123
4121
  * @since v3.0.0
4124
4122
  */
4125
- setValues(values: Values<Schemas[1], true>): Store<Schemas>;
4123
+ setValues(values: Values<Schemas[1], true>): this;
4126
4124
 
4127
4125
  /**
4128
4126
  * The setPartialValues method takes an object and sets its Values in the
@@ -4177,7 +4175,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4177
4175
  * @category Setter
4178
4176
  * @since v3.0.0
4179
4177
  */
4180
- setPartialValues(partialValues: Values<Schemas[1], true>): Store<Schemas>;
4178
+ setPartialValues(partialValues: Values<Schemas[1], true>): this;
4181
4179
 
4182
4180
  /**
4183
4181
  * The setValue method sets a single keyed Value in the Store.
@@ -4239,7 +4237,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4239
4237
  setValue<ValueId extends ValueIdFromSchema<Schemas[1]>>(
4240
4238
  valueId: ValueId,
4241
4239
  value: Value<Schemas[1], ValueId> | MapValue<Schemas[1], ValueId>,
4242
- ): Store<Schemas>;
4240
+ ): this;
4243
4241
 
4244
4242
  /**
4245
4243
  * The applyChanges method applies a set of Changes to the Store.
@@ -4284,18 +4282,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4284
4282
  * @category Setter
4285
4283
  * @since v5.0.0
4286
4284
  */
4287
- applyChanges(changes: Changes<Schemas>): Store<Schemas>;
4285
+ applyChanges(changes: Changes<Schemas>): this;
4288
4286
 
4289
4287
  /**
4290
4288
  * The setTablesJson method takes a string serialization of all of the Tables
4291
4289
  * in the Store and attempts to update them to that.
4292
4290
  *
4293
- * This has schema-based typing. The following is a simplified representation:
4294
- *
4295
- * ```ts override
4296
- * setTablesJson(tablesJson: Json): this;
4297
- * ```
4298
- *
4299
4291
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
4300
4292
  * it will then be subject to the same validation rules as the setTables
4301
4293
  * method (according to the Tables type, and matching any TablesSchema
@@ -4324,18 +4316,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4324
4316
  * @category Setter
4325
4317
  * @since v3.0.0
4326
4318
  */
4327
- setTablesJson(tablesJson: Json): Store<Schemas>;
4319
+ setTablesJson(tablesJson: Json): this;
4328
4320
 
4329
4321
  /**
4330
4322
  * The setValuesJson method takes a string serialization of all of the Values
4331
4323
  * in the Store and attempts to update them to those values.
4332
4324
  *
4333
- * This has schema-based typing. The following is a simplified representation:
4334
- *
4335
- * ```ts override
4336
- * setValuesJson(valuesJson: Json): this;
4337
- * ```
4338
- *
4339
4325
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
4340
4326
  * it will then be subject to the same validation rules as the setValues
4341
4327
  * method (according to the Values type, and matching any ValuesSchema
@@ -4364,18 +4350,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4364
4350
  * @category Setter
4365
4351
  * @since v3.0.0
4366
4352
  */
4367
- setValuesJson(valuesJson: Json): Store<Schemas>;
4353
+ setValuesJson(valuesJson: Json): this;
4368
4354
 
4369
4355
  /**
4370
4356
  * The setJson method takes a string serialization of all of the Tables and
4371
4357
  * Values in the Store and attempts to update them to those values.
4372
4358
  *
4373
- * This has schema-based typing. The following is a simplified representation:
4374
- *
4375
- * ```ts override
4376
- * setJson(tablesAndValuesJson: Json): this;
4377
- * ```
4378
- *
4379
4359
  * From v3.0 onwards, the serialization should be of an array with two
4380
4360
  * entries. The first is the Tables object, the second the Values. In previous
4381
4361
  * versions (before the existence of the Values data structure), it was a sole
@@ -4428,7 +4408,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4428
4408
  * ```
4429
4409
  * @category Setter
4430
4410
  */
4431
- setJson(tablesAndValuesJson: Json): Store<Schemas>;
4411
+ setJson(tablesAndValuesJson: Json): this;
4432
4412
 
4433
4413
  /**
4434
4414
  * The setTablesSchema method lets you specify the TablesSchema of the tabular
@@ -4587,12 +4567,6 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4587
4567
  * @example
4588
4568
  * This example removes the data of a Store.
4589
4569
  *
4590
- * This has schema-based typing. The following is a simplified representation:
4591
- *
4592
- * ```ts override
4593
- * delTables(): this;
4594
- * ```
4595
- *
4596
4570
  * ```js
4597
4571
  * const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
4598
4572
  *
@@ -4602,7 +4576,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4602
4576
  * ```
4603
4577
  * @category Deleter
4604
4578
  */
4605
- delTables(): Store<Schemas>;
4579
+ delTables(): this;
4606
4580
 
4607
4581
  /**
4608
4582
  * The delTable method lets you remove a single Table from the Store.
@@ -4629,7 +4603,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4629
4603
  * ```
4630
4604
  * @category Deleter
4631
4605
  */
4632
- delTable(tableId: TableIdFromSchema<Schemas[0]>): Store<Schemas>;
4606
+ delTable(tableId: TableIdFromSchema<Schemas[0]>): this;
4633
4607
 
4634
4608
  /**
4635
4609
  * The delRow method lets you remove a single Row from a Table.
@@ -4658,7 +4632,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4658
4632
  * ```
4659
4633
  * @category Deleter
4660
4634
  */
4661
- delRow(tableId: TableIdFromSchema<Schemas[0]>, rowId: Id): Store<Schemas>;
4635
+ delRow(tableId: TableIdFromSchema<Schemas[0]>, rowId: Id): this;
4662
4636
 
4663
4637
  /**
4664
4638
  * The delCell method lets you remove a single Cell from a Row.
@@ -4752,17 +4726,11 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4752
4726
  rowId: Id,
4753
4727
  cellId: CellIdFromSchema<Schemas[0], TableId>,
4754
4728
  forceDel?: boolean,
4755
- ): Store<Schemas>;
4729
+ ): this;
4756
4730
 
4757
4731
  /**
4758
4732
  * The delValues method lets you remove all the Values from a Store.
4759
4733
  *
4760
- * This has schema-based typing. The following is a simplified representation:
4761
- *
4762
- * ```ts override
4763
- * delValues(): this;
4764
- * ```
4765
- *
4766
4734
  * If there is a ValuesSchema applied to the Store and it specifies a default
4767
4735
  * value for any Value Id, then deletion will result in it being set back to
4768
4736
  * its default value.
@@ -4796,7 +4764,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4796
4764
  * @category Deleter
4797
4765
  * @since v3.0.0
4798
4766
  */
4799
- delValues(): Store<Schemas>;
4767
+ delValues(): this;
4800
4768
 
4801
4769
  /**
4802
4770
  * The delValue method lets you remove a single Value from a Store.
@@ -4841,7 +4809,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4841
4809
  * @category Deleter
4842
4810
  * @since v3.0.0
4843
4811
  */
4844
- delValue(valueId: ValueIdFromSchema<Schemas[1]>): Store<Schemas>;
4812
+ delValue(valueId: ValueIdFromSchema<Schemas[1]>): this;
4845
4813
 
4846
4814
  /**
4847
4815
  * The delTablesSchema method lets you remove the TablesSchema of the Store.
@@ -5069,12 +5037,6 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5069
5037
  * relevant listeners until it completes when you call the finishTransaction
5070
5038
  * method.
5071
5039
  *
5072
- * This has schema-based typing. The following is a simplified representation:
5073
- *
5074
- * ```ts override
5075
- * startTransaction(): this;
5076
- * ```
5077
- *
5078
5040
  * Transactions are useful for making bulk changes to the data in a Store, and
5079
5041
  * when you don't want listeners to be called as you make each change. Changes
5080
5042
  * are made silently during the transaction, and listeners relevant to the
@@ -5117,7 +5079,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5117
5079
  * @category Transaction
5118
5080
  * @since v1.3.0
5119
5081
  */
5120
- startTransaction(): Store<Schemas>;
5082
+ startTransaction(): this;
5121
5083
 
5122
5084
  /**
5123
5085
  * The getTransactionChanges method returns the net meaningful changes that
@@ -5307,7 +5269,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5307
5269
  * @category Transaction
5308
5270
  * @since v1.3.0
5309
5271
  */
5310
- finishTransaction(doRollback?: DoRollback<Schemas>): Store<Schemas>;
5272
+ finishTransaction(doRollback?: DoRollback<Schemas>): this;
5311
5273
 
5312
5274
  /**
5313
5275
  * The forEachTable method takes a function that it will then call for each
@@ -8431,12 +8393,6 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8431
8393
  * The callListener method provides a way for you to manually provoke a
8432
8394
  * listener to be called, even if the underlying data hasn't changed.
8433
8395
  *
8434
- * This has schema-based typing. The following is a simplified representation:
8435
- *
8436
- * ```ts override
8437
- * callListener(listenerId: Id): this;
8438
- * ```
8439
- *
8440
8396
  * This is useful when you are using mutator listeners to guarantee that data
8441
8397
  * conforms to programmatic conditions, and those conditions change such that
8442
8398
  * you need to update the Store in bulk.
@@ -8547,18 +8503,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8547
8503
  * ```
8548
8504
  * @category Listener
8549
8505
  */
8550
- callListener(listenerId: Id): Store<Schemas>;
8506
+ callListener(listenerId: Id): this;
8551
8507
 
8552
8508
  /**
8553
8509
  * The delListener method removes a listener that was previously added to the
8554
8510
  * Store.
8555
8511
  *
8556
- * This has schema-based typing. The following is a simplified representation:
8557
- *
8558
- * ```ts override
8559
- * delListener(listenerId: Id): this;
8560
- * ```
8561
- *
8562
8512
  * Use the Id returned by whichever method was used to add the listener. Note
8563
8513
  * that the Store may re-use this Id for future listeners added to it.
8564
8514
  * @param listenerId The Id of the listener to remove.
@@ -8585,7 +8535,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8585
8535
  * ```
8586
8536
  * @category Listener
8587
8537
  */
8588
- delListener(listenerId: Id): Store<Schemas>;
8538
+ delListener(listenerId: Id): this;
8589
8539
 
8590
8540
  /**
8591
8541
  * The getListenerStats method provides a set of statistics about the
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,r)=>t(e)?r?.():n(e),r=e=>e.length,s=(e,t)=>e.includes(t),o=(e,t)=>e.forEach(t),i=e=>0==r(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),g=e=>new Map(e),C=(e,t)=>e?.get(t),k=(e,n,r)=>t(r)?(f(e,n),e):e?.set(n,r),L=(e,t,n)=>(u(e,t)||k(e,t,n()),C(e,t)),v=(e,t,s,o,i=0)=>n((s?L:C)(e,t[i],i>r(t)-2?s:g),(n=>{if(i>r(t)-2)return o?.(n)&&k(e,t[i]),n;const l=v(n,t,s,o,i+1);return h(n)&&k(e,t[i]),l})),y=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=((e,b)=>{const S=new WeakMap;return e=>{S.has(e)||S.set(e,(e=>{let b,S,T,x=100,z=g(),E=g(),V=1;const j=g(),m=g(),[A,B,F]=(e=>{let s;const[i,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&r(e)<1e3&&l(e,t)}]})(),a=g();return[(e,t,n,r=[],o=(()=>[]))=>{s??=Z;const l=i(1);var c,d;return k(a,l,[e,t,n,r,o]),c=v(t,n??[""],y),d=l,c?.add(d),l},(e,t,...n)=>o(((e,t=[""])=>{const n=[],s=(e,i)=>i==r(t)?l(n,e):null===t[i]?p(e,(e=>s(e,i+1))):o([t[i],null],(t=>s(C(e,t),i+1)));return s(e,0),n})(e,t),(e=>p(e,(e=>C(a,e)[0](s,...t??[],...n))))),e=>n(C(a,e),(([,t,n])=>(v(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(C(a,e),(([e,,n=[],i,l])=>{const c=(...d)=>{const a=r(d);a==r(n)?e(s,...d,...l(d)):t(n[a])?o(i[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),I=g(),M=g(),_=[],O=[],W=(n,r)=>{V=0,e.transaction((()=>{const[s,o]=C(I,r);p(s,((r,s)=>p(r,((r,o)=>p(r,((r,i)=>((e,n,r,s,o)=>t(o)?e.delCell(n,r,s,!0):e.setCell(n,r,s,o))(e,s,o,i,r[n]))))))),p(o,((r,s)=>((e,n,r)=>t(r)?e.delValue(n):e.setValue(n,r))(e,s,r[n])))})),V=1},$=e=>{k(I,e),k(M,e),B(m,[e])},q=(e,t)=>o(((e,t)=>e.splice(0,t))(e,t??r(e)),$),D=()=>q(_,r(_)-x),G=()=>n(b,(()=>{l(_,b),D(),q(O),b=void 0,T=1})),H=()=>{b=c(_),T=1};let J,K;const N=(e="")=>(t(b)&&(b=""+S++,k(I,b,[z,E]),X(b,e),z=g(),E=g(),T=1),b),P=()=>{i(_)||(((e,...t)=>{e.unshift(...t)})(O,N()),W(0,b),b=c(_),T=1)},Q=()=>{i(O)||(l(_,b),b=d(O),W(1,b),T=1)},R=()=>{T&&(B(j),T=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(M,e)!==t&&(k(M,e,t),B(m,[e])),Z),Y=e=>u(I,e),Z={setSize:e=>(x=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>e,getCheckpointIds:()=>[[..._],b,[...O]],forEachCheckpoint:e=>{return t=e,p(M,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(M,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:e=>{const n=s(_,e)?P:s(O,e)?Q:null;for(;!t(n)&&e!=b;)n();return R(),Z},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(F(e),Z),clear:()=>(q(_),q(O),t(b)||$(b),b=void 0,S=0,U(),Z),clearForward:()=>(i(O)||(q(O),B(j)),Z),destroy:()=>{e.delListener(J),e.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=e.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(V){G();const e=L(z,t,g),i=L(e,n,g),l=L(i,r,(()=>[o,void 0]));l[1]=s,l[0]===s&&h(k(i,r))&&h(k(e,n))&&h(k(z,t))&&H(),R()}})),K=e.addValueListener(null,((e,t,n,r)=>{if(V){G();const e=L(E,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&H(),R()}}))}};return a(Z.clear())})(e));const b=S.get(e);return b._registerListeners(),b}})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,r)=>t(e)?r?.():n(e),r=e=>e.length,s=(e,t)=>e.includes(t),o=(e,t)=>e.forEach(t),i=e=>0==r(e),l=(e,...t)=>e.push(...t),c=e=>e.pop(),d=e=>e.shift(),a=Object.freeze,u=(e,t)=>e?.has(t)??!1,h=e=>t(e)||0==(e=>e?.size??0)(e),p=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),g=e=>new Map(e),C=(e,t)=>e?.get(t),k=(e,n,r)=>t(r)?(f(e,n),e):e?.set(n,r),L=(e,t,n,r)=>(u(e,t)?r?.(C(e,t)):k(e,t,n()),C(e,t)),v=(e,t,s,o,i=0)=>n((s?L:C)(e,t[i],i>r(t)-2?s:g),(n=>{if(i>r(t)-2)return o?.(n)&&k(e,t[i]),n;const l=v(n,t,s,o,i+1);return h(n)&&k(e,t[i]),l})),y=e=>new Set(Array.isArray(e)||t(e)?e:[e]),w=/^\d+$/,b=((e,b)=>{const S=new WeakMap;return e=>{S.has(e)||S.set(e,(e=>{let b,S,T,x=100,z=g(),E=g(),V=1;const j=g(),m=g(),[A,B,F]=(e=>{let s;const[i,c]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{w.test(t)&&r(e)<1e3&&l(e,t)}]})(),a=g();return[(e,t,n,r=[],o=(()=>[]))=>{s??=Z;const l=i(1);var c,d;return k(a,l,[e,t,n,r,o]),c=v(t,n??[""],y),d=l,c?.add(d),l},(e,t,...n)=>o(((e,t=[""])=>{const n=[],s=(e,i)=>i==r(t)?l(n,e):null===t[i]?p(e,(e=>s(e,i+1))):o([t[i],null],(t=>s(C(e,t),i+1)));return s(e,0),n})(e,t),(e=>p(e,(e=>C(a,e)[0](s,...t??[],...n))))),e=>n(C(a,e),(([,t,n])=>(v(t,n??[""],void 0,(t=>(f(t,e),h(t)?1:0))),k(a,e),c(e),n))),e=>n(C(a,e),(([e,,n=[],i,l])=>{const c=(...d)=>{const a=r(d);a==r(n)?e(s,...d,...l(d)):t(n[a])?o(i[a]?.(...d)??[],(e=>c(...d,e))):c(...d,n[a])};c()}))]})(),I=g(),M=g(),_=[],O=[],W=(n,r)=>{V=0,e.transaction((()=>{const[s,o]=C(I,r);p(s,((r,s)=>p(r,((r,o)=>p(r,((r,i)=>((e,n,r,s,o)=>t(o)?e.delCell(n,r,s,!0):e.setCell(n,r,s,o))(e,s,o,i,r[n]))))))),p(o,((r,s)=>((e,n,r)=>t(r)?e.delValue(n):e.setValue(n,r))(e,s,r[n])))})),V=1},$=e=>{k(I,e),k(M,e),B(m,[e])},q=(e,t)=>o(((e,t)=>e.splice(0,t))(e,t??r(e)),$),D=()=>q(_,r(_)-x),G=()=>n(b,(()=>{l(_,b),D(),q(O),b=void 0,T=1})),H=()=>{b=c(_),T=1};let J,K;const N=(e="")=>(t(b)&&(b=""+S++,k(I,b,[z,E]),X(b,e),z=g(),E=g(),T=1),b),P=()=>{i(_)||(((e,...t)=>{e.unshift(...t)})(O,N()),W(0,b),b=c(_),T=1)},Q=()=>{i(O)||(l(_,b),b=d(O),W(1,b),T=1)},R=()=>{T&&(B(j),T=0)},U=e=>{const t=N(e);return R(),t},X=(e,t)=>(Y(e)&&C(M,e)!==t&&(k(M,e,t),B(m,[e])),Z),Y=e=>u(I,e),Z={setSize:e=>(x=e,D(),Z),addCheckpoint:U,setCheckpoint:X,getStore:()=>e,getCheckpointIds:()=>[[..._],b,[...O]],forEachCheckpoint:e=>{return t=e,p(M,((e,n)=>t(n,e)));var t},hasCheckpoint:Y,getCheckpoint:e=>C(M,e),goBackward:()=>(P(),R(),Z),goForward:()=>(Q(),R(),Z),goTo:e=>{const n=s(_,e)?P:s(O,e)?Q:null;for(;!t(n)&&e!=b;)n();return R(),Z},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(F(e),Z),clear:()=>(q(_),q(O),t(b)||$(b),b=void 0,S=0,U(),Z),clearForward:()=>(i(O)||(q(O),B(j)),Z),destroy:()=>{e.delListener(J),e.delListener(K)},getListenerStats:()=>({}),_registerListeners:()=>{J=e.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(V){G();const e=L(z,t,g),i=L(e,n,g),l=L(i,r,(()=>[o,void 0]));l[1]=s,l[0]===s&&h(k(i,r))&&h(k(e,n))&&h(k(z,t))&&H(),R()}})),K=e.addValueListener(null,((e,t,n,r)=>{if(V){G();const e=L(E,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&h(k(E,t))&&H(),R()}}))}};return a(Z.clear())})(e));const b=S.get(e);return b._registerListeners(),b}})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=e=>null==e,d=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),l=e=>e.length,c=(e,t)=>e.every(t),a=(e,t)=>c(e,((n,s)=>0==s||t(e[s-1],n)<=0)),u=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),I=Object.freeze,g=(e,t)=>e?.has(t)??!1,p=e=>o(e)||0==(e=>e?.size??0)(e),x=e=>[...e?.values()??[]],y=e=>e.clear(),v=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],b=(e,t)=>e?.get(t),T=(e,t)=>v(e,((e,n)=>t(n,e))),E=(e,t,n)=>o(n)?(L(e,t),e):e?.set(t,n),R=(e,t,n)=>(g(e,t)||E(e,t,n()),b(e,t)),m=(e,t,n,s,r=0)=>d((n?R:b)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&E(e,t[r]),o;const d=m(o,t,n,s,r+1);return p(o)&&E(e,t[r]),d})),j=e=>new Set(i(e)||o(e)?e:[e]),k=(e,t)=>e?.add(t),z=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),A=(e,t)=>(e??0)<(t??0)?-1:1,C=/^\d+$/,D=((e,t)=>{const s=new WeakMap;return e=>{s.has(e)||s.set(e,(e=>{const t=S(),s=S(),[D,M,B]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{C.test(t)&&l(e)<1e3&&h(e,t)}]})(),i=S();return[(e,r,o,d=[],l=(()=>[]))=>{t??=U;const c=s(1);return E(i,c,[e,r,o,d,l]),k(m(r,o??[n],j),c),c},(e,s,...r)=>f(((e,t=[n])=>{const s=[],r=(e,n)=>n==l(t)?h(s,e):null===t[n]?v(e,(e=>r(e,n+1))):f([t[n],null],(t=>r(b(e,t),n+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>b(i,e)[0](t,...s??[],...r))))),e=>d(b(i,e),(([,t,s])=>(m(t,s??[n],void 0,(t=>(L(t,e),p(t)?1:0))),E(i,e),r(e),s))),e=>d(b(i,e),(([e,,n=[],s,r])=>{const d=(...i)=>{const c=l(i);c==l(n)?e(t,...i,...r(i)):o(n[c])?f(s[c]?.(...i)??[],(e=>d(...i,e))):d(...i,n[c])};d()}))]})(),[O,W,$,q,F,G,H,,J,K,N,P]=((e,t,n,s,r)=>{const a=e.hasRow,u=S(),h=S(),I=S(),m=S(),z=S(),A=S(),C=(t,n,...s)=>{const r=R(A,t,j);return f(s,(t=>k(r,t)&&n&&e.callListener(t))),s},D=(t,...n)=>d(b(A,t),(s=>{f(0==l(n)?x(s):n,(t=>{e.delListener(t),L(s,t)})),p(s)&&E(A,t)})),M=(e,n)=>{E(u,e,n),g(h,e)||(E(h,e,t()),E(m,e,S()),E(z,e,S()),r(I))},B=e=>{E(u,e),E(h,e),E(m,e),E(z,e),D(e),r(I)};return[()=>e,()=>w(u),e=>T(h,e),e=>g(h,e),e=>b(u,e),e=>b(h,e),(e,t)=>E(h,e,t),M,(t,s,r,d,u)=>{M(t,s);const h=S(),I=S(),p=b(m,t),x=b(z,t),L=t=>{const r=n=>e.getCell(s,t,n),f=b(p,t),g=a(s,t)?n(d(r,t)):void 0;var y,v;if(f===g||i(f)&&i(g)&&(v=g,l(y=f)===l(v)&&c(y,((e,t)=>v[t]===e)))||E(h,t,[f,g]),!o(u)){const e=b(x,t),n=a(s,t)?u(r,t):void 0;e!=n&&E(I,t,n)}},w=e=>{r((()=>{v(h,(([,e],t)=>E(p,t,e))),v(I,((e,t)=>E(x,t,e)))}),h,I,p,x,e),y(h),y(I)};T(p,L),e.hasTable(s)&&f(e.getRowIds(s),(e=>{g(p,e)||L(e)})),w(!0),D(t),C(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>w())))},B,e=>s(e,I),()=>T(A,B),C,D]})(e,S,(e=>{return o(e)?n:i(e)?(t=r,e.map(t)):r(e);var t}),D,M),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,n,r,i,l,c=A)=>{const f=o(l)?void 0:([e],[t])=>l(e,t);return J(e,n,((n,r,l,h,I,x)=>{let y=0;const w=j(),R=j(),m=G(e);if(v(r,(([e,t],n)=>{const s=j(e),r=j(t);v(s,(e=>L(r,e)?L(s,e):0)),v(s,(e=>{k(w,e),d(b(m,e),(t=>{L(t,n),p(t)&&(E(m,e),y=1)}))})),v(r,(e=>{k(w,e),g(m,e)||(E(m,e,j()),y=1),k(b(m,e),n),o(i)||k(R,e)}))})),n(),p(I)||(x?T(m,(e=>k(R,e))):T(l,(e=>d(b(h,e),(e=>k(R,e))))),v(R,(e=>{const t=(t,n)=>c(b(I,t),b(I,n),e),n=[...b(m,e)];a(n,t)||(E(m,e,j(u(n,t))),k(w,e))}))),(y||x)&&!o(f)){const t=[...m];a(t,f)||(H(e,S(u(t,f))),y=1)}y&&M(t,[e]),v(w,(t=>M(s,[e,t])))}),z(r),d(i,z)),U},delIndexDefinition:e=>(K(e),U),getStore:O,getIndexIds:W,forEachIndex:e=>$(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:q,hasSlice:(e,t)=>g(G(e),t),getTableId:F,getSliceIds:e=>w(G(e)),getSliceRowIds:(e,t)=>x(b(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>D(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>D(n,s,[e,t]),delListener:e=>(B(e),U),destroy:P,getListenerStats:()=>({})};return I(U)})(e));return s.get(e)}})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=e=>null==e,d=(e,t,n)=>o(e)?n?.():t(e),i=e=>Array.isArray(e),l=e=>e.length,c=(e,t)=>e.every(t),a=(e,t)=>c(e,((n,s)=>0==s||t(e[s-1],n)<=0)),u=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),h=(e,...t)=>e.push(...t),I=Object.freeze,g=(e,t)=>e?.has(t)??!1,p=e=>o(e)||0==(e=>e?.size??0)(e),x=e=>[...e?.values()??[]],y=e=>e.clear(),v=(e,t)=>e?.forEach(t),L=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],b=(e,t)=>e?.get(t),T=(e,t)=>v(e,((e,n)=>t(n,e))),E=(e,t,n)=>o(n)?(L(e,t),e):e?.set(t,n),R=(e,t,n,s)=>(g(e,t)?s?.(b(e,t)):E(e,t,n()),b(e,t)),m=(e,t,n,s,r=0)=>d((n?R:b)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&E(e,t[r]),o;const d=m(o,t,n,s,r+1);return p(o)&&E(e,t[r]),d})),j=e=>new Set(i(e)||o(e)?e:[e]),k=(e,t)=>e?.add(t),z=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),A=(e,t)=>(e??0)<(t??0)?-1:1,C=/^\d+$/,D=((e,t)=>{const s=new WeakMap;return e=>{s.has(e)||s.set(e,(e=>{const t=S(),s=S(),[D,M,B]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{C.test(t)&&l(e)<1e3&&h(e,t)}]})(),i=S();return[(e,r,o,d=[],l=(()=>[]))=>{t??=U;const c=s(1);return E(i,c,[e,r,o,d,l]),k(m(r,o??[n],j),c),c},(e,s,...r)=>f(((e,t=[n])=>{const s=[],r=(e,n)=>n==l(t)?h(s,e):null===t[n]?v(e,(e=>r(e,n+1))):f([t[n],null],(t=>r(b(e,t),n+1)));return r(e,0),s})(e,s),(e=>v(e,(e=>b(i,e)[0](t,...s??[],...r))))),e=>d(b(i,e),(([,t,s])=>(m(t,s??[n],void 0,(t=>(L(t,e),p(t)?1:0))),E(i,e),r(e),s))),e=>d(b(i,e),(([e,,n=[],s,r])=>{const d=(...i)=>{const c=l(i);c==l(n)?e(t,...i,...r(i)):o(n[c])?f(s[c]?.(...i)??[],(e=>d(...i,e))):d(...i,n[c])};d()}))]})(),[O,W,$,q,F,G,H,,J,K,N,P]=((e,t,n,s,r)=>{const a=e.hasRow,u=S(),h=S(),I=S(),m=S(),z=S(),A=S(),C=(t,n,...s)=>{const r=R(A,t,j);return f(s,(t=>k(r,t)&&n&&e.callListener(t))),s},D=(t,...n)=>d(b(A,t),(s=>{f(0==l(n)?x(s):n,(t=>{e.delListener(t),L(s,t)})),p(s)&&E(A,t)})),M=(e,n)=>{E(u,e,n),g(h,e)||(E(h,e,t()),E(m,e,S()),E(z,e,S()),r(I))},B=e=>{E(u,e),E(h,e),E(m,e),E(z,e),D(e),r(I)};return[()=>e,()=>w(u),e=>T(h,e),e=>g(h,e),e=>b(u,e),e=>b(h,e),(e,t)=>E(h,e,t),M,(t,s,r,d,u)=>{M(t,s);const h=S(),I=S(),p=b(m,t),x=b(z,t),L=t=>{const r=n=>e.getCell(s,t,n),f=b(p,t),g=a(s,t)?n(d(r,t)):void 0;var y,v;if(f===g||i(f)&&i(g)&&(v=g,l(y=f)===l(v)&&c(y,((e,t)=>v[t]===e)))||E(h,t,[f,g]),!o(u)){const e=b(x,t),n=a(s,t)?u(r,t):void 0;e!=n&&E(I,t,n)}},w=e=>{r((()=>{v(h,(([,e],t)=>E(p,t,e))),v(I,((e,t)=>E(x,t,e)))}),h,I,p,x,e),y(h),y(I)};T(p,L),e.hasTable(s)&&f(e.getRowIds(s),(e=>{g(p,e)||L(e)})),w(!0),D(t),C(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>w())))},B,e=>s(e,I),()=>T(A,B),C,D]})(e,S,(e=>{return o(e)?n:i(e)?(t=r,e.map(t)):r(e);var t}),D,M),Q=(t,n,s)=>{const r=F(t);v(s,((t,s)=>n(s,(n=>v(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},U={setIndexDefinition:(e,n,r,i,l,c=A)=>{const f=o(l)?void 0:([e],[t])=>l(e,t);return J(e,n,((n,r,l,h,I,x)=>{let y=0;const w=j(),R=j(),m=G(e);if(v(r,(([e,t],n)=>{const s=j(e),r=j(t);v(s,(e=>L(r,e)?L(s,e):0)),v(s,(e=>{k(w,e),d(b(m,e),(t=>{L(t,n),p(t)&&(E(m,e),y=1)}))})),v(r,(e=>{k(w,e),g(m,e)||(E(m,e,j()),y=1),k(b(m,e),n),o(i)||k(R,e)}))})),n(),p(I)||(x?T(m,(e=>k(R,e))):T(l,(e=>d(b(h,e),(e=>k(R,e))))),v(R,(e=>{const t=(t,n)=>c(b(I,t),b(I,n),e),n=[...b(m,e)];a(n,t)||(E(m,e,j(u(n,t))),k(w,e))}))),(y||x)&&!o(f)){const t=[...m];a(t,f)||(H(e,S(u(t,f))),y=1)}y&&M(t,[e]),v(w,(t=>M(s,[e,t])))}),z(r),d(i,z)),U},delIndexDefinition:e=>(K(e),U),getStore:O,getIndexIds:W,forEachIndex:e=>$(((t,n)=>e(t,(e=>Q(t,e,n))))),forEachSlice:(e,t)=>Q(e,t,G(e)),hasIndex:q,hasSlice:(e,t)=>g(G(e),t),getTableId:F,getSliceIds:e=>w(G(e)),getSliceRowIds:(e,t)=>x(b(G(e),t)),addIndexIdsListener:N,addSliceIdsListener:(e,n)=>D(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>D(n,s,[e,t]),delListener:e=>(B(e),U),destroy:P,getListenerStats:()=>({})};return I(U)})(e));return s.get(e)}})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
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),l=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",T=f+d,C="Cell",p=C+d,v="Value",V=v+"s",y=v+d,S=e=>s+e,w=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),I=(e,t=0)=>e.charCodeAt(t),R=Math.max,L=isFinite,M=e=>null==e,J=(e,t,s)=>M(e)?s?.():t(e),E=e=>e==n||e==a,H=e=>t(e)==o,x=(e,t,s)=>e.slice(t,s),F=e=>e.length,O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),A=(e,...t)=>e.push(...t),P=Object,W=e=>P.getPrototypeOf(e),j=P.entries,k=P.keys,D=P.isFrozen,N=P.freeze,B=e=>!M(e)&&J(W(e),(e=>e==P.prototype||M(W(e))),(()=>!0)),$=(e=[])=>P.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>O(j(e),(([e,s])=>t(s,e))),Q=(e,t)=>z(j(e),(([e,s])=>t(s,e))),U=e=>B(e)&&0==(e=>F(k(e)))(e),X=e=>e?.size??0,Y=(e,t)=>e?.has(t)??!1,Z=e=>M(e)||0==X(e),_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ne=e=>[...e?.keys()??[]],ae=(e,t)=>e?.get(t),le=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>M(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s)=>(Y(e,t)||oe(e,t,s()),ae(e,t)),ce=(e,t,s,n=oe)=>(Q(t,((t,n)=>s(e,n,t))),le(e,(s=>q(t,s)?0:n(e,s))),e),ie=(e,t,s)=>{const n={};return ee(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},de=(e,t,s)=>ie(e,(e=>ie(e,t,s)),U),ue=(e,t,s)=>ie(e,(e=>de(e,t,s)),U),ge=(e,t)=>{const s=se();return ee(e,((e,n)=>s.set(n,t?.(e)??e))),s},he=e=>ge(e,ge),fe=e=>ge(e,he),be=(e,t,s,n,a=0)=>J((s?re:ae)(e,t[a],a>F(t)-2?s:se),(l=>{if(a>F(t)-2)return n?.(l)&&oe(e,t[a]),l;const o=be(l,t,s,n,a+1);return Z(l)&&oe(e,t[a]),o})),Te=(e="",t)=>[e,t],Ce=(e="")=>Te(e,se()),pe=e=>Te(e,$()),ve=([e,t],s)=>[e,s(t,e)],Ve=([e,t])=>[e,t],ye=(e,t)=>ve(e,(e=>ie(e,t))),Se=(e,t,s,n)=>K(e,((e,a)=>we(e,re(t,a,Ce),s[a]=$(),n))),we=([e,t],s,n,a)=>{e>s[0]&&(s[0]=e),a(t,s[1],n)},me=(e,t,s)=>K(e,(([e,n],a)=>{const l=re(t,a,Te);e>l[0]&&(l[0]=e,l[1]=s[a]=n)})),Ie=e=>new Set(Array.isArray(e)||M(e)?e:[e]),Re=(e,t)=>e?.add(t),Le=/^\d+$/,Me=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Le.test(t)&&F(e)<1e3&&A(e,t)}]},Je=e=>[e,e],Ee=()=>[se(),se()],He=e=>[...e],xe=([e,t])=>e===t,Fe=e=>{const s=t(e);return E(s)||s==l&&L(e)?s:void 0},Oe=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ze=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Ae=e=>JSON.stringify(e,((e,t)=>t instanceof Map?P.fromEntries([...t]):t)),Pe=JSON.parse,We=(e,t,s)=>M(e)||!B(e)||U(e)||D(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!U(e)),je=(e,t,s)=>oe(e,t,ae(e,t)==-s?void 0:s),ke=()=>{let e,t,n=!1,a=!1,o=0,d=[];const w=se(),m=se(),I=se(),R=se(),L=se(),P=se(),W=se(),j=se(),k=se(),D=se(),B=se(),$=se(),K=se(),Te=se(),Ce=Ie(),pe=se(),ve=se(),Ve=se(),ye=se(),Se=Ee(),we=Ee(),me=Ee(),Le=Ee(),De=Ee(),Ne=Ee(),Be=Ee(),$e=Ee(),qe=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),nt=Ee(),at=Ee(),lt=se(),ot=Ee(),[rt,ct,it,dt]=(e=>{let t;const[n,a]=Me(),l=se();return[(e,a,o,r=[],c=(()=>[]))=>{t??=Es;const i=n(1);return oe(l,i,[e,a,o,r,c]),Re(be(a,o??[s],Ie),i),i},(e,n,...a)=>O(((e,t=[s])=>{const n=[],a=(e,s)=>s==F(t)?A(n,e):null===t[s]?ee(e,(e=>a(e,s+1))):O([t[s],null],(t=>a(ae(e,t),s+1)));return a(e,0),n})(e,n),(e=>ee(e,(e=>ae(l,e)[0](t,...n??[],...a))))),e=>J(ae(l,e),(([,t,n])=>(be(t,n??[s],void 0,(t=>(te(t,e),Z(t)?1:0))),oe(l,e),a(e),n))),e=>J(ae(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=F(o);r==F(s)?e(t,...o,...a(o)):M(s[r])?O(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!We(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!E(t)&&t!=l||(Fe(e[c])!=t&&G(e,c),0))},gt=(t,s)=>(!e||Y(B,s)||Nt(s))&&We(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>We(n?s:Ct(s,e,t),((n,a)=>J(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?J(ae(ae(B,t),n),(e=>Fe(a)!=e[r]?Nt(t,s,n,a,e[c]):a),(()=>Nt(t,s,n,a))):M(Fe(a))?Nt(t,s,n,a):a,bt=(e,t)=>We(t?e:pt(e),((t,s)=>J(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?J(ae(K,e),(t=>Fe(s)!=t[r]?Bt(e,s,t[c]):s),(()=>Bt(e,s))):M(Fe(s))?Bt(e,s):s,Ct=(e,t,s)=>(J(ae($,t),(([n,a])=>{ee(n,((t,s)=>{q(e,s)||(e[s]=t)})),ee(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ee(Te,((t,s)=>{q(e,s)||(e[s]=t)})),ee(Ce,(t=>{q(e,t)||Bt(t)}))),e),vt=e=>ce(B,e,((e,t,s)=>{const n=se(),a=Ie();ce(re(B,t,se),s,((e,t,s)=>{oe(e,t,s),J(s[c],(e=>oe(n,t,e)),(()=>Re(a,t)))})),oe($,t,[n,a])}),((e,t)=>{oe(B,t),oe($,t)})),Vt=e=>ce(K,e,((e,t,s)=>{oe(K,t,s),J(s[c],(e=>oe(Te,t,e)),(()=>Re(Ce,t)))}),((e,t)=>{oe(K,t),oe(Te,t),te(Ce,t)})),yt=e=>U(e)?ys():Ts(e),St=e=>ce(Ve,e,((e,t,s)=>wt(t,s)),((e,t)=>xt(t))),wt=(e,t)=>ce(re(Ve,e,(()=>(At(e,1),oe(pe,e,Me()),oe(ve,e,se()),se()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Ft(e,t,s))),mt=(e,t,s,n,a)=>ce(re(t,s,(()=>(Pt(e,s,1),se()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),It=(e,t,s,n,a)=>{Y(s,n)||Wt(e,t,n,1);const l=ae(s,n);a!==l&&(jt(e,t,n,l,a),oe(s,n,a))},Rt=(e,t,s,n,a)=>J(ae(t,s),(t=>It(e,s,t,n,a)),(()=>mt(e,t,s,Ct({[n]:a},e,s)))),Lt=e=>U(e)?ms():Cs(e),Mt=e=>ce(ye,e,((e,t,s)=>Jt(t,s)),((e,t)=>zt(t))),Jt=(e,t)=>{Y(ye,e)||kt(e,1);const s=ae(ye,e);t!==s&&(Dt(e,s,t),oe(ye,e,t))},Et=(e,t)=>{const[s]=ae(pe,e),n=s(t);return Y(ae(Ve,e),n)?Et(e,t):n},Ht=e=>ae(Ve,e)??wt(e,{}),xt=e=>wt(e,{}),Ft=(e,t,s)=>{const[,n]=ae(pe,e);n(s),mt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const o=ae(ae($,e)?.[0],a);if(!M(o)&&!l)return It(e,s,n,a,o);const r=t=>{jt(e,s,t,ae(n,t)),Wt(e,s,t,-1),oe(n,t)};M(o)?r(a):le(n,r),Z(n)&&(Pt(e,s,-1),Z(oe(t,s))&&(At(e,-1),oe(Ve,e),oe(pe,e),oe(ve,e)))},zt=e=>{const t=ae(Te,e);if(!M(t))return Jt(e,t);Dt(e,ae(ye,e)),kt(e,-1),oe(ye,e)},At=(e,t)=>je(w,e,t),Pt=(e,t,s)=>je(re(R,e,se),t,s)&&oe(I,e,re(I,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ae(ve,e),l=ae(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&je(re(m,e,se),s,n),oe(a,s,l!=-n?l+n:null),je(re(re(L,e,se),t,se),s,n)},jt=(e,t,s,n,a)=>re(re(re(P,e,se),t,se),s,(()=>[n,0]))[1]=a,kt=(e,t)=>je(W,e,t),Dt=(e,t,s)=>re(j,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(A(re(re(re(k,e,se),t,se),s,(()=>[])),n),a),Bt=(e,t,s)=>(A(re(D,e,(()=>[])),t),s),$t=(e,t,s)=>J(ae(ae(ae(P,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(ls(e,t,s))])),qt=e=>J(ae(j,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Je(cs(e))])),Gt=e=>Z(k)||Z(Ze[e])?0:ee(e?fe(k):k,((t,s)=>ee(t,((t,n)=>ee(t,((t,a)=>ct(Ze[e],[s,n,a],t))))))),Kt=e=>Z(D)||Z(_e[e])?0:ee(e?ge(D):D,((t,s)=>ct(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Z(e))return ct(t,n,(()=>ie(e))),le(e,((e,t)=>ct(s,[...n??[],e],1==t))),1},Ut=e=>{const t=is();t!=n&&ct(Se[e],void 0,t);const s=Z(Ge[e]),a=Z(Ue[e])&&Z(Xe[e])&&Z(qe[e])&&Z(Ke[e])&&Z(Ne[e])&&Z(Be[e])&&Z($e[e])&&s&&Z(me[e])&&Z(Le[e]),l=Z(Ye[e])&&Z(Qe[e])&&Z(De[e])&&Z(we[e]);if(!a||!l){const t=e?[ge(w),he(m),ge(I),he(R),fe(L),fe(P)]:[w,m,I,R,L,P];if(!a){Qt(t[0],me[e],Le[e]),ee(t[1],((t,s)=>Qt(t,Ne[e],Be[e],[s]))),ee(t[2],((t,s)=>{0!=t&&ct($e[e],[s],ts(s))}));const n=Ie();ee(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(ct(Ge[e],[a,null]),Re(n,a))})),s||ee(t[5],((t,s)=>{if(!Y(n,s)){const n=Ie();ee(t,(e=>ee(e,(([t,s],a)=>s!==t?Re(n,a):te(e,a))))),ee(n,(t=>ct(Ge[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ee(t[5],((t,n)=>{let a;ee(t,((t,l)=>{let o;ee(t,(([t,r],c)=>{r!==t&&(ct(Ye[e],[n,l,c],r,t,$t),s=a=o=1)})),o&&ct(Qe[e],[n,l],$t)})),a&&ct(De[e],[n],$t)})),s&&ct(we[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&ct(et[e],void 0,t);const s=Z(st[e])&&Z(nt[e]),n=Z(at[e])&&Z(tt[e]);if(!s||!n){const t=e?[ge(W),ge(j)]:[W,j];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ee(t[1],(([t,n],a)=>{n!==t&&(ct(at[e],[a],n,t,qt),s=1)})),s&&ct(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Ls((()=>e(...z(t,S)))),Es),Zt=()=>ue(Ve),_t=()=>ne(Ve),es=e=>ne(ae(ve,S(e))),ts=e=>X(ae(Ve,S(e))),ss=e=>ne(ae(Ve,S(e))),ns=(e,t,s,n=0,a)=>{return z(x((o=ae(Ve,S(e)),r=(e,s)=>[M(t)?s:ae(e,S(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,M(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>ne(ae(ae(Ve,S(e)),S(t))),ls=(e,t,s)=>ae(ae(ae(Ve,S(e)),S(t)),S(s)),os=()=>ie(ye),rs=()=>ne(ye),cs=e=>ae(ye,S(e)),is=()=>!Z(Ve),ds=e=>Y(Ve,S(e)),us=(e,t)=>Y(ae(ve,S(e)),S(t)),gs=(e,t)=>Y(ae(Ve,S(e)),S(t)),hs=(e,t,s)=>Y(ae(ae(Ve,S(e)),S(t)),S(s)),fs=()=>!Z(ye),bs=e=>Y(ye,S(e)),Ts=e=>Yt((()=>(e=>We(e,gt,Nt))(e)?St(e):0)),Cs=e=>Yt((()=>bt(e)?Mt(e):0)),ps=e=>{try{yt(Pe(e))}catch{}return Es},vs=t=>Yt((()=>{if((e=We(t,(e=>We(e,ut))))&&(vt(t),!Z(Ve))){const e=Zt();ys(),Ts(e)}})),Vs=e=>Yt((()=>{if(t=(e=>We(e,ut))(e)){const s=os();Rs(),ms(),t=!0,Vt(e),Cs(s)}})),ys=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>Y(Ve,e)?xt(e):0),e),ws=(e,t)=>Yt(((e,t)=>J(ae(Ve,e),(s=>Y(s,t)?Ft(e,s,t):0))),e,t),ms=()=>Yt((()=>Mt({}))),Is=()=>Yt((()=>{vt({}),e=!1})),Rs=()=>Yt((()=>{Vt({}),t=!1})),Ls=(e,t)=>{if(-1!=o){Ms();const s=e();return Js(t),s}},Ms=()=>(-1!=o&&o++,1==o&&ct(lt,void 0),Es),Js=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),Z(P)||Ut(1),Kt(1),Z(j)||Xt(1),e?.(Es)&&(ee(P,((e,t)=>ee(e,((e,s)=>ee(e,(([e],n)=>Oe(Es,t,s,n,e))))))),_(P),ee(j,(([e],t)=>ze(Es,t,e))),_(j)),ct(ot[0],void 0),o=-1,Gt(0),Z(P)||Ut(0),Kt(0),Z(j)||Xt(0),d[0]?.(Es),ct(ot[1],void 0),d[1]?.(Es),o=0,n=is(),a=fs(),O([w,m,I,R,L,P,k,W,j,D],_))),Es),Es={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>de(ae(Ve,S(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ie(ae(ae(Ve,S(e)),S(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:cs,hasTables:is,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ae(Ve),getValuesJson:()=>Ae(ye),getJson:()=>Ae([Ve,ye]),getTablesSchemaJson:()=>Ae(B),getValuesSchemaJson:()=>Ae(K),getSchemaJson:()=>Ae([B,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(U(e)?ys:Ts)(e),(U(t)?ms:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?mt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=S(e),mt(e,Ht(e),n=Et(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ht(e);Q(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>J(ft(e,t,s,H(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ht(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>Yt((e=>J(Tt(e,H(t)?t(cs(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>M(e)?Ss(t):Q(e,((e,s)=>M(e)?ws(t,s):Q(e,((e,n)=>Oe(Es,t,s,n,e))))))),Q(e[1],((e,t)=>ze(Es,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Lt(Pe(e))}catch{}return Es},setJson:e=>Yt((()=>{try{const[t,s]=Pe(e);yt(t),Lt(s)}catch{ps(e)}})),setTablesSchema:vs,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{vs(e),Vs(t)})),delTables:ys,delTable:Ss,delRow:ws,delCell:(e,t,s,n)=>Yt(((e,t,s)=>J(ae(Ve,e),(a=>J(ae(a,t),(l=>Y(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Yt((e=>Y(ye,e)?zt(e):0),e),delTablesSchema:Is,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Is(),Rs()})),transaction:Ls,startTransaction:Ms,getTransactionChanges:()=>[ie(P,((e,t)=>-1===ae(w,t)?void 0:ie(e,((e,s)=>-1===ae(ae(R,t),s)?void 0:ie(e,(([,e])=>e),((e,t)=>xe(t)))),U)),U),ie(j,(([,e])=>e),((e,t)=>xe(t)))],getTransactionLog:()=>[!Z(P),!Z(j),ue(P,He,xe),ue(k),ie(j,He,xe),ie(D),ie(w),de(R),ue(L),ie(W)],finishTransaction:Js,forEachTable:e=>ee(Ve,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(ae(ve,S(e)),t),forEachRow:(e,t)=>ee(ae(Ve,S(e)),((e,s)=>t(s,(t=>le(e,t))))),forEachCell:(e,t,s)=>le(ae(ae(Ve,S(e)),S(t)),s),forEachValue:e=>le(ye,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var c,i,d;i=r,F(c=o)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,l(Es,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Es),delListener:e=>(it(e),Es),getListenerStats:()=>({}),createStore:ke,addListener:rt,callListeners:ct,setInternalListeners:(e,t)=>d=[e,t]};return Q({[i+g]:[0,Se,[],()=>[is()]],[g]:[0,we],[h]:[0,me],[i+u]:[1,Le,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+p]:[1,Ne,[_t]],[i+u+C]:[2,Be,[_t,es],e=>[us(...e)]],[b]:[1,$e,[_t]],[T]:[1,qe,[_t]],[i+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[p]:[2,Ue,[_t,ss]],[i+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Je(ls(...e))],InvalidCell:[3,Ze],[i+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[i+v]:[1,nt,[rs],e=>[bs(...e)]],[v]:[1,at,[rs],e=>Je(cs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Es["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),N(Es)},De=2**36,Ne=2**30,Be=2**24,$e=2**18,qe=4096,Ge=64,Ke=e=>String.fromCharCode(48+(63&e)),Qe=(e,t)=>I(e,t)-48,Ue={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},Xe=(e="")=>[e,[Ce(e),Ce(e)]];e.createMergeableStore=e=>{let t,n,a=1,l=Xe();const[o,r]=(e=>{let t=0,s=-1;const n=(a=(e,t)=>(e<<5)+e^I(t),((e,t="",s)=>e.split(t,s))(e).reduce(a,5381)>>>0);var a;const l=e=>{const n=t,[a,l]=M(e)?[0,0]:[Qe(o=e,0)*De+Qe(o,1)*Ne+Qe(o,2)*Be+Qe(o,3)*$e+Qe(o,4)*qe+Qe(o,5)*Ge+Qe(o,6),Qe(o,7)*$e+Qe(o,8)*qe+Qe(o,9)*Ge+Qe(o,10),Qe(o,11)*Be+Qe(o,12)*$e+Qe(o,13)*qe+Qe(o,14)*Ge+Qe(o,15)];var o;t=R(n,a,Date.now()),s=t==n?t==a?R(s,l):s:t==a?l:-1};return[()=>{return l(),a=++s,o=n,Ke((e=t)/De)+Ke(e/Ne)+Ke(e/Be)+Ke(e/$e)+Ke(e/qe)+Ke(e/Ge)+Ke(e)+Ke(a/$e)+Ke(a/qe)+Ke(a/Ge)+Ke(a)+Ke(o/Be)+Ke(o/$e)+Ke(o/qe)+Ke(o/Ge)+Ke(o);var e,a,o},l]})(e),c=ke(),i=e=>{const t=a;a=0,e(),a=t},d=()=>{if(M(n)){const[,,e,,n]=c.getTransactionLog(),a=U(e)&&U(n)?s:t??(t=o()),l=Te(a,[pe(U(e)?s:a),pe(U(n)?s:a)]),[[,r],[,i]]=l[1];return Q(e,((e,t)=>{const[,s]=r[t]=pe(a);Q(e,((e,t)=>{const[,n]=s[t]=pe(a);Q(e,(([,e],t)=>n[t]=Te(a,e)))}))})),Q(n,(([,e],t)=>i[t]=Te(a,e))),l}return n},u=e=>{const t=[{},{}];return r(e[0]),we(e,l,t,(([e,t],[s,n],[a,l])=>{we(e,s,a,((e,t,s)=>Se(e,t,s,((e,t,s)=>Se(e,t,s,me))))),we(t,n,l,me)})),i((()=>c.applyChanges(t))),g},g={getMergeableContent:()=>ve(l,(([e,t])=>[ye(e,(e=>ye(e,(e=>ye(e,Ve))))),ye(t,Ve)])),setMergeableContent:e=>(i((()=>c.transaction((()=>{c.delTables().delValues(),l=Xe()})))),u(e),g),getTransactionMergeableChanges:d,applyMergeableChanges:u,merge:e=>{const t=g.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableChanges(t),u(s)}};return c.setInternalListeners((()=>{if(a){n=d();const[e,[t,s]]=n,a=!U(t[1]),o=!U(s[1]),[,[r,c]]=l;(a||o)&&(l[0]=e),a&&(r[0]=e,Q(t[1],(([,t],s)=>{const n=re(r[1],s,Ce);n[0]=e,Q(t,(([,t],s)=>{const a=re(n[1],s,Ce);a[0]=e,Q(t,(([,t],s)=>oe(a[1],s,Te(e,t))))}))}))),o&&(c[0]=e,Q(s[1],(([,t],s)=>oe(c[1],s,Te(e,t)))))}}),(()=>t=n=void 0)),Q(c,((e,t)=>g[t]=w(t,"set")||w(t,"del")||w(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),g):w(t,"add")&&m(t,"Listener")?(...s)=>{const n=Ue[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(g,...t),e(...s)}:e)),N(g)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
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",g=u+"s",h=u+d,f="Row",T=f+"Count",b=f+d,C="Cell",p=C+d,V="Value",v=V+"s",y=V+d,S=e=>s+e,w=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),I=Math.max,R=isFinite,L=e=>null==e,H=(e,t,s)=>L(e)?s?.():t(e),J=e=>e==n||e==a,M=e=>t(e)==o,E=(e,t,s)=>e.slice(t,s),x=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.keys,k=A.isFrozen,D=A.freeze,N=e=>!L(e)&&H(P(e),(e=>e==A.prototype||L(P(e))),(()=>!0)),B=(e=[])=>A.fromEntries(e),$=(e,t)=>t in e,q=(e,t)=>(delete e[t],e),G=(e,t)=>F(W(e),(([e,s])=>t(s,e))),K=(e,t)=>O(W(e),(([e,s])=>t(s,e))),Q=e=>N(e)&&0==(e=>x(j(e)))(e),U=(e,t,s)=>($(e,t)||(e[t]=s()),e[t]),X=e=>e?.size??0,Y=(e,t)=>e?.has(t)??!1,Z=e=>L(e)||0==X(e),_=e=>e.clear(),ee=(e,t)=>e?.forEach(t),te=(e,t)=>e?.delete(t),se=e=>new Map(e),ne=e=>[...e?.keys()??[]],ae=(e,t)=>e?.get(t),le=(e,t)=>ee(e,((e,s)=>t(s,e))),oe=(e,t,s)=>L(s)?(te(e,t),e):e?.set(t,s),re=(e,t,s,n)=>(Y(e,t)?n?.(ae(e,t)):oe(e,t,s()),ae(e,t)),ie=(e,t,s,n=oe)=>(K(t,((t,n)=>s(e,n,t))),le(e,(s=>$(t,s)?0:n(e,s))),e),ce=(e,t,s)=>{const n={};return ee(e,((e,a)=>{const l=t?t(e,a):e;!s?.(l,e)&&(n[a]=l)})),n},de=(e,t,s)=>ce(e,(e=>ce(e,t,s)),Q),ue=(e,t,s)=>ce(e,(e=>de(e,t,s)),Q),ge=(e,t)=>{const s=se();return ee(e,((e,n)=>s.set(n,t?.(e)??e))),s},he=e=>ge(e,ge),fe=e=>ge(e,he),Te=(e,t,s,n,a=0)=>H((s?re:ae)(e,t[a],a>x(t)-2?s:se),(l=>{if(a>x(t)-2)return n?.(l)&&oe(e,t[a]),l;const o=Te(l,t,s,n,a+1);return Z(l)&&oe(e,t[a]),o})),be=new globalThis.TextEncoder,Ce=e=>{let t=2166136261;return F(be.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},pe=([e,t,s])=>[e,t,s],Ve=(e,t)=>[e,t],ve=(e,t)=>Ce(e+":"+t),ye=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},Se=e=>Ve(e,B()),we=(e="")=>[e,se(),0],me=()=>[s,void 0,0],Ie=([e,t,s],n)=>[e,n(t,e),s],Re=(e,t=pe)=>Ie(e,(e=>ce(e,t))),Le=e=>new Set(Array.isArray(e)||L(e)?e:[e]),He=(e,t)=>e?.add(t),Je=/^\d+$/,Me=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{Je.test(t)&&x(e)<1e3&&z(e,t)}]},Ee=e=>[e,e],xe=()=>[se(),se()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=e=>{const s=t(e);return J(s)||s==l&&R(e)?s:void 0},Ae=(e,t,s,n,a)=>L(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Pe=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),We=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),je=JSON.parse,ke=(e,t,s)=>L(e)||!N(e)||Q(e)||k(e)?(s?.(),!1):(K(e,((s,n)=>{t(s,n)||q(e,n)})),!Q(e)),De=(e,t,s)=>oe(e,t,ae(e,t)==-s?void 0:s),Ne=()=>{let e,t,n=!1,a=!1,o=0,d=[];const w=se(),m=se(),I=se(),R=se(),A=se(),P=se(),W=se(),j=se(),k=se(),N=se(),B=se(),G=se(),U=se(),be=se(),Ce=Le(),pe=se(),Ve=se(),ve=se(),ye=se(),Se=xe(),we=xe(),me=xe(),Ie=xe(),Re=xe(),Je=xe(),Be=xe(),$e=xe(),qe=xe(),Ge=xe(),Ke=xe(),Qe=xe(),Ue=xe(),Xe=xe(),Ye=xe(),Ze=xe(),_e=xe(),et=xe(),tt=xe(),st=xe(),nt=xe(),at=xe(),lt=se(),ot=xe(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=Me(),l=se();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Ms;const c=n(1);return oe(l,c,[e,a,o,r,i]),He(Te(a,o??[s],Le),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==x(t)?z(n,e):null===t[s]?ee(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(ae(e,t),s+1)));return a(e,0),n})(e,n),(e=>ee(e,(e=>ae(l,e)[0](t,...n??[],...a))))),e=>H(ae(l,e),(([,t,n])=>(Te(t,n??[s],void 0,(t=>(te(t,e),Z(t)?1:0))),oe(l,e),a(e),n))),e=>H(ae(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=x(o);r==x(s)?e(t,...o,...a(o)):L(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!ke(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=l||(ze(e[i])!=t&&q(e,i),0))},gt=(t,s)=>(!e||Y(B,s)||Nt(s))&&ke(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>ke(n?s:Ct(s,e,t),((n,a)=>H(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?H(ae(ae(B,t),n),(e=>ze(a)!=e[r]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):L(ze(a))?Nt(t,s,n,a):a,Tt=(e,t)=>ke(t?e:pt(e),((t,s)=>H(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),bt=(e,s)=>t?H(ae(U,e),(t=>ze(s)!=t[r]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):L(ze(s))?Bt(e,s):s,Ct=(e,t,s)=>(H(ae(G,t),(([n,a])=>{ee(n,((t,s)=>{$(e,s)||(e[s]=t)})),ee(a,(n=>{$(e,n)||Nt(t,s,n)}))})),e),pt=e=>(t&&(ee(be,((t,s)=>{$(e,s)||(e[s]=t)})),ee(Ce,(t=>{$(e,t)||Bt(t)}))),e),Vt=e=>ie(B,e,((e,t,s)=>{const n=se(),a=Le();ie(re(B,t,se),s,((e,t,s)=>{oe(e,t,s),H(s[i],(e=>oe(n,t,e)),(()=>He(a,t)))})),oe(G,t,[n,a])}),((e,t)=>{oe(B,t),oe(G,t)})),vt=e=>ie(U,e,((e,t,s)=>{oe(U,t,s),H(s[i],(e=>oe(be,t,e)),(()=>He(Ce,t)))}),((e,t)=>{oe(U,t),oe(be,t),te(Ce,t)})),yt=e=>Q(e)?ys():bs(e),St=e=>ie(ve,e,((e,t,s)=>wt(t,s)),((e,t)=>xt(t))),wt=(e,t)=>ie(re(ve,e,(()=>(At(e,1),oe(pe,e,Me()),oe(Ve,e,se()),se()))),t,((t,s,n)=>mt(e,t,s,n)),((t,s)=>Ft(e,t,s))),mt=(e,t,s,n,a)=>ie(re(t,s,(()=>(Pt(e,s,1),se()))),n,((t,n,a)=>It(e,s,t,n,a)),((n,l)=>Ot(e,t,s,n,l,a))),It=(e,t,s,n,a)=>{Y(s,n)||Wt(e,t,n,1);const l=ae(s,n);a!==l&&(jt(e,t,n,l,a),oe(s,n,a))},Rt=(e,t,s,n,a)=>H(ae(t,s),(t=>It(e,s,t,n,a)),(()=>mt(e,t,s,Ct({[n]:a},e,s)))),Lt=e=>Q(e)?ms():Cs(e),Ht=e=>ie(ye,e,((e,t,s)=>Jt(t,s)),((e,t)=>zt(t))),Jt=(e,t)=>{Y(ye,e)||kt(e,1);const s=ae(ye,e);t!==s&&(Dt(e,s,t),oe(ye,e,t))},Mt=(e,t)=>{const[s]=ae(pe,e),n=s(t);return Y(ae(ve,e),n)?Mt(e,t):n},Et=e=>ae(ve,e)??wt(e,{}),xt=e=>wt(e,{}),Ft=(e,t,s)=>{const[,n]=ae(pe,e);n(s),mt(e,t,s,{},!0)},Ot=(e,t,s,n,a,l)=>{const o=ae(ae(G,e)?.[0],a);if(!L(o)&&!l)return It(e,s,n,a,o);const r=t=>{jt(e,s,t,ae(n,t)),Wt(e,s,t,-1),oe(n,t)};L(o)?r(a):le(n,r),Z(n)&&(Pt(e,s,-1),Z(oe(t,s))&&(At(e,-1),oe(ve,e),oe(pe,e),oe(Ve,e)))},zt=e=>{const t=ae(be,e);if(!L(t))return Jt(e,t);Dt(e,ae(ye,e)),kt(e,-1),oe(ye,e)},At=(e,t)=>De(w,e,t),Pt=(e,t,s)=>De(re(R,e,se),t,s)&&oe(I,e,re(I,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ae(Ve,e),l=ae(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&De(re(m,e,se),s,n),oe(a,s,l!=-n?l+n:null),De(re(re(A,e,se),t,se),s,n)},jt=(e,t,s,n,a)=>re(re(re(P,e,se),t,se),s,(()=>[n,0]))[1]=a,kt=(e,t)=>De(W,e,t),Dt=(e,t,s)=>re(j,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(re(re(re(k,e,se),t,se),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(re(N,e,(()=>[])),t),s),$t=(e,t,s)=>H(ae(ae(ae(P,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(ls(e,t,s))])),qt=e=>H(ae(j,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ee(is(e))])),Gt=e=>Z(k)||Z(Ze[e])?0:ee(e?fe(k):k,((t,s)=>ee(t,((t,n)=>ee(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>Z(N)||Z(_e[e])?0:ee(e?ge(N):N,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!Z(e))return it(t,n,(()=>ce(e))),le(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=Z(Ge[e]),a=Z(Ue[e])&&Z(Xe[e])&&Z(qe[e])&&Z(Ke[e])&&Z(Je[e])&&Z(Be[e])&&Z($e[e])&&s&&Z(me[e])&&Z(Ie[e]),l=Z(Ye[e])&&Z(Qe[e])&&Z(Re[e])&&Z(we[e]);if(!a||!l){const t=e?[ge(w),he(m),ge(I),he(R),fe(A),fe(P)]:[w,m,I,R,A,P];if(!a){Qt(t[0],me[e],Ie[e]),ee(t[1],((t,s)=>Qt(t,Je[e],Be[e],[s]))),ee(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=Le();ee(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),He(n,a))})),s||ee(t[5],((t,s)=>{if(!Y(n,s)){const n=Le();ee(t,(e=>ee(e,(([t,s],a)=>s!==t?He(n,a):te(e,a))))),ee(n,(t=>it(Ge[e],[s,t])))}})),ee(t[4],((t,s)=>ee(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ee(t[5],((t,n)=>{let a;ee(t,((t,l)=>{let o;ee(t,(([t,r],i)=>{r!==t&&(it(Ye[e],[n,l,i],r,t,$t),s=a=o=1)})),o&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(we[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=Z(st[e])&&Z(nt[e]),n=Z(at[e])&&Z(tt[e]);if(!s||!n){const t=e?[ge(W),ge(j)]:[W,j];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ee(t[1],(([t,n],a)=>{n!==t&&(it(at[e],[a],n,t,qt),s=1)})),s&&it(tt[e],void 0,qt)}}},Yt=(e,...t)=>(Ls((()=>e(...O(t,S)))),Ms),Zt=()=>ue(ve),_t=()=>ne(ve),es=e=>ne(ae(Ve,S(e))),ts=e=>X(ae(ve,S(e))),ss=e=>ne(ae(ve,S(e))),ns=(e,t,s,n=0,a)=>{return O(E((o=ae(ve,S(e)),r=(e,s)=>[L(t)?s:ae(e,S(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,L(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>ne(ae(ae(ve,S(e)),S(t))),ls=(e,t,s)=>ae(ae(ae(ve,S(e)),S(t)),S(s)),os=()=>ce(ye),rs=()=>ne(ye),is=e=>ae(ye,S(e)),cs=()=>!Z(ve),ds=e=>Y(ve,S(e)),us=(e,t)=>Y(ae(Ve,S(e)),S(t)),gs=(e,t)=>Y(ae(ve,S(e)),S(t)),hs=(e,t,s)=>Y(ae(ae(ve,S(e)),S(t)),S(s)),fs=()=>!Z(ye),Ts=e=>Y(ye,S(e)),bs=e=>Yt((()=>(e=>ke(e,gt,Nt))(e)?St(e):0)),Cs=e=>Yt((()=>Tt(e)?Ht(e):0)),ps=e=>{try{yt(je(e))}catch{}return Ms},Vs=t=>Yt((()=>{if((e=ke(t,(e=>ke(e,ut))))&&(Vt(t),!Z(ve))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>ke(e,ut))(e)){const s=os();Rs(),ms(),t=!0,vt(e),Cs(s)}})),ys=()=>Yt((()=>St({}))),Ss=e=>Yt((e=>Y(ve,e)?xt(e):0),e),ws=(e,t)=>Yt(((e,t)=>H(ae(ve,e),(s=>Y(s,t)?Ft(e,s,t):0))),e,t),ms=()=>Yt((()=>Ht({}))),Is=()=>Yt((()=>{Vt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Ls=(e,t)=>{if(-1!=o){Hs();const s=e();return Js(t),s}},Hs=()=>(-1!=o&&o++,1==o&&it(lt,void 0),Ms),Js=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),Z(P)||Ut(1),Kt(1),Z(j)||Xt(1),e?.(Ms)&&(ee(P,((e,t)=>ee(e,((e,s)=>ee(e,(([e],n)=>Ae(Ms,t,s,n,e))))))),_(P),ee(j,(([e],t)=>Pe(Ms,t,e))),_(j)),it(ot[0],void 0),o=-1,Gt(0),Z(P)||Ut(0),Kt(0),Z(j)||Xt(0),d[0]?.(Ms),it(ot[1],void 0),d[1]?.(Ms),o=0,n=cs(),a=fs(),F([w,m,I,R,A,P,k,W,j,N],_))),Ms),Ms={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>de(ae(ve,S(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ce(ae(ae(ve,S(e)),S(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:Ts,getTablesJson:()=>We(ve),getValuesJson:()=>We(ye),getJson:()=>We([ve,ye]),getTablesSchemaJson:()=>We(B),getValuesSchemaJson:()=>We(U),getSchemaJson:()=>We([B,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(Q(e)?ys:bs)(e),(Q(t)?ms:Cs)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>gt(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?mt(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ls((()=>{let n;return ht(e,n,t)&&(e=S(e),mt(e,Et(e),n=Mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);K(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>H(ft(e,t,s,M(n)?n(ls(e,t,s)):n),(n=>Rt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>Tt(e,1)?K(e,((e,t)=>Jt(t,e))):0)),setValue:(e,t)=>Yt((e=>H(bt(e,M(t)?t(is(e)):t),(t=>Jt(e,t)))),e),applyChanges:e=>Yt((()=>{K(e[0],((e,t)=>L(e)?Ss(t):K(e,((e,s)=>L(e)?ws(t,s):K(e,((e,n)=>Ae(Ms,t,s,n,e))))))),K(e[1],((e,t)=>Pe(Ms,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Lt(je(e))}catch{}return Ms},setJson:e=>Yt((()=>{try{const[t,s]=je(e);yt(t),Lt(s)}catch{ps(e)}})),setTablesSchema:Vs,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{Vs(e),vs(t)})),delTables:ys,delTable:Ss,delRow:ws,delCell:(e,t,s,n)=>Yt(((e,t,s)=>H(ae(ve,e),(a=>H(ae(a,t),(l=>Y(l,s)?Ot(e,a,t,l,s,n):0))))),e,t,s),delValues:ms,delValue:e=>Yt((e=>Y(ye,e)?zt(e):0),e),delTablesSchema:Is,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Is(),Rs()})),transaction:Ls,startTransaction:Hs,getTransactionChanges:()=>[ce(P,((e,t)=>-1===ae(w,t)?void 0:ce(e,((e,s)=>-1===ae(ae(R,t),s)?void 0:ce(e,(([,e])=>e),((e,t)=>Oe(t)))),Q)),Q),ce(j,(([,e])=>e),((e,t)=>Oe(t)))],getTransactionLog:()=>[!Z(P),!Z(j),ue(P,Fe,Oe),ue(k),ce(j,Fe,Oe),ce(N),ce(w),de(R),ue(A),ce(W)],finishTransaction:Js,forEachTable:e=>ee(ve,((t,s)=>e(s,(e=>ee(t,((t,s)=>e(s,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(ae(Ve,S(e)),t),forEachRow:(e,t)=>ee(ae(ve,S(e)),((e,s)=>t(s,(t=>le(e,t))))),forEachCell:(e,t,s)=>le(ae(ae(ve,S(e)),S(t)),s),forEachValue:e=>le(ye,e),addSortedRowIdsListener:(e,t,s,n,a,l,o)=>{let r=ns(e,t,s,n,a);return rt((()=>{const o=ns(e,t,s,n,a);var i,c,d;c=r,x(i=o)===x(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Ms,e,t,s,n,a,r))}),Ge[o?1:0],[e,t],[_t])},addStartTransactionListener:e=>rt(e,lt),addWillFinishTransactionListener:e=>rt(e,ot[0]),addDidFinishTransactionListener:e=>rt(e,ot[1]),callListener:e=>(dt(e),Ms),delListener:e=>(ct(e),Ms),getListenerStats:()=>({}),createStore:Ne,addListener:rt,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return K({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,we],[h]:[0,me],[c+u]:[1,Ie,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+p]:[1,Je,[_t]],[c+u+C]:[2,Be,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[p]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Ee(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[fs()]],[v]:[0,tt],[y]:[0,st],[c+V]:[1,nt,[rs],e=>[Ts(...e)]],[V]:[1,at,[rs],e=>Ee(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Ms["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?E(a,0,e):void 0,s,n)})),D(Ms)},Be=2**36,$e=2**30,qe=2**24,Ge=2**18,Ke=4096,Qe=64,Ue=e=>String.fromCharCode(48+(63&e)),Xe=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,Ye={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},Ze=(e="")=>[e,[we(e),we(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=Ze();const[o,r]=(e=>{let t=0,s=-1;const n=Ce(e),a=e=>{const n=t,[a,l]=L(e)?[0,0]:[Xe(o=e,0)*Be+Xe(o,1)*$e+Xe(o,2)*qe+Xe(o,3)*Ge+Xe(o,4)*Ke+Xe(o,5)*Qe+Xe(o,6),Xe(o,7)*Ge+Xe(o,8)*Ke+Xe(o,9)*Qe+Xe(o,10),Xe(o,11)*qe+Xe(o,12)*Ge+Xe(o,13)*Ke+Xe(o,14)*Qe+Xe(o,15)];var o;t=I(n,a,Date.now()),s=t==n?t==a?I(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,o=n,Ue((e=t)/Be)+Ue(e/$e)+Ue(e/qe)+Ue(e/Ge)+Ue(e/Ke)+Ue(e/Qe)+Ue(e)+Ue(l/Ge)+Ue(l/Ke)+Ue(l/Qe)+Ue(l)+Ue(o/qe)+Ue(o/Ge)+Ue(o/Ke)+Ue(o/Qe)+Ue(o);var e,l,o},a]})(e),i=Ne(),c=e=>{const t=a;a=0,e(),a=t},d=(e,t=0)=>{const s={},n={},[a,[[o,r,i],c],d]=e,[,[g,h]]=l,[f,T,b]=g;if(o){let e=t?i:b^(o>f?(f?Ce(f):0)^Ce(o):0);G(r,(([n,a,l],o)=>{const r=re(T,o,we),[i,c,d]=r;let g=t?l:d^(n>i?(i?Ce(i):0)^Ce(n):0);G(a,((e,n)=>{const[a,l]=u(e,re(c,n,we),U(U(s,o,B),n,B),t);g^=t?0:(a?ve(n,a):0)^ve(n,l)})),ye(r,g,n),e^=t?0:(d?ve(o,d):0)^ve(o,r[2])})),ye(g,e,o)}return u(c,h,n,t),ye(l,t?d:g[2]^h[2],a),[s,n]},u=(e,t,s,n)=>{const[a,l,o]=e,[r,i,c]=t;if(a){let e=n?o:c^(a>r?(r?Ce(r):0)^Ce(a):0);G(l,(([t,a,l],o)=>{const r=re(i,o,me),[c,,d]=r;t>c&&(ye(r,n?l:Ce(We(a??null)+":"+t),t),r[1]=a,s[o]=a,e^=n?0:ve(o,d)^ve(o,r[2]))})),ye(t,e,a)}return[c,t[2]]},g=()=>Ie(l,(([e,t])=>[Re(e,(e=>Re(e,(e=>Re(e))))),Re(t)])),h=()=>{if(L(n)){const[,,e,,n]=i.getTransactionLog(),a=Q(e)&&Q(n)?s:t??(t=o()),l=Ve(a,[Se(Q(e)?s:a),Se(Q(n)?s:a)]),[[,r],[,c]]=l[1];return K(e,((e,t)=>{const[,s]=r[t]=Se(a);K(e,((e,t)=>{const[,n]=s[t]=Se(a);K(e,(([,e],t)=>n[t]=Ve(a,e)))}))})),K(n,(([,e],t)=>c[t]=Ve(a,e))),l}return n},f=e=>(r(e[0]),c((()=>i.applyChanges(d(e)))),T),T={getMergeableContent:g,setMergeableContent:e=>(c((()=>i.transaction((()=>{i.delTables().delValues(),l=Ze()})))),r(e[0]),c((()=>i.applyChanges(d(e,1)))),T),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)},getContentHash:()=>l[2],getTablesHash:()=>l[1][0][2],getTableHash:e=>ae(l[1][0][1],e)?.[2]??0,getRowHash:(e,t)=>ae(ae(l[1][0][1],e)?.[1],t)?.[2]??0,getCellHash:(e,t,s)=>ae(ae(ae(l[1][0][1],e)?.[1],t)?.[1],s)?.[2]??0,getValuesHash:()=>l[1][1][2],getValueHash:e=>ae(l[1][1][1],e)?.[2]??0};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),K(i,((e,t)=>T[t]=w(t,"set")||w(t,"del")||w(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),T):w(t,"add")&&m(t,"Listener")?(...s)=>{const n=Ye[E(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(T,...t),e(...s)}:e)),D(T)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,r="",n=t(r),s=t(t),i=Math.max,o=Math.min,a=isFinite,c=e=>null==e,d=(e,t,r)=>c(e)?r?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,f=()=>{},h=(e,t)=>e.forEach(t),v=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),g=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,L=e=>c(e)||0==y(e),b=e=>[...e?.values()??[]],w=e=>e.clear(),T=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),I=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>T(e,((e,r)=>t(r,e))),S=(e,t,r)=>c(r)?(x(e,t),e):e?.set(t,r),j=(e,t,r)=>(m(e,t)||S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>d((r?j:E)(e,t[s],s>u(t)-2?r:I),(i=>{if(s>u(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return L(i)&&S(e,t[s]),o})),z=I([["avg",[(e,t)=>v(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:o(t,e)]],["sum",[e=>v(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(l(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,B=((e,i)=>{const o=new WeakMap;return e=>{o.has(e)||o.set(e,(e=>{const i=I(),[o,v,M]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??r+t++,t=>{N.test(t)&&u(e)<1e3&&g(e,t)}]})(),i=I();return[(e,s,o,a=[],c=(()=>[]))=>{t??=P;const d=n(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[r],A),d),d},(e,n,...s)=>h(((e,t=[r])=>{const n=[],s=(e,r)=>r==u(t)?g(n,e):null===t[r]?T(e,(e=>s(e,r+1))):h([t[r],null],(t=>s(E(e,t),r+1)));return s(e,0),n})(e,n),(e=>T(e,(e=>E(i,e)[0](t,...n??[],...s))))),e=>d(E(i,e),(([,t,n])=>(k(t,n??[r],void 0,(t=>(x(t,e),L(t)?1:0))),S(i,e),s(e),n))),e=>d(E(i,e),(([e,,r=[],n,s])=>{const i=(...o)=>{const a=u(o);a==u(r)?e(t,...o,...s(o)):c(r[a])?h(n[a]?.(...o)??[],(e=>i(...o,e))):i(...o,r[a])};i()}))]})(),[B,C,F,O,W,$,q,,G,H,J,K]=((e,t,n,s,i)=>{const o=e.hasRow,a=I(),f=I(),v=I(),M=I(),g=I(),p=I(),y=(t,r,...n)=>{const s=j(p,t,A);return h(n,(t=>D(s,t)&&r&&e.callListener(t))),n},k=(t,...r)=>d(E(p,t),(n=>{h(0==u(r)?b(n):r,(t=>{e.delListener(t),x(n,t)})),L(n)&&S(p,t)})),z=(e,r)=>{S(a,e,r),m(f,e)||(S(f,e,t()),S(M,e,I()),S(g,e,I()),i(v))},N=e=>{S(a,e),S(f,e),S(M,e),S(g,e),k(e),i(v)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>R(f,e),e=>m(f,e),e=>E(a,e),e=>E(f,e),(e,t)=>S(f,e,t),z,(t,n,s,i,a)=>{z(t,n);const d=I(),f=I(),v=E(M,t),p=E(g,t),L=t=>{const s=r=>e.getCell(n,t,r),h=E(v,t),M=o(n,t)?(g=i(s,t),isNaN(g)||c(g)||!0===g||!1===g||g===r?void 0:1*g):void 0;var g,y,m,L;if(h===M||l(h)&&l(M)&&(m=M,u(y=h)===u(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||S(d,t,[h,M]),!c(a)){const e=E(p,t),r=o(n,t)?a(s,t):void 0;e!=r&&S(f,t,r)}},b=e=>{s((()=>{T(d,(([,e],t)=>S(v,t,e))),T(f,((e,t)=>S(p,t,e)))}),d,f,v,p,e),w(d),w(f)};R(v,L),e.hasTable(n)&&h(e.getRowIds(n),(e=>{m(v,e)||L(e)})),b(!0),k(t),y(t,0,e.addRowListener(n,null,((e,t,r)=>L(r))),e.addTableListener(n,(()=>b())))},N,e=>s(e,v),()=>R(p,N),y,k]})(e,f,0,o,v),P={setMetricDefinition:(e,r,o,d,l,u,f)=>{const h=t(o)==s?[o,l,u,f]:E(z,o)??E(z,"sum");return G(e,r,((t,r,n,s,o,d)=>{const l=$(e),u=y(s);d||=c(l),t();let f=((e,t,r,n,s,i=!1)=>{if(L(r))return;const[o,a,d,l]=s;return i||=c(e),T(n,(([r,n])=>{i||(e=c(r)?a?.(e,n,t++):c(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=c(e))})),i?o(b(r),y(r)):e})(l,u,s,r,h,d);a(f)||(f=void 0),f!=l&&(q(e,f),v(i,[e],f,l))}),(1,t(M=d)==n?e=>e(M):M??(()=>1))),P;var M},delMetricDefinition:e=>(H(e),P),getStore:B,getMetricIds:C,forEachMetric:F,hasMetric:O,getTableId:W,getMetric:$,addMetricIdsListener:J,addMetricListener:(e,t)=>o(t,i,[e]),delListener:e=>(M(e),P),destroy:K,getListenerStats:()=>({})};return p(P)})(e));return o.get(e)}})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,r="",n=t(r),s=t(t),i=Math.max,o=Math.min,a=isFinite,c=e=>null==e,d=(e,t,r)=>c(e)?r?.():t(e),l=e=>Array.isArray(e),u=e=>e.length,f=()=>{},h=(e,t)=>e.forEach(t),v=e=>M(e,((e,t)=>e+t),0),M=(e,t,r)=>e.reduce(t,r),g=(e,...t)=>e.push(...t),p=Object.freeze,y=e=>e?.size??0,m=(e,t)=>e?.has(t)??!1,L=e=>c(e)||0==y(e),b=e=>[...e?.values()??[]],w=e=>e.clear(),T=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),I=e=>new Map(e),E=(e,t)=>e?.get(t),R=(e,t)=>T(e,((e,r)=>t(r,e))),S=(e,t,r)=>c(r)?(x(e,t),e):e?.set(t,r),j=(e,t,r,n)=>(m(e,t)?n?.(E(e,t)):S(e,t,r()),E(e,t)),k=(e,t,r,n,s=0)=>d((r?j:E)(e,t[s],s>u(t)-2?r:I),(i=>{if(s>u(t)-2)return n?.(i)&&S(e,t[s]),i;const o=k(i,t,r,n,s+1);return L(i)&&S(e,t[s]),o})),z=I([["avg",[(e,t)=>v(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>i(...e),(e,t)=>i(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:i(t,e)]],["min",[e=>o(...e),(e,t)=>o(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:o(t,e)]],["sum",[e=>v(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),A=e=>new Set(l(e)||c(e)?e:[e]),D=(e,t)=>e?.add(t),N=/^\d+$/,B=((e,i)=>{const o=new WeakMap;return e=>{o.has(e)||o.set(e,(e=>{const i=I(),[o,v,M]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??r+t++,t=>{N.test(t)&&u(e)<1e3&&g(e,t)}]})(),i=I();return[(e,s,o,a=[],c=(()=>[]))=>{t??=P;const d=n(1);return S(i,d,[e,s,o,a,c]),D(k(s,o??[r],A),d),d},(e,n,...s)=>h(((e,t=[r])=>{const n=[],s=(e,r)=>r==u(t)?g(n,e):null===t[r]?T(e,(e=>s(e,r+1))):h([t[r],null],(t=>s(E(e,t),r+1)));return s(e,0),n})(e,n),(e=>T(e,(e=>E(i,e)[0](t,...n??[],...s))))),e=>d(E(i,e),(([,t,n])=>(k(t,n??[r],void 0,(t=>(x(t,e),L(t)?1:0))),S(i,e),s(e),n))),e=>d(E(i,e),(([e,,r=[],n,s])=>{const i=(...o)=>{const a=u(o);a==u(r)?e(t,...o,...s(o)):c(r[a])?h(n[a]?.(...o)??[],(e=>i(...o,e))):i(...o,r[a])};i()}))]})(),[B,C,F,O,W,$,q,,G,H,J,K]=((e,t,n,s,i)=>{const o=e.hasRow,a=I(),f=I(),v=I(),M=I(),g=I(),p=I(),y=(t,r,...n)=>{const s=j(p,t,A);return h(n,(t=>D(s,t)&&r&&e.callListener(t))),n},k=(t,...r)=>d(E(p,t),(n=>{h(0==u(r)?b(n):r,(t=>{e.delListener(t),x(n,t)})),L(n)&&S(p,t)})),z=(e,r)=>{S(a,e,r),m(f,e)||(S(f,e,t()),S(M,e,I()),S(g,e,I()),i(v))},N=e=>{S(a,e),S(f,e),S(M,e),S(g,e),k(e),i(v)};return[()=>e,()=>{return e=a,[...e?.keys()??[]];var e},e=>R(f,e),e=>m(f,e),e=>E(a,e),e=>E(f,e),(e,t)=>S(f,e,t),z,(t,n,s,i,a)=>{z(t,n);const d=I(),f=I(),v=E(M,t),p=E(g,t),L=t=>{const s=r=>e.getCell(n,t,r),h=E(v,t),M=o(n,t)?(g=i(s,t),isNaN(g)||c(g)||!0===g||!1===g||g===r?void 0:1*g):void 0;var g,y,m,L;if(h===M||l(h)&&l(M)&&(m=M,u(y=h)===u(m)&&(L=(e,t)=>m[t]===e,y.every(L)))||S(d,t,[h,M]),!c(a)){const e=E(p,t),r=o(n,t)?a(s,t):void 0;e!=r&&S(f,t,r)}},b=e=>{s((()=>{T(d,(([,e],t)=>S(v,t,e))),T(f,((e,t)=>S(p,t,e)))}),d,f,v,p,e),w(d),w(f)};R(v,L),e.hasTable(n)&&h(e.getRowIds(n),(e=>{m(v,e)||L(e)})),b(!0),k(t),y(t,0,e.addRowListener(n,null,((e,t,r)=>L(r))),e.addTableListener(n,(()=>b())))},N,e=>s(e,v),()=>R(p,N),y,k]})(e,f,0,o,v),P={setMetricDefinition:(e,r,o,d,l,u,f)=>{const h=t(o)==s?[o,l,u,f]:E(z,o)??E(z,"sum");return G(e,r,((t,r,n,s,o,d)=>{const l=$(e),u=y(s);d||=c(l),t();let f=((e,t,r,n,s,i=!1)=>{if(L(r))return;const[o,a,d,l]=s;return i||=c(e),T(n,(([r,n])=>{i||(e=c(r)?a?.(e,n,t++):c(n)?d?.(e,r,t--):l?.(e,n,r,t),i||=c(e))})),i?o(b(r),y(r)):e})(l,u,s,r,h,d);a(f)||(f=void 0),f!=l&&(q(e,f),v(i,[e],f,l))}),(1,t(M=d)==n?e=>e(M):M??(()=>1))),P;var M},delMetricDefinition:e=>(H(e),P),getStore:B,getMetricIds:C,forEachMetric:F,hasMetric:O,getTableId:W,getMetric:$,addMetricIdsListener:J,addMetricListener:(e,t)=>o(t,i,[e]),delListener:e=>(M(e),P),destroy:K,getListenerStats:()=>({})};return p(P)})(e));return o.get(e)}})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),c=o.entries,i=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),l=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),u=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,a])=>t(a,e))),p=e=>i(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},C=(e,t,a)=>{var n,s;return n=e,s=t,n?.has(s)||w(e,t,a()),v(e,t)},b=f(),A=f(),L=e=>{return n=e?.[0],t(n)==a;var n},M=(e,t)=>[e[t].t,e[t].v],m=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(l(e,t)||(e[t]={}),e[t]))(e,t);let r;return u(a,((e,t)=>{s(o,t,e)&&(r=1)})),u(o,((e,t)=>{l(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,t,a="tinybase",o)=>(t.change((e=>e[a]={})),((e,t,a,o,r,c,i,[y,l]=[],g=[])=>{let u,p,f,M=0,m=0;C(b,g,(()=>0)),C(A,g,(()=>[]));const[S,T,x,P]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),j=async e=>(2!=M&&(M=1,await D.schedule((async()=>{await e(),M=0}))),D),D={load:async(a,n)=>await j((async()=>{try{const a=await t();(S&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(D.stopAutoLoad(),await D.load(a,n),m=1,f=o((async(a,n)=>{if(n){const t=n();await j((async()=>(S&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await j((async()=>{try{const n=a?.()??await t();(S&&L(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),D),stopAutoLoad:()=>(m&&(r(f),f=void 0,m=0),D),save:async e=>(1!=M&&(M=2,await D.schedule((async()=>{try{await a(T,e)}catch(e){c?.(e)}M=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=x();P(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(u,e.delListener),u=void 0,D),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(b,g)){for(w(b,g,1);!n((e=v(A,g),p=e.shift()));)try{await p()}catch(e){c?.(e)}w(b,g,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(D[y]=()=>l),d(D)})(e,(async()=>{const e=await t.doc();return 2==p(e[a])?M(e,a):void 0}),(async(e,o)=>t.change((t=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,c]=M(e,t),i=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,u(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>u(e,((e,a)=>d?0:n(e)?g(t,a):s(y(t,a),(t=>u(e,((e,a)=>n(e)?g(t,a):t[a]=e))),i)))),i))),u(t,((e,t)=>d?0:n(e)?g(c,t):c[t]=e))})),d){const[e,t]=a();m(r,void 0,e,((e,t,a)=>m(r,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),m(c,void 0,t,((e,t,a)=>{y(c,t)!==a&&(c[t]=a)}))}})(t,a,e,o)))),(e=>{const n=({doc:t})=>e((()=>M(t,a)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),o,!1,["getDocHandle",t]))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),c=o.entries,i=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),l=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),u=(e,t)=>((e,t)=>e.map(t))(c(e),(([e,a])=>t(a,e))),p=e=>i(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},C=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(v(e,t)):w(e,t,a()),v(e,t)},b=f(),A=f(),L=e=>{return n=e?.[0],t(n)==a;var n},M=(e,t)=>[e[t].t,e[t].v],m=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(l(e,t)||(e[t]={}),e[t]))(e,t);let r;return u(a,((e,t)=>{s(o,t,e)&&(r=1)})),u(o,((e,t)=>{l(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,t,a="tinybase",o)=>(t.change((e=>e[a]={})),((e,t,a,o,r,c,i,[y,l]=[],g=[])=>{let u,p,f,M=0,m=0;C(b,g,(()=>0)),C(A,g,(()=>[]));const[S,T,x,P]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(i,e),j=async e=>(2!=M&&(M=1,await D.schedule((async()=>{await e(),M=0}))),D),D={load:async(a,n)=>await j((async()=>{try{const a=await t();(S&&L(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,n])}})),startAutoLoad:async(a={},n={})=>(D.stopAutoLoad(),await D.load(a,n),m=1,f=o((async(a,n)=>{if(n){const t=n();await j((async()=>(S&&L(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await j((async()=>{try{const n=a?.()??await t();(S&&L(n)?e.setMergeableContent:e.setContent)(n)}catch(e){c?.(e)}}))})),D),stopAutoLoad:()=>(m&&(r(f),f=void 0,m=0),D),save:async e=>(1!=M&&(M=2,await D.schedule((async()=>{try{await a(T,e)}catch(e){c?.(e)}M=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=x();P(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(u,e.delListener),u=void 0,D),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(A,g),...e),await(async()=>{if(!v(b,g)){for(w(b,g,1);!n((e=v(A,g),p=e.shift()));)try{await p()}catch(e){c?.(e)}w(b,g,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return y&&(D[y]=()=>l),d(D)})(e,(async()=>{const e=await t.doc();return 2==p(e[a])?M(e,a):void 0}),(async(e,o)=>t.change((t=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,c]=M(e,t),i=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,u(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>u(e,((e,a)=>d?0:n(e)?g(t,a):s(y(t,a),(t=>u(e,((e,a)=>n(e)?g(t,a):t[a]=e))),i)))),i))),u(t,((e,t)=>d?0:n(e)?g(c,t):c[t]=e))})),d){const[e,t]=a();m(r,void 0,e,((e,t,a)=>m(r,t,a,((e,t,a)=>m(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),m(c,void 0,t,((e,t,a)=>{y(c,t)!==a&&(c[t]=a)}))}})(t,a,e,o)))),(e=>{const n=({doc:t})=>e((()=>M(t,a)));return t.on("change",n),n}),(e=>{t.removeListener("change",e)}),o,!1,["getDocHandle",t]))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,y=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),l=JSON.parse,g=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a)=>{var s,n;return s=e,n=t,s?.has(n)||u(e,t,a()),d(e,t)},f=g(),h=g(),v=e=>{return s=e?.[0],t(s)==a;var s},w="storage",C=globalThis.window,S=(e,t,a,r)=>((e,t,a,o,r,i,l,[g,w]=[],C=[])=>{let S,b,A,L=0,M=0;p(f,C,(()=>0)),p(h,C,(()=>[]));const[m,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!y(e)||!y(t)])(l,e),x=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),E={load:async(a,s)=>await x((async()=>{try{const a=await t();(m&&v(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(E.stopAutoLoad(),await E.load(a,s),M=1,A=o((async(a,s)=>{if(s){const t=s();await x((async()=>(m&&v(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await x((async()=>{try{const s=a?.()??await t();(m&&v(s)?e.setMergeableContent:e.setContent)(s)}catch(e){i?.(e)}}))})),E),stopAutoLoad:()=>(M&&(r(A),A=void 0,M=0),E),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(T,e)}catch(e){i?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=e.addDidFinishTransactionListener((()=>{const e=O();P(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(S,e.delListener),S=void 0,E),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,C),...e),await(async()=>{if(!d(f,C)){for(u(f,C,1);!s((e=d(h,C),b=e.shift()));)try{await b()}catch(e){i?.(e)}u(f,C,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(E[g]=()=>w),c(E)})(e,(async()=>l(a.getItem(t))),(async e=>{return a.setItem(t,(s=e(),JSON.stringify(s,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var s}),(e=>{const s=s=>{s.storageArea===a&&s.key===t&&e((()=>l(s.newValue)))};return C.addEventListener(w,s),s}),(e=>C.removeEventListener(w,e)),r,!0,["getStorageName",t]);e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,y=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),l=JSON.parse,g=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):u(e,t,a()),d(e,t)},f=g(),h=g(),v=e=>{return s=e?.[0],t(s)==a;var s},w="storage",C=globalThis.window,S=(e,t,a,r)=>((e,t,a,o,r,i,l,[g,w]=[],C=[])=>{let S,b,A,L=0,M=0;p(f,C,(()=>0)),p(h,C,(()=>[]));const[m,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!y(e)||!y(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!y(e)||!y(t)])(l,e),x=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),E={load:async(a,s)=>await x((async()=>{try{const a=await t();(m&&v(a)?e.setMergeableContent:e.setContent)(a)}catch{e.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(E.stopAutoLoad(),await E.load(a,s),M=1,A=o((async(a,s)=>{if(s){const t=s();await x((async()=>(m&&v(t)?e.applyMergeableChanges:e.applyChanges)(t)))}else await x((async()=>{try{const s=a?.()??await t();(m&&v(s)?e.setMergeableContent:e.setContent)(s)}catch(e){i?.(e)}}))})),E),stopAutoLoad:()=>(M&&(r(A),A=void 0,M=0),E),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await a(T,e)}catch(e){i?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),S=e.addDidFinishTransactionListener((()=>{const e=O();P(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(S,e.delListener),S=void 0,E),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,C),...e),await(async()=>{if(!d(f,C)){for(u(f,C,1);!s((e=d(h,C),b=e.shift()));)try{await b()}catch(e){i?.(e)}u(f,C,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return g&&(E[g]=()=>w),c(E)})(e,(async()=>l(a.getItem(t))),(async e=>{return a.setItem(t,(s=e(),JSON.stringify(s,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var s}),(e=>{const s=s=>{s.storageArea===a&&s.key===t&&e((()=>l(s.newValue)))};return C.addEventListener(w,s),s}),(e=>C.removeEventListener(w,e)),r,!0,["getStorageName",t]);e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
@@ -1 +1 @@
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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),x=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),U=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),j(a,t)),q=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),J=(a,t)=>a?.add(t),z=m+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=x();return[async()=>q(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,q(k(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?I(C(v(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=G();$(c??{},(a=>v(D(a??{}),(a=>J(E,a)))));const u=O(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=j(o,t),i=G(H(s));await d([...v(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(u,(a=>s+T(a))))});`),Y(o,t,x([[e,n],...v(u,(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]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=C(H(j(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{h(s,t,...v(n,(t=>a?.[t]))),h(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)+g(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=x(),ea=x(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),A=async a=>(2!=p&&(p=1,await C.schedule((async()=>{await a(),p=0}))),C),C={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),C),save:async a=>(1!=p&&(p=2,await C.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(E,a.delListener),E=void 0,C),schedule:async(...a)=>(h(j(ea,w),...a),await(async()=>{if(!j(ta,w)){for(Y(ta,w,1);!l((a=j(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(C[c]=()=>r),M(C)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[m,g,v,A]=Q(t,w,s,T),h=async(a,t)=>await d(U(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await m();const a=await(async()=>I(C(await d(U(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),l(t)){const[t,e]=a();await h(t),await L(e)}else{const[a,e]=t();await h(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=x();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[g,v,A,C]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=G(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>J(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>J(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,O(C),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,n,s)=>ga(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>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).TinyBasePersisterCrSqliteWasm={});
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,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>c.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),A=a=>0==u(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,N=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,M=b.freeze,I=(a=[])=>b.fromEntries(a),P=(...a)=>b.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>v(S(a),(([a,e])=>t(e,a))),_=a=>b.values(a),B=a=>u(D(a)),W=a=>(a=>!l(a)&&y(N(a),(a=>a==b.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),x=a=>new Map(a),H=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),U=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(L(a,t)?n?.(j(a,t)):Y(a,t,e()),j(a,t)),q=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),G=a=>new Set(Array.isArray(a)||l(a)?a:[a]),J=(a,t)=>a?.add(t),z=m+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const o=x();return[async()=>q(o,I(await d(v(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(v(await a(m+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(o,t,q(k(o,t,x),e,((a,t,e)=>{e!=j(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(o,t))),async(t,e)=>((a,t)=>!l(j(j(o,a),t)))(t,e)?I(C(v(await a(z+T(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!W(t)))):{},async(t,e,c,r,y,w=!1)=>{const E=G();$(c??{},(a=>v(D(a??{}),(a=>J(E,a)))));const u=O(E);if(!w&&y&&A(u)&&L(o,t))return await a("DROP TABLE"+T(t)),void Y(o,t);if(A(u)||L(o,t)){const s=j(o,t),i=G(H(s));await d([...v(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?v(O(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${g(v(u,(a=>s+T(a))))});`),Y(o,t,x([[e,n],...v(u,(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]):A(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(A(u))L(o,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=C(H(j(o,t)),(a=>a!=e)),s=[],i=[];$(c??{},((a,t)=>{h(s,t,...v(n,(t=>a?.[t]))),h(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)+g(v(i,(a=>s+T(a))))+")VALUES"+E(o(`,(?${o(",?",u(i))})`,u(c)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+g(v(i,(a=>T(a)+"=excluded."+T(a))),s):n),v(c,(a=>a??null))),Z=a=>g(v(a,(()=>"?")),s),aa=JSON.parse,ta=x(),ea=x(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,o,[c,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,m,g,v]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!W(a)||!W(t)])(o,a),A=async a=>(2!=p&&(p=1,await C.schedule((async()=>{await a(),p=0}))),C),C={load:async(e,n)=>await A((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(C.stopAutoLoad(),await C.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await A((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await A((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),C),save:async a=>(1!=p&&(p=2,await C.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(E,a.delListener),E=void 0,C),schedule:async(...a)=>(h(j(ea,w),...a),await(async()=>{if(!j(ta,w)){for(Y(ta,w,1);!l((a=j(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(C[c]=()=>r),M(C)},ia="store",oa=(a,t,e,n,s,[i],o,c,r)=>{const[l,y,w,E]=Q(t,o,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,c],c)},ca=(a,t,e,n,s,[i,o,[c,r,y]],w,E,u,T)=>{const[m,g,v,A]=Q(t,w,s,T),h=async(a,t)=>await d(U(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await v(e,n,a[o],s,i,t)}))),L=async(a,t)=>r?await v(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await A((async()=>{await m();const a=await(async()=>I(C(await d(U(i,(async([a,t],e)=>[a,await g(e,t)]))),(a=>!W(a[1])))))(),t=await(async()=>c?(await g(y,f))[p]:{})();return W(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),l(t)){const[t,e]=a();await h(t),await L(e)}else{const[a,e]=t();await h(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=x();return $(a,((a,i)=>{const o=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||Y(s,i,o)})),s},fa="pragma ",Ta="data_version",ma="schema_version",ga=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let d,p,T;const[g,v,A,C]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],G(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=E(_(P(da,o)),0,B(da)),r=c[2],l=G(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>J(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>J(l,t)&&t==r)),c],l]})(t);return(g?oa:ca)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ma))[0][ma],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=v,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),c,A,O(C),l,y,u)};a.createCrSqliteWasmPersister=(a,t,e,n,s)=>ga(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,n)=>a(n)))),(a=>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).TinyBasePersisterCrSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),h=a=>0==u(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,D=O.keys,M=O.freeze,I=(a=[])=>O.fromEntries(a),P=(...a)=>O.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>O.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e)=>(L(a,t)||Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>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=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=j();return[async()=>G(c,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,G(k(c,t,j),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(W(W(c,a),t)))(t,e)?I(A(m(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,o,r,y,w=!1)=>{const E=J();$(o??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=b(E);if(!w&&y&&h(u)&&L(c,t))return await a("DROP TABLE"+T(t)),void Y(c,t);if(h(u)||L(c,t)){const s=W(c,t),i=J(x(s));await d([...m(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?m(b(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),Y(c,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(o,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(u))L(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(W(c,t)),(a=>a!=e)),s=[],i=[];$(o??{},((a,t)=>{C(s,t,...m(n,(t=>a?.[t]))),C(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,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(o,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,c,[o,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(c,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(E,a.delListener),E=void 0,A),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(A[o]=()=>r),M(A)},ia="store",ca=(a,t,e,n,s,[i],c,o,r)=>{const[l,y,w,E]=Q(t,c,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},oa=(a,t,e,n,s,[i,c,[o,r,y]],w,E,u,T)=>{const[g,v,m,h]=Q(t,w,s,T),C=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),L=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await g();const a=await(async()=>I(A(await d(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const c=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,c,o,l,y="getDb",u)=>{let d,p,T;const[v,m,h,A]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,o=E(_(P(da,c)),0,B(da)),r=o[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(v?ca:oa)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),o,h,b(A),l,y,u)};a.createElectricSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),c=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,E=(a,t,e)=>a.slice(t,e),u=a=>a.length,d=async a=>o.all(a),p="_",f="_id",T=a=>`"${a.replace(/"/g,'""')}"`,g="SELECT",v=(a,t="")=>a.join(t),m=(a,t)=>a.map(t),h=a=>0==u(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),L=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),S=O.entries,D=O.keys,M=O.freeze,I=(a=[])=>O.fromEntries(a),P=(...a)=>O.assign({},...a),F=(a,t)=>t in a,$=(a,t)=>m(S(a),(([a,e])=>t(e,a))),_=a=>O.values(a),B=a=>u(D(a)),H=a=>(a=>!l(a)&&y(N(a),(a=>a==O.prototype||l(N(a))),(()=>!0)))(a)&&0==B(a),j=a=>new Map(a),x=a=>[...a?.keys()??[]],W=(a,t)=>a?.get(t),q=(a,t)=>m([...a?.entries()??[]],(([a,e])=>t(e,a))),Y=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),k=(a,t,e,n)=>(L(a,t)?n?.(W(a,t)):Y(a,t,e()),W(a,t)),G=(a,t,e,n=Y)=>($(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>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=g+"*FROM",K="FROM pragma_table_",V="WHERE",Q=(a,t,e,i)=>{const c=j();return[async()=>G(c,I(await d(m(await a("SELECT name "+K+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+Z(t)+")ORDER BY name",t),(async({name:t})=>[t,I(m(await a(g+" name,type "+K+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>Y(c,t,G(k(c,t,j),e,((a,t,e)=>{e!=W(a,t)&&Y(a,t,e)}),((a,t)=>Y(a,t))))),((a,t)=>Y(c,t))),async(t,e)=>((a,t)=>!l(W(W(c,a),t)))(t,e)?I(A(m(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,o,r,y,w=!1)=>{const E=J();$(o??{},(a=>m(D(a??{}),(a=>U(E,a)))));const u=b(E);if(!w&&y&&h(u)&&L(c,t))return await a("DROP TABLE"+T(t)),void Y(c,t);if(h(u)||L(c,t)){const s=W(c,t),i=J(x(s));await d([...m(u,(async e=>{R(i,e)||(await a(`ALTER TABLE${T(t)}ADD${T(e)}`),Y(s,e,n))})),...!w&&r?m(b(i),(async n=>{n!=e&&(await a(`ALTER TABLE${T(t)}DROP${T(n)}`),Y(s,n))})):[]])}else await a(`CREATE TABLE${T(t)}(${T(e)} PRIMARY KEY ON CONFLICT REPLACE${v(m(u,(a=>s+T(a))))});`),Y(c,t,j([[e,n],...m(u,(a=>[a,n]))]));if(w)l(o)?await a("DELETE FROM"+T(t)+"WHERE 1"):await d($(o,(async(n,s)=>{l(n)?await a("DELETE FROM"+T(t)+V+T(e)+"=?",[s]):h(u)||await X(a,t,e,D(n),[s,..._(n)],i)})));else if(h(u))L(c,t)&&await a("DELETE FROM"+T(t)+"WHERE 1");else{const n=A(x(W(c,t)),(a=>a!=e)),s=[],i=[];$(o??{},((a,t)=>{C(s,t,...m(n,(t=>a?.[t]))),C(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,o,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+T(t)+"("+T(e)+v(m(i,(a=>s+T(a))))+")VALUES"+E(c(`,(?${c(",?",u(i))})`,u(o)/(u(i)+1)),1)+(r?"ON CONFLICT("+T(e)+")DO UPDATE SET"+v(m(i,(a=>T(a)+"=excluded."+T(a))),s):n),m(o,(a=>a??null))),Z=a=>v(m(a,(()=>"?")),s),aa=JSON.parse,ta=j(),ea=j(),na=a=>w(a?.[0]),sa=(a,t,e,n,s,i,c,[o,r]=[],w=[])=>{let E,u,d,p=0,f=0;k(ta,w,(()=>0)),k(ea,w,(()=>[]));const[T,g,v,m]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,a],[,t]]])=>!H(a)||!H(t)])(c,a),h=async a=>(2!=p&&(p=1,await A.schedule((async()=>{await a(),p=0}))),A),A={load:async(e,n)=>await h((async()=>{try{const e=await t();(T&&na(e)?a.setMergeableContent:a.setContent)(e)}catch{a.setContent([e,n])}})),startAutoLoad:async(e={},s={})=>(A.stopAutoLoad(),await A.load(e,s),f=1,d=n((async(e,n)=>{if(n){const t=n();await h((async()=>(T&&na(t)?a.applyMergeableChanges:a.applyChanges)(t)))}else await h((async()=>{try{const n=e?.()??await t();(T&&na(n)?a.setMergeableContent:a.setContent)(n)}catch(a){i?.(a)}}))})),A),stopAutoLoad:()=>(f&&(s(d),d=void 0,f=0),A),save:async a=>(1!=p&&(p=2,await A.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&A.save((()=>a))})),A),stopAutoSave:()=>(y(E,a.delListener),E=void 0,A),schedule:async(...a)=>(C(W(ea,w),...a),await(async()=>{if(!W(ta,w)){for(Y(ta,w,1);!l((a=W(ea,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}Y(ta,w,0)}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o&&(A[o]=()=>r),M(A)},ia="store",ca=(a,t,e,n,s,[i],c,o,r)=>{const[l,y,w,E]=Q(t,c,s);return sa(a,(async()=>await E((async()=>(await l(),aa((await y(i,f))[p]?.[ia]??"null"))))),(async a=>await E((async()=>{var t;await l(),await w(i,f,{[p]:{[ia]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?O.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,[r,o],o)},oa=(a,t,e,n,s,[i,c,[o,r,y]],w,E,u,T)=>{const[g,v,m,h]=Q(t,w,s,T),C=async(a,t)=>await d(q(c,(async([e,n,s,i],c)=>{t&&!F(a,c)||await m(e,n,a[c],s,i,t)}))),L=async(a,t)=>r?await m(y,f,{[p]:a},!0,!0,t):null;return sa(a,(async()=>await h((async()=>{await g();const a=await(async()=>I(A(await d(q(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await v(y,f))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await L(e)}else{const[a,e]=t();await C(a,!0),await L(e,!0)}}))),e,n,s,!1,[u,E],E)},ra="json",la="autoLoadIntervalSeconds",ya="rowIdColumnName",wa="tableId",Ea="tableName",ua={mode:ra,[la]:1},da={load:0,save:0,[Ea]:e+"_values"},pa=(a,t,e,n)=>{const s=j();return $(a,((a,i)=>{const c=E(_(P(t,w(a)?{[e]:a}:a)),0,B(t));l(c[0])||n(i,c[0])||Y(s,i,c)})),s},fa="pragma ",Ta="data_version",ga="schema_version",va=(a,t,n,s,i,c,o,l,y="getDb",u)=>{let d,p,T;const[v,m,h,A]=(a=>{const t=(a=>P(ua,w(a)?{storeTableName:a}:a??{}))(a),n=t[la];if(t.mode==ra){const{storeTableName:a=e}=t;return[1,n,[a],J(a)]}const{tables:{load:s={},save:i={}}={},values:c={}}=t,o=E(_(P(da,c)),0,B(da)),r=o[2],l=J(r);return[0,n,[pa(s,{[wa]:null,[ya]:f},wa,(a=>U(l,a)&&a==r)),pa(i,{[Ea]:null,[ya]:f,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>U(l,t)&&t==r)),o],l]})(t);return(v?ca:oa)(a,c?async(a,t)=>(c(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(fa+Ta))[0][Ta],e=(await n(fa+ga))[0][ga],s=(await n(g+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(p??=e)&&s==(T??=s)||(a(),d=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>A.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),d=p=null,i(t)}),o,h,b(A),l,y,u)};a.createElectricSqlPersister=(a,t,e,n,s)=>va(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient")},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterElectricSql={});