tinybase 5.0.0-beta.10 → 5.0.0-beta.12

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 (343) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -1
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-libsql.cjs +1 -1
  20. package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-powersync.cjs +1 -1
  24. package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/store.cjs +1 -1
  36. package/lib/cjs/store.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
  42. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  43. package/lib/cjs/synchronizers.cjs +1 -1
  44. package/lib/cjs/synchronizers.cjs.gz +0 -0
  45. package/lib/cjs/tinybase.cjs +1 -1
  46. package/lib/cjs/tinybase.cjs.gz +0 -0
  47. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  48. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  49. package/lib/cjs/ui-react.cjs +1 -1
  50. package/lib/cjs/ui-react.cjs.gz +0 -0
  51. package/lib/cjs-es6/mergeable-store.cjs +1 -1
  52. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  82. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  83. package/lib/cjs-es6/persisters.cjs +1 -1
  84. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  85. package/lib/cjs-es6/store.cjs +1 -1
  86. package/lib/cjs-es6/store.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  90. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  91. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
  92. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  93. package/lib/cjs-es6/synchronizers.cjs +1 -1
  94. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  95. package/lib/cjs-es6/tinybase.cjs +1 -1
  96. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  97. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  98. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  99. package/lib/cjs-es6/ui-react.cjs +1 -1
  100. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  101. package/lib/debug/mergeable-store.js +1 -1
  102. package/lib/debug/persisters/persister-automerge.js +113 -101
  103. package/lib/debug/persisters/persister-browser.js +113 -97
  104. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
  105. package/lib/debug/persisters/persister-electric-sql.js +113 -102
  106. package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
  107. package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
  108. package/lib/debug/persisters/persister-file.js +108 -96
  109. package/lib/debug/persisters/persister-indexed-db.js +108 -96
  110. package/lib/debug/persisters/persister-libsql.js +113 -102
  111. package/lib/debug/persisters/persister-partykit-client.js +112 -100
  112. package/lib/debug/persisters/persister-powersync.js +113 -102
  113. package/lib/debug/persisters/persister-remote.js +108 -96
  114. package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
  115. package/lib/debug/persisters/persister-sqlite3.js +113 -102
  116. package/lib/debug/persisters/persister-yjs.js +113 -101
  117. package/lib/debug/persisters.js +107 -95
  118. package/lib/debug/store.js +1 -1
  119. package/lib/debug/synchronizers/synchronizer-local.js +114 -102
  120. package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
  121. package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
  122. package/lib/debug/synchronizers.js +113 -101
  123. package/lib/debug/tinybase.js +114 -102
  124. package/lib/debug/ui-react-dom.js +114 -98
  125. package/lib/debug/ui-react.js +10 -21
  126. package/lib/es6/mergeable-store.js +1 -1
  127. package/lib/es6/mergeable-store.js.gz +0 -0
  128. package/lib/es6/persisters/persister-automerge.js +1 -1
  129. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  130. package/lib/es6/persisters/persister-browser.js +1 -1
  131. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  132. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  133. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  134. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  135. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  136. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  137. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  138. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  139. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  140. package/lib/es6/persisters/persister-file.js +1 -1
  141. package/lib/es6/persisters/persister-file.js.gz +0 -0
  142. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  143. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  144. package/lib/es6/persisters/persister-libsql.js +1 -1
  145. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  146. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  147. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  148. package/lib/es6/persisters/persister-powersync.js +1 -1
  149. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  150. package/lib/es6/persisters/persister-remote.js +1 -1
  151. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  152. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  153. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  154. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  155. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  156. package/lib/es6/persisters/persister-yjs.js +1 -1
  157. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  158. package/lib/es6/persisters.js +1 -1
  159. package/lib/es6/persisters.js.gz +0 -0
  160. package/lib/es6/store.js +1 -1
  161. package/lib/es6/store.js.gz +0 -0
  162. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  163. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  164. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  165. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  166. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
  167. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  168. package/lib/es6/synchronizers.js +1 -1
  169. package/lib/es6/synchronizers.js.gz +0 -0
  170. package/lib/es6/tinybase.js +1 -1
  171. package/lib/es6/tinybase.js.gz +0 -0
  172. package/lib/es6/ui-react-dom-debug.js +1 -1
  173. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  174. package/lib/es6/ui-react.js +1 -1
  175. package/lib/es6/ui-react.js.gz +0 -0
  176. package/lib/mergeable-store.js +1 -1
  177. package/lib/mergeable-store.js.gz +0 -0
  178. package/lib/persisters/persister-automerge.js +1 -1
  179. package/lib/persisters/persister-automerge.js.gz +0 -0
  180. package/lib/persisters/persister-browser.js +1 -1
  181. package/lib/persisters/persister-browser.js.gz +0 -0
  182. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  183. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  184. package/lib/persisters/persister-electric-sql.js +1 -1
  185. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  186. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  187. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  188. package/lib/persisters/persister-expo-sqlite.js +1 -1
  189. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  190. package/lib/persisters/persister-file.js +1 -1
  191. package/lib/persisters/persister-file.js.gz +0 -0
  192. package/lib/persisters/persister-indexed-db.js +1 -1
  193. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  194. package/lib/persisters/persister-libsql.js +1 -1
  195. package/lib/persisters/persister-libsql.js.gz +0 -0
  196. package/lib/persisters/persister-partykit-client.js +1 -1
  197. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  198. package/lib/persisters/persister-powersync.js +1 -1
  199. package/lib/persisters/persister-powersync.js.gz +0 -0
  200. package/lib/persisters/persister-remote.js +1 -1
  201. package/lib/persisters/persister-remote.js.gz +0 -0
  202. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  203. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  204. package/lib/persisters/persister-sqlite3.js +1 -1
  205. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  206. package/lib/persisters/persister-yjs.js +1 -1
  207. package/lib/persisters/persister-yjs.js.gz +0 -0
  208. package/lib/persisters.js +1 -1
  209. package/lib/persisters.js.gz +0 -0
  210. package/lib/store.js +1 -1
  211. package/lib/store.js.gz +0 -0
  212. package/lib/synchronizers/synchronizer-local.js +1 -1
  213. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  214. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  215. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  216. package/lib/synchronizers/synchronizer-ws-server.js +1 -1
  217. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  218. package/lib/synchronizers.js +1 -1
  219. package/lib/synchronizers.js.gz +0 -0
  220. package/lib/tinybase.js +1 -1
  221. package/lib/tinybase.js.gz +0 -0
  222. package/lib/types/persisters/persister-browser.d.ts +2 -2
  223. package/lib/types/persisters/persister-file.d.ts +1 -1
  224. package/lib/types/persisters/persister-partykit-client.d.ts +0 -1
  225. package/lib/types/persisters/persister-partykit-server.d.ts +0 -1
  226. package/lib/types/persisters.d.ts +73 -47
  227. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +1 -0
  228. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +25 -3
  229. package/lib/types/synchronizers.d.ts +1 -1
  230. package/lib/types/ui-react.d.ts +1 -19
  231. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  232. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  233. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +0 -1
  234. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +0 -1
  235. package/lib/types/with-schemas/persisters.d.ts +99 -87
  236. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +1 -0
  237. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +25 -3
  238. package/lib/types/with-schemas/synchronizers.d.ts +1 -1
  239. package/lib/types/with-schemas/ui-react.d.ts +1 -21
  240. package/lib/ui-react.js +1 -1
  241. package/lib/ui-react.js.gz +0 -0
  242. package/lib/umd/mergeable-store.js +1 -1
  243. package/lib/umd/mergeable-store.js.gz +0 -0
  244. package/lib/umd/persisters/persister-automerge.js +1 -1
  245. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  246. package/lib/umd/persisters/persister-browser.js +1 -1
  247. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  248. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  249. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  250. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  251. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  252. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  253. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  254. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  255. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  256. package/lib/umd/persisters/persister-file.js +1 -1
  257. package/lib/umd/persisters/persister-file.js.gz +0 -0
  258. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  259. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  260. package/lib/umd/persisters/persister-libsql.js +1 -1
  261. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  262. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  263. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  264. package/lib/umd/persisters/persister-powersync.js +1 -1
  265. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  266. package/lib/umd/persisters/persister-remote.js +1 -1
  267. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  268. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  269. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  270. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  271. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  272. package/lib/umd/persisters/persister-yjs.js +1 -1
  273. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  274. package/lib/umd/persisters.js +1 -1
  275. package/lib/umd/persisters.js.gz +0 -0
  276. package/lib/umd/store.js +1 -1
  277. package/lib/umd/store.js.gz +0 -0
  278. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  279. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  280. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  281. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  282. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
  283. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  284. package/lib/umd/synchronizers.js +1 -1
  285. package/lib/umd/synchronizers.js.gz +0 -0
  286. package/lib/umd/tinybase.js +1 -1
  287. package/lib/umd/tinybase.js.gz +0 -0
  288. package/lib/umd/ui-react-dom-debug.js +1 -1
  289. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  290. package/lib/umd/ui-react.js +1 -1
  291. package/lib/umd/ui-react.js.gz +0 -0
  292. package/lib/umd-es6/mergeable-store.js +1 -1
  293. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  295. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  297. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  299. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  300. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  301. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  302. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  303. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  304. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  305. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  306. package/lib/umd-es6/persisters/persister-file.js +1 -1
  307. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  309. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  311. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  313. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  315. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  317. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  319. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  321. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  323. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  324. package/lib/umd-es6/persisters.js +1 -1
  325. package/lib/umd-es6/persisters.js.gz +0 -0
  326. package/lib/umd-es6/store.js +1 -1
  327. package/lib/umd-es6/store.js.gz +0 -0
  328. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  329. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  330. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  331. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  332. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
  333. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  334. package/lib/umd-es6/synchronizers.js +1 -1
  335. package/lib/umd-es6/synchronizers.js.gz +0 -0
  336. package/lib/umd-es6/tinybase.js +1 -1
  337. package/lib/umd-es6/tinybase.js.gz +0 -0
  338. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  339. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  340. package/lib/umd-es6/ui-react.js +1 -1
  341. package/lib/umd-es6/ui-react.js.gz +0 -0
  342. package/package.json +1 -1
  343. package/readme.md +2 -2
@@ -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,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>c.all(a),f="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",h=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==p(a),C=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),R=Object,S=a=>R.getPrototypeOf(a),D=R.entries,I=R.keys,M=R.freeze,_=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>A(D(a),(([a,e])=>t(e,a))),x=a=>R.values(a),k=a=>p(I(a)),q=a=>(a=>!l(a)&&y(S(a),(a=>a==R.prototype||l(S(a))),(()=>!0)))(a)&&0==k(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),Y=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>l(e)?(L(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)?n?.(H(a,t)):$(a,t,e()),H(a,t)),J=(a,t,e,n=$)=>(j(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),U=a=>new Set(u(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=B();return[async()=>J(o,_(await E(A(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,_(A(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=H(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?_(C(A(await a(X+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,c,r,y,w=!1)=>{const u=U();j(c??{},(a=>A(I(a??{}),(a=>V(u,a)))));const d=O(u);if(!w&&y&&T(d)&&N(o,t))return await a("DROP "+z+g(t)),void $(o,t);if(T(d)||N(o,t)){const s=H(o,t),i=U(W(s));await E([...A(d,(async e=>{L(i,e)||(await a(K+g(t)+"ADD"+g(e)),$(s,e,n))})),...!w&&r?A(O(i),(async n=>{n!=e&&(await a(K+g(t)+"DROP"+g(n)),$(s,n))})):[]])}else await a("CREATE "+z+g(t)+"("+g(e)+` PRIMARY KEY ON CONFLICT REPLACE${h(A(d,(a=>s+g(a))))});`),$(o,t,B([[e,n],...A(d,(a=>[a,n]))]));if(w)l(c)?await a(Q+g(t)+aa+" 1"):await E(j(c,(async(n,s)=>{l(n)?await a(Q+g(t)+aa+g(e)+"=?",[s]):T(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(T(d))N(o,t)&&await a(Q+g(t)+aa+" 1");else{const n=C(W(H(o,t)),(a=>a!=e)),s=[],r=[];j(c??{},((a,t)=>{b(s,t,...A(n,(t=>a?.[t]))),b(r,t)})),await ea(a,t,e,n,s,i),await a(Q+g(t)+aa+g(e)+"NOT IN("+na(r)+")",r)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,c,r=!0)=>await a("INSERT "+(r?n:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+h(A(i,(a=>s+g(a))))+")VALUES"+d(o(`,(?${o(",?",p(i))})`,p(c)/(p(i)+1)),1)+(r?"ON CONFLICT("+g(e)+")DO UPDATE SET"+h(A(i,(a=>g(a)+"=excluded."+g(a))),s):n),A(c,(a=>a??null))),na=a=>h(A(a,(()=>"?")),s),sa=JSON.parse,ia=B(),oa=B(),ca=(a,t,e,n,s,i,o,c={},r=[])=>{let w,d,p,E=0;G(ia,r,(()=>0)),G(oa,r,(()=>[]));const[f,m,g,v,h]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent])(o,a),A=async a=>(2!=E&&(E=1,await C.schedule((async()=>{await a(),E=0}))),C),T=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C={load:async a=>await A((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}})),startAutoLoad:async a=>(await C.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await A((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(d&&(s(d),d=void 0),C),isAutoLoading:()=>!l(d),save:async a=>(1!=E&&(E=2,await C.schedule((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(p,a.delListener),p=void 0,C),isAutoSaving:()=>!l(p),schedule:async(...a)=>(b(H(oa,r),...a),await(async()=>{if(!H(ia,r)){for($(ia,r,1);!l((a=H(oa,r),w=a.shift()));)try{await w()}catch(a){i?.(a)}$(ia,r,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...c};return M(C)},ra="store",la=(a,t,e,n,s,[i],o,c,r,l)=>{const[y,w,u,d]=ta(t,o,s,l);return ca(a,(async()=>await d((async()=>(await y(),sa((await w(i,m))[f]?.[ra]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[f]:{[ra]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[r]:()=>c},c)},ya=(a,t,e,n,s,[i,o,[c,r,y]],w,u,d,p)=>{const[g,v,h,A]=ta(t,w,s,p),T=async(a,t)=>await E(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await h(e,n,a[o],s,i,t)}))),b=async(a,t)=>r?await h(y,m,{[f]:a},!0,!0,t):null;return ca(a,(async()=>await A((async()=>{await g();const a=await(async()=>_(C(await E(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>c?(await v(y,m))[f]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),l(t)){const[t,e]=a();await T(t),await b(e)}else{const[a,e]=t();await T(a,!0),await b(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ma={load:0,save:0,[Ea]:e+"_values"},ga=(a,t,e,n)=>{const s=B();return j(a,((a,i)=>{const o=d(x(P(t,w(a)?{[e]:a}:a)),0,k(t));l(o[0])||n(i,o[0])||$(s,i,o)})),s},va="pragma ",ha="data_version",Aa="schema_version",Ta=(a,t,n,s,i,o,c,l,y="getDb",u)=>{let p,E,f;const[g,h,A,T]=(a=>{const t=(a=>P(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,c=d(x(P(ma,o)),0,k(ma)),r=c[2],l=U(r);return[0,n,[ga(s,{[pa]:null,[da]:m},pa,(a=>V(l,a)&&a==r)),ga(i,{[Ea]:null,[da]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>V(l,t)&&t==r)),c],l]})(t);return(g?la:ya)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ha))[0][ha],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),p=E=null,i(t)}),c,A,O(T),l,y,u)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>Ta(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,E=async a=>r.all(a),f="_",m="_id",g=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",h=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),C=a=>0==p(a),A=(a,t)=>a.filter(t),b=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,_=(a=[])=>S.fromEntries(a),P=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>T(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),k=a=>p(I(a)),q=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==k(a),B=a=>new Map(a),W=a=>[...a?.keys()??[]],H=(a,t)=>a?.get(t),Y=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),$=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)?n?.(H(a,t)):$(a,t,e()),H(a,t)),J=(a,t,e,n=$)=>(j(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),U=a=>new Set(u(a)||l(a)?a:[a]),V=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,Q="DELETE FROM",X=v+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=B();return[async()=>J(o,_(await E(T(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,_(T(await a(v+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>$(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=H(a,t)&&$(a,t,e)}),((a,t)=>$(a,t))))),((a,t)=>$(o,t))),async(t,e)=>((a,t)=>!l(H(H(o,a),t)))(t,e)?_(A(T(await a(X+g(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!q(t)))):{},async(t,e,r,c,y,w=!1)=>{const u=U();j(r??{},(a=>T(I(a??{}),(a=>V(u,a)))));const d=O(u);if(!w&&y&&C(d)&&N(o,t))return await a("DROP "+z+g(t)),void $(o,t);if(C(d)||N(o,t)){const s=H(o,t),i=U(W(s));await E([...T(d,(async e=>{R(i,e)||(await a(K+g(t)+"ADD"+g(e)),$(s,e,n))})),...!w&&c?T(O(i),(async n=>{n!=e&&(await a(K+g(t)+"DROP"+g(n)),$(s,n))})):[]])}else await a("CREATE "+z+g(t)+"("+g(e)+` PRIMARY KEY ON CONFLICT REPLACE${h(T(d,(a=>s+g(a))))});`),$(o,t,B([[e,n],...T(d,(a=>[a,n]))]));if(w)l(r)?await a(Q+g(t)+aa+" 1"):await E(j(r,(async(n,s)=>{l(n)?await a(Q+g(t)+aa+g(e)+"=?",[s]):C(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(C(d))N(o,t)&&await a(Q+g(t)+aa+" 1");else{const n=A(W(H(o,t)),(a=>a!=e)),s=[],c=[];j(r??{},((a,t)=>{b(s,t,...T(n,(t=>a?.[t]))),b(c,t)})),await ea(a,t,e,n,s,i),await a(Q+g(t)+aa+g(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+g(t)+"("+g(e)+h(T(i,(a=>s+g(a))))+")VALUES"+d(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+g(e)+")DO UPDATE SET"+h(T(i,(a=>g(a)+"=excluded."+g(a))),s):n),T(r,(a=>a??null))),na=a=>h(T(a,(()=>"?")),s),sa=JSON.parse,ia=B(),oa=B(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let w,d,p,E=0;G(ia,c,(()=>0)),G(oa,c,(()=>[]));const[f,m,g,v,h]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!q(a)||!q(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!q(a)||!q(t),t.setContent]:0)(o,a),T=t=>{(f&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=E&&(E=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}E=0}))),S),A=()=>(d&&(s(d),d=void 0),S),N=async a=>(1!=E&&(E=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}E=0}))),S),O=()=>(y(p,a.delListener),p=void 0,S),R=async(...a)=>(b(H(oa,c),...a),await(async()=>{if(!H(ia,c)){for($(ia,c,1);!l((a=H(oa,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}$(ia,c,0)}var a})(),S),S={load:C,startAutoLoad:async a=>(await A().load(a),d=n((async(a,t)=>{t||a?2!=E&&(E=1,T(t??a),E=0):await C()})),S),stopAutoLoad:A,isAutoLoading:()=>!l(d),save:N,startAutoSave:async()=>(await O().save(),p=a.addDidFinishTransactionListener((()=>{const a=g();v(a)&&N(a)})),S),stopAutoSave:O,isAutoSaving:()=>!l(p),schedule:R,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...r};return M(S)},ca="store",la=(a,t,e,n,s,[i],o,r,c,l)=>{const[y,w,u,d]=ta(t,o,s,l);return ra(a,(async()=>await d((async()=>(await y(),sa((await w(i,m))[f]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,m,{[f]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>r},r)},ya=(a,t,e,n,s,[i,o,[r,c,y]],w,u,d,p)=>{const[g,v,h,T]=ta(t,w,s,p),C=async(a,t)=>await E(Y(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await h(e,n,a[o],s,i,t)}))),b=async(a,t)=>c?await h(y,m,{[f]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await g();const a=await(async()=>_(A(await E(Y(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!q(a[1])))))(),t=await(async()=>r?(await v(y,m))[f]:{})();return q(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await g(),l(t)){const[t,e]=a();await C(t),await b(e)}else await C(t[0],!0),await b(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",Ea="tableName",fa={mode:wa,[ua]:1},ma={load:0,save:0,[Ea]:e+"_values"},ga=(a,t,e,n)=>{const s=B();return j(a,((a,i)=>{const o=d(x(P(t,w(a)?{[e]:a}:a)),0,k(t));l(o[0])||n(i,o[0])||$(s,i,o)})),s},va="pragma ",ha="data_version",Ta="schema_version",Ca=(a,t,n,s,i,o,r,l,y="getDb",u)=>{let p,E,f;const[g,h,T,C]=(a=>{const t=(a=>P(fa,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=d(x(P(ma,o)),0,k(ma)),c=r[2],l=U(c);return[0,n,[ga(s,{[pa]:null,[da]:m},pa,(a=>V(l,a)&&a==c)),ga(i,{[Ea]:null,[da]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>V(l,t)&&t==c)),r],l]})(t);return(g?la:ya)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+ha))[0][ha],e=(await n(va+Ta))[0][Ta],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(E??=e)&&s==(f??=s)||(a(),p=t,E=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=E=null,i(t)}),r,T,O(C),l,y,u)};a.createSqliteWasmPersister=(a,t,e,n,s,i)=>Ca(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
@@ -1 +1 @@
1
- var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),o=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),p=a=>a.length,f=async a=>r.all(a),E="_",g="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",h=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==p(a),C=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),S=Object,R=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>A(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),B=a=>p(I(a)),H=a=>(a=>!l(a)&&y(R(a),(a=>a==S.prototype||l(R(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),q=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(L(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)?n?.(k(a,t)):G(a,t,e()),k(a,t)),U=(a,t,e,n=G)=>(j(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),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=m+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const o=Y();return[async()=>U(o,P(await f(A(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(A(await a(m+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(o,t,U(J(o,t,Y),e,((a,t,e)=>{e!=k(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(o,t))),async(t,e)=>((a,t)=>!l(k(k(o,a),t)))(t,e)?P(C(A(await a(X+v(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,r,c,y,w=!1)=>{const u=W();j(r??{},(a=>A(I(a??{}),(a=>z(u,a)))));const d=b(u);if(!w&&y&&T(d)&&O(o,t))return await a("DROP "+K+v(t)),void G(o,t);if(T(d)||O(o,t)){const s=k(o,t),i=W($(s));await f([...A(d,(async e=>{L(i,e)||(await a(V+v(t)+"ADD"+v(e)),G(s,e,n))})),...!w&&c?A(b(i),(async n=>{n!=e&&(await a(V+v(t)+"DROP"+v(n)),G(s,n))})):[]])}else await a("CREATE "+K+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${h(A(d,(a=>s+v(a))))});`),G(o,t,Y([[e,n],...A(d,(a=>[a,n]))]));if(w)l(r)?await a(Q+v(t)+aa+" 1"):await f(j(r,(async(n,s)=>{l(n)?await a(Q+v(t)+aa+v(e)+"=?",[s]):T(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(T(d))O(o,t)&&await a(Q+v(t)+aa+" 1");else{const n=C($(k(o,t)),(a=>a!=e)),s=[],c=[];j(r??{},((a,t)=>{N(s,t,...A(n,(t=>a?.[t]))),N(c,t)})),await ea(a,t,e,n,s,i),await a(Q+v(t)+aa+v(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,r,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+h(A(i,(a=>s+v(a))))+")VALUES"+d(o(`,(?${o(",?",p(i))})`,p(r)/(p(i)+1)),1)+(c?"ON CONFLICT("+v(e)+")DO UPDATE SET"+h(A(i,(a=>v(a)+"=excluded."+v(a))),s):n),A(r,(a=>a??null))),na=a=>h(A(a,(()=>"?")),s),sa=JSON.parse,ia=Y(),oa=Y(),ra=(a,t,e,n,s,i,o,r={},c=[])=>{let w,d,p,f=0;J(ia,c,(()=>0)),J(oa,c,(()=>[]));const[E,g,v,m,h]=((a,t)=>!a||l(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent])(o,a),A=async a=>(2!=f&&(f=1,await C.schedule((async()=>{await a(),f=0}))),C),T=t=>{(E&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C={load:async a=>await A((async()=>{try{T(await t())}catch(t){i?.(t),a&&h(a)}})),startAutoLoad:async a=>(await C.stopAutoLoad().load(a),d=n((async(a,e)=>{const n=e?.();await A((async()=>{try{T(n??a?.()??await t())}catch(a){i?.(a)}}))})),C),stopAutoLoad:()=>(d&&(s(d),d=void 0),C),isAutoLoading:()=>!l(d),save:async a=>(1!=f&&(f=2,await C.schedule((async()=>{try{await e(g,a)}catch(a){i?.(a)}f=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),p=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&C.save((()=>a))})),C),stopAutoSave:()=>(y(p,a.delListener),p=void 0,C),isAutoSaving:()=>!l(p),schedule:async(...a)=>(N(k(oa,c),...a),await(async()=>{if(!k(ia,c)){for(G(ia,c,1);!l((a=k(oa,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),C),getStore:()=>a,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...r};return M(C)},ca="store",la=(a,t,e,n,s,[i],o,r,c,l)=>{const[y,w,u,d]=ta(t,o,s,l);return ra(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,!1,{[c]:()=>r},r)},ya=(a,t,e,n,s,[i,o,[r,c,y]],w,u,d,p)=>{const[v,m,h,A]=ta(t,w,s,p),T=async(a,t)=>await f(q(o,(async([e,n,s,i],o)=>{t&&!F(a,o)||await h(e,n,a[o],s,i,t)}))),N=async(a,t)=>c?await h(y,g,{[E]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await v();const a=await(async()=>P(C(await f(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>r?(await m(y,g))[E]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await v(),l(t)){const[t,e]=a();await T(t),await N(e)}else{const[a,e]=t();await T(a,!0),await N(e,!0)}}))),e,n,s,!1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",pa="tableId",fa="tableName",Ea={mode:wa,[ua]:1},ga={load:0,save:0,[fa]:e+"_values"},va=(a,t,e,n)=>{const s=Y();return j(a,((a,i)=>{const o=d(x(_(t,w(a)?{[e]:a}:a)),0,B(t));l(o[0])||n(i,o[0])||G(s,i,o)})),s},ma="pragma ",ha="data_version",Aa="schema_version",Ta=(a,t,n,s,i,o,r,l,y="getDb",u)=>{let p,f,E;const[v,h,A,T]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=t,r=d(x(_(ga,o)),0,B(ga)),c=r[2],l=W(c);return[0,n,[va(s,{[pa]:null,[da]:g},pa,(a=>z(l,a)&&a==c)),va(i,{[fa]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},fa,((a,t)=>z(l,t)&&t==c)),r],l]})(t);return(v?la:ya)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+ha))[0][ha],e=(await n(ma+Aa))[0][Aa],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(p??=t)&&e==(f??=e)&&s==(E??=s)||(a(),p=t,f=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=f=null,i(t)}),r,A,b(T),l,y,u)},Ca="change";a.createSqlite3Persister=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ca,e),e}),(a=>t.off(Ca,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
1
+ var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),f=a=>a.length,p=async a=>o.all(a),E="_",g="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),C=a=>0==f(a),A=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),S=Object,L=a=>S.getPrototypeOf(a),D=S.entries,I=S.keys,M=S.freeze,P=(a=[])=>S.fromEntries(a),_=(...a)=>S.assign({},...a),F=(a,t)=>t in a,j=(a,t)=>h(D(a),(([a,e])=>t(e,a))),x=a=>S.values(a),B=a=>f(I(a)),H=a=>(a=>!l(a)&&y(L(a),(a=>a==S.prototype||l(L(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),q=(a,t)=>h([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>l(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)?n?.(k(a,t)):G(a,t,e()),k(a,t)),U=(a,t,e,n=G)=>(j(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),W=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=m+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=Y();return[async()=>U(r,P(await p(h(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,P(h(await a(m+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!l(k(k(r,a),t)))(t,e)?P(A(h(await a(X+v(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,c,y,w=!1)=>{const u=W();j(o??{},(a=>h(I(a??{}),(a=>z(u,a)))));const d=b(u);if(!w&&y&&C(d)&&O(r,t))return await a("DROP "+K+v(t)),void G(r,t);if(C(d)||O(r,t)){const s=k(r,t),i=W($(s));await p([...h(d,(async e=>{R(i,e)||(await a(V+v(t)+"ADD"+v(e)),G(s,e,n))})),...!w&&c?h(b(i),(async n=>{n!=e&&(await a(V+v(t)+"DROP"+v(n)),G(s,n))})):[]])}else await a("CREATE "+K+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${T(h(d,(a=>s+v(a))))});`),G(r,t,Y([[e,n],...h(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+v(t)+aa+" 1"):await p(j(o,(async(n,s)=>{l(n)?await a(Q+v(t)+aa+v(e)+"=?",[s]):C(d)||await ea(a,t,e,I(n),[s,...x(n)],i)})));else if(C(d))O(r,t)&&await a(Q+v(t)+aa+" 1");else{const n=A($(k(r,t)),(a=>a!=e)),s=[],c=[];j(o??{},((a,t)=>{N(s,t,...h(n,(t=>a?.[t]))),N(c,t)})),await ea(a,t,e,n,s,i),await a(Q+v(t)+aa+v(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+v(t)+"("+v(e)+T(h(i,(a=>s+v(a))))+")VALUES"+d(r(`,(?${r(",?",f(i))})`,f(o)/(f(i)+1)),1)+(c?"ON CONFLICT("+v(e)+")DO UPDATE SET"+T(h(i,(a=>v(a)+"=excluded."+v(a))),s):n),h(o,(a=>a??null))),na=a=>T(h(a,(()=>"?")),s),sa=JSON.parse,ia=Y(),ra=Y(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,f,p=0;J(ia,c,(()=>0)),J(ra,c,(()=>[]));const[E,g,v,m,T]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),h=t=>{(E&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},C=async a=>(2!=p&&(p=1,await R((async()=>{try{h(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),S),A=()=>(d&&(s(d),d=void 0),S),O=async a=>(1!=p&&(p=2,await R((async()=>{try{await e(g,a)}catch(a){i?.(a)}p=0}))),S),b=()=>(y(f,a.delListener),f=void 0,S),R=async(...a)=>(N(k(ra,c),...a),await(async()=>{if(!k(ia,c)){for(G(ia,c,1);!l((a=k(ra,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}G(ia,c,0)}var a})(),S),S={load:C,startAutoLoad:async a=>(await A().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await C()})),S),stopAutoLoad:A,isAutoLoading:()=>!l(d),save:O,startAutoSave:async()=>(await b().save(),f=a.addDidFinishTransactionListener((()=>{const a=v();m(a)&&O(a)})),S),stopAutoSave:b,isAutoSaving:()=>!l(f),schedule:R,getStore:()=>a,destroy:()=>A().stopAutoSave(),getStats:()=>({}),...o};return M(S)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[y,w,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await y(),sa((await w(i,g))[E]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await y(),await u(i,g,{[E]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?S.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},ya=(a,t,e,n,s,[i,r,[o,c,y]],w,u,d,f)=>{const[v,m,T,h]=ta(t,w,s,f),C=async(a,t)=>await p(q(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await T(e,n,a[r],s,i,t)}))),N=async(a,t)=>c?await T(y,g,{[E]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await v();const a=await(async()=>P(A(await p(q(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await m(y,g))[E]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),l(t)){const[t,e]=a();await C(t),await N(e)}else await C(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",fa="tableId",pa="tableName",Ea={mode:wa,[ua]:1},ga={load:0,save:0,[pa]:e+"_values"},va=(a,t,e,n)=>{const s=Y();return j(a,((a,i)=>{const r=d(x(_(t,w(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||G(s,i,r)})),s},ma="pragma ",Ta="data_version",ha="schema_version",Ca=(a,t,n,s,i,r,o,l,y="getDb",u)=>{let f,p,E;const[v,T,h,C]=(a=>{const t=(a=>_(Ea,w(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==wa){const{storeTableName:a=e}=t;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(x(_(ga,r)),0,B(ga)),c=o[2],l=W(c);return[0,n,[va(s,{[fa]:null,[da]:g},fa,(a=>z(l,a)&&a==c)),va(i,{[pa]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},pa,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(v?la:ya)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Ta))[0][Ta],e=(await n(ma+ha))[0][ha],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(f??=t)&&e==(p??=e)&&s==(E??=s)||(a(),f=t,p=e)}catch{}},e=T,t(),setInterval(t,1e3*e)),s((t=>C.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),f=p=null,i(t)}),o,h,b(C),l,y,u)},Aa="change";a.createSqlite3Persister=(a,t,e,n,s)=>Ca(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Aa,e),e}),(a=>t.off(Aa,a)),n,s,t)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const a="t",s="v",n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,u=c.freeze,y=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!n(e)&&o(g(e),(e=>e==c.prototype||n(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),S=(e,t)=>e?.get(t),b=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),A=(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,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(S(e,t)):A(e,t,a()),S(e,t)},M=w(),O=w(),j="delete",L=e=>[e.get(a),e.get(s)],J=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(s,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(s,t)||(r.delete(t),i=1)})),n(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,s,r,c,g,l={},d=[])=>{let y,p,f,v=0;C(M,d,(()=>0)),C(O,d,(()=>[]));const[w,b,j,L,J]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent])(g,e),N=async e=>(2!=v&&(v=1,await D.schedule((async()=>{await e(),v=0}))),D),T=t=>{var a;(w&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D={load:async e=>await N((async()=>{try{T(await t())}catch(t){c?.(t),e&&J(e)}})),startAutoLoad:async e=>(await D.stopAutoLoad().load(e),p=s((async(e,a)=>{const s=a?.();await N((async()=>{try{T(s??e?.()??await t())}catch(e){c?.(e)}}))})),D),stopAutoLoad:()=>(p&&(r(p),p=void 0),D),isAutoLoading:()=>!n(p),save:async e=>(1!=v&&(v=2,await D.schedule((async()=>{try{await a(b,e)}catch(e){c?.(e)}v=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=j();L(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(o(f,e.delListener),f=void 0,D),isAutoSaving:()=>!n(f),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(S(O,d),...e),await(async()=>{if(!S(M,d)){for(A(M,d,1);!n(y=i(S(O,d)));)try{await y()}catch(e){c?.(e)}A(M,d,0)}})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return u(D)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(s).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(s,new t.Map));const[c,g]=L(e),l=()=>{d=1};let d=1;if(o(i?.(),(([e,t])=>{d=0,f(e,((e,t)=>d?0:n(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:n(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>n(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:n(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();J(c,void 0,e,((e,t,a)=>J(c,t,a,((e,t,a)=>J(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),J(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,(()=>((e,t)=>{if(1==r(t)&&(n=t[0].path,0==r(n)))return[e.get(a).toJSON(),e.get(s).toJSON(),1];var n;const[c,g]=L(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const s=v(l,a,y),n=c.get(a);o(i(e),(e=>{const a=v(s,e,y),o=n.get(e);b(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>b(t,((e,{action:t})=>s[e]=t==j?null:n.get(e)?.toJSON()))))}),(()=>b(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):b(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t)));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,!1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const a="t",n="v",s=e=>null==e,o=(e,t,a)=>s(e)?a?.():t(e),r=e=>e.length,i=e=>e.shift(),c=Object,g=e=>c.getPrototypeOf(e),l=c.entries,d=c.keys,u=c.freeze,y=(e=[])=>c.fromEntries(e),p=(e,t)=>t in e,f=(e,t)=>((e,t)=>e.map(t))(l(e),(([e,a])=>t(a,e))),h=e=>(e=>!s(e)&&o(g(e),(e=>e==c.prototype||s(g(e))),(()=>!0)))(e)&&0==(e=>r(d(e)))(e),v=(e,t,a)=>(p(e,t)||(e[t]=a()),e[t]),w=e=>new Map(e),b=(e,t)=>e?.get(t),S=(e,t)=>((e,t)=>e?.forEach(t))(e,((e,a)=>t(a,e))),C=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},M=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(b(e,t)):C(e,t,a()),b(e,t)},A=w(),O=w(),j="delete",J=e=>[e.get(a),e.get(n)],N=(e,a,n,o)=>{const r=s(a)?e:e.get(a)??e.set(a,new t.Map);let i;return f(n,((e,t)=>{o(r,t,e)&&(i=1)})),r.forEach(((e,t)=>{p(n,t)||(r.delete(t),i=1)})),s(a)||r.size||e.delete(a),i};e.createYjsPersister=(e,c,g="tinybase",l)=>{const d=c.getMap(g);return((e,t,a,n,r,c,g,l={},d=[])=>{let y,p,f,v=0;M(A,d,(()=>0)),M(O,d,(()=>[]));const[w,S,j,J,N]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!h(e)||!h(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t),t.setContent]:0)(g,e),T=t=>{var a;(w&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async e=>(2!=v&&(v=1,await E((async()=>{try{T(await t())}catch(t){c?.(t),e&&N(e)}v=0}))),x),L=()=>(p&&(r(p),p=void 0),x),m=async e=>(1!=v&&(v=2,await E((async()=>{try{await a(S,e)}catch(e){c?.(e)}v=0}))),x),z=()=>(o(f,e.delListener),f=void 0,x),E=async(...e)=>(((e,...t)=>{e.push(...t)})(b(O,d),...e),await(async()=>{if(!b(A,d)){for(C(A,d,1);!s(y=i(b(O,d)));)try{await y()}catch(e){c?.(e)}C(A,d,0)}})(),x),x={load:D,startAutoLoad:async e=>(await L().load(e),p=n((async(e,t)=>{t||e?2!=v&&(v=1,T(t??e),v=0):await D()})),x),stopAutoLoad:L,isAutoLoading:()=>!s(p),save:m,startAutoSave:async()=>(await z().save(),f=e.addDidFinishTransactionListener((()=>{const e=j();J(e)&&m(e)})),x),stopAutoSave:z,isAutoSaving:()=>!s(f),schedule:E,getStore:()=>e,destroy:()=>L().stopAutoSave(),getStats:()=>({}),...l};return u(x)})(e,(async()=>d.size?[d.get(a).toJSON(),d.get(n).toJSON()]:void 0),(async(e,r)=>c.transact((()=>((e,r,i)=>{e.size||(e.set(a,new t.Map),e.set(n,new t.Map));const[c,g]=J(e),l=()=>{d=1};let d=1;if(o(i,(([e,t])=>{d=0,f(e,((e,t)=>d?0:s(e)?c.delete(t):o(c.get(t),(t=>f(e,((e,a)=>d?0:s(e)?t.delete(a):o(t.get(a),(t=>f(e,((e,a)=>s(e)?t.delete(a):t.set(a,e)))),l)))),l))),f(t,((e,t)=>d?0:s(e)?g.delete(t):g.set(t,e)))})),d){const[e,t]=r();N(c,void 0,e,((e,t,a)=>N(c,t,a,((e,t,a)=>N(e,t,a,((e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1})))))),N(g,void 0,t,((e,t,a)=>{g.get(t)!==a&&g.set(t,a)}))}})(d,e,r)))),(e=>{const t=t=>e(void 0,((e,t)=>{if(1==r(t)&&(s=t[0].path,0==r(s)))return[e.get(a).toJSON(),e.get(n).toJSON(),1];var s;const[c,g]=J(e),l={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>i(e)==a?o(i(e),(a=>{const n=v(l,a,y),s=c.get(a);o(i(e),(e=>{const a=v(n,e,y),o=s.get(e);S(t,((e,{action:t})=>a[e]=t==j?null:o.get(e)))}),(()=>S(t,((e,{action:t})=>n[e]=t==j?null:s.get(e)?.toJSON()))))}),(()=>S(t,((e,{action:t})=>l[e]=t==j?null:c.get(e)?.toJSON())))):S(t,((e,{action:t})=>d[e]=t==j?null:g.get(e)))))})(t),[l,d,1]})(d,t));return d.observeDeep(t),t}),(e=>{d.unobserveDeep(e)}),l,1,{getYDoc:()=>c})}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
@@ -1 +1 @@
1
- var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),o=s.keys,r=s.freeze,i=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==(t=>o(t).length)(t),c=t=>new Map(t),y=(t,e)=>t?.get(e),d=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},u=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(y(t,e)):d(t,e,a()),y(t,e)},l=c(),g=c();t.createCustomPersister=(t,s,n,o,c,p,h,f={},v=[])=>{let w,A,C,b=0;u(l,v,(()=>0)),u(g,v,(()=>[]));const[L,S,M,T,m]=((t,a)=>!t||e(a.getMergeableContent)?[0,a.getContent,a.getTransactionChanges,([t,e])=>!i(t)||!i(e),a.setContent]:[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),a.setDefaultContent])(h,t),x=async t=>(2!=b&&(b=1,await j.schedule((async()=>{await t(),b=0}))),j),P=e=>{var a;(L&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},j={load:async t=>await x((async()=>{try{P(await s())}catch(e){p?.(e),t&&m(t)}})),startAutoLoad:async t=>(await j.stopAutoLoad().load(t),A=o((async(t,e)=>{const a=e?.();await x((async()=>{try{P(a??t?.()??await s())}catch(t){p?.(t)}}))})),j),stopAutoLoad:()=>(A&&(c(A),A=void 0),j),isAutoLoading:()=>!e(A),save:async t=>(1!=b&&(b=2,await j.schedule((async()=>{try{await n(S,t)}catch(t){p?.(t)}b=0}))),j),startAutoSave:async()=>(await j.stopAutoSave().save(),C=t.addDidFinishTransactionListener((()=>{const t=M();T(t)&&j.save((()=>t))})),j),stopAutoSave:()=>(a(C,t.delListener),C=void 0,j),isAutoSaving:()=>!e(C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(y(g,v),...t),await(async()=>{if(!y(l,v)){for(d(l,v,1);!e((t=y(g,v),w=t.shift()));)try{await w()}catch(t){p?.(t)}d(l,v,0)}var t})(),j),getStore:()=>t,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...f};return r(j)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,a=(e,a,n)=>t(e)?n?.():a(e),n=Object,s=e=>n.getPrototypeOf(e),o=n.keys,r=n.freeze,i=e=>(e=>!t(e)&&a(s(e),(e=>e==n.prototype||t(s(e))),(()=>!0)))(e)&&0==(e=>o(e).length)(e),c=e=>new Map(e),y=(e,t)=>e?.get(t),d=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},g=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(y(e,t)):d(e,t,a()),y(e,t)},l=c(),u=c();e.createCustomPersister=(e,n,s,o,c,p,f,h={},v=[])=>{let C,w,b,A=0;g(l,v,(()=>0)),g(u,v,(()=>[]));const[M,S,T,L,m]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!i(e)||!i(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!i(e)||!i(t),t.setContent]:0)(f,e),x=t=>{var a;(M&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},P=async e=>(2!=A&&(A=1,await k((async()=>{try{x(await n())}catch(t){p?.(t),e&&m(e)}A=0}))),z),j=()=>(w&&(c(w),w=void 0),z),D=async e=>(1!=A&&(A=2,await k((async()=>{try{await s(S,e)}catch(e){p?.(e)}A=0}))),z),O=()=>(a(b,e.delListener),b=void 0,z),k=async(...e)=>(((e,...t)=>{e.push(...t)})(y(u,v),...e),await(async()=>{if(!y(l,v)){for(d(l,v,1);!t((e=y(u,v),C=e.shift()));)try{await C()}catch(e){p?.(e)}d(l,v,0)}var e})(),z),z={load:P,startAutoLoad:async e=>(await j().load(e),w=o((async(e,t)=>{t||e?2!=A&&(A=1,x(t??e),A=0):await P()})),z),stopAutoLoad:j,isAutoLoading:()=>!t(w),save:D,startAutoSave:async()=>(await O().save(),b=e.addDidFinishTransactionListener((()=>{const e=T();L(e)&&D(e)})),z),stopAutoSave:O,isAutoSaving:()=>!t(b),schedule:k,getStore:()=>e,destroy:()=>j().stopAutoSave(),getStats:()=>({}),...h};return r(z)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisters={});
Binary file
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",v=p+"s",y=p+d,C=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,I=e=>t(e)==o,J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.isFrozen,A=e=>!w(e)&&L(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),M=z.keys,N=z.freeze,B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>A(e)&&0==(e=>E(M(e)))(e),$=(e,t,s,n=0)=>w(e)||!A(e)||!n&&W(e)||k(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!!n||!W(e)),q=e=>e?.size??0,G=(e,t)=>e?.has(t)??!1,K=e=>w(e)||0==q(e),Q=e=>e.clear(),U=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),Z=e=>[...e?.keys()??[]],_=(e,t)=>e?.get(t),ee=(e,t)=>U(e,((e,s)=>t(s,e))),te=(e,t,s)=>w(s)?(X(e,t),e):e?.set(t,s),se=(e,t,s,n)=>(G(e,t)?n?.(_(e,t)):te(e,t,s()),_(e,t)),ne=(e,t,s,n=te)=>(H(t,((t,n)=>s(e,n,t))),ee(e,(s=>B(t,s)?0:n(e,s))),e),ae=(e,t,s,n)=>{const a={};return U(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},le=(e,t,s)=>ae(e,(e=>ae(e,t,s)),K,W),oe=(e,t,s)=>ae(e,(e=>le(e,t,s)),K,W),re=(e,t)=>{const s=Y();return U(e,((e,n)=>s.set(n,t?.(e)??e))),s},ie=e=>re(e,re),ce=e=>re(e,ie),de=(e,t,s,n,a=0)=>L((s?se:_)(e,t[a],a>E(t)-2?s:Y),(l=>{if(a>E(t)-2)return n?.(l)&&te(e,t[a]),l;const o=de(l,t,s,n,a+1);return K(l)&&te(e,t[a]),o})),ue=e=>new Set(Array.isArray(e)||w(e)?e:[e]),fe=(e,t)=>e?.add(t),he=/^\d+$/,ge=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&x(e,t)}]},Te=e=>[e,e],be=()=>[Y(),Y()],Se=e=>[...e],Ve=([e,t])=>e===t,pe=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},ve=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ye=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),me=JSON.parse,we=(e,t,s)=>te(e,t,_(e,t)==-s?void 0:s),Le=()=>{let e,t,n=!1,a=!1,o=0,d=[];const m=Y(),z=Y(),P=Y(),j=Y(),k=Y(),A=Y(),M=Y(),he=Y(),Re=Y(),Ie=Y(),Je=Y(),Ee=Y(),Fe=Y(),Oe=Y(),xe=ue(),ze=Y(),Pe=Y(),je=Y(),ke=Y(),Ae=be(),Me=be(),Ne=be(),Be=be(),De=be(),He=be(),We=be(),$e=be(),qe=be(),Ge=be(),Ke=be(),Qe=be(),Ue=be(),Xe=be(),Ye=be(),Ze=be(),_e=be(),et=be(),tt=be(),st=be(),nt=be(),at=be(),lt=Y(),ot=be(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=ge(),l=Y();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const c=n(1);return te(l,c,[e,a,o,r,i]),fe(de(a,o??[s],ue),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?x(n,e):null===t[s]?U(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(_(e,t),s+1)));return a(e,0),n})(e,n),(e=>U(e,(e=>_(l,e)[0](t,...n??[],...a))))),e=>L(_(l,e),(([,t,n])=>(de(t,n??[s],void 0,(t=>(X(t,e),K(t)?1:0))),te(l,e),a(e),n))),e=>L(_(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!$(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(pe(e[i])!=t&&D(e,i),0))},ft=(t,s)=>(!e||G(Je,s)||Ht(s))&&$(t,((e,t)=>ht(s,t,e)),(()=>Ht(s))),ht=(e,t,s,n)=>$(n?s:St(s,e,t),((n,a)=>L(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ht(e,t))),gt=(t,s,n,a)=>e?L(_(_(Je,t),n),(e=>pe(a)!=e[r]?Ht(t,s,n,a,e[i]):a),(()=>Ht(t,s,n,a))):w(pe(a))?Ht(t,s,n,a):a,Tt=(e,t)=>$(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Wt())),bt=(e,s)=>t?L(_(Fe,e),(t=>pe(s)!=t[r]?Wt(e,s,t[i]):s),(()=>Wt(e,s))):w(pe(s))?Wt(e,s):s,St=(e,t,s)=>(L(_(Ee,t),(([n,a])=>{U(n,((t,s)=>{B(e,s)||(e[s]=t)})),U(a,(n=>{B(e,n)||Ht(t,s,n)}))})),e),Vt=e=>(t&&(U(Oe,((t,s)=>{B(e,s)||(e[s]=t)})),U(xe,(t=>{B(e,t)||Wt(t)}))),e),pt=e=>ne(Je,e,((e,t,s)=>{const n=Y(),a=ue();ne(se(Je,t,Y),s,((e,t,s)=>{te(e,t,s),L(s[i],(e=>te(n,t,e)),(()=>fe(a,t)))})),te(Ee,t,[n,a])}),((e,t)=>{te(Je,t),te(Ee,t)})),vt=e=>ne(Fe,e,((e,t,s)=>{te(Fe,t,s),L(s[i],(e=>te(Oe,t,e)),(()=>fe(xe,t)))}),((e,t)=>{te(Fe,t),te(Oe,t),X(xe,t)})),yt=e=>W(e)?ys():bs(e),Ct=e=>ne(je,e,((e,t,s)=>mt(t,s)),((e,t)=>xt(t))),mt=(e,t)=>ne(se(je,e,(()=>(kt(e,1),te(ze,e,ge()),te(Pe,e,Y()),Y()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>zt(e,t,s))),wt=(e,t,s,n,a)=>ne(se(t,s,(()=>(At(e,s,1),Y()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{G(s,n)||Mt(e,t,n,1);const l=_(s,n);a!==l&&(Nt(e,t,n,l,a),te(s,n,a))},Rt=(e,t,s,n,a)=>L(_(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,St({[n]:a},e,s)))),It=e=>W(e)?ws():Ss(e),Jt=e=>ne(ke,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>{G(ke,e)||Bt(e,1);const s=_(ke,e);t!==s&&(Dt(e,s,t),te(ke,e,t))},Ft=(e,t)=>{const[s]=_(ze,e),n=s(t);return G(_(je,e),n)?Ft(e,t):n},Ot=e=>_(je,e)??mt(e,{}),xt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=_(ze,e);n(s),wt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=_(_(Ee,e)?.[0],a);if(!w(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Nt(e,s,t,_(n,t)),Mt(e,s,t,-1),te(n,t)};w(o)?r(a):ee(n,r),K(n)&&(At(e,s,-1),K(te(t,s))&&(kt(e,-1),te(je,e),te(ze,e),te(Pe,e)))},jt=e=>{const t=_(Oe,e);if(!w(t))return Et(e,t);Dt(e,_(ke,e)),Bt(e,-1),te(ke,e)},kt=(e,t)=>we(m,e,t),At=(e,t,s)=>we(se(j,e,Y),t,s)&&te(P,e,se(P,e,(()=>0))+s),Mt=(e,t,s,n)=>{const a=_(Pe,e),l=_(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(se(z,e,Y),s,n),te(a,s,l!=-n?l+n:null),we(se(se(k,e,Y),t,Y),s,n)},Nt=(e,t,s,n,a)=>{se(se(se(A,e,Y),t,Y),s,(()=>[n,0]))[1]=a,d[3]?.(e,t,s,a)},Bt=(e,t)=>we(M,e,t),Dt=(e,t,s)=>{se(he,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Ht=(e,t,s,n,a)=>(x(se(se(se(Re,e,Y),t,Y),s,(()=>[])),n),a),Wt=(e,t,s)=>(x(se(Ie,e,(()=>[])),t),s),$t=(e,t,s)=>L(_(_(_(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(ls(e,t,s))])),qt=e=>L(_(he,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(is(e))])),Gt=e=>K(Re)||K(Ze[e])?0:U(e?ce(Re):Re,((t,s)=>U(t,((t,n)=>U(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>K(Ie)||K(_e[e])?0:U(e?re(Ie):Ie,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!K(e))return it(t,n,(()=>ae(e))),ee(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Ae[e],void 0,t);const s=K(Ge[e]),a=K(Ue[e])&&K(Xe[e])&&K(qe[e])&&K(Ke[e])&&K(He[e])&&K(We[e])&&K($e[e])&&s&&K(Ne[e])&&K(Be[e]),l=K(Ye[e])&&K(Qe[e])&&K(De[e])&&K(Me[e]);if(!a||!l){const t=e?[re(m),ie(z),re(P),ie(j),ce(k),ce(A)]:[m,z,P,j,k,A];if(!a){Qt(t[0],Ne[e],Be[e]),U(t[1],((t,s)=>Qt(t,He[e],We[e],[s]))),U(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=ue();U(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),fe(n,a))})),s||U(t[5],((t,s)=>{if(!G(n,s)){const n=ue();U(t,(e=>U(e,(([t,s],a)=>s!==t?fe(n,a):X(e,a))))),U(n,(t=>it(Ge[e],[s,t])))}})),U(t[4],((t,s)=>U(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;U(t[5],((t,n)=>{let a;U(t,((t,l)=>{let o;U(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(De[e],[n],$t)})),s&&it(Me[e],void 0,$t)}}},Xt=e=>{const t=gs();t!=a&&it(et[e],void 0,t);const s=K(st[e])&&K(nt[e]),n=K(at[e])&&K(tt[e]);if(!s||!n){const t=e?[re(M),re(he)]:[M,he];if(s||Qt(t[0],st[e],nt[e]),!n){let s;U(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)=>(Is((()=>e(...O(t,C)))),Fs),Zt=()=>oe(je),_t=()=>Z(je),es=e=>Z(_(Pe,C(e))),ts=e=>q(_(je,C(e))),ss=e=>Z(_(je,C(e))),ns=(e,t,s,n=0,a)=>{return O(J((o=_(je,C(e)),r=(e,s)=>[w(t)?s:_(e,C(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Z(_(_(je,C(e)),C(t))),ls=(e,t,s)=>_(_(_(je,C(e)),C(t)),C(s)),os=()=>ae(ke),rs=()=>Z(ke),is=e=>_(ke,C(e)),cs=()=>!K(je),ds=e=>G(je,C(e)),us=(e,t)=>G(_(Pe,C(e)),C(t)),fs=(e,t)=>G(_(je,C(e)),C(t)),hs=(e,t,s)=>G(_(_(je,C(e)),C(t)),C(s)),gs=()=>!K(ke),Ts=e=>G(ke,C(e)),bs=e=>Yt((()=>(e=>$(e,ft,Ht))(e)?Ct(e):0)),Ss=e=>Yt((()=>Tt(e)?Jt(e):0)),Vs=e=>{try{yt(me(e))}catch{}return Fs},ps=t=>Yt((()=>{if((e=$(t,(e=>$(e,ut))))&&(pt(t),!K(je))){const e=Zt();ys(),bs(e)}})),vs=e=>Yt((()=>{if(t=(e=>$(e,ut))(e)){const s=os();Rs(),ws(),t=!0,vt(e),Ss(s)}})),ys=()=>Yt((()=>Ct({}))),Cs=e=>Yt((e=>G(je,e)?xt(e):0),e),ms=(e,t)=>Yt(((e,t)=>L(_(je,e),(s=>G(s,t)?zt(e,s,t):0))),e,t),ws=()=>Yt((()=>Jt({}))),Ls=()=>Yt((()=>{pt({}),e=!1})),Rs=()=>Yt((()=>{vt({}),t=!1})),Is=(e,t)=>{if(-1!=o){Js();const s=e();return Es(t),s}},Js=()=>(-1!=o&&o++,1==o&&(d[0]?.(),it(lt,void 0)),Fs),Es=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),K(A)||Ut(1),Kt(1),K(he)||Xt(1),e?.(Fs)&&(U(A,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>ve(Fs,t,s,n,e))))))),Q(A),U(he,(([e],t)=>ye(Fs,t,e))),Q(he)),it(ot[0],void 0),o=-1,Gt(0),K(A)||Ut(0),Kt(0),K(he)||Xt(0),d[1]?.(),it(ot[1],void 0),d[2]?.(),o=0,n=cs(),a=gs(),F([m,z,P,j,k,A,Re,M,he,Ie],Q))),Fs),Fs={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>le(_(je,C(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ae(_(_(je,C(e)),C(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:fs,hasCell:hs,hasValues:gs,hasValue:Ts,getTablesJson:()=>Ce(je),getValuesJson:()=>Ce(ke),getJson:()=>Ce([je,ke]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(Fe),getSchemaJson:()=>Ce([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(W(e)?ys:bs)(e),(W(t)?ws:Ss)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>ft(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?wt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=C(e),wt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(gt(e,t,s,I(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Ss,setPartialValues:e=>Yt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,I(t)?t(is(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Yt((()=>{H(e[0],((e,t)=>w(e)?Cs(t):H(e,((e,s)=>w(e)?ms(t,s):H(e,((e,n)=>ve(Fs,t,s,n,e))))))),H(e[1],((e,t)=>ye(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{It(me(e))}catch{}return Fs},setJson:e=>Yt((()=>{try{const[t,s]=me(e);yt(t),It(s)}catch{Vs(e)}})),setTablesSchema:ps,setValuesSchema:vs,setSchema:(e,t)=>Yt((()=>{ps(e),vs(t)})),delTables:ys,delTable:Cs,delRow:ms,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(_(je,e),(a=>L(_(a,t),(l=>G(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ws,delValue:e=>Yt((e=>G(ke,e)?jt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ae(A,((e,t)=>-1===_(m,t)?void 0:ae(e,((e,s)=>-1===_(_(j,t),s)?void 0:ae(e,(([,e])=>e),(e=>Ve(e)))),K,W)),K,W),ae(he,(([,e])=>e),(e=>Ve(e))),1],getTransactionLog:()=>[!K(A),!K(he),oe(A,Se,Ve),oe(Re),ae(he,Se,Ve),ae(Ie),ae(m),le(j),oe(k),ae(M)],finishTransaction:Es,forEachTable:e=>U(je,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>ee(t,e))))))))),forEachTableCell:(e,t)=>ee(_(Pe,C(e)),t),forEachRow:(e,t)=>U(_(je,C(e)),((e,s)=>t(s,(t=>ee(e,t))))),forEachCell:(e,t,s)=>ee(_(_(je,C(e)),C(t)),s),forEachValue:e=>ee(ke,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,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Fs,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),Fs),delListener:e=>(ct(e),Fs),getListenerStats:()=>({}),createStore:Le,addListener:rt,callListeners:it,setInternalListeners:(e,t,s,n,a)=>d=[e,t,s,n,a]};return H({[c+f]:[0,Ae,[],()=>[cs()]],[f]:[0,Me],[h]:[0,Ne],[c+u]:[1,Be,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+V]:[1,He,[_t]],[c+u+S]:[2,We,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+g]:[2,Ke,[_t,ss],e=>[fs(...e)]],[g]:[2,Qe,[_t,ss]],[V]:[2,Ue,[_t,ss]],[c+S]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[S]:[3,Ye,[_t,ss,as],e=>Te(ls(...e))],InvalidCell:[3,Ze],[c+v]:[0,et,[],()=>[gs()]],[v]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[rs],e=>[Ts(...e)]],[p]:[1,at,[rs],e=>Te(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,n)})),N(Fs)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),o=t(t),r="type",i="default",c="Has",d="Ids",u="Table",f=u+"s",h=u+d,g="Row",T=g+"Count",b=g+d,S="Cell",V=S+d,p="Value",y=p+"s",C=p+d,v=e=>s+e,m=isFinite,w=e=>null==e,L=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==a,I=e=>t(e)==o,J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.isFrozen,A=e=>!w(e)&&L(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),M=z.keys,N=z.freeze,B=(e,t)=>t in e,D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>A(e)&&0==(e=>E(M(e)))(e),$=(e,t,s,n=0)=>w(e)||!A(e)||!n&&W(e)||k(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!!n||!W(e)),q=e=>e?.size??0,G=(e,t)=>e?.has(t)??!1,K=e=>w(e)||0==q(e),Q=e=>e.clear(),U=(e,t)=>e?.forEach(t),X=(e,t)=>e?.delete(t),Y=e=>new Map(e),Z=e=>[...e?.keys()??[]],_=(e,t)=>e?.get(t),ee=(e,t)=>U(e,((e,s)=>t(s,e))),te=(e,t,s)=>w(s)?(X(e,t),e):e?.set(t,s),se=(e,t,s,n)=>(G(e,t)?n?.(_(e,t)):te(e,t,s()),_(e,t)),ne=(e,t,s,n=te)=>(H(t,((t,n)=>s(e,n,t))),ee(e,(s=>B(t,s)?0:n(e,s))),e),ae=(e,t,s,n)=>{const a={};return U(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},le=(e,t,s)=>ae(e,(e=>ae(e,t,s)),K,W),oe=(e,t,s)=>ae(e,(e=>le(e,t,s)),K,W),re=(e,t)=>{const s=Y();return U(e,((e,n)=>s.set(n,t?.(e)??e))),s},ie=e=>re(e,re),ce=e=>re(e,ie),de=(e,t,s,n,a=0)=>L((s?se:_)(e,t[a],a>E(t)-2?s:Y),(l=>{if(a>E(t)-2)return n?.(l)&&te(e,t[a]),l;const o=de(l,t,s,n,a+1);return K(l)&&te(e,t[a]),o})),ue=e=>new Set(Array.isArray(e)||w(e)?e:[e]),fe=(e,t)=>e?.add(t),he=/^\d+$/,ge=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&x(e,t)}]},Te=e=>[e,e],be=()=>[Y(),Y()],Se=e=>[...e],Ve=([e,t])=>e===t,pe=e=>{const s=t(e);return R(s)||s==l&&m(e)?s:void 0},ye=(e,t,s,n,a)=>w(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ce=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ve=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),me=JSON.parse,we=(e,t,s)=>te(e,t,_(e,t)==-s?void 0:s),Le=()=>{let e,t,n=!1,a=!1,o=0,d=[];const m=Y(),z=Y(),P=Y(),j=Y(),k=Y(),A=Y(),M=Y(),he=Y(),Re=Y(),Ie=Y(),Je=Y(),Ee=Y(),Fe=Y(),Oe=Y(),xe=ue(),ze=Y(),Pe=Y(),je=Y(),ke=Y(),Ae=be(),Me=be(),Ne=be(),Be=be(),De=be(),He=be(),We=be(),$e=be(),qe=be(),Ge=be(),Ke=be(),Qe=be(),Ue=be(),Xe=be(),Ye=be(),Ze=be(),_e=be(),et=be(),tt=be(),st=be(),nt=be(),at=be(),lt=Y(),ot=be(),[rt,it,ct,dt]=(e=>{let t;const[n,a]=ge(),l=Y();return[(e,a,o,r=[],i=(()=>[]))=>{t??=Fs;const c=n(1);return te(l,c,[e,a,o,r,i]),fe(de(a,o??[s],ue),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==E(t)?x(n,e):null===t[s]?U(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(_(e,t),s+1)));return a(e,0),n})(e,n),(e=>U(e,(e=>_(l,e)[0](t,...n??[],...a))))),e=>L(_(l,e),(([,t,n])=>(de(t,n??[s],void 0,(t=>(X(t,e),K(t)?1:0))),te(l,e),a(e),n))),e=>L(_(l,e),(([e,,s=[],n,a])=>{const l=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...a(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>l(...o,e))):l(...o,s[r])};l()}))]})(),ut=e=>{if(!$(e,((e,t)=>[r,i].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=l||(pe(e[i])!=t&&D(e,i),0))},ft=(t,s)=>(!e||G(Je,s)||Ht(s))&&$(t,((e,t)=>ht(s,t,e)),(()=>Ht(s))),ht=(e,t,s,n)=>$(n?s:St(s,e,t),((n,a)=>L(gt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ht(e,t))),gt=(t,s,n,a)=>e?L(_(_(Je,t),n),(e=>pe(a)!=e[r]?Ht(t,s,n,a,e[i]):a),(()=>Ht(t,s,n,a))):w(pe(a))?Ht(t,s,n,a):a,Tt=(e,t)=>$(t?e:Vt(e),((t,s)=>L(bt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Wt())),bt=(e,s)=>t?L(_(Fe,e),(t=>pe(s)!=t[r]?Wt(e,s,t[i]):s),(()=>Wt(e,s))):w(pe(s))?Wt(e,s):s,St=(e,t,s)=>(L(_(Ee,t),(([n,a])=>{U(n,((t,s)=>{B(e,s)||(e[s]=t)})),U(a,(n=>{B(e,n)||Ht(t,s,n)}))})),e),Vt=e=>(t&&(U(Oe,((t,s)=>{B(e,s)||(e[s]=t)})),U(xe,(t=>{B(e,t)||Wt(t)}))),e),pt=e=>ne(Je,e,((e,t,s)=>{const n=Y(),a=ue();ne(se(Je,t,Y),s,((e,t,s)=>{te(e,t,s),L(s[i],(e=>te(n,t,e)),(()=>fe(a,t)))})),te(Ee,t,[n,a])}),((e,t)=>{te(Je,t),te(Ee,t)})),yt=e=>ne(Fe,e,((e,t,s)=>{te(Fe,t,s),L(s[i],(e=>te(Oe,t,e)),(()=>fe(xe,t)))}),((e,t)=>{te(Fe,t),te(Oe,t),X(xe,t)})),Ct=e=>W(e)?Cs():bs(e),vt=e=>ne(je,e,((e,t,s)=>mt(t,s)),((e,t)=>xt(t))),mt=(e,t)=>ne(se(je,e,(()=>(kt(e,1),te(ze,e,ge()),te(Pe,e,Y()),Y()))),t,((t,s,n)=>wt(e,t,s,n)),((t,s)=>zt(e,t,s))),wt=(e,t,s,n,a)=>ne(se(t,s,(()=>(At(e,s,1),Y()))),n,((t,n,a)=>Lt(e,s,t,n,a)),((n,l)=>Pt(e,t,s,n,l,a))),Lt=(e,t,s,n,a)=>{G(s,n)||Mt(e,t,n,1);const l=_(s,n);a!==l&&(Nt(e,t,n,l,a),te(s,n,a))},Rt=(e,t,s,n,a)=>L(_(t,s),(t=>Lt(e,s,t,n,a)),(()=>wt(e,t,s,St({[n]:a},e,s)))),It=e=>W(e)?ws():Ss(e),Jt=e=>ne(ke,e,((e,t,s)=>Et(t,s)),((e,t)=>jt(t))),Et=(e,t)=>{G(ke,e)||Bt(e,1);const s=_(ke,e);t!==s&&(Dt(e,s,t),te(ke,e,t))},Ft=(e,t)=>{const[s]=_(ze,e),n=s(t);return G(_(je,e),n)?Ft(e,t):n},Ot=e=>_(je,e)??mt(e,{}),xt=e=>mt(e,{}),zt=(e,t,s)=>{const[,n]=_(ze,e);n(s),wt(e,t,s,{},!0)},Pt=(e,t,s,n,a,l)=>{const o=_(_(Ee,e)?.[0],a);if(!w(o)&&!l)return Lt(e,s,n,a,o);const r=t=>{Nt(e,s,t,_(n,t)),Mt(e,s,t,-1),te(n,t)};w(o)?r(a):ee(n,r),K(n)&&(At(e,s,-1),K(te(t,s))&&(kt(e,-1),te(je,e),te(ze,e),te(Pe,e)))},jt=e=>{const t=_(Oe,e);if(!w(t))return Et(e,t);Dt(e,_(ke,e)),Bt(e,-1),te(ke,e)},kt=(e,t)=>we(m,e,t),At=(e,t,s)=>we(se(j,e,Y),t,s)&&te(P,e,se(P,e,(()=>0))+s),Mt=(e,t,s,n)=>{const a=_(Pe,e),l=_(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&we(se(z,e,Y),s,n),te(a,s,l!=-n?l+n:null),we(se(se(k,e,Y),t,Y),s,n)},Nt=(e,t,s,n,a)=>{se(se(se(A,e,Y),t,Y),s,(()=>[n,0]))[1]=a,d[3]?.(e,t,s,a)},Bt=(e,t)=>we(M,e,t),Dt=(e,t,s)=>{se(he,e,(()=>[t,0]))[1]=s,d[4]?.(e,s)},Ht=(e,t,s,n,a)=>(x(se(se(se(Re,e,Y),t,Y),s,(()=>[])),n),a),Wt=(e,t,s)=>(x(se(Ie,e,(()=>[])),t),s),$t=(e,t,s)=>L(_(_(_(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(ls(e,t,s))])),qt=e=>L(_(he,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Te(is(e))])),Gt=e=>K(Re)||K(Ze[e])?0:U(e?ce(Re):Re,((t,s)=>U(t,((t,n)=>U(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>K(Ie)||K(_e[e])?0:U(e?re(Ie):Ie,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!K(e))return it(t,n,(()=>ae(e))),ee(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Ae[e],void 0,t);const s=K(Ge[e]),a=K(Ue[e])&&K(Xe[e])&&K(qe[e])&&K(Ke[e])&&K(He[e])&&K(We[e])&&K($e[e])&&s&&K(Ne[e])&&K(Be[e]),l=K(Ye[e])&&K(Qe[e])&&K(De[e])&&K(Me[e]);if(!a||!l){const t=e?[re(m),ie(z),re(P),ie(j),ce(k),ce(A)]:[m,z,P,j,k,A];if(!a){Qt(t[0],Ne[e],Be[e]),U(t[1],((t,s)=>Qt(t,He[e],We[e],[s]))),U(t[2],((t,s)=>{0!=t&&it($e[e],[s],ts(s))}));const n=ue();U(t[3],((t,a)=>{Qt(t,qe[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),fe(n,a))})),s||U(t[5],((t,s)=>{if(!G(n,s)){const n=ue();U(t,(e=>U(e,(([t,s],a)=>s!==t?fe(n,a):X(e,a))))),U(n,(t=>it(Ge[e],[s,t])))}})),U(t[4],((t,s)=>U(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;U(t[5],((t,n)=>{let a;U(t,((t,l)=>{let o;U(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(De[e],[n],$t)})),s&&it(Me[e],void 0,$t)}}},Xt=e=>{const t=gs();t!=a&&it(et[e],void 0,t);const s=K(st[e])&&K(nt[e]),n=K(at[e])&&K(tt[e]);if(!s||!n){const t=e?[re(M),re(he)]:[M,he];if(s||Qt(t[0],st[e],nt[e]),!n){let s;U(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)=>(Is((()=>e(...O(t,v)))),Fs),Zt=()=>oe(je),_t=()=>Z(je),es=e=>Z(_(Pe,v(e))),ts=e=>q(_(je,v(e))),ss=e=>Z(_(je,v(e))),ns=(e,t,s,n=0,a)=>{return O(J((o=_(je,v(e)),r=(e,s)=>[w(t)?s:_(e,v(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(l)),n,w(a)?a:n+a),(([,e])=>e));var l,o,r},as=(e,t)=>Z(_(_(je,v(e)),v(t))),ls=(e,t,s)=>_(_(_(je,v(e)),v(t)),v(s)),os=()=>ae(ke),rs=()=>Z(ke),is=e=>_(ke,v(e)),cs=()=>!K(je),ds=e=>G(je,v(e)),us=(e,t)=>G(_(Pe,v(e)),v(t)),fs=(e,t)=>G(_(je,v(e)),v(t)),hs=(e,t,s)=>G(_(_(je,v(e)),v(t)),v(s)),gs=()=>!K(ke),Ts=e=>G(ke,v(e)),bs=e=>Yt((()=>(e=>$(e,ft,Ht))(e)?vt(e):0)),Ss=e=>Yt((()=>Tt(e)?Jt(e):0)),Vs=e=>{try{Ct(me(e))}catch{}return Fs},ps=t=>Yt((()=>{if((e=$(t,(e=>$(e,ut))))&&(pt(t),!K(je))){const e=Zt();Cs(),bs(e)}})),ys=e=>Yt((()=>{if(t=(e=>$(e,ut))(e)){const s=os();Rs(),ws(),t=!0,yt(e),Ss(s)}})),Cs=()=>Yt((()=>vt({}))),vs=e=>Yt((e=>G(je,e)?xt(e):0),e),ms=(e,t)=>Yt(((e,t)=>L(_(je,e),(s=>G(s,t)?zt(e,s,t):0))),e,t),ws=()=>Yt((()=>Jt({}))),Ls=()=>Yt((()=>{pt({}),e=!1})),Rs=()=>Yt((()=>{yt({}),t=!1})),Is=(e,t)=>{if(-1!=o){Js();const s=e();return Es(t),s}},Js=()=>(-1!=o&&o++,1==o&&(d[0]?.(),it(lt)),Fs),Es=e=>(o>0&&(o--,0==o&&(o=1,Gt(1),K(A)||Ut(1),Kt(1),K(he)||Xt(1),e?.(Fs)&&(U(A,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>ye(Fs,t,s,n,e))))))),Q(A),U(he,(([e],t)=>Ce(Fs,t,e))),Q(he)),it(ot[0],void 0),o=-1,Gt(0),K(A)||Ut(0),Kt(0),K(he)||Xt(0),d[1]?.(),it(ot[1],void 0),d[2]?.(),o=0,n=cs(),a=gs(),F([m,z,P,j,k,A,Re,M,he,Ie],Q))),Fs),Fs={getContent:()=>[Zt(),os()],getTables:Zt,getTableIds:_t,getTable:e=>le(_(je,v(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ae(_(_(je,v(e)),v(t))),getCellIds:as,getCell:ls,getValues:os,getValueIds:rs,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:fs,hasCell:hs,hasValues:gs,hasValue:Ts,getTablesJson:()=>ve(je),getValuesJson:()=>ve(ke),getJson:()=>ve([je,ke]),getTablesSchemaJson:()=>ve(Je),getValuesSchemaJson:()=>ve(Fe),getSchemaJson:()=>ve([Je,Fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(W(e)?Cs:bs)(e),(W(t)?ws:Ss)(t)})),setTables:bs,setTable:(e,t)=>Yt((e=>ft(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?wt(e,Ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Is((()=>{let n;return ht(e,n,t)&&(e=v(e),wt(e,Ot(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Ot(e);H(s,((s,a)=>Rt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(gt(e,t,s,I(n)?n(ls(e,t,s)):n),(n=>Rt(e,Ot(e),t,s,n)))),e,t,s),setValues:Ss,setPartialValues:e=>Yt((()=>Tt(e,1)?H(e,((e,t)=>Et(t,e))):0)),setValue:(e,t)=>Yt((e=>L(bt(e,I(t)?t(is(e)):t),(t=>Et(e,t)))),e),applyChanges:e=>Yt((()=>{H(e[0],((e,t)=>w(e)?vs(t):H(e,((e,s)=>w(e)?ms(t,s):H(e,((e,n)=>ye(Fs,t,s,n,e))))))),H(e[1],((e,t)=>Ce(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{It(me(e))}catch{}return Fs},setJson:e=>Yt((()=>{try{const[t,s]=me(e);Ct(t),It(s)}catch{Vs(e)}})),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>Yt((()=>{ps(e),ys(t)})),delTables:Cs,delTable:vs,delRow:ms,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(_(je,e),(a=>L(_(a,t),(l=>G(l,s)?Pt(e,a,t,l,s,n):0))))),e,t,s),delValues:ws,delValue:e=>Yt((e=>G(ke,e)?jt(e):0),e),delTablesSchema:Ls,delValuesSchema:Rs,delSchema:()=>Yt((()=>{Ls(),Rs()})),transaction:Is,startTransaction:Js,getTransactionChanges:()=>[ae(A,((e,t)=>-1===_(m,t)?void 0:ae(e,((e,s)=>-1===_(_(j,t),s)?void 0:ae(e,(([,e])=>e),(e=>Ve(e)))),K,W)),K,W),ae(he,(([,e])=>e),(e=>Ve(e))),1],getTransactionLog:()=>[!K(A),!K(he),oe(A,Se,Ve),oe(Re),ae(he,Se,Ve),ae(Ie),ae(m),le(j),oe(k),ae(M)],finishTransaction:Es,forEachTable:e=>U(je,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>ee(t,e))))))))),forEachTableCell:(e,t)=>ee(_(Pe,v(e)),t),forEachRow:(e,t)=>U(_(je,v(e)),((e,s)=>t(s,(t=>ee(e,t))))),forEachCell:(e,t,s)=>ee(_(_(je,v(e)),v(t)),s),forEachValue:e=>ee(ke,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,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,l(Fs,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),Fs),delListener:e=>(ct(e),Fs),getListenerStats:()=>({}),createStore:Le,addListener:rt,callListeners:it,setInternalListeners:(e,t,s,n,a)=>d=[e,t,s,n,a]};return H({[c+f]:[0,Ae,[],()=>[cs()]],[f]:[0,Me],[h]:[0,Ne],[c+u]:[1,Be,[_t],e=>[ds(...e)]],[u]:[1,De,[_t]],[u+V]:[1,He,[_t]],[c+u+S]:[2,We,[_t,es],e=>[us(...e)]],[T]:[1,$e,[_t]],[b]:[1,qe,[_t]],[c+g]:[2,Ke,[_t,ss],e=>[fs(...e)]],[g]:[2,Qe,[_t,ss]],[V]:[2,Ue,[_t,ss]],[c+S]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[S]:[3,Ye,[_t,ss,as],e=>Te(ls(...e))],InvalidCell:[3,Ze],[c+y]:[0,et,[],()=>[gs()]],[y]:[0,tt],[C]:[0,st],[c+p]:[1,nt,[rs],e=>[Ts(...e)]],[p]:[1,at,[rs],e=>Te(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Fs["add"+a+"Listener"]=(...a)=>rt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,n)})),N(Fs)};e.createStore=Le},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),c=r.entries,l=r.keys,g=r.freeze,u=(e,t)=>s(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>l(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),f=e=>new Map(e),p=(e,t)=>e?.get(t),w=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),v=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):w(e,t,a()),p(e,t)},b=new globalThis.TextEncoder,A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",M=(e="")=>A(((e=[])=>r.fromEntries(e))(),e),S=f(),L=f(),T=2**36,m=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,O=f();e.createLocalSynchronizer=(e,r)=>{const i=""+Math.random();return((e,r,i,c,l,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(b.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(c=e,0)*T+j(c,1)*m+j(c,2)*D+j(c,3)*H+j(c,4)*x+j(c,5)*z+j(c,6),j(c,7)*H+j(c,8)*x+j(c,9)*z+j(c,10),j(c,11)*D+j(c,12)*H+j(c,13)*x+j(c,14)*z+j(c,15)];var c;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/T)+E(e/m)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=f();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,(()=>e))})):3==s&&I.isAutoLoading()?R?.(void 0,(()=>i)):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{h($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);w($,s,[e,(e,a)=>{clearTimeout(i),h($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,M);u(t,(([e,t],a)=>{const n=y(o[0],a,M);u(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=C(n[1],t)})),o[1]=C(o[1],a)})),e[1]=C(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let c=M();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(c=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(c,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(c,a)}}}return[c,i==s?M():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,c,l={},u=[])=>{let y,h,f,b=0;v(S,u,(()=>0)),v(L,u,(()=>[]));const[A,C,M,T,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent])(c,e),D=async e=>(2!=b&&(b=1,await x.schedule((async()=>{await e(),b=0}))),x),H=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&m(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),h=s((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(h&&(r(h),h=void 0),x),isAutoLoading:()=>!n(h),save:async e=>(1!=b&&(b=2,await x.schedule((async()=>{try{await a(C,e)}catch(e){i?.(e)}b=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=M();T(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(o(f,e.delListener),f=void 0,x),isAutoSaving:()=>!n(f),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(p(L,u),...e),await(async()=>{if(!p(S,u)){for(w(S,u,1);!n((e=p(L,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}w(S,u,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return g(x)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a()):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,!0,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I})(e,((e,t,a,o)=>{setTimeout((()=>{return n(e)?(s=(e,n)=>e!=i?n(i,t,a,o):0,((e,t)=>e?.forEach(t))(O,((e,t)=>s(t,e)))):p(O,e)?.(i,t,a,o);var s}),0)}),(e=>{w(O,i,e)}),(()=>{h(O,i)}),.05,r)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),l=r.entries,c=r.keys,g=r.freeze,u=(e,t)=>s(l(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),h=e=>new Map(e),p=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),v=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):b(e,t,a()),p(e,t)},w=new globalThis.TextEncoder,C=(e,t)=>t?[e,t]:[e],M=(e,t)=>((e??"")>(t??"")?e:t)??"",A=(e="")=>C(((e=[])=>r.fromEntries(e))(),e),S=h(),T=h(),m=2**36,L=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,O=h();e.createLocalSynchronizer=(e,r)=>{const i=""+Math.random();return((e,r,i,l,c,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(w.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(l=e,0)*m+j(l,1)*L+j(l,2)*D+j(l,3)*H+j(l,4)*x+j(l,5)*z+j(l,6),j(l,7)*H+j(l,8)*x+j(l,9)*z+j(l,10),j(l,11)*D+j(l,12)*H+j(l,13)*x+j(l,14)*z+j(l,15)];var l;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/m)+E(e/L)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=h();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,e)})):3==s&&I.isAutoLoading()?R?.(void 0,i):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{f($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*c);b($,s,[e,(e,a)=>{clearTimeout(i),f($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,A);u(t,(([e,t],a)=>{const n=y(o[0],a,A);u(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=M(n[1],t)})),o[1]=M(o[1],a)})),e[1]=M(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let l=A();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(l=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(l,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(l,a)}}}return[l,i==s?A():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,l,c={},u=[])=>{let y,f,h,w=0;v(S,u,(()=>0)),v(T,u,(()=>[]));const[C,M,A,m,L]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:0)(l,e),D=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},H=async e=>(2!=w&&(w=1,await j((async()=>{try{D(await t())}catch(t){i?.(t),e&&L(e)}w=0}))),O),x=()=>(f&&(r(f),f=void 0),O),z=async e=>(1!=w&&(w=2,await j((async()=>{try{await a(M,e)}catch(e){i?.(e)}w=0}))),O),E=()=>(o(h,e.delListener),h=void 0,O),j=async(...e)=>(((e,...t)=>{e.push(...t)})(p(T,u),...e),await(async()=>{if(!p(S,u)){for(b(S,u,1);!n((e=p(T,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(S,u,0)}var e})(),O),O={load:H,startAutoLoad:async e=>(await x().load(e),f=s((async(e,t)=>{t||e?2!=w&&(w=1,D(t??e),w=0):await H()})),O),stopAutoLoad:x,isAutoLoading:()=>!n(f),save:z,startAutoSave:async()=>(await E().save(),h=e.addDidFinishTransactionListener((()=>{const e=A();m(e)&&z(e)})),O),stopAutoSave:E,isAutoSaving:()=>!n(h),schedule:j,getStore:()=>e,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...c};return g(O)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,2,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(l(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I})(e,((e,t,a,o)=>{setTimeout((()=>{return n(e)?(s=(e,n)=>e!=i?n(i,t,a,o):0,((e,t)=>e?.forEach(t))(O,((e,t)=>s(t,e)))):p(O,e)?.(i,t,a,o);var s}),0)}),(e=>{b(O,i,e)}),(()=>{f(O,i)}),.01,r)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerLocal={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=(e,t,a)=>e.slice(t,a),r=e=>new t(e),i=(e,t)=>e.forEach(t),c=Object,l=e=>c.getPrototypeOf(e),g=c.entries,d=c.keys,u=c.freeze,y=(e,t)=>i(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!n(e)&&s(l(e),(e=>e==c.prototype||n(l(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),v=e=>new Map(e),w=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),S=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(w(e,t)):b(e,t,a()),w(e,t)},A=new globalThis.TextEncoder,C=(e,t)=>t?[e,t]:[e],M=(e,t)=>((e??"")>(t??"")?e:t)??"",L=(e="")=>C(((e=[])=>c.fromEntries(e))(),e),T=v(),m=v(),D=2**36,H=2**30,x=2**24,O=2**18,E=4096,z=64,N=e=>String.fromCharCode(48+(63&e)),P=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createWsSynchronizer=async(e,t,c=1,l)=>{let g;const d=(e,a)=>t.addEventListener(e,a),W=((e,t,o,c,l,g,d={})=>{let W;const[j]=(e=>{let t=0,s=-1;const o=(e=>{let t=2166136261;return i(A.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),r=e=>{const o=t,[r,i]=n(e)||""==e?[0,0]:[P(c=e,0)*D+P(c,1)*H+P(c,2)*x+P(c,3)*O+P(c,4)*E+P(c,5)*z+P(c,6),P(c,7)*O+P(c,8)*E+P(c,9)*z+P(c,10),P(c,11)*x+P(c,12)*O+P(c,13)*E+P(c,14)*z+P(c,15)];var c;t=a(o,r,Date.now()),s=t==o?t==r?a(s,i):s:t==r?i:-1};return[()=>{return r(),a=++s,n=o,N((e=t)/D)+N(e/H)+N(e/x)+N(e/O)+N(e/E)+N(e/z)+N(e)+N(a/O)+N(a/E)+N(a/z)+N(a)+N(n/x)+N(n/O)+N(n/E)+N(n/z)+N(n);var e,a,n},r]})(e.getId()),k=v();o(((a,o,r,i)=>{0==r?s(w(k,o),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&$.isAutoLoading()?V(a,i).then((e=>{W?.(void 0,(()=>e))})):3==r&&$.isAutoLoading()?W?.(void 0,(()=>i)):s(1==r&&$.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{t(a,o,0,e)}))}));const J=async(e,a,n="")=>r(((s,o)=>{const r=j(),i=setTimeout((()=>{p(k,r),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);b(k,r,[e,(e,t)=>{clearTimeout(i),p(k,r),s([e,t])}]),t(e,r,a,n)})),R=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=h(e[0],n,L);y(t,(([e,t],a)=>{const n=h(s[0],a,L);y(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=M(n[1],t)})),s[1]=M(s[1],a)})),e[1]=M(e[1],a)},V=async(t=null,a)=>{n(a)&&([a,t]=await J(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let c=L();if(r!=s){const[a,n]=(await J(t,4,e.getMergeableTableHashes()))[0];if(c=a,!f(n)){const[a,s]=(await J(t,5,e.getMergeableRowHashes(n)))[0];if(R(c,a),!f(s)){const a=(await J(t,6,e.getMergeableCellHashes(s)))[0];R(c,a)}}}return[c,i==o?L():(await J(t,7,e.getMergeableValuesHashes()))[0],1]},$=((e,t,a,o,r,i,c,l={},g=[])=>{let d,y,h,p=0;S(T,g,(()=>0)),S(m,g,(()=>[]));const[v,A,C,M,L]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent])(c,e),D=async e=>(2!=p&&(p=1,await x.schedule((async()=>{await e(),p=0}))),x),H=t=>{var a;(v&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&L(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),y=o((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(y&&(r(y),y=void 0),x),isAutoLoading:()=>!n(y),save:async e=>(1!=p&&(p=2,await x.schedule((async()=>{try{await a(A,e)}catch(e){i?.(e)}p=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),h=e.addDidFinishTransactionListener((()=>{const e=C();M(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(s(h,e.delListener),h=void 0,x),isAutoSaving:()=>!n(h),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(w(m,g),...e),await(async()=>{if(!w(T,g)){for(b(T,g,1);!n((e=w(m,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}b(T,g,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return u(x)})(e,(async()=>{const e=await V();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(a,n)=>{n?t(null,null,3,n()):t(null,null,2,e.getMergeableContentHashes())}),(e=>W=e),(()=>W=void 0),g,!0,{startSync:async e=>await(await $.startAutoLoad(e)).startAutoSave(),stopSync:()=>$.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),$.stopSync()),getSynchronizerStats:()=>({}),...d});return $})(e,((e,...a)=>{t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))}),(e=>{g=e}),(()=>{t.close()}),c,l,{getWebSocket:()=>t});return d("message",(({data:e})=>{if(!n(g)){const a=e.toString("utf8").indexOf("\n");-1!==a&&g(o(e,0,a),...(t=o(e,a+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),r(((e,a)=>{t.readyState!=t.OPEN?(d("error",a),d("open",(()=>e(W)))):e(W)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=(e,t,a)=>e.slice(t,a),r=e=>new t(e),i=(e,t)=>e.forEach(t),l=Object,c=e=>l.getPrototypeOf(e),g=l.entries,d=l.keys,u=l.freeze,y=(e,t)=>i(g(e),(([e,a])=>t(a,e))),f=e=>(e=>!n(e)&&s(c(e),(e=>e==l.prototype||n(c(e))),(()=>!0)))(e)&&0==(e=>d(e).length)(e),h=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),p=(e,t)=>e?.delete(t),v=e=>new Map(e),b=(e,t)=>e?.get(t),w=(e,t,a)=>n(a)?(p(e,t),e):e?.set(t,a),S=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(b(e,t)):w(e,t,a()),b(e,t)},C=new globalThis.TextEncoder,M=(e,t)=>t?[e,t]:[e],A=(e,t)=>((e??"")>(t??"")?e:t)??"",T=(e="")=>M(((e=[])=>l.fromEntries(e))(),e),m=v(),L=v(),D=2**36,H=2**30,x=2**24,O=2**18,E=4096,z=64,N=e=>String.fromCharCode(48+(63&e)),P=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createWsSynchronizer=async(e,t,l=1,c)=>{let g;const d=(e,a)=>t.addEventListener(e,a),W=((e,t,o,l,c,g,d={})=>{let W;const[j]=(e=>{let t=0,s=-1;const o=(e=>{let t=2166136261;return i(C.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),r=e=>{const o=t,[r,i]=n(e)||""==e?[0,0]:[P(l=e,0)*D+P(l,1)*H+P(l,2)*x+P(l,3)*O+P(l,4)*E+P(l,5)*z+P(l,6),P(l,7)*O+P(l,8)*E+P(l,9)*z+P(l,10),P(l,11)*x+P(l,12)*O+P(l,13)*E+P(l,14)*z+P(l,15)];var l;t=a(o,r,Date.now()),s=t==o?t==r?a(s,i):s:t==r?i:-1};return[()=>{return r(),a=++s,n=o,N((e=t)/D)+N(e/H)+N(e/x)+N(e/O)+N(e/E)+N(e/z)+N(e)+N(a/O)+N(a/E)+N(a/z)+N(a)+N(n/x)+N(n/O)+N(n/E)+N(n/z)+N(n);var e,a,n},r]})(e.getId()),k=v();o(((a,o,r,i)=>{0==r?s(b(k,o),(([e,t])=>n(e)||e==a?t(i,a):0)):2==r&&$.isAutoLoading()?V(a,i).then((e=>{W?.(void 0,e)})):3==r&&$.isAutoLoading()?W?.(void 0,i):s(1==r&&$.isAutoSaving()?e.getMergeableContentHashes():4==r?e.getMergeableTableDiff(i):5==r?e.getMergeableRowDiff(i):6==r?e.getMergeableCellDiff(i):7==r?e.getMergeableValueDiff(i):void 0,(e=>{t(a,o,0,e)}))}));const J=async(e,a,n="")=>r(((s,o)=>{const r=j(),i=setTimeout((()=>{p(k,r),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*c);w(k,r,[e,(e,t)=>{clearTimeout(i),p(k,r),s([e,t])}]),t(e,r,a,n)})),R=(e,[t,a])=>{y(t,(([t,a],n)=>{const s=h(e[0],n,T);y(t,(([e,t],a)=>{const n=h(s[0],a,T);y(e,(([e,t],a)=>n[0][a]=M(e,t))),n[1]=A(n[1],t)})),s[1]=A(s[1],a)})),e[1]=A(e[1],a)},V=async(t=null,a)=>{n(a)&&([a,t]=await J(t,1));const[s,o]=a,[r,i]=e.getMergeableContentHashes();let l=T();if(r!=s){const[a,n]=(await J(t,4,e.getMergeableTableHashes()))[0];if(l=a,!f(n)){const[a,s]=(await J(t,5,e.getMergeableRowHashes(n)))[0];if(R(l,a),!f(s)){const a=(await J(t,6,e.getMergeableCellHashes(s)))[0];R(l,a)}}}return[l,i==o?T():(await J(t,7,e.getMergeableValuesHashes()))[0],1]},$=((e,t,a,o,r,i,l,c={},g=[])=>{let d,y,h,p=0;S(m,g,(()=>0)),S(L,g,(()=>[]));const[v,C,M,A,T]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!f(e)||!f(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!f(e)||!f(t),t.setContent]:0)(l,e),D=t=>{var a;(v&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},H=async e=>(2!=p&&(p=1,await z((async()=>{try{D(await t())}catch(t){i?.(t),e&&T(e)}p=0}))),N),x=()=>(y&&(r(y),y=void 0),N),O=async e=>(1!=p&&(p=2,await z((async()=>{try{await a(C,e)}catch(e){i?.(e)}p=0}))),N),E=()=>(s(h,e.delListener),h=void 0,N),z=async(...e)=>(((e,...t)=>{e.push(...t)})(b(L,g),...e),await(async()=>{if(!b(m,g)){for(w(m,g,1);!n((e=b(L,g),d=e.shift()));)try{await d()}catch(e){i?.(e)}w(m,g,0)}var e})(),N),N={load:H,startAutoLoad:async e=>(await x().load(e),y=o((async(e,t)=>{t||e?2!=p&&(p=1,D(t??e),p=0):await H()})),N),stopAutoLoad:x,isAutoLoading:()=>!n(y),save:O,startAutoSave:async()=>(await E().save(),h=e.addDidFinishTransactionListener((()=>{const e=M();A(e)&&O(e)})),N),stopAutoSave:E,isAutoSaving:()=>!n(h),schedule:z,getStore:()=>e,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...c};return u(N)})(e,(async()=>{const e=await V();return f(e[0][0])&&f(e[1][0])?void 0:e}),(async(a,n)=>{n?t(null,null,3,n):t(null,null,2,e.getMergeableContentHashes())}),(e=>W=e),(()=>W=void 0),g,2,{startSync:async e=>await(await $.startAutoLoad(e)).startAutoSave(),stopSync:()=>$.stopAutoLoad().stopAutoSave(),destroy:()=>(l(),$.stopSync()),getSynchronizerStats:()=>({}),...d});return $})(e,((e,...a)=>{t.send((e??"")+"\n"+JSON.stringify(a,((e,t)=>void 0===t?"":t)))}),(e=>{g=e}),(()=>{t.close()}),l,c,{getWebSocket:()=>t});return d("message",(({data:e})=>{if(!n(g)){const a=e.toString("utf8").indexOf("\n");-1!==a&&g(o(e,0,a),...(t=o(e,a+1),JSON.parse(t,((e,t)=>""===t?void 0:t))))}var t})),r(((e,a)=>{t.readyState!=t.OPEN?(d("error",a),d("open",(()=>e(W)))):e(W)}))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsClient={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,s)=>t(e)?s?.():n(e),s=(e,t,n)=>e.slice(t,n),o=e=>e?.size??0,r=(c=o,e=>{return t=(e,t)=>e+c(t),a(e).reduce(t,0);var t});var c;const a=e=>[...e?.values()??[]],i=(e,t)=>e?.delete(t),d=e=>new Map(e),l=e=>[...e?.keys()??[]],f=(e,t)=>e?.get(t),u=(e,n,s)=>t(s)?(i(e,n),e):e?.set(n,s),h=/\/([^?]*)/;e.createWsServer=e=>{const c=d();return e.on("connection",((e,r)=>n(r.url?.match(h),(([a])=>n(r.headers["sec-websocket-key"],(n=>{const r=(g=d,p=l=c,v=h=a,p?.has(v)||u(l,h,g()),f(l,h));var l,h,g,p,v;u(r,n,e),e.on("message",(e=>{const t=e.toString("utf8"),o=t.indexOf("\n");if(-1!==o){const e=s(t,0,o),c=s(t,o+1);""===e?((e,t)=>{((e,t)=>{e?.forEach(((e,t)=>{return s=e,t!=n?s.send(n+"\n"+c):0;var s}))})(e)})(r):f(r,e)?.send(n+"\n"+c)}})),e.on("close",(()=>{i(r,n),(e=>t(e)||0==o(e))(r)&&i(c,a)}))})))))),{getWebSocketServer:()=>e,getPaths:()=>l(c),getClientIds:e=>l(f(c,e)),getStats:()=>({paths:o(c),clients:r(c)}),destroy:()=>{e.close(),c.clear()}}}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=(e,n,s)=>t(e)?s?.():n(e),s=(e,t,n)=>e.slice(t,n),r=e=>e.length,o=(e,t)=>e.forEach(t),c=(e,...t)=>e.push(...t),i=Object.freeze,d=e=>e?.size??0,a=(l=d,e=>{return t=(e,t)=>e+l(t),f(e).reduce(t,0);var t});var l;const u=e=>t(e)||0==d(e),f=e=>[...e?.values()??[]],h=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),y=e=>new Map(e),g=e=>[...e?.keys()??[]],p=(e,t)=>e?.get(t),S=(e,n,s)=>t(s)?(v(e,n),e):e?.set(n,s),b=(e,t,n,s)=>{var r,o;return r=e,o=t,r?.has(o)?s?.(p(e,t)):S(e,t,n()),p(e,t)},k=(e,t,s,o,c=0)=>n((s?b:p)(e,t[c],c>r(t)-2?s:y),(n=>{if(c>r(t)-2)return o?.(n)&&S(e,t[c]),n;const i=k(n,t,s,o,c+1);return u(n)&&S(e,t[c]),i})),m=e=>new Set(Array.isArray(e)||t(e)?e:[e]),x=/^\d+$/,z=/\/([^?]*)/;e.createWsServer=e=>{const l=y(),f=y(),I=y(),[w,L,T]=(e=>{let s;const[i,d]=(()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??""+t++,t=>{x.test(t)&&r(e)<1e3&&c(e,t)}]})(),a=y();return[(e,t,n,r=[],o=(()=>[]))=>{s??=W;const c=i(1);var d,l;return S(a,c,[e,t,n,r,o]),d=k(t,n??[""],m),l=c,d?.add(l),c},(e,t,...n)=>o(((e,t=[""])=>{const n=[],s=(e,i)=>i==r(t)?c(n,e):null===t[i]?h(e,(e=>s(e,i+1))):o([t[i],null],(t=>s(p(e,t),i+1)));return s(e,0),n})(e,t),(e=>h(e,(e=>p(a,e)[0](s,...t??[],...n))))),e=>n(p(a,e),(([,t,n])=>(k(t,n??[""],void 0,(t=>(v(t,e),u(t)?1:0))),S(a,e),d(e),n))),e=>n(p(a,e),(([e,,n=[],c,i])=>{const d=(...a)=>{const l=r(a);l==r(n)?e(s,...a,...i(a)):t(n[l])?o(c[l]?.(...a)??[],(e=>d(...a,e))):d(...a,n[l])};d()}))]})();e.on("connection",((e,t)=>n(t.url?.match(z),(([,r])=>n(t.headers["sec-websocket-key"],(t=>{const n=b(I,r,y);S(n,t,e),1==n.size&&L(l,void 0,(()=>({[r]:1}))),L(f,[r],(()=>({[t]:1}))),e.on("message",(e=>{const r=e.toString("utf8"),o=r.indexOf("\n");if(-1!==o){const e=s(r,0,o),i=s(r,o+1);""===e?(c=(e,n)=>e!=t?n.send(t+"\n"+i):0,h(n,((e,t)=>c(t,e)))):p(n,e)?.send(t+"\n"+i)}var c})),e.on("close",(()=>{v(n,t),L(f,[r],(()=>({[t]:-1}))),u(n)&&(v(I,r),L(l,void 0,(()=>({[r]:-1}))))}))}))))));const W={getWebSocketServer:()=>e,getPathIds:()=>g(I),getClientIds:e=>g(p(I,e)),addPathIdsListener:e=>w(e,l),addClientIdsListener:(e,t)=>w(t,f,[e]),delListener:e=>(T(e),W),getStats:()=>({paths:d(I),clients:a(I)}),destroy:()=>{e.close(),I.clear()}};return i(W)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizerWsServer={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),c=r.entries,l=r.keys,g=r.freeze,u=(e,t)=>s(c(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>l(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),h=(e,t)=>e?.delete(t),f=e=>new Map(e),p=(e,t)=>e?.get(t),w=(e,t,a)=>n(a)?(h(e,t),e):e?.set(t,a),v=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):w(e,t,a()),p(e,t)},b=new globalThis.TextEncoder,A=(e,t)=>t?[e,t]:[e],C=(e,t)=>((e??"")>(t??"")?e:t)??"",M=(e="")=>A(((e=[])=>r.fromEntries(e))(),e),S=f(),T=f(),L=2**36,m=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createCustomSynchronizer=(e,r,i,c,l,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(b.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(c=e,0)*L+j(c,1)*m+j(c,2)*D+j(c,3)*H+j(c,4)*x+j(c,5)*z+j(c,6),j(c,7)*H+j(c,8)*x+j(c,9)*z+j(c,10),j(c,11)*D+j(c,12)*H+j(c,13)*x+j(c,14)*z+j(c,15)];var c;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/L)+E(e/m)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=f();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,(()=>e))})):3==s&&I.isAutoLoading()?R?.(void 0,(()=>i)):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{h($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*l);w($,s,[e,(e,a)=>{clearTimeout(i),h($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,M);u(t,(([e,t],a)=>{const n=y(o[0],a,M);u(e,(([e,t],a)=>n[0][a]=A(e,t))),n[1]=C(n[1],t)})),o[1]=C(o[1],a)})),e[1]=C(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let c=M();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(c=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(c,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(c,a)}}}return[c,i==s?M():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,c,l={},u=[])=>{let y,h,f,b=0;v(S,u,(()=>0)),v(T,u,(()=>[]));const[A,C,M,L,m]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent])(c,e),D=async e=>(2!=b&&(b=1,await x.schedule((async()=>{await e(),b=0}))),x),H=t=>{var a;(A&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},x={load:async e=>await D((async()=>{try{H(await t())}catch(t){i?.(t),e&&m(e)}})),startAutoLoad:async e=>(await x.stopAutoLoad().load(e),h=s((async(e,a)=>{const n=a?.();await D((async()=>{try{H(n??e?.()??await t())}catch(e){i?.(e)}}))})),x),stopAutoLoad:()=>(h&&(r(h),h=void 0),x),isAutoLoading:()=>!n(h),save:async e=>(1!=b&&(b=2,await x.schedule((async()=>{try{await a(C,e)}catch(e){i?.(e)}b=0}))),x),startAutoSave:async()=>(await x.stopAutoSave().save(),f=e.addDidFinishTransactionListener((()=>{const e=M();L(e)&&x.save((()=>e))})),x),stopAutoSave:()=>(o(f,e.delListener),f=void 0,x),isAutoSaving:()=>!n(f),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(p(T,u),...e),await(async()=>{if(!p(S,u)){for(w(S,u,1);!n((e=p(T,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}w(S,u,0)}var e})(),x),getStore:()=>e,destroy:()=>x.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return g(x)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a()):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,!0,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(c(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=Promise,a=Math.max,n=e=>null==e,o=(e,t,a)=>n(e)?a?.():t(e),s=(e,t)=>e.forEach(t),r=Object,i=e=>r.getPrototypeOf(e),l=r.entries,c=r.keys,g=r.freeze,u=(e,t)=>s(l(e),(([e,a])=>t(a,e))),d=e=>(e=>!n(e)&&o(i(e),(e=>e==r.prototype||n(i(e))),(()=>!0)))(e)&&0==(e=>c(e).length)(e),y=(e,t,a)=>(((e,t)=>t in e)(e,t)||(e[t]=a()),e[t]),f=(e,t)=>e?.delete(t),h=e=>new Map(e),p=(e,t)=>e?.get(t),b=(e,t,a)=>n(a)?(f(e,t),e):e?.set(t,a),w=(e,t,a,n)=>{var o,s;return o=e,s=t,o?.has(s)?n?.(p(e,t)):b(e,t,a()),p(e,t)},v=new globalThis.TextEncoder,C=(e,t)=>t?[e,t]:[e],M=(e,t)=>((e??"")>(t??"")?e:t)??"",A=(e="")=>C(((e=[])=>r.fromEntries(e))(),e),S=h(),T=h(),m=2**36,L=2**30,D=2**24,H=2**18,x=4096,z=64,E=e=>String.fromCharCode(48+(63&e)),j=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48;e.createCustomSynchronizer=(e,r,i,l,c,O,P={})=>{let R;const[V]=(e=>{let t=0,o=-1;const r=(e=>{let t=2166136261;return s(v.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(e),i=e=>{const s=t,[r,i]=n(e)||""==e?[0,0]:[j(l=e,0)*m+j(l,1)*L+j(l,2)*D+j(l,3)*H+j(l,4)*x+j(l,5)*z+j(l,6),j(l,7)*H+j(l,8)*x+j(l,9)*z+j(l,10),j(l,11)*D+j(l,12)*H+j(l,13)*x+j(l,14)*z+j(l,15)];var l;t=a(s,r,Date.now()),o=t==s?t==r?a(o,i):o:t==r?i:-1};return[()=>{return i(),a=++o,n=r,E((e=t)/m)+E(e/L)+E(e/D)+E(e/H)+E(e/x)+E(e/z)+E(e)+E(a/H)+E(a/x)+E(a/z)+E(a)+E(n/D)+E(n/H)+E(n/x)+E(n/z)+E(n);var e,a,n},i]})(e.getId()),$=h();i(((t,a,s,i)=>{0==s?o(p($,a),(([e,a])=>n(e)||e==t?a(i,t):0)):2==s&&I.isAutoLoading()?F(t,i).then((e=>{R?.(void 0,e)})):3==s&&I.isAutoLoading()?R?.(void 0,i):o(1==s&&I.isAutoSaving()?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(i):5==s?e.getMergeableRowDiff(i):6==s?e.getMergeableCellDiff(i):7==s?e.getMergeableValueDiff(i):void 0,(e=>{r(t,a,0,e)}))}));const k=async(e,a,n="")=>new t(((t,o)=>{const s=V(),i=setTimeout((()=>{f($,s),o(`No response from ${e??"anyone"} to '${a}'`)}),1e3*c);b($,s,[e,(e,a)=>{clearTimeout(i),f($,s),t([e,a])}]),r(e,s,a,n)})),B=(e,[t,a])=>{u(t,(([t,a],n)=>{const o=y(e[0],n,A);u(t,(([e,t],a)=>{const n=y(o[0],a,A);u(e,(([e,t],a)=>n[0][a]=C(e,t))),n[1]=M(n[1],t)})),o[1]=M(o[1],a)})),e[1]=M(e[1],a)},F=async(t=null,a)=>{n(a)&&([a,t]=await k(t,1));const[o,s]=a,[r,i]=e.getMergeableContentHashes();let l=A();if(r!=o){const[a,n]=(await k(t,4,e.getMergeableTableHashes()))[0];if(l=a,!d(n)){const[a,o]=(await k(t,5,e.getMergeableRowHashes(n)))[0];if(B(l,a),!d(o)){const a=(await k(t,6,e.getMergeableCellHashes(o)))[0];B(l,a)}}}return[l,i==s?A():(await k(t,7,e.getMergeableValuesHashes()))[0],1]},I=((e,t,a,s,r,i,l,c={},u=[])=>{let y,f,h,v=0;w(S,u,(()=>0)),w(T,u,(()=>[]));const[C,M,A,m,L]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!d(e)||!d(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!d(e)||!d(t),t.setContent]:0)(l,e),D=t=>{var a;(C&&(a=t?.[0],Array.isArray(a))?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},H=async e=>(2!=v&&(v=1,await j((async()=>{try{D(await t())}catch(t){i?.(t),e&&L(e)}v=0}))),O),x=()=>(f&&(r(f),f=void 0),O),z=async e=>(1!=v&&(v=2,await j((async()=>{try{await a(M,e)}catch(e){i?.(e)}v=0}))),O),E=()=>(o(h,e.delListener),h=void 0,O),j=async(...e)=>(((e,...t)=>{e.push(...t)})(p(T,u),...e),await(async()=>{if(!p(S,u)){for(b(S,u,1);!n((e=p(T,u),y=e.shift()));)try{await y()}catch(e){i?.(e)}b(S,u,0)}var e})(),O),O={load:H,startAutoLoad:async e=>(await x().load(e),f=s((async(e,t)=>{t||e?2!=v&&(v=1,D(t??e),v=0):await H()})),O),stopAutoLoad:x,isAutoLoading:()=>!n(f),save:z,startAutoSave:async()=>(await E().save(),h=e.addDidFinishTransactionListener((()=>{const e=A();m(e)&&z(e)})),O),stopAutoSave:E,isAutoSaving:()=>!n(h),schedule:j,getStore:()=>e,destroy:()=>x().stopAutoSave(),getStats:()=>({}),...c};return g(O)})(e,(async()=>{const e=await F();return d(e[0][0])&&d(e[1][0])?void 0:e}),(async(t,a)=>{a?r(null,null,3,a):r(null,null,2,e.getMergeableContentHashes())}),(e=>R=e),(()=>R=void 0),O,2,{startSync:async e=>await(await I.startAutoLoad(e)).startAutoSave(),stopSync:()=>I.stopAutoLoad().stopAutoSave(),destroy:()=>(l(),I.stopSync()),getSynchronizerStats:()=>({}),...P});return I}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseSynchronizers={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",C=f+h,w="Row",L=w+"Count",y=w+h,p="Sorted"+w+h,v="Cell",S=v+h,T="Value",I=T+"s",R=T+h,M=e=>s+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),D=Promise,A=Math.max,E=Math.min,H=isFinite,k=e=>null==e,x=(e,t,s)=>k(e)?s?.():t(e),J=e=>e==n||e==a,F=e=>t(e)==n,Q=e=>t(e)==r,z=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),P=e=>e.length,O=()=>{},W=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),$=(e,t)=>P(e)===P(t)&&j(e,((e,s)=>t[s]===e)),B=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==P(e),X=(e,t,s)=>e.reduce(t,s),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,se=e=>te.getPrototypeOf(e),ne=te.entries,ae=te.isFrozen,oe=e=>!k(e)&&x(se(e),(e=>e==te.prototype||k(se(e))),(()=>!0)),re=te.keys,le=te.freeze,ie=(e=[])=>te.fromEntries(e),ce=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ue=(e,t)=>q(ne(e),(([e,s])=>t(s,e))),ge=(e,t)=>G(ne(e),(([e,s])=>t(s,e))),he=e=>oe(e)&&0==(e=>P(re(e)))(e),fe=(e,t,s)=>(ce(e,t)||(e[t]=s()),e[t]),be=(e,t,s,n=0)=>k(e)||!oe(e)||!n&&he(e)||ae(e)?(s?.(),!1):(ge(e,((s,n)=>{t(s,n)||de(e,n)})),!!n||!he(e)),Ce=e=>e?.size??0,we=(e,t)=>e?.has(t)??!1,Le=e=>k(e)||0==Ce(e),ye=e=>[...e?.values()??[]],pe=e=>e.clear(),ve=(e,t)=>e?.forEach(t),Se=(e,t)=>e?.delete(t),Te=e=>new Map(e),Ie=e=>[...e?.keys()??[]],Re=(e,t)=>e?.get(t),Me=(e,t)=>ve(e,((e,s)=>t(s,e))),me=(e,t,s)=>k(s)?(Se(e,t),e):e?.set(t,s),Ve=(e,t,s,n)=>(we(e,t)?n?.(Re(e,t)):me(e,t,s()),Re(e,t)),De=(e,t,s,n=me)=>(ge(t,((t,n)=>s(e,n,t))),Me(e,(s=>ce(t,s)?0:n(e,s))),e),Ae=(e,t,s,n)=>{const a={};return ve(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},Ee=(e,t,s)=>Ae(e,(e=>Ae(e,t,s)),Le,he),He=(e,t,s)=>Ae(e,(e=>Ee(e,t,s)),Le,he),ke=(e,t)=>{const s=Te();return ve(e,((e,n)=>s.set(n,t?.(e)??e))),s},xe=e=>ke(e,ke),Je=e=>ke(e,xe),Fe=(e,t,s,n,a=0)=>x((s?Ve:Re)(e,t[a],a>P(t)-2?s:Te),(o=>{if(a>P(t)-2)return n?.(o)&&me(e,t[a]),o;const r=Fe(o,t,s,n,a+1);return Le(o)&&me(e,t[a]),r})),Qe=e=>{const s=t(e);return J(s)||s==o&&H(e)?s:void 0},ze=e=>k(e)||!k(Qe(e)),Ne=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Pe=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),Oe=e=>new Set(z(e)||k(e)?e:[e]),We=(e,t)=>e?.add(t),je=(e,t,s,n,a)=>{const o=e.hasRow,r=Te(),l=Te(),i=Te(),c=Te(),d=Te(),u=Te(),g=(t,s,...n)=>{const a=Ve(u,t,Oe);return q(n,(t=>We(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>x(Re(u,t),(n=>{q(U(s)?ye(n):s,(t=>{e.delListener(t),Se(n,t)})),Le(n)&&me(u,t)})),f=(e,s)=>{me(r,e,s),we(l,e)||(me(l,e,t()),me(c,e,Te()),me(d,e,Te()),a(i))},b=e=>{me(r,e),me(l,e),me(c,e),me(d,e),h(e),a(i)};return[()=>e,()=>Ie(r),e=>Me(l,e),e=>we(l,e),e=>Re(r,e),e=>Re(l,e),(e,t)=>me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Te(),u=Te(),b=Re(c,t),C=Re(d,t),w=t=>{const a=s=>e.getCell(n,t,s),c=Re(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||z(c)&&z(d)&&$(c,d)||me(i,t,[c,d]),!k(l)){const e=Re(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&me(u,t,s)}},L=e=>{a((()=>{ve(i,(([,e],t)=>me(b,t,e))),ve(u,((e,t)=>me(C,t,e)))}),i,u,b,C,e),pe(i),pe(u)};Me(b,w),e.hasTable(n)&&q(e.getRowIds(n),(e=>{we(b,e)||w(e)})),L(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>w(s))),e.addTableListener(n,(()=>L())))},b,e=>n(e,i),()=>Me(u,b),g,h]},$e=(e,t)=>F(e)?t=>t(e):e??(()=>t??s),Be=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},_e=/^\d+$/,qe=()=>{const e=[];let t=0;return[n=>(n?ee(e):null)??s+t++,t=>{_e.test(t)&&P(e)<1e3&&Y(e,t)}]},Ge=e=>{let t;const[n,a]=qe(),o=Te();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return me(o,d,[a,r,l,i,c]),We(Fe(r,l??[s],Oe),d),d},(e,n,...a)=>q(((e,t=[s])=>{const n=[],a=(e,s)=>s==P(t)?Y(n,e):null===t[s]?ve(e,(e=>a(e,s+1))):q([t[s],null],(t=>a(Re(e,t),s+1)));return a(e,0),n})(e,n),(e=>ve(e,(e=>Re(o,e)[0](t,...n??[],...a))))),e=>x(Re(o,e),(([,t,n])=>(Fe(t,n??[s],void 0,(t=>(Se(t,e),Le(t)?1:0))),me(o,e),a(e),n))),e=>x(Re(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=P(r);l==P(s)?e(t,...r,...a(r)):k(s[l])?q(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},Ke=Be((e=>{let t,n,a,o=100,r=Te(),l=Te(),i=1;const c=Te(),d=Te(),[u,g,h]=Ge((()=>J)),f=Te(),b=Te(),C=[],w=[],L=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Re(f,s);ve(n,((s,n)=>ve(s,((s,a)=>ve(s,((s,o)=>Ne(e,n,a,o,s[t]))))))),ve(a,((s,n)=>Pe(e,n,s[t])))})),i=1},y=e=>{me(f,e),me(b,e),g(d,[e])},p=(e,t)=>q(((e,t)=>e.splice(0,t))(e,t??P(e)),y),v=()=>p(C,P(C)-o),S=()=>x(t,(()=>{Y(C,t),v(),p(w),t=void 0,a=1})),T=()=>{t=Z(C),a=1};let I,R;const M=(e=s)=>(k(t)&&(t=s+n++,me(f,t,[r,l]),E(t,e),r=Te(),l=Te(),a=1),t),m=()=>{U(C)||(((e,...t)=>{e.unshift(...t)})(w,M()),L(0,t),t=Z(C),a=1)},V=()=>{U(w)||(Y(C,t),t=ee(w),L(1,t),a=1)},D=()=>{a&&(g(c),a=0)},A=e=>{const t=M(e);return D(),t},E=(e,t)=>(H(e)&&Re(b,e)!==t&&(me(b,e,t),g(d,[e])),J),H=e=>we(f,e),J={setSize:e=>(o=e,v(),J),addCheckpoint:A,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...w]],forEachCheckpoint:e=>Me(b,e),hasCheckpoint:H,getCheckpoint:e=>Re(b,e),goBackward:()=>(m(),D(),J),goForward:()=>(V(),D(),J),goTo:e=>{const s=W(C,e)?m:W(w,e)?V:null;for(;!k(s)&&e!=t;)s();return D(),J},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),J),clear:()=>(p(C),p(w),k(t)||y(t),t=void 0,n=0,A(),J),clearForward:()=>(U(w)||(p(w),g(c)),J),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{I=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){S();const e=Ve(r,t,Te),l=Ve(e,s,Te),i=Ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&Le(me(l,n))&&Le(me(e,s))&&Le(me(r,t))&&T(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=Ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&Le(me(l,t))&&T(),D()}}))}};return le(J.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(e??0)<(t??0)?-1:1,Xe=Be((e=>{const t=Te(),n=Te(),[a,o,r]=Ge((()=>y)),[l,i,c,d,u,g,h,,f,b,C,w]=je(e,Te,(e=>k(e)?s:z(e)?G(e,M):M(e)),a,o),L=(t,s,n)=>{const a=u(t);ve(n,((t,n)=>s(n,(s=>ve(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},y={setIndexDefinition:(e,s,a,r,l,i=Ue)=>{const c=k(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const C=Oe(),w=Oe(),L=g(e);if(ve(a,(([e,t],s)=>{const n=Oe(e),a=Oe(t);ve(n,(e=>Se(a,e)?Se(n,e):0)),ve(n,(e=>{We(C,e),x(Re(L,e),(t=>{Se(t,s),Le(t)&&(me(L,e),b=1)}))})),ve(a,(e=>{We(C,e),we(L,e)||(me(L,e,Oe()),b=1),We(Re(L,e),s),k(r)||We(w,e)}))})),s(),Le(u)||(f?Me(L,(e=>We(w,e))):Me(l,(e=>x(Re(d,e),(e=>We(w,e))))),ve(w,(e=>{const t=(t,s)=>i(Re(u,t),Re(u,s),e),s=[...Re(L,e)];B(s,t)||(me(L,e,Oe(_(s,t))),We(C,e))}))),(b||f)&&!k(c)){const t=[...L];B(t,c)||(h(e,Te(_(t,c))),b=1)}b&&o(t,[e]),ve(C,(t=>o(n,[e,t])))}),$e(a),x(r,$e)),y},delIndexDefinition:e=>(b(e),y),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>L(t,e,s))))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>we(g(e),t),getTableId:u,getSliceIds:e=>Ie(g(e)),getSliceRowIds:(e,t)=>ye(Re(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),y),destroy:w,getListenerStats:()=>({})};return le(y)})),Ye=Te([["avg",[(e,t)=>K(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>A(...e),(e,t)=>A(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:A(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ze=(e,t,s,n,a,o=!1)=>{if(Le(s))return;const[r,l,i,c]=a;return o||=k(e),ve(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ye(s),Ce(s)):e},et=Be((e=>{const t=Te(),[n,a,o]=Ge((()=>w)),[r,l,i,c,d,u,g,,h,f,b,C]=je(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),w={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:Re(Ye,n)??Re(Ye,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=Ce(r);i||=k(d),s();let f=Ze(d,h,r,n,c,i);H(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),$e(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),w),destroy:C,getListenerStats:()=>({})};return le(w)})),tt=Te(),st=Te(),nt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(tt,i,(()=>0)),Ve(st,i,(()=>[]));const[h,f,b,C,w]=((e,t)=>!e||k(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!he(e)||!he(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!he(e)||!he(t),t.setDefaultContent])(r,e),L=async e=>(2!=g&&(g=1,await p.schedule((async()=>{await e(),g=0}))),p),y=t=>{(h&&z(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},p={load:async e=>await L((async()=>{try{y(await t())}catch(t){o?.(t),e&&w(e)}})),startAutoLoad:async e=>(await p.stopAutoLoad().load(e),d=n((async(e,s)=>{const n=s?.();await L((async()=>{try{y(n??e?.()??await t())}catch(e){o?.(e)}}))})),p),stopAutoLoad:()=>(d&&(a(d),d=void 0),p),isAutoLoading:()=>!k(d),save:async e=>(1!=g&&(g=2,await p.schedule((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),u=e.addDidFinishTransactionListener((()=>{const e=b();C(e)&&p.save((()=>e))})),p),stopAutoSave:()=>(x(u,e.delListener),u=void 0,p),isAutoSaving:()=>!k(u),schedule:async(...e)=>(Y(Re(st,i),...e),await(async()=>{if(!Re(tt,i)){for(me(tt,i,1);!k(c=ee(Re(st,i)));)try{await c()}catch(e){o?.(e)}me(tt,i,0)}})(),p),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...l};return le(p)},at=new globalThis.TextEncoder,ot=e=>{let t=2166136261;return q(at.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},rt=([e,t,s])=>[e,t,s],lt=([e,t])=>it(e,t),it=(e,t)=>t?[e,t]:[e],ct=e=>e[2],dt=(e,t)=>ot(e+":"+t),ut=(e,t)=>t>e?(e?ot(e):0)^ot(t):0,gt=(e,t)=>((e??"")>(t??"")?e:t)??"",ht=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},ft=(e=s)=>it(ie(),e),bt=(e=s)=>[Te(),e,0],Ct=([e,t,s],n=rt)=>[Ae(e,n),t,s],wt=([e,t],s=lt)=>it(Ae(e,s),t),Lt=(e,s)=>z(e)&&3==P(e)&&F(e[1])&&t(e[2])==o&&H(e[2])&&s(e[0]),yt=2**36,pt=2**30,vt=2**24,St=2**18,Tt=4096,It=64,Rt=e=>String.fromCharCode(48+(63&e)),Mt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,mt=e=>{let t=0,s=-1;const n=ot(e),a=e=>{const n=t,[a,o]=k(e)||""==e?[0,0]:[Mt(r=e,0)*yt+Mt(r,1)*pt+Mt(r,2)*vt+Mt(r,3)*St+Mt(r,4)*Tt+Mt(r,5)*It+Mt(r,6),Mt(r,7)*St+Mt(r,8)*Tt+Mt(r,9)*It+Mt(r,10),Mt(r,11)*vt+Mt(r,12)*St+Mt(r,13)*Tt+Mt(r,14)*It+Mt(r,15)];var r;t=A(n,a,Date.now()),s=t==n?t==a?A(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,Rt((e=t)/yt)+Rt(e/pt)+Rt(e/vt)+Rt(e/St)+Rt(e/Tt)+Rt(e/It)+Rt(e)+Rt(o/St)+Rt(o/Tt)+Rt(o/It)+Rt(o)+Rt(r/vt)+Rt(r/St)+Rt(r/Tt)+Rt(r/It)+Rt(r);var e,o,r},a]},Vt=Be((e=>{const t=e.createStore,n=t(),a=t(),o=Te(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,C,T,,,I,,R,M,m,V,D]=je(e,(()=>!0),O,r,l),A=(e,t,...s)=>q(s,(s=>We(Ve(Ve(o,t,Te),e,Oe),s))),E=e=>{x(Re(o,e),(e=>{Me(e,((e,t)=>ve(t,(t=>e.delListener(t))))),pe(e)})),q([a,n],(t=>t.delTable(e)))},H=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(t,o,r)=>{I(t,o),E(t);const l=[],i=[[null,[o,null,null,[],Te()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=Q(e)?[P(l)+s,e]:[k(t)?e:t,s=>s(e,t)];return Y(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||Q(t)?null:t,a=k(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],Te()]];return Y(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>Y(c,Q(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:Re(Ye,t)??[(e,t)=>t]]];return Y(d,o),{as:e=>o[0]=e}},having:(e,t)=>Y(u,Q(e)?e:s=>s(e)===t)});const g=Te(l);if(Le(g))return J;const h=Te(i);Me(h,((e,[,t])=>x(Re(h,t),(({3:t})=>k(e)?0:Y(t,e)))));const f=Te(d);let b=n;if(Le(f)&&U(u))b=a;else{H(t,b,a);const e=Te();Me(f,((t,[s,n])=>We(Ve(e,s,Oe),[t,n])));const s=Oe();Me(g,(t=>we(e,t)?0:We(s,t)));const n=Te(),o=(s,n,o,r)=>x(s,(([l,i,c,d])=>{Me(n,((t,[s])=>{const n=Ve(l,t,Te),a=Re(n,o),i=r?void 0:s;if(a!==i){const s=Oe([[a,i]]),r=Ce(n);me(n,o,i),ve(Re(e,t),(([e,t])=>{const a=Ze(d[e],r,n,s,t);d[e]=k(Qe(a))?null:a}))}})),Le(i)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):k(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));A(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=Te(),g=b.hasRow(t,l);let h=!g;ve(s,(e=>{const[s,n,a]=i(t,l,e);Y(c,n),Y(d,a),h||=s})),Me(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&me(u,e,[n])})),h&&o(Fe(n,c,void 0,(([,e])=>(Se(e,l),Le(e)))),u,l,1),g&&o(Fe(n,d,(()=>{const e={};return ve(s,(s=>e[s]=b.getCell(t,l,s))),[Te(),Oe(),void 0,e]}),(([,e])=>{We(e,l)})),u,l)})))}H(t,e,b);const C=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);q(r,(n=>{const[a,,o,r,i]=Re(h,n),c=o?.(l,s),[d,u]=Re(i,s)??[];c!=d&&(k(u)||D(t,u),me(i,s,k(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>C(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...k(n)?[o,s,t]:t===o?[o,s,n]:[Re(h,t)?.[0],Re(Re(h,t)?.[4],s)?.[0],n]);b.transaction((()=>j(c,(e=>e(n)))?Me(g,((e,a)=>Ne(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:w}=Re(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?C(a,o,a,w):(b.delRow(t,a),ve(h,(({4:e})=>x(Re(e,a),(([,s])=>{D(t,s),me(e,a)})))))}))))),J},delQueryDefinition:e=>(E(e),R(e),J),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:C,getTableId:T,addQueryIdsListener:e=>M((()=>e(J))),delListener:e=>(i(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ge({[f]:[1,1],[f+S]:[0,1],[L]:[0,1],[y]:[0,1],[p]:[0,5],[w]:[1,2],[S]:[0,2],[v]:[1,3]},(([e,t],s)=>{q(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>a[e+s](...t))),J[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),le(J)})),Dt=Be((e=>{const t=Te(),n=Te(),a=Te(),o=Te(),[r,l,i]=Ge((()=>S)),[c,d,u,g,h,f,,,b,C,w,L]=je(e,(()=>[Te(),Te(),Te(),Te()]),(e=>k(e)?void 0:e+s),r,l),y=(e,t,s)=>x(f(e),(([n,,a])=>{if(!we(a,t)){const o=Oe();if(h(e)!=v(e))We(o,t);else{let e=t;for(;!k(e)&&!we(o,e);)We(o,e),e=Re(n,e)}if(s)return o;me(a,t,o)}return Re(a,t)})),p=(e,t)=>x(f(e),(([,,e])=>me(e,t))),v=e=>Re(t,e),S={setRelationshipDefinition:(e,s,r,i)=>(me(t,e,r),b(e,s,((t,s)=>{const r=Oe(),i=Oe(),c=Oe(),[d,u]=f(e);ve(s,(([t,s],n)=>{k(t)||(We(i,t),x(Re(u,t),(e=>{Se(e,n),Le(e)&&me(u,t)}))),k(s)||(We(i,s),we(u,s)||me(u,s,Oe()),We(Re(u,s),n)),We(r,n),me(d,n,s),Me(Re(o,e),(t=>{we(y(e,t),n)&&We(c,t)}))})),t(),ve(r,(t=>l(n,[e,t]))),ve(i,(t=>l(a,[e,t]))),ve(c,(t=>{p(e,t),l(o,[e,t])}))}),$e(i)),S),delRelationshipDefinition:e=>(me(t,e),C(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:v,getRemoteRowId:(e,t)=>Re(f(e)?.[0],t),getLocalRowIds:(e,t)=>ye(Re(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:ye(y(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(y(e,t),r(s,o,[e,t])),delListener:e=>(p(...i(e)??[]),S),destroy:L,getListenerStats:()=>({})};return le(S)})),At=e=>[e,e],Et=()=>[Te(),Te()],Ht=e=>[...e],kt=([e,t])=>e===t,xt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Jt=JSON.parse,Ft=(e,t,s)=>me(e,t,Re(e,t)==-s?void 0:s),Qt=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=Te(),h=Te(),p=Te(),m=Te(),V=Te(),D=Te(),A=Te(),E=Te(),H=Te(),F=Te(),z=Te(),P=Te(),O=Te(),j=Te(),B=Oe(),K=Te(),U=Te(),X=Te(),Z=Te(),ee=Et(),te=Et(),se=Et(),ne=Et(),ae=Et(),oe=Et(),re=Et(),ie=Et(),ue=Et(),fe=Et(),ye=Et(),Fe=Et(),ze=Et(),je=Et(),$e=Et(),Be=Et(),_e=Et(),Ke=Et(),Xe=Et(),Ye=Et(),Ze=Et(),et=Et(),tt=Te(),st=Et(),[nt,at,ot,rt]=Ge((()=>xs)),lt=e=>{if(!be(e,((e,t)=>W([l,i],t))))return!1;const t=e[l];return!(!J(t)&&t!=o||(Qe(e[i])!=t&&de(e,i),0))},it=(t,s)=>(!e||we(z,s)||_t(s))&&be(t,((e,t)=>ct(s,t,e)),(()=>_t(s))),ct=(e,t,s,n)=>be(n?s:ht(s,e,t),((n,a)=>x(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>_t(e,t))),dt=(t,s,n,a)=>e?x(Re(Re(z,t),n),(e=>Qe(a)!=e[l]?_t(t,s,n,a,e[i]):a),(()=>_t(t,s,n,a))):k(Qe(a))?_t(t,s,n,a):a,ut=(e,t)=>be(t?e:ft(e),((t,s)=>x(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,s)=>t?x(Re(O,e),(t=>Qe(s)!=t[l]?qt(e,s,t[i]):s),(()=>qt(e,s))):k(Qe(s))?qt(e,s):s,ht=(e,t,s)=>(x(Re(P,t),(([n,a])=>{ve(n,((t,s)=>{ce(e,s)||(e[s]=t)})),ve(a,(n=>{ce(e,n)||_t(t,s,n)}))})),e),ft=e=>(t&&(ve(j,((t,s)=>{ce(e,s)||(e[s]=t)})),ve(B,(t=>{ce(e,t)||qt(t)}))),e),bt=e=>De(z,e,((e,t,s)=>{const n=Te(),a=Oe();De(Ve(z,t,Te),s,((e,t,s)=>{me(e,t,s),x(s[i],(e=>me(n,t,e)),(()=>We(a,t)))})),me(P,t,[n,a])}),((e,t)=>{me(z,t),me(P,t)})),Ct=e=>De(O,e,((e,t,s)=>{me(O,t,s),x(s[i],(e=>me(j,t,e)),(()=>We(B,t)))}),((e,t)=>{me(O,t),me(j,t),Se(B,t)})),wt=e=>he(e)?Rs():ps(e),Lt=e=>De(X,e,((e,t,s)=>yt(t,s)),((e,t)=>Vt(t))),yt=(e,t)=>De(Ve(X,e,(()=>(Pt(e,1),me(K,e,qe()),me(U,e,Te()),Te()))),t,((t,s,n)=>pt(e,t,s,n)),((t,s)=>Dt(e,t,s))),pt=(e,t,s,n,a)=>De(Ve(t,s,(()=>(Ot(e,s,1),Te()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{we(s,n)||Wt(e,t,n,1);const o=Re(s,n);a!==o&&(jt(e,t,n,o,a),me(s,n,a))},St=(e,t,s,n,a)=>x(Re(t,s),(t=>vt(e,s,t,n,a)),(()=>pt(e,t,s,ht({[n]:a},e,s)))),Tt=e=>he(e)?Vs():vs(e),It=e=>De(Z,e,((e,t,s)=>Rt(t,s)),((e,t)=>Nt(t))),Rt=(e,t)=>{we(Z,e)||$t(e,1);const s=Re(Z,e);t!==s&&(Bt(e,s,t),me(Z,e,t))},Mt=(e,t)=>{const[s]=Re(K,e),n=s(t);return we(Re(X,e),n)?Mt(e,t):n},mt=e=>Re(X,e)??yt(e,{}),Vt=e=>yt(e,{}),Dt=(e,t,s)=>{const[,n]=Re(K,e);n(s),pt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Re(Re(P,e)?.[0],a);if(!k(r)&&!o)return vt(e,s,n,a,r);const l=t=>{jt(e,s,t,Re(n,t)),Wt(e,s,t,-1),me(n,t)};k(r)?l(a):Me(n,l),Le(n)&&(Ot(e,s,-1),Le(me(t,s))&&(Pt(e,-1),me(X,e),me(K,e),me(U,e)))},Nt=e=>{const t=Re(j,e);if(!k(t))return Rt(e,t);Bt(e,Re(Z,e)),$t(e,-1),me(Z,e)},Pt=(e,t)=>Ft(d,e,t),Ot=(e,t,s)=>Ft(Ve(m,e,Te),t,s)&&me(p,e,Ve(p,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=Re(U,e),o=Re(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ft(Ve(h,e,Te),s,n),me(a,s,o!=-n?o+n:null),Ft(Ve(Ve(V,e,Te),t,Te),s,n)},jt=(e,t,s,n,a)=>{Ve(Ve(Ve(D,e,Te),t,Te),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},$t=(e,t)=>Ft(A,e,t),Bt=(e,t,s)=>{Ve(E,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},_t=(e,t,s,n,a)=>(Y(Ve(Ve(Ve(H,e,Te),t,Te),s,(()=>[])),n),a),qt=(e,t,s)=>(Y(Ve(F,e,(()=>[])),t),s),Gt=(e,t,s)=>x(Re(Re(Re(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...At(cs(e,t,s))])),Kt=e=>x(Re(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...At(gs(e))])),Ut=e=>Le(H)||Le(Be[e])?0:ve(e?Je(H):H,((t,s)=>ve(t,((t,n)=>ve(t,((t,a)=>at(Be[e],[s,n,a],t))))))),Xt=e=>Le(F)||Le(_e[e])?0:ve(e?ke(F):F,((t,s)=>at(_e[e],[s],t))),Yt=(e,t,s,n)=>{if(!Le(e))return at(t,n,(()=>Ae(e))),Me(e,((e,t)=>at(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&at(ee[e],void 0,t);const n=Le(fe[e]),a=Le(ze[e])&&Le(je[e])&&Le(ue[e])&&Le(ye[e])&&Le(oe[e])&&Le(re[e])&&Le(ie[e])&&n&&Le(se[e])&&Le(ne[e]),o=Le($e[e])&&Le(Fe[e])&&Le(ae[e])&&Le(te[e]);if(!a||!o){const t=e?[ke(d),xe(h),ke(p),xe(m),Je(V),Je(D)]:[d,h,p,m,V,D];if(!a){Yt(t[0],se[e],ne[e]),ve(t[1],((t,s)=>Yt(t,oe[e],re[e],[s]))),ve(t[2],((t,s)=>{0!=t&&at(ie[e],[s],os(s))}));const s=Oe();ve(t[3],((t,a)=>{Yt(t,ue[e],ye[e],[a])&&!n&&(at(fe[e],[a,null]),We(s,a))})),n||ve(t[5],((t,n)=>{if(!we(s,n)){const s=Oe();ve(t,(e=>ve(e,(([t,n],a)=>n!==t?We(s,a):Se(e,a))))),ve(s,(t=>at(fe[e],[n,t])))}})),ve(t[4],((t,s)=>ve(t,((t,n)=>Yt(t,ze[e],je[e],[s,n])))))}if(!o){let s;ve(t[5],((t,n)=>{let a;ve(t,((t,o)=>{let r;ve(t,(([t,l],i)=>{l!==t&&(at($e[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&at(Fe[e],[n,o],Gt)})),a&&at(ae[e],[n],Gt)})),s&&at(te[e],void 0,Gt)}}},es=e=>{const t=Ls();t!=n&&at(Ke[e],void 0,t);const s=Le(Ye[e])&&Le(Ze[e]),a=Le(et[e])&&Le(Xe[e]);if(!s||!a){const t=e?[ke(A),ke(E)]:[A,E];if(s||Yt(t[0],Ye[e],Ze[e]),!a){let s;ve(t[1],(([t,n],a)=>{n!==t&&(at(et[e],[a],n,t,Kt),s=1)})),s&&at(Xe[e],void 0,Kt)}}},ts=(e,...t)=>(Es((()=>e(...G(t,M)))),xs),ss=()=>He(X),ns=()=>Ie(X),as=e=>Ie(Re(U,M(e))),os=e=>Ce(Re(X,M(e))),rs=e=>Ie(Re(X,M(e))),ls=(e,t,s,n=0,a)=>{return G(N(_((o=Re(X,M(e)),r=(e,s)=>[k(t)?s:Re(e,M(t)),s],G([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ue(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Ie(Re(Re(X,M(e)),M(t))),cs=(e,t,s)=>Re(Re(Re(X,M(e)),M(t)),M(s)),ds=()=>Ae(Z),us=()=>Ie(Z),gs=e=>Re(Z,M(e)),hs=()=>!Le(X),fs=e=>we(X,M(e)),bs=(e,t)=>we(Re(U,M(e)),M(t)),Cs=(e,t)=>we(Re(X,M(e)),M(t)),ws=(e,t,s)=>we(Re(Re(X,M(e)),M(t)),M(s)),Ls=()=>!Le(Z),ys=e=>we(Z,M(e)),ps=e=>ts((()=>(e=>be(e,it,_t))(e)?Lt(e):0)),vs=e=>ts((()=>ut(e)?It(e):0)),Ss=e=>{try{wt(Jt(e))}catch{}return xs},Ts=t=>ts((()=>{if((e=be(t,(e=>be(e,lt))))&&(bt(t),!Le(X))){const e=ss();Rs(),ps(e)}})),Is=e=>ts((()=>{if(t=(e=>be(e,lt))(e)){const s=ds();As(),Vs(),t=!0,Ct(e),vs(s)}})),Rs=()=>ts((()=>Lt({}))),Ms=e=>ts((e=>we(X,e)?Vt(e):0),e),ms=(e,t)=>ts(((e,t)=>x(Re(X,e),(s=>we(s,t)?Dt(e,s,t):0))),e,t),Vs=()=>ts((()=>It({}))),Ds=()=>ts((()=>{bt({}),e=!1})),As=()=>ts((()=>{Ct({}),t=!1})),Es=(e,t)=>{if(-1!=a){Hs();const s=e();return ks(t),s}},Hs=()=>(-1!=a&&a++,1==a&&(r[0]?.(),at(tt,void 0)),xs),ks=e=>(a>0&&(a--,0==a&&(a=1,Ut(1),Le(D)||Zt(1),Xt(1),Le(E)||es(1),e?.(xs)&&(ve(D,((e,t)=>ve(e,((e,s)=>ve(e,(([e],n)=>Ne(xs,t,s,n,e))))))),pe(D),ve(E,(([e],t)=>Pe(xs,t,e))),pe(E)),at(st[0],void 0),a=-1,Ut(0),Le(D)||Zt(0),Xt(0),Le(E)||es(0),r[1]?.(),at(st[1],void 0),r[2]?.(),a=0,s=hs(),n=Ls(),q([d,h,p,m,V,D,H,A,E,F],pe))),xs),xs={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>Ee(Re(X,M(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>Ae(Re(Re(X,M(e)),M(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:bs,hasRow:Cs,hasCell:ws,hasValues:Ls,hasValue:ys,getTablesJson:()=>xt(X),getValuesJson:()=>xt(Z),getJson:()=>xt([X,Z]),getTablesSchemaJson:()=>xt(z),getValuesSchemaJson:()=>xt(O),getSchemaJson:()=>xt([z,O]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(he(e)?Rs:ps)(e),(he(t)?Vs:vs)(t)})),setTables:ps,setTable:(e,t)=>ts((e=>it(t,e)?yt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?pt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Es((()=>{let n;return ct(e,n,t)&&(e=M(e),pt(e,mt(e),n=Mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(ct(e,t,s,1)){const n=mt(e);ge(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>x(dt(e,t,s,Q(n)?n(cs(e,t,s)):n),(n=>St(e,mt(e),t,s,n)))),e,t,s),setValues:vs,setPartialValues:e=>ts((()=>ut(e,1)?ge(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>ts((e=>x(gt(e,Q(t)?t(gs(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>ts((()=>{ge(e[0],((e,t)=>k(e)?Ms(t):ge(e,((e,s)=>k(e)?ms(t,s):ge(e,((e,n)=>Ne(xs,t,s,n,e))))))),ge(e[1],((e,t)=>Pe(xs,t,e)))})),setTablesJson:Ss,setValuesJson:e=>{try{Tt(Jt(e))}catch{}return xs},setJson:e=>ts((()=>{try{const[t,s]=Jt(e);wt(t),Tt(s)}catch{Ss(e)}})),setTablesSchema:Ts,setValuesSchema:Is,setSchema:(e,t)=>ts((()=>{Ts(e),Is(t)})),delTables:Rs,delTable:Ms,delRow:ms,delCell:(e,t,s,n)=>ts(((e,t,s)=>x(Re(X,e),(a=>x(Re(a,t),(o=>we(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:Vs,delValue:e=>ts((e=>we(Z,e)?Nt(e):0),e),delTablesSchema:Ds,delValuesSchema:As,delSchema:()=>ts((()=>{Ds(),As()})),transaction:Es,startTransaction:Hs,getTransactionChanges:()=>[Ae(D,((e,t)=>-1===Re(d,t)?void 0:Ae(e,((e,s)=>-1===Re(Re(m,t),s)?void 0:Ae(e,(([,e])=>e),(e=>kt(e)))),Le,he)),Le,he),Ae(E,(([,e])=>e),(e=>kt(e))),1],getTransactionLog:()=>[!Le(D),!Le(E),He(D,Ht,kt),He(H),Ae(E,Ht,kt),Ae(F),Ae(d),Ee(m),He(V),Ae(A)],finishTransaction:ks,forEachTable:e=>ve(X,((t,s)=>e(s,(e=>ve(t,((t,s)=>e(s,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,M(e)),t),forEachRow:(e,t)=>ve(Re(X,M(e)),((e,s)=>t(s,(t=>Me(e,t))))),forEachCell:(e,t,s)=>Me(Re(Re(X,M(e)),M(t)),s),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return nt((()=>{const r=ls(e,t,s,n,a);$(r,l)||(l=r,o(xs,e,t,s,n,a,l))}),fe[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,tt),addWillFinishTransactionListener:e=>nt(e,st[0]),addDidFinishTransactionListener:e=>nt(e,st[1]),callListener:e=>(rt(e),xs),delListener:e=>(ot(e),xs),getListenerStats:()=>({}),createStore:Qt,addListener:nt,callListeners:at,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return ge({[g+b]:[0,ee,[],()=>[hs()]],[b]:[0,te],[C]:[0,se],[g+f]:[1,ne,[ns],e=>[fs(...e)]],[f]:[1,ae,[ns]],[f+S]:[1,oe,[ns]],[g+f+v]:[2,re,[ns,as],e=>[bs(...e)]],[L]:[1,ie,[ns]],[y]:[1,ue,[ns]],[g+w]:[2,ye,[ns,rs],e=>[Cs(...e)]],[w]:[2,Fe,[ns,rs]],[S]:[2,ze,[ns,rs]],[g+v]:[3,je,[ns,rs,is],e=>[ws(...e)]],[v]:[3,$e,[ns,rs,is],e=>At(cs(...e))],InvalidCell:[3,Be],[g+I]:[0,Ke,[],()=>[Ls()]],[I]:[0,Xe],[R]:[0,Ye],[g+T]:[1,Ze,[us],e=>[ys(...e)]],[T]:[1,et,[us],e=>At(gs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{xs[u+a+c]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),le(xs)},zt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Nt=(e=s)=>[bt(e),bt(e)];e.createCheckpoints=Ke,e.createCustomPersister=nt,e.createCustomSynchronizer=(e,t,n,a,o,r,l={})=>{let i;const[c]=mt(e.getId()),d=Te();n(((s,n,a,o)=>{0==a?x(Re(d,n),(([e,t])=>k(e)||e==s?t(o,s):0)):2==a&&f.isAutoLoading()?h(s,o).then((e=>{i?.(void 0,(()=>e))})):3==a&&f.isAutoLoading()?i?.(void 0,(()=>o)):x(1==a&&f.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(o):5==a?e.getMergeableRowDiff(o):6==a?e.getMergeableCellDiff(o):7==a?e.getMergeableValueDiff(o):void 0,(e=>{t(s,n,0,e)}))}));const u=async(e,n,a=s)=>new D(((s,r)=>{const l=c(),i=setTimeout((()=>{Se(d,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);me(d,l,[e,(e,t)=>{clearTimeout(i),Se(d,l),s([e,t])}]),t(e,l,n,a)})),g=(e,[t,s])=>{ue(t,(([t,s],n)=>{const a=fe(e[0],n,ft);ue(t,(([e,t],s)=>{const n=fe(a[0],s,ft);ue(e,(([e,t],s)=>n[0][s]=it(e,t))),n[1]=gt(n[1],t)})),a[1]=gt(a[1],s)})),e[1]=gt(e[1],s)},h=async(t=null,s)=>{k(s)&&([s,t]=await u(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=ft();if(o!=n){const[s,n]=(await u(t,4,e.getMergeableTableHashes()))[0];if(l=s,!he(n)){const[s,a]=(await u(t,5,e.getMergeableRowHashes(n)))[0];if(g(l,s),!he(a)){const s=(await u(t,6,e.getMergeableCellHashes(a)))[0];g(l,s)}}}return[l,r==a?ft():(await u(t,7,e.getMergeableValuesHashes()))[0],1]},f=nt(e,(async()=>{const e=await h();return he(e[0][0])&&he(e[1][0])?void 0:e}),(async(s,n)=>{n?t(null,null,3,n()):t(null,null,2,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,!0,{startSync:async e=>await(await f.startAutoLoad(e)).startAutoSave(),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),f.stopSync()),getSynchronizerStats:()=>({}),...l});return f},e.createIndexes=Xe,e.createMergeableStore=e=>{let t=1,n=Nt(),a=0;const o=Te(),r=Oe(),[l,i]=mt(e),c=Qt(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,C]=u;let w=t?c:C,L=l;ue(r,(([e,n=s,o=0],r)=>{const l=Ve(f,r,bt),[i,c,d]=l;let u=t?o:d,h=n;ue(e,((e,s)=>{const[n,o,l]=g(e,Ve(i,s,bt),fe(fe(a,r,ie),s,ie),t);u^=t?0:(o?dt(s,o):0)^dt(s,l),h=gt(h,n)})),u^=t?0:ut(c,n),ht(l,u,n),w^=t?0:(d?dt(r,d):0)^dt(r,l[2]),L=gt(L,h)})),w^=t?0:ut(b,l),ht(u,w,l);const[y]=g(d,h,o,t);return i(gt(L,y)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return ue(o,(([e,t,o=0],r)=>{const l=Ve(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(ht(l,a?o:ot(xt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:dt(r,d)^dt(r,l[2]),u=gt(u,t))})),g^=a?0:ut(c,r),ht(t,g,r),[u,d,t[2]]},h=()=>[Ct(n[0],(e=>Ct(e,(e=>Ct(e))))),Ct(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getId:()=>e,getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Ae(n[0][0],ct),getMergeableTableDiff:e=>{const t=ft(n[0][1]),s={};return Me(n[0][0],((n,[a,o,r])=>ce(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=wt([a,o],(e=>wt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n,,a])=>a!=e?Me(n,((e,[,,n])=>fe(t,s,ie)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=ft(n[0][1]),s={};return ue(e,((e,a)=>Me(Re(n[0][0],a)?.[0],((n,[o,r,l])=>ce(e,n)?l!==e[n]?fe(s,a,ie)[n]=l:0:fe(t[0],a,ft)[0][n]=wt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n])=>ue(e,((e,a)=>x(Re(n,a),(([n,,o])=>o!==e?Me(n,((e,[,,n])=>fe(fe(t,s,ie),a,ie)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return ue(e,((e,s)=>ue(e,((e,n)=>x(Re(t,s),(([t,o])=>x(Re(t,n),(([t,r])=>Me(t,((t,[l,i,c])=>c!==e[t]?fe(fe(a,s,(()=>ft(o)))[0],n,(()=>ft(r)))[0][t]=[l,i]:0)))))))))),it(a,s)},getMergeableValuesHashes:()=>Ae(n[1][0],ct),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Ae(t,lt,(([,,t],s)=>t==e?.[s]));return it(a,s)},setMergeableContent:e=>d((()=>(e=>z(e)&&2==P(e)&&Lt(e[0],(e=>be(e,(e=>Lt(e,(e=>be(e,(e=>Lt(e,(e=>be(e,(e=>Lt(e,ze)),void 0,1)))),void 0,1)))),void 0,1)))&&Lt(e[1],(e=>be(e,(e=>Lt(e,ze)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Nt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};ve(o,((t,s)=>x(Re(e,s),(([e,n])=>{const a={};ve(t,((t,s)=>x(Re(e,s),(([e,n])=>{const o={};ve(t,(t=>{x(Re(e,t),(([e,s])=>o[t]=it(e,s)))})),a[s]=it(o,n)})))),l[s]=it(a,n)}))));const i={};return ve(r,(e=>x(Re(s,e),(([t,s])=>i[e]=it(t,s))))),[it(l,t),it(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{pe(o),pe(r)}),((e,n,r,i)=>{We(Ve(Ve(o,e,Te),n,Oe),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{We(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),ge(c,((e,t)=>b[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):m(t,"add")&&V(t,"Listener")?(...s)=>{const n=zt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),le(b)},e.createMetrics=et,e.createQueries=Vt,e.createRelationships=Dt,e.createStore=Qt,e.defaultSorter=Ue},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",C=f+h,L="Row",w=L+"Count",p=L+h,v="Sorted"+L+h,y="Cell",T=y+h,S="Value",I=S+"s",R=S+h,M=e=>s+e,m=(e,t)=>e.startsWith(t),V=(e,t)=>e.endsWith(t),D=Promise,E=Math.max,H=Math.min,A=isFinite,k=e=>null==e,x=(e,t,s)=>k(e)?s?.():t(e),J=e=>e==n||e==a,F=e=>t(e)==n,Q=e=>t(e)==r,z=e=>Array.isArray(e),N=(e,t,s)=>e.slice(t,s),P=e=>e.length,O=()=>{},W=(e,t)=>e.includes(t),j=(e,t)=>e.every(t),$=(e,t)=>P(e)===P(t)&&j(e,((e,s)=>t[s]===e)),B=(e,t)=>j(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),q=(e,t)=>e.forEach(t),G=(e,t)=>e.map(t),K=e=>X(e,((e,t)=>e+t),0),U=e=>0==P(e),X=(e,t,s)=>e.reduce(t,s),Y=(e,...t)=>e.push(...t),Z=e=>e.pop(),ee=e=>e.shift(),te=Object,se=e=>te.getPrototypeOf(e),ne=te.entries,ae=te.isFrozen,oe=e=>!k(e)&&x(se(e),(e=>e==te.prototype||k(se(e))),(()=>!0)),re=te.keys,le=te.freeze,ie=(e=[])=>te.fromEntries(e),ce=(e,t)=>t in e,de=(e,t)=>(delete e[t],e),ue=(e,t)=>q(ne(e),(([e,s])=>t(s,e))),ge=(e,t)=>G(ne(e),(([e,s])=>t(s,e))),he=e=>oe(e)&&0==(e=>P(re(e)))(e),fe=(e,t,s)=>(ce(e,t)||(e[t]=s()),e[t]),be=(e,t,s,n=0)=>k(e)||!oe(e)||!n&&he(e)||ae(e)?(s?.(),!1):(ge(e,((s,n)=>{t(s,n)||de(e,n)})),!!n||!he(e)),Ce=e=>e?.size??0,Le=(e,t)=>e?.has(t)??!1,we=e=>k(e)||0==Ce(e),pe=e=>[...e?.values()??[]],ve=e=>e.clear(),ye=(e,t)=>e?.forEach(t),Te=(e,t)=>e?.delete(t),Se=e=>new Map(e),Ie=e=>[...e?.keys()??[]],Re=(e,t)=>e?.get(t),Me=(e,t)=>ye(e,((e,s)=>t(s,e))),me=(e,t,s)=>k(s)?(Te(e,t),e):e?.set(t,s),Ve=(e,t,s,n)=>(Le(e,t)?n?.(Re(e,t)):me(e,t,s()),Re(e,t)),De=(e,t,s,n=me)=>(ge(t,((t,n)=>s(e,n,t))),Me(e,(s=>ce(t,s)?0:n(e,s))),e),Ee=(e,t,s,n)=>{const a={};return ye(e,((e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;!n?.(s)&&(a[o]=s)}})),a},He=(e,t,s)=>Ee(e,(e=>Ee(e,t,s)),we,he),Ae=(e,t,s)=>Ee(e,(e=>He(e,t,s)),we,he),ke=(e,t)=>{const s=Se();return ye(e,((e,n)=>s.set(n,t?.(e)??e))),s},xe=e=>ke(e,ke),Je=e=>ke(e,xe),Fe=(e,t,s,n,a=0)=>x((s?Ve:Re)(e,t[a],a>P(t)-2?s:Se),(o=>{if(a>P(t)-2)return n?.(o)&&me(e,t[a]),o;const r=Fe(o,t,s,n,a+1);return we(o)&&me(e,t[a]),r})),Qe=e=>{const s=t(e);return J(s)||s==o&&A(e)?s:void 0},ze=e=>k(e)||!k(Qe(e)),Ne=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Pe=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),Oe=e=>new Set(z(e)||k(e)?e:[e]),We=(e,t)=>e?.add(t),je=(e,t,s,n,a)=>{const o=e.hasRow,r=Se(),l=Se(),i=Se(),c=Se(),d=Se(),u=Se(),g=(t,s,...n)=>{const a=Ve(u,t,Oe);return q(n,(t=>We(a,t)&&s&&e.callListener(t))),n},h=(t,...s)=>x(Re(u,t),(n=>{q(U(s)?pe(n):s,(t=>{e.delListener(t),Te(n,t)})),we(n)&&me(u,t)})),f=(e,s)=>{me(r,e,s),Le(l,e)||(me(l,e,t()),me(c,e,Se()),me(d,e,Se()),a(i))},b=e=>{me(r,e),me(l,e),me(c,e),me(d,e),h(e),a(i)};return[()=>e,()=>Ie(r),e=>Me(l,e),e=>Le(l,e),e=>Re(r,e),e=>Re(l,e),(e,t)=>me(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Se(),u=Se(),b=Re(c,t),C=Re(d,t),L=t=>{const a=s=>e.getCell(n,t,s),c=Re(b,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||z(c)&&z(d)&&$(c,d)||me(i,t,[c,d]),!k(l)){const e=Re(C,t),s=o(n,t)?l(a,t):void 0;e!=s&&me(u,t,s)}},w=e=>{a((()=>{ye(i,(([,e],t)=>me(b,t,e))),ye(u,((e,t)=>me(C,t,e)))}),i,u,b,C,e),ve(i),ve(u)};Me(b,L),e.hasTable(n)&&q(e.getRowIds(n),(e=>{Le(b,e)||L(e)})),w(!0),h(t),g(t,0,e.addRowListener(n,null,((e,t,s)=>L(s))),e.addTableListener(n,(()=>w())))},b,e=>n(e,i),()=>Me(u,b),g,h]},$e=(e,t)=>F(e)?t=>t(e):e??(()=>t??s),Be=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},_e=/^\d+$/,qe=()=>{const e=[];let t=0;return[n=>(n?ee(e):null)??s+t++,t=>{_e.test(t)&&P(e)<1e3&&Y(e,t)}]},Ge=e=>{let t;const[n,a]=qe(),o=Se();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return me(o,d,[a,r,l,i,c]),We(Fe(r,l??[s],Oe),d),d},(e,n,...a)=>q(((e,t=[s])=>{const n=[],a=(e,s)=>s==P(t)?Y(n,e):null===t[s]?ye(e,(e=>a(e,s+1))):q([t[s],null],(t=>a(Re(e,t),s+1)));return a(e,0),n})(e,n),(e=>ye(e,(e=>Re(o,e)[0](t,...n??[],...a))))),e=>x(Re(o,e),(([,t,n])=>(Fe(t,n??[s],void 0,(t=>(Te(t,e),we(t)?1:0))),me(o,e),a(e),n))),e=>x(Re(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=P(r);l==P(s)?e(t,...r,...a(r)):k(s[l])?q(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},Ke=Be((e=>{let t,n,a,o=100,r=Se(),l=Se(),i=1;const c=Se(),d=Se(),[u,g,h]=Ge((()=>J)),f=Se(),b=Se(),C=[],L=[],w=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Re(f,s);ye(n,((s,n)=>ye(s,((s,a)=>ye(s,((s,o)=>Ne(e,n,a,o,s[t]))))))),ye(a,((s,n)=>Pe(e,n,s[t])))})),i=1},p=e=>{me(f,e),me(b,e),g(d,[e])},v=(e,t)=>q(((e,t)=>e.splice(0,t))(e,t??P(e)),p),y=()=>v(C,P(C)-o),T=()=>x(t,(()=>{Y(C,t),y(),v(L),t=void 0,a=1})),S=()=>{t=Z(C),a=1};let I,R;const M=(e=s)=>(k(t)&&(t=s+n++,me(f,t,[r,l]),H(t,e),r=Se(),l=Se(),a=1),t),m=()=>{U(C)||(((e,...t)=>{e.unshift(...t)})(L,M()),w(0,t),t=Z(C),a=1)},V=()=>{U(L)||(Y(C,t),t=ee(L),w(1,t),a=1)},D=()=>{a&&(g(c),a=0)},E=e=>{const t=M(e);return D(),t},H=(e,t)=>(A(e)&&Re(b,e)!==t&&(me(b,e,t),g(d,[e])),J),A=e=>Le(f,e),J={setSize:e=>(o=e,y(),J),addCheckpoint:E,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...L]],forEachCheckpoint:e=>Me(b,e),hasCheckpoint:A,getCheckpoint:e=>Re(b,e),goBackward:()=>(m(),D(),J),goForward:()=>(V(),D(),J),goTo:e=>{const s=W(C,e)?m:W(L,e)?V:null;for(;!k(s)&&e!=t;)s();return D(),J},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(h(e),J),clear:()=>(v(C),v(L),k(t)||p(t),t=void 0,n=0,E(),J),clearForward:()=>(U(L)||(v(L),g(c)),J),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({}),_registerListeners:()=>{I=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){T();const e=Ve(r,t,Se),l=Ve(e,s,Se),i=Ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&we(me(l,n))&&we(me(e,s))&&we(me(r,t))&&S(),D()}})),R=e.addValueListener(null,((e,t,s,n)=>{if(i){T();const e=Ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&we(me(l,t))&&S(),D()}}))}};return le(J.clear())}),(e=>e._registerListeners())),Ue=(e,t)=>(e??0)<(t??0)?-1:1,Xe=Be((e=>{const t=Se(),n=Se(),[a,o,r]=Ge((()=>p)),[l,i,c,d,u,g,h,,f,b,C,L]=je(e,Se,(e=>k(e)?s:z(e)?G(e,M):M(e)),a,o),w=(t,s,n)=>{const a=u(t);ye(n,((t,n)=>s(n,(s=>ye(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},p={setIndexDefinition:(e,s,a,r,l,i=Ue)=>{const c=k(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let b=0;const C=Oe(),L=Oe(),w=g(e);if(ye(a,(([e,t],s)=>{const n=Oe(e),a=Oe(t);ye(n,(e=>Te(a,e)?Te(n,e):0)),ye(n,(e=>{We(C,e),x(Re(w,e),(t=>{Te(t,s),we(t)&&(me(w,e),b=1)}))})),ye(a,(e=>{We(C,e),Le(w,e)||(me(w,e,Oe()),b=1),We(Re(w,e),s),k(r)||We(L,e)}))})),s(),we(u)||(f?Me(w,(e=>We(L,e))):Me(l,(e=>x(Re(d,e),(e=>We(L,e))))),ye(L,(e=>{const t=(t,s)=>i(Re(u,t),Re(u,s),e),s=[...Re(w,e)];B(s,t)||(me(w,e,Oe(_(s,t))),We(C,e))}))),(b||f)&&!k(c)){const t=[...w];B(t,c)||(h(e,Se(_(t,c))),b=1)}b&&o(t,[e]),ye(C,(t=>o(n,[e,t])))}),$e(a),x(r,$e)),p},delIndexDefinition:e=>(b(e),p),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>w(t,e,s))))),forEachSlice:(e,t)=>w(e,t,g(e)),hasIndex:d,hasSlice:(e,t)=>Le(g(e),t),getTableId:u,getSliceIds:e=>Ie(g(e)),getSliceRowIds:(e,t)=>pe(Re(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),p),destroy:L,getListenerStats:()=>({})};return le(p)})),Ye=Se([["avg",[(e,t)=>K(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>K(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ze=(e,t,s,n,a,o=!1)=>{if(we(s))return;const[r,l,i,c]=a;return o||=k(e),ye(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(pe(s),Ce(s)):e},et=Be((e=>{const t=Se(),[n,a,o]=Ge((()=>L)),[r,l,i,c,d,u,g,,h,f,b,C]=je(e,O,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),L={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:Re(Ye,n)??Re(Ye,"sum");return h(e,s,((s,n,o,r,l,i)=>{const d=u(e),h=Ce(r);i||=k(d),s();let f=Ze(d,h,r,n,c,i);A(f)||(f=void 0),f!=d&&(g(e,f),a(t,[e],f,d))}),$e(o,1)),L},delMetricDefinition:e=>(f(e),L),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),L),destroy:C,getListenerStats:()=>({})};return le(L)})),tt=Se(),st=Se(),nt=(e,t,s,n,a,o,r,l={},i=[])=>{let c,d,u,g=0;Ve(tt,i,(()=>0)),Ve(st,i,(()=>[]));const[h,f,b,C,L]=((e=1,t)=>e>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!he(e)||!he(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!he(e)||!he(t),t.setContent]:0)(r,e),w=t=>{(h&&z(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},p=async e=>(2!=g&&(g=1,await S((async()=>{try{w(await t())}catch(t){o?.(t),e&&L(e)}g=0}))),I),v=()=>(d&&(a(d),d=void 0),I),y=async e=>(1!=g&&(g=2,await S((async()=>{try{await s(f,e)}catch(e){o?.(e)}g=0}))),I),T=()=>(x(u,e.delListener),u=void 0,I),S=async(...e)=>(Y(Re(st,i),...e),await(async()=>{if(!Re(tt,i)){for(me(tt,i,1);!k(c=ee(Re(st,i)));)try{await c()}catch(e){o?.(e)}me(tt,i,0)}})(),I),I={load:p,startAutoLoad:async e=>(await v().load(e),d=n((async(e,t)=>{t||e?2!=g&&(g=1,w(t??e),g=0):await p()})),I),stopAutoLoad:v,isAutoLoading:()=>!k(d),save:y,startAutoSave:async()=>(await T().save(),u=e.addDidFinishTransactionListener((()=>{const e=b();C(e)&&y(e)})),I),stopAutoSave:T,isAutoSaving:()=>!k(u),schedule:S,getStore:()=>e,destroy:()=>v().stopAutoSave(),getStats:()=>({}),...l};return le(I)},at=new globalThis.TextEncoder,ot=e=>{let t=2166136261;return q(at.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},rt=([e,t,s])=>[e,t,s],lt=([e,t])=>it(e,t),it=(e,t)=>t?[e,t]:[e],ct=e=>e[2],dt=(e,t)=>ot(e+":"+t),ut=(e,t)=>t>e?(e?ot(e):0)^ot(t):0,gt=(e,t)=>((e??"")>(t??"")?e:t)??"",ht=(e,t,s)=>{e[2]=t>>>0,s>e[1]&&(e[1]=s)},ft=(e=s)=>it(ie(),e),bt=(e=s)=>[Se(),e,0],Ct=([e,t,s],n=rt)=>[Ee(e,n),t,s],Lt=([e,t],s=lt)=>it(Ee(e,s),t),wt=(e,s)=>z(e)&&3==P(e)&&F(e[1])&&t(e[2])==o&&A(e[2])&&s(e[0]),pt=2**36,vt=2**30,yt=2**24,Tt=2**18,St=4096,It=64,Rt=e=>String.fromCharCode(48+(63&e)),Mt=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,mt=e=>{let t=0,s=-1;const n=ot(e),a=e=>{const n=t,[a,o]=k(e)||""==e?[0,0]:[Mt(r=e,0)*pt+Mt(r,1)*vt+Mt(r,2)*yt+Mt(r,3)*Tt+Mt(r,4)*St+Mt(r,5)*It+Mt(r,6),Mt(r,7)*Tt+Mt(r,8)*St+Mt(r,9)*It+Mt(r,10),Mt(r,11)*yt+Mt(r,12)*Tt+Mt(r,13)*St+Mt(r,14)*It+Mt(r,15)];var r;t=E(n,a,Date.now()),s=t==n?t==a?E(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,Rt((e=t)/pt)+Rt(e/vt)+Rt(e/yt)+Rt(e/Tt)+Rt(e/St)+Rt(e/It)+Rt(e)+Rt(o/Tt)+Rt(o/St)+Rt(o/It)+Rt(o)+Rt(r/yt)+Rt(r/Tt)+Rt(r/St)+Rt(r/It)+Rt(r);var e,o,r},a]},Vt=Be((e=>{const t=e.createStore,n=t(),a=t(),o=Se(),{addListener:r,callListeners:l,delListener:i}=a,[g,h,b,C,S,,,I,,R,M,m,V,D]=je(e,(()=>!0),O,r,l),E=(e,t,...s)=>q(s,(s=>We(Ve(Ve(o,t,Se),e,Oe),s))),H=e=>{x(Re(o,e),(e=>{Me(e,((e,t)=>ye(t,(t=>e.delListener(t))))),ve(e)})),q([a,n],(t=>t.delTable(e)))},A=(e,t,s)=>E(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),J={setQueryDefinition:(t,o,r)=>{I(t,o),H(t);const l=[],i=[[null,[o,null,null,[],Se()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=Q(e)?[P(l)+s,e]:[k(t)?e:t,s=>s(e,t)];return Y(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||Q(t)?null:t,a=k(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],Se()]];return Y(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>Y(c,Q(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:Re(Ye,t)??[(e,t)=>t]]];return Y(d,o),{as:e=>o[0]=e}},having:(e,t)=>Y(u,Q(e)?e:s=>s(e)===t)});const g=Se(l);if(we(g))return J;const h=Se(i);Me(h,((e,[,t])=>x(Re(h,t),(({3:t})=>k(e)?0:Y(t,e)))));const f=Se(d);let b=n;if(we(f)&&U(u))b=a;else{A(t,b,a);const e=Se();Me(f,((t,[s,n])=>We(Ve(e,s,Oe),[t,n])));const s=Oe();Me(g,(t=>Le(e,t)?0:We(s,t)));const n=Se(),o=(s,n,o,r)=>x(s,(([l,i,c,d])=>{Me(n,((t,[s])=>{const n=Ve(l,t,Se),a=Re(n,o),i=r?void 0:s;if(a!==i){const s=Oe([[a,i]]),r=Ce(n);me(n,o,i),ye(Re(e,t),(([e,t])=>{const a=Ze(d[e],r,n,s,t);d[e]=k(Qe(a))?null:a}))}})),we(i)||!j(u,(e=>e((e=>d[e]))))?a.delRow(t,c):k(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));E(b,t,b.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=Se(),g=b.hasRow(t,l);let h=!g;ye(s,(e=>{const[s,n,a]=i(t,l,e);Y(c,n),Y(d,a),h||=s})),Me(e,(e=>{const[s,,n]=i(t,l,e);(h||s)&&me(u,e,[n])})),h&&o(Fe(n,c,void 0,(([,e])=>(Te(e,l),we(e)))),u,l,1),g&&o(Fe(n,d,(()=>{const e={};return ye(s,(s=>e[s]=b.getCell(t,l,s))),[Se(),Oe(),void 0,e]}),(([,e])=>{We(e,l)})),u,l)})))}A(t,e,b);const C=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);q(r,(n=>{const[a,,o,r,i]=Re(h,n),c=o?.(l,s),[d,u]=Re(i,s)??[];c!=d&&(k(u)||D(t,u),me(i,s,k(c)?null:[c,...V(t,1,e.addRowListener(a,c,(()=>C(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...k(n)?[o,s,t]:t===o?[o,s,n]:[Re(h,t)?.[0],Re(Re(h,t)?.[4],s)?.[0],n]);b.transaction((()=>j(c,(e=>e(n)))?Me(g,((e,a)=>Ne(b,t,s,e,a(n,s)))):b.delRow(t,s)))})(s)},{3:L}=Re(h,null);return b.transaction((()=>V(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?C(a,o,a,L):(b.delRow(t,a),ye(h,(({4:e})=>x(Re(e,a),(([,s])=>{D(t,s),me(e,a)})))))}))))),J},delQueryDefinition:e=>(H(e),R(e),J),getStore:g,getQueryIds:h,forEachQuery:b,hasQuery:C,getTableId:S,addQueryIdsListener:e=>M((()=>e(J))),delListener:e=>(i(e),J),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ge({[f]:[1,1],[f+T]:[0,1],[w]:[0,1],[p]:[0,1],[v]:[0,5],[L]:[1,2],[T]:[0,2],[y]:[1,3]},(([e,t],s)=>{q(e?["get","has","forEach"]:["get"],(e=>J[e+d+s]=(...t)=>a[e+s](...t))),J[u+d+s+c]=(...e)=>a[u+s+c](...N(e,0,t),((s,...n)=>e[t](J,...n)),!0)})),le(J)})),Dt=Be((e=>{const t=Se(),n=Se(),a=Se(),o=Se(),[r,l,i]=Ge((()=>T)),[c,d,u,g,h,f,,,b,C,L,w]=je(e,(()=>[Se(),Se(),Se(),Se()]),(e=>k(e)?void 0:e+s),r,l),p=(e,t,s)=>x(f(e),(([n,,a])=>{if(!Le(a,t)){const o=Oe();if(h(e)!=y(e))We(o,t);else{let e=t;for(;!k(e)&&!Le(o,e);)We(o,e),e=Re(n,e)}if(s)return o;me(a,t,o)}return Re(a,t)})),v=(e,t)=>x(f(e),(([,,e])=>me(e,t))),y=e=>Re(t,e),T={setRelationshipDefinition:(e,s,r,i)=>(me(t,e,r),b(e,s,((t,s)=>{const r=Oe(),i=Oe(),c=Oe(),[d,u]=f(e);ye(s,(([t,s],n)=>{k(t)||(We(i,t),x(Re(u,t),(e=>{Te(e,n),we(e)&&me(u,t)}))),k(s)||(We(i,s),Le(u,s)||me(u,s,Oe()),We(Re(u,s),n)),We(r,n),me(d,n,s),Me(Re(o,e),(t=>{Le(p(e,t),n)&&We(c,t)}))})),t(),ye(r,(t=>l(n,[e,t]))),ye(i,(t=>l(a,[e,t]))),ye(c,(t=>{v(e,t),l(o,[e,t])}))}),$e(i)),T),delRelationshipDefinition:e=>(me(t,e),C(e),T),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(h(s),t))))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:y,getRemoteRowId:(e,t)=>Re(f(e)?.[0],t),getLocalRowIds:(e,t)=>pe(Re(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:pe(p(e,t,!0)),addRelationshipIdsListener:L,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(p(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),T),destroy:w,getListenerStats:()=>({})};return le(T)})),Et=e=>[e,e],Ht=()=>[Se(),Se()],At=e=>[...e],kt=([e,t])=>e===t,xt=e=>JSON.stringify(e,((e,t)=>t instanceof Map?te.fromEntries([...t]):t)),Jt=JSON.parse,Ft=(e,t,s)=>me(e,t,Re(e,t)==-s?void 0:s),Qt=()=>{let e,t,s=!1,n=!1,a=0,r=[];const d=Se(),h=Se(),v=Se(),m=Se(),V=Se(),D=Se(),E=Se(),H=Se(),A=Se(),F=Se(),z=Se(),P=Se(),O=Se(),j=Se(),B=Oe(),K=Se(),U=Se(),X=Se(),Z=Se(),ee=Ht(),te=Ht(),se=Ht(),ne=Ht(),ae=Ht(),oe=Ht(),re=Ht(),ie=Ht(),ue=Ht(),fe=Ht(),pe=Ht(),Fe=Ht(),ze=Ht(),je=Ht(),$e=Ht(),Be=Ht(),_e=Ht(),Ke=Ht(),Xe=Ht(),Ye=Ht(),Ze=Ht(),et=Ht(),tt=Se(),st=Ht(),[nt,at,ot,rt]=Ge((()=>xs)),lt=e=>{if(!be(e,((e,t)=>W([l,i],t))))return!1;const t=e[l];return!(!J(t)&&t!=o||(Qe(e[i])!=t&&de(e,i),0))},it=(t,s)=>(!e||Le(z,s)||_t(s))&&be(t,((e,t)=>ct(s,t,e)),(()=>_t(s))),ct=(e,t,s,n)=>be(n?s:ht(s,e,t),((n,a)=>x(dt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>_t(e,t))),dt=(t,s,n,a)=>e?x(Re(Re(z,t),n),(e=>Qe(a)!=e[l]?_t(t,s,n,a,e[i]):a),(()=>_t(t,s,n,a))):k(Qe(a))?_t(t,s,n,a):a,ut=(e,t)=>be(t?e:ft(e),((t,s)=>x(gt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),gt=(e,s)=>t?x(Re(O,e),(t=>Qe(s)!=t[l]?qt(e,s,t[i]):s),(()=>qt(e,s))):k(Qe(s))?qt(e,s):s,ht=(e,t,s)=>(x(Re(P,t),(([n,a])=>{ye(n,((t,s)=>{ce(e,s)||(e[s]=t)})),ye(a,(n=>{ce(e,n)||_t(t,s,n)}))})),e),ft=e=>(t&&(ye(j,((t,s)=>{ce(e,s)||(e[s]=t)})),ye(B,(t=>{ce(e,t)||qt(t)}))),e),bt=e=>De(z,e,((e,t,s)=>{const n=Se(),a=Oe();De(Ve(z,t,Se),s,((e,t,s)=>{me(e,t,s),x(s[i],(e=>me(n,t,e)),(()=>We(a,t)))})),me(P,t,[n,a])}),((e,t)=>{me(z,t),me(P,t)})),Ct=e=>De(O,e,((e,t,s)=>{me(O,t,s),x(s[i],(e=>me(j,t,e)),(()=>We(B,t)))}),((e,t)=>{me(O,t),me(j,t),Te(B,t)})),Lt=e=>he(e)?Rs():vs(e),wt=e=>De(X,e,((e,t,s)=>pt(t,s)),((e,t)=>Vt(t))),pt=(e,t)=>De(Ve(X,e,(()=>(Pt(e,1),me(K,e,qe()),me(U,e,Se()),Se()))),t,((t,s,n)=>vt(e,t,s,n)),((t,s)=>Dt(e,t,s))),vt=(e,t,s,n,a)=>De(Ve(t,s,(()=>(Ot(e,s,1),Se()))),n,((t,n,a)=>yt(e,s,t,n,a)),((n,o)=>zt(e,t,s,n,o,a))),yt=(e,t,s,n,a)=>{Le(s,n)||Wt(e,t,n,1);const o=Re(s,n);a!==o&&(jt(e,t,n,o,a),me(s,n,a))},Tt=(e,t,s,n,a)=>x(Re(t,s),(t=>yt(e,s,t,n,a)),(()=>vt(e,t,s,ht({[n]:a},e,s)))),St=e=>he(e)?Vs():ys(e),It=e=>De(Z,e,((e,t,s)=>Rt(t,s)),((e,t)=>Nt(t))),Rt=(e,t)=>{Le(Z,e)||$t(e,1);const s=Re(Z,e);t!==s&&(Bt(e,s,t),me(Z,e,t))},Mt=(e,t)=>{const[s]=Re(K,e),n=s(t);return Le(Re(X,e),n)?Mt(e,t):n},mt=e=>Re(X,e)??pt(e,{}),Vt=e=>pt(e,{}),Dt=(e,t,s)=>{const[,n]=Re(K,e);n(s),vt(e,t,s,{},!0)},zt=(e,t,s,n,a,o)=>{const r=Re(Re(P,e)?.[0],a);if(!k(r)&&!o)return yt(e,s,n,a,r);const l=t=>{jt(e,s,t,Re(n,t)),Wt(e,s,t,-1),me(n,t)};k(r)?l(a):Me(n,l),we(n)&&(Ot(e,s,-1),we(me(t,s))&&(Pt(e,-1),me(X,e),me(K,e),me(U,e)))},Nt=e=>{const t=Re(j,e);if(!k(t))return Rt(e,t);Bt(e,Re(Z,e)),$t(e,-1),me(Z,e)},Pt=(e,t)=>Ft(d,e,t),Ot=(e,t,s)=>Ft(Ve(m,e,Se),t,s)&&me(v,e,Ve(v,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=Re(U,e),o=Re(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ft(Ve(h,e,Se),s,n),me(a,s,o!=-n?o+n:null),Ft(Ve(Ve(V,e,Se),t,Se),s,n)},jt=(e,t,s,n,a)=>{Ve(Ve(Ve(D,e,Se),t,Se),s,(()=>[n,0]))[1]=a,r[3]?.(e,t,s,a)},$t=(e,t)=>Ft(E,e,t),Bt=(e,t,s)=>{Ve(H,e,(()=>[t,0]))[1]=s,r[4]?.(e,s)},_t=(e,t,s,n,a)=>(Y(Ve(Ve(Ve(A,e,Se),t,Se),s,(()=>[])),n),a),qt=(e,t,s)=>(Y(Ve(F,e,(()=>[])),t),s),Gt=(e,t,s)=>x(Re(Re(Re(D,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Et(cs(e,t,s))])),Kt=e=>x(Re(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Et(gs(e))])),Ut=e=>we(A)||we(Be[e])?0:ye(e?Je(A):A,((t,s)=>ye(t,((t,n)=>ye(t,((t,a)=>at(Be[e],[s,n,a],t))))))),Xt=e=>we(F)||we(_e[e])?0:ye(e?ke(F):F,((t,s)=>at(_e[e],[s],t))),Yt=(e,t,s,n)=>{if(!we(e))return at(t,n,(()=>Ee(e))),Me(e,((e,t)=>at(s,[...n??[],e],1==t))),1},Zt=e=>{const t=hs();t!=s&&at(ee[e],void 0,t);const n=we(fe[e]),a=we(ze[e])&&we(je[e])&&we(ue[e])&&we(pe[e])&&we(oe[e])&&we(re[e])&&we(ie[e])&&n&&we(se[e])&&we(ne[e]),o=we($e[e])&&we(Fe[e])&&we(ae[e])&&we(te[e]);if(!a||!o){const t=e?[ke(d),xe(h),ke(v),xe(m),Je(V),Je(D)]:[d,h,v,m,V,D];if(!a){Yt(t[0],se[e],ne[e]),ye(t[1],((t,s)=>Yt(t,oe[e],re[e],[s]))),ye(t[2],((t,s)=>{0!=t&&at(ie[e],[s],os(s))}));const s=Oe();ye(t[3],((t,a)=>{Yt(t,ue[e],pe[e],[a])&&!n&&(at(fe[e],[a,null]),We(s,a))})),n||ye(t[5],((t,n)=>{if(!Le(s,n)){const s=Oe();ye(t,(e=>ye(e,(([t,n],a)=>n!==t?We(s,a):Te(e,a))))),ye(s,(t=>at(fe[e],[n,t])))}})),ye(t[4],((t,s)=>ye(t,((t,n)=>Yt(t,ze[e],je[e],[s,n])))))}if(!o){let s;ye(t[5],((t,n)=>{let a;ye(t,((t,o)=>{let r;ye(t,(([t,l],i)=>{l!==t&&(at($e[e],[n,o,i],l,t,Gt),s=a=r=1)})),r&&at(Fe[e],[n,o],Gt)})),a&&at(ae[e],[n],Gt)})),s&&at(te[e],void 0,Gt)}}},es=e=>{const t=ws();t!=n&&at(Ke[e],void 0,t);const s=we(Ye[e])&&we(Ze[e]),a=we(et[e])&&we(Xe[e]);if(!s||!a){const t=e?[ke(E),ke(H)]:[E,H];if(s||Yt(t[0],Ye[e],Ze[e]),!a){let s;ye(t[1],(([t,n],a)=>{n!==t&&(at(et[e],[a],n,t,Kt),s=1)})),s&&at(Xe[e],void 0,Kt)}}},ts=(e,...t)=>(Hs((()=>e(...G(t,M)))),xs),ss=()=>Ae(X),ns=()=>Ie(X),as=e=>Ie(Re(U,M(e))),os=e=>Ce(Re(X,M(e))),rs=e=>Ie(Re(X,M(e))),ls=(e,t,s,n=0,a)=>{return G(N(_((o=Re(X,M(e)),r=(e,s)=>[k(t)?s:Re(e,M(t)),s],G([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ue(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},is=(e,t)=>Ie(Re(Re(X,M(e)),M(t))),cs=(e,t,s)=>Re(Re(Re(X,M(e)),M(t)),M(s)),ds=()=>Ee(Z),us=()=>Ie(Z),gs=e=>Re(Z,M(e)),hs=()=>!we(X),fs=e=>Le(X,M(e)),bs=(e,t)=>Le(Re(U,M(e)),M(t)),Cs=(e,t)=>Le(Re(X,M(e)),M(t)),Ls=(e,t,s)=>Le(Re(Re(X,M(e)),M(t)),M(s)),ws=()=>!we(Z),ps=e=>Le(Z,M(e)),vs=e=>ts((()=>(e=>be(e,it,_t))(e)?wt(e):0)),ys=e=>ts((()=>ut(e)?It(e):0)),Ts=e=>{try{Lt(Jt(e))}catch{}return xs},Ss=t=>ts((()=>{if((e=be(t,(e=>be(e,lt))))&&(bt(t),!we(X))){const e=ss();Rs(),vs(e)}})),Is=e=>ts((()=>{if(t=(e=>be(e,lt))(e)){const s=ds();Es(),Vs(),t=!0,Ct(e),ys(s)}})),Rs=()=>ts((()=>wt({}))),Ms=e=>ts((e=>Le(X,e)?Vt(e):0),e),ms=(e,t)=>ts(((e,t)=>x(Re(X,e),(s=>Le(s,t)?Dt(e,s,t):0))),e,t),Vs=()=>ts((()=>It({}))),Ds=()=>ts((()=>{bt({}),e=!1})),Es=()=>ts((()=>{Ct({}),t=!1})),Hs=(e,t)=>{if(-1!=a){As();const s=e();return ks(t),s}},As=()=>(-1!=a&&a++,1==a&&(r[0]?.(),at(tt)),xs),ks=e=>(a>0&&(a--,0==a&&(a=1,Ut(1),we(D)||Zt(1),Xt(1),we(H)||es(1),e?.(xs)&&(ye(D,((e,t)=>ye(e,((e,s)=>ye(e,(([e],n)=>Ne(xs,t,s,n,e))))))),ve(D),ye(H,(([e],t)=>Pe(xs,t,e))),ve(H)),at(st[0],void 0),a=-1,Ut(0),we(D)||Zt(0),Xt(0),we(H)||es(0),r[1]?.(),at(st[1],void 0),r[2]?.(),a=0,s=hs(),n=ws(),q([d,h,v,m,V,D,A,E,H,F],ve))),xs),xs={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>He(Re(X,M(e))),getTableCellIds:as,getRowCount:os,getRowIds:rs,getSortedRowIds:ls,getRow:(e,t)=>Ee(Re(Re(X,M(e)),M(t))),getCellIds:is,getCell:cs,getValues:ds,getValueIds:us,getValue:gs,hasTables:hs,hasTable:fs,hasTableCell:bs,hasRow:Cs,hasCell:Ls,hasValues:ws,hasValue:ps,getTablesJson:()=>xt(X),getValuesJson:()=>xt(Z),getJson:()=>xt([X,Z]),getTablesSchemaJson:()=>xt(z),getValuesSchemaJson:()=>xt(O),getSchemaJson:()=>xt([z,O]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ts((()=>{(he(e)?Rs:vs)(e),(he(t)?Vs:ys)(t)})),setTables:vs,setTable:(e,t)=>ts((e=>it(t,e)?pt(e,t):0),e),setRow:(e,t,s)=>ts(((e,t)=>ct(e,t,s)?vt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Hs((()=>{let n;return ct(e,n,t)&&(e=M(e),vt(e,mt(e),n=Mt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ts(((e,t)=>{if(ct(e,t,s,1)){const n=mt(e);ge(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ts(((e,t,s)=>x(dt(e,t,s,Q(n)?n(cs(e,t,s)):n),(n=>Tt(e,mt(e),t,s,n)))),e,t,s),setValues:ys,setPartialValues:e=>ts((()=>ut(e,1)?ge(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>ts((e=>x(gt(e,Q(t)?t(gs(e)):t),(t=>Rt(e,t)))),e),applyChanges:e=>ts((()=>{ge(e[0],((e,t)=>k(e)?Ms(t):ge(e,((e,s)=>k(e)?ms(t,s):ge(e,((e,n)=>Ne(xs,t,s,n,e))))))),ge(e[1],((e,t)=>Pe(xs,t,e)))})),setTablesJson:Ts,setValuesJson:e=>{try{St(Jt(e))}catch{}return xs},setJson:e=>ts((()=>{try{const[t,s]=Jt(e);Lt(t),St(s)}catch{Ts(e)}})),setTablesSchema:Ss,setValuesSchema:Is,setSchema:(e,t)=>ts((()=>{Ss(e),Is(t)})),delTables:Rs,delTable:Ms,delRow:ms,delCell:(e,t,s,n)=>ts(((e,t,s)=>x(Re(X,e),(a=>x(Re(a,t),(o=>Le(o,s)?zt(e,a,t,o,s,n):0))))),e,t,s),delValues:Vs,delValue:e=>ts((e=>Le(Z,e)?Nt(e):0),e),delTablesSchema:Ds,delValuesSchema:Es,delSchema:()=>ts((()=>{Ds(),Es()})),transaction:Hs,startTransaction:As,getTransactionChanges:()=>[Ee(D,((e,t)=>-1===Re(d,t)?void 0:Ee(e,((e,s)=>-1===Re(Re(m,t),s)?void 0:Ee(e,(([,e])=>e),(e=>kt(e)))),we,he)),we,he),Ee(H,(([,e])=>e),(e=>kt(e))),1],getTransactionLog:()=>[!we(D),!we(H),Ae(D,At,kt),Ae(A),Ee(H,At,kt),Ee(F),Ee(d),He(m),Ae(V),Ee(E)],finishTransaction:ks,forEachTable:e=>ye(X,((t,s)=>e(s,(e=>ye(t,((t,s)=>e(s,(e=>Me(t,e))))))))),forEachTableCell:(e,t)=>Me(Re(U,M(e)),t),forEachRow:(e,t)=>ye(Re(X,M(e)),((e,s)=>t(s,(t=>Me(e,t))))),forEachCell:(e,t,s)=>Me(Re(Re(X,M(e)),M(t)),s),forEachValue:e=>Me(Z,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=ls(e,t,s,n,a);return nt((()=>{const r=ls(e,t,s,n,a);$(r,l)||(l=r,o(xs,e,t,s,n,a,l))}),fe[r?1:0],[e,t],[ns])},addStartTransactionListener:e=>nt(e,tt),addWillFinishTransactionListener:e=>nt(e,st[0]),addDidFinishTransactionListener:e=>nt(e,st[1]),callListener:e=>(rt(e),xs),delListener:e=>(ot(e),xs),getListenerStats:()=>({}),createStore:Qt,addListener:nt,callListeners:at,setInternalListeners:(e,t,s,n,a)=>r=[e,t,s,n,a]};return ge({[g+b]:[0,ee,[],()=>[hs()]],[b]:[0,te],[C]:[0,se],[g+f]:[1,ne,[ns],e=>[fs(...e)]],[f]:[1,ae,[ns]],[f+T]:[1,oe,[ns]],[g+f+y]:[2,re,[ns,as],e=>[bs(...e)]],[w]:[1,ie,[ns]],[p]:[1,ue,[ns]],[g+L]:[2,pe,[ns,rs],e=>[Cs(...e)]],[L]:[2,Fe,[ns,rs]],[T]:[2,ze,[ns,rs]],[g+y]:[3,je,[ns,rs,is],e=>[Ls(...e)]],[y]:[3,$e,[ns,rs,is],e=>Et(cs(...e))],InvalidCell:[3,Be],[g+I]:[0,Ke,[],()=>[ws()]],[I]:[0,Xe],[R]:[0,Ye],[g+S]:[1,Ze,[us],e=>[ps(...e)]],[S]:[1,et,[us],e=>Et(gs(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{xs[u+a+c]=(...a)=>nt(a[e],t[a[e+1]?1:0],e>0?N(a,0,e):void 0,s,n)})),le(xs)},zt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Nt=(e=s)=>[bt(e),bt(e)];e.createCheckpoints=Ke,e.createCustomPersister=nt,e.createCustomSynchronizer=(e,t,n,a,o,r,l={})=>{let i;const[c]=mt(e.getId()),d=Se();n(((s,n,a,o)=>{0==a?x(Re(d,n),(([e,t])=>k(e)||e==s?t(o,s):0)):2==a&&f.isAutoLoading()?h(s,o).then((e=>{i?.(void 0,e)})):3==a&&f.isAutoLoading()?i?.(void 0,o):x(1==a&&f.isAutoSaving()?e.getMergeableContentHashes():4==a?e.getMergeableTableDiff(o):5==a?e.getMergeableRowDiff(o):6==a?e.getMergeableCellDiff(o):7==a?e.getMergeableValueDiff(o):void 0,(e=>{t(s,n,0,e)}))}));const u=async(e,n,a=s)=>new D(((s,r)=>{const l=c(),i=setTimeout((()=>{Te(d,l),r(`No response from ${e??"anyone"} to '${n}'`)}),1e3*o);me(d,l,[e,(e,t)=>{clearTimeout(i),Te(d,l),s([e,t])}]),t(e,l,n,a)})),g=(e,[t,s])=>{ue(t,(([t,s],n)=>{const a=fe(e[0],n,ft);ue(t,(([e,t],s)=>{const n=fe(a[0],s,ft);ue(e,(([e,t],s)=>n[0][s]=it(e,t))),n[1]=gt(n[1],t)})),a[1]=gt(a[1],s)})),e[1]=gt(e[1],s)},h=async(t=null,s)=>{k(s)&&([s,t]=await u(t,1));const[n,a]=s,[o,r]=e.getMergeableContentHashes();let l=ft();if(o!=n){const[s,n]=(await u(t,4,e.getMergeableTableHashes()))[0];if(l=s,!he(n)){const[s,a]=(await u(t,5,e.getMergeableRowHashes(n)))[0];if(g(l,s),!he(a)){const s=(await u(t,6,e.getMergeableCellHashes(a)))[0];g(l,s)}}}return[l,r==a?ft():(await u(t,7,e.getMergeableValuesHashes()))[0],1]},f=nt(e,(async()=>{const e=await h();return he(e[0][0])&&he(e[1][0])?void 0:e}),(async(s,n)=>{n?t(null,null,3,n):t(null,null,2,e.getMergeableContentHashes())}),(e=>i=e),(()=>i=void 0),r,2,{startSync:async e=>await(await f.startAutoLoad(e)).startAutoSave(),stopSync:()=>f.stopAutoLoad().stopAutoSave(),destroy:()=>(a(),f.stopSync()),getSynchronizerStats:()=>({}),...l});return f},e.createIndexes=Xe,e.createMergeableStore=e=>{let t=1,n=Nt(),a=0;const o=Se(),r=Oe(),[l,i]=mt(e),c=Qt(),d=e=>{const s=t;return t=0,e(),t=s,b},u=(e,t=0)=>{const a={},o={},[[r,l=s,c=0],d]=e,[u,h]=n,[f,b,C]=u;let L=t?c:C,w=l;ue(r,(([e,n=s,o=0],r)=>{const l=Ve(f,r,bt),[i,c,d]=l;let u=t?o:d,h=n;ue(e,((e,s)=>{const[n,o,l]=g(e,Ve(i,s,bt),fe(fe(a,r,ie),s,ie),t);u^=t?0:(o?dt(s,o):0)^dt(s,l),h=gt(h,n)})),u^=t?0:ut(c,n),ht(l,u,n),L^=t?0:(d?dt(r,d):0)^dt(r,l[2]),w=gt(w,h)})),L^=t?0:ut(b,l),ht(u,L,l);const[p]=g(d,h,o,t);return i(gt(w,p)),[a,o,1]},g=(e,t,n,a)=>{const[o,r=s,l=0]=e,[i,c,d]=t;let u=r,g=a?l:d;return ue(o,(([e,t,o=0],r)=>{const l=Ve(i,r,(()=>[void 0,s,0])),[,c,d]=l;(!c||t>c)&&(ht(l,a?o:ot(xt(e??null)+":"+t),t),l[0]=e,n[r]=e,g^=a?0:dt(r,d)^dt(r,l[2]),u=gt(u,t))})),g^=a?0:ut(c,r),ht(t,g,r),[u,d,t[2]]},h=()=>[Ct(n[0],(e=>Ct(e,(e=>Ct(e))))),Ct(n[1])],f=e=>d((()=>c.applyChanges(u(e)))),b={getId:()=>e,getMergeableContent:h,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Ee(n[0][0],ct),getMergeableTableDiff:e=>{const t=ft(n[0][1]),s={};return Me(n[0][0],((n,[a,o,r])=>ce(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=Lt([a,o],(e=>Lt(e))))),[t,s]},getMergeableRowHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n,,a])=>a!=e?Me(n,((e,[,,n])=>fe(t,s,ie)[e]=n)):0)))),t},getMergeableRowDiff:e=>{const t=ft(n[0][1]),s={};return ue(e,((e,a)=>Me(Re(n[0][0],a)?.[0],((n,[o,r,l])=>ce(e,n)?l!==e[n]?fe(s,a,ie)[n]=l:0:fe(t[0],a,ft)[0][n]=Lt([o,r]))))),[t,s]},getMergeableCellHashes:e=>{const t={};return ue(e,((e,s)=>x(Re(n[0][0],s),(([n])=>ue(e,((e,a)=>x(Re(n,a),(([n,,o])=>o!==e?Me(n,((e,[,,n])=>fe(fe(t,s,ie),a,ie)[e]=n)):0)))))))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,a={};return ue(e,((e,s)=>ue(e,((e,n)=>x(Re(t,s),(([t,o])=>x(Re(t,n),(([t,r])=>Me(t,((t,[l,i,c])=>c!==e[t]?fe(fe(a,s,(()=>ft(o)))[0],n,(()=>ft(r)))[0][t]=[l,i]:0)))))))))),it(a,s)},getMergeableValuesHashes:()=>Ee(n[1][0],ct),getMergeableValueDiff:e=>{const[,[t,s]]=n,a=Ee(t,lt,(([,,t],s)=>t==e?.[s]));return it(a,s)},setMergeableContent:e=>d((()=>(e=>z(e)&&2==P(e)&&wt(e[0],(e=>be(e,(e=>wt(e,(e=>be(e,(e=>wt(e,(e=>be(e,(e=>wt(e,ze)),void 0,1)))),void 0,1)))),void 0,1)))&&wt(e[1],(e=>be(e,(e=>wt(e,ze)),void 0,1))))(e)?c.transaction((()=>{c.delTables().delValues(),n=Nt(),c.applyChanges(u(e,1))})):0)),setDefaultContent:e=>(c.transaction((()=>{a=1,c.setContent(e),a=0})),b),getTransactionMergeableChanges:()=>{const[[e,t],[s,a]]=n,l={};ye(o,((t,s)=>x(Re(e,s),(([e,n])=>{const a={};ye(t,((t,s)=>x(Re(e,s),(([e,n])=>{const o={};ye(t,(t=>{x(Re(e,t),(([e,s])=>o[t]=it(e,s)))})),a[s]=it(o,n)})))),l[s]=it(a,n)}))));const i={};return ye(r,(e=>x(Re(s,e),(([t,s])=>i[e]=it(t,s))))),[it(l,t),it(i,a),1]},applyMergeableChanges:f,merge:e=>{const t=h(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return c.setInternalListeners((()=>{}),(()=>{}),(()=>{ve(o),ve(r)}),((e,n,r,i)=>{We(Ve(Ve(o,e,Se),n,Oe),r),t&&u([[{[e]:[{[n]:[{[r]:[i,a?s:l()]}]}]}],[{}],1])}),((e,n)=>{We(r,e),t&&u([[{}],[{[e]:[n,a?s:l()]}],1])})),ge(c,((e,t)=>b[t]=m(t,"set")||m(t,"del")||m(t,"apply")||V(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):m(t,"add")&&V(t,"Listener")?(...s)=>{const n=zt[N(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),le(b)},e.createMetrics=et,e.createQueries=Vt,e.createRelationships=Dt,e.createStore=Qt,e.defaultSorter=Ue},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file