tinybase 5.0.0-beta.10 → 5.0.0-beta.11

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 (322) 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-es6/mergeable-store.cjs +1 -1
  50. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/store.cjs +1 -1
  84. package/lib/cjs-es6/store.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
  90. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  91. package/lib/cjs-es6/synchronizers.cjs +1 -1
  92. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  93. package/lib/cjs-es6/tinybase.cjs +1 -1
  94. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  95. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  96. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  97. package/lib/debug/mergeable-store.js +1 -1
  98. package/lib/debug/persisters/persister-automerge.js +113 -101
  99. package/lib/debug/persisters/persister-browser.js +113 -97
  100. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
  101. package/lib/debug/persisters/persister-electric-sql.js +113 -102
  102. package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
  103. package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
  104. package/lib/debug/persisters/persister-file.js +108 -96
  105. package/lib/debug/persisters/persister-indexed-db.js +108 -96
  106. package/lib/debug/persisters/persister-libsql.js +113 -102
  107. package/lib/debug/persisters/persister-partykit-client.js +112 -100
  108. package/lib/debug/persisters/persister-powersync.js +113 -102
  109. package/lib/debug/persisters/persister-remote.js +108 -96
  110. package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
  111. package/lib/debug/persisters/persister-sqlite3.js +113 -102
  112. package/lib/debug/persisters/persister-yjs.js +113 -101
  113. package/lib/debug/persisters.js +107 -95
  114. package/lib/debug/store.js +1 -1
  115. package/lib/debug/synchronizers/synchronizer-local.js +114 -102
  116. package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
  117. package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
  118. package/lib/debug/synchronizers.js +113 -101
  119. package/lib/debug/tinybase.js +114 -102
  120. package/lib/debug/ui-react-dom.js +114 -98
  121. package/lib/es6/mergeable-store.js +1 -1
  122. package/lib/es6/mergeable-store.js.gz +0 -0
  123. package/lib/es6/persisters/persister-automerge.js +1 -1
  124. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  125. package/lib/es6/persisters/persister-browser.js +1 -1
  126. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  127. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  128. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  129. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  130. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  131. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  132. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  133. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  134. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  135. package/lib/es6/persisters/persister-file.js +1 -1
  136. package/lib/es6/persisters/persister-file.js.gz +0 -0
  137. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  138. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  139. package/lib/es6/persisters/persister-libsql.js +1 -1
  140. package/lib/es6/persisters/persister-libsql.js.gz +0 -0
  141. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  142. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  143. package/lib/es6/persisters/persister-powersync.js +1 -1
  144. package/lib/es6/persisters/persister-powersync.js.gz +0 -0
  145. package/lib/es6/persisters/persister-remote.js +1 -1
  146. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  147. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  148. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  149. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  150. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  151. package/lib/es6/persisters/persister-yjs.js +1 -1
  152. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  153. package/lib/es6/persisters.js +1 -1
  154. package/lib/es6/persisters.js.gz +0 -0
  155. package/lib/es6/store.js +1 -1
  156. package/lib/es6/store.js.gz +0 -0
  157. package/lib/es6/synchronizers/synchronizer-local.js +1 -1
  158. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  159. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  160. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  161. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
  162. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  163. package/lib/es6/synchronizers.js +1 -1
  164. package/lib/es6/synchronizers.js.gz +0 -0
  165. package/lib/es6/tinybase.js +1 -1
  166. package/lib/es6/tinybase.js.gz +0 -0
  167. package/lib/es6/ui-react-dom-debug.js +1 -1
  168. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  169. package/lib/mergeable-store.js +1 -1
  170. package/lib/mergeable-store.js.gz +0 -0
  171. package/lib/persisters/persister-automerge.js +1 -1
  172. package/lib/persisters/persister-automerge.js.gz +0 -0
  173. package/lib/persisters/persister-browser.js +1 -1
  174. package/lib/persisters/persister-browser.js.gz +0 -0
  175. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  176. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  177. package/lib/persisters/persister-electric-sql.js +1 -1
  178. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  179. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  180. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  181. package/lib/persisters/persister-expo-sqlite.js +1 -1
  182. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  183. package/lib/persisters/persister-file.js +1 -1
  184. package/lib/persisters/persister-file.js.gz +0 -0
  185. package/lib/persisters/persister-indexed-db.js +1 -1
  186. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  187. package/lib/persisters/persister-libsql.js +1 -1
  188. package/lib/persisters/persister-libsql.js.gz +0 -0
  189. package/lib/persisters/persister-partykit-client.js +1 -1
  190. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  191. package/lib/persisters/persister-powersync.js +1 -1
  192. package/lib/persisters/persister-powersync.js.gz +0 -0
  193. package/lib/persisters/persister-remote.js +1 -1
  194. package/lib/persisters/persister-remote.js.gz +0 -0
  195. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  196. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  197. package/lib/persisters/persister-sqlite3.js +1 -1
  198. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  199. package/lib/persisters/persister-yjs.js +1 -1
  200. package/lib/persisters/persister-yjs.js.gz +0 -0
  201. package/lib/persisters.js +1 -1
  202. package/lib/persisters.js.gz +0 -0
  203. package/lib/store.js +1 -1
  204. package/lib/store.js.gz +0 -0
  205. package/lib/synchronizers/synchronizer-local.js +1 -1
  206. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  207. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  208. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  209. package/lib/synchronizers/synchronizer-ws-server.js +1 -1
  210. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  211. package/lib/synchronizers.js +1 -1
  212. package/lib/synchronizers.js.gz +0 -0
  213. package/lib/tinybase.js +1 -1
  214. package/lib/tinybase.js.gz +0 -0
  215. package/lib/types/persisters/persister-browser.d.ts +2 -2
  216. package/lib/types/persisters/persister-file.d.ts +1 -1
  217. package/lib/types/persisters.d.ts +73 -47
  218. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -3
  219. package/lib/types/synchronizers.d.ts +1 -1
  220. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
  221. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
  222. package/lib/types/with-schemas/persisters.d.ts +99 -87
  223. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -3
  224. package/lib/types/with-schemas/synchronizers.d.ts +1 -1
  225. package/lib/umd/mergeable-store.js +1 -1
  226. package/lib/umd/mergeable-store.js.gz +0 -0
  227. package/lib/umd/persisters/persister-automerge.js +1 -1
  228. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  229. package/lib/umd/persisters/persister-browser.js +1 -1
  230. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  231. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  232. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  233. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  234. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  235. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  236. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  237. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  238. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  239. package/lib/umd/persisters/persister-file.js +1 -1
  240. package/lib/umd/persisters/persister-file.js.gz +0 -0
  241. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  242. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  243. package/lib/umd/persisters/persister-libsql.js +1 -1
  244. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  245. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  246. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  247. package/lib/umd/persisters/persister-powersync.js +1 -1
  248. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  249. package/lib/umd/persisters/persister-remote.js +1 -1
  250. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  251. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  252. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  253. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  254. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  255. package/lib/umd/persisters/persister-yjs.js +1 -1
  256. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  257. package/lib/umd/persisters.js +1 -1
  258. package/lib/umd/persisters.js.gz +0 -0
  259. package/lib/umd/store.js +1 -1
  260. package/lib/umd/store.js.gz +0 -0
  261. package/lib/umd/synchronizers/synchronizer-local.js +1 -1
  262. package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
  263. package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
  264. package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
  265. package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
  266. package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
  267. package/lib/umd/synchronizers.js +1 -1
  268. package/lib/umd/synchronizers.js.gz +0 -0
  269. package/lib/umd/tinybase.js +1 -1
  270. package/lib/umd/tinybase.js.gz +0 -0
  271. package/lib/umd/ui-react-dom-debug.js +1 -1
  272. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  273. package/lib/umd-es6/mergeable-store.js +1 -1
  274. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  275. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  276. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  277. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  278. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  279. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  280. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  281. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  282. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  283. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  284. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  285. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  286. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  287. package/lib/umd-es6/persisters/persister-file.js +1 -1
  288. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  290. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  292. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  294. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  296. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  298. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  300. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  302. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  304. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  305. package/lib/umd-es6/persisters.js +1 -1
  306. package/lib/umd-es6/persisters.js.gz +0 -0
  307. package/lib/umd-es6/store.js +1 -1
  308. package/lib/umd-es6/store.js.gz +0 -0
  309. package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
  310. package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
  311. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
  312. package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  313. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
  314. package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  315. package/lib/umd-es6/synchronizers.js +1 -1
  316. package/lib/umd-es6/synchronizers.js.gz +0 -0
  317. package/lib/umd-es6/tinybase.js +1 -1
  318. package/lib/umd-es6/tinybase.js.gz +0 -0
  319. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  320. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  321. package/package.json +1 -1
  322. package/readme.md +2 -2
@@ -1118,24 +1118,27 @@ const createMetrics = getCreateFunction((store) => {
1118
1118
 
1119
1119
  const scheduleRunning = mapNew();
1120
1120
  const scheduleActions = mapNew();
1121
- const getStoreFunctions = (supportsMergeableStore, store) =>
1122
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
1121
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
1122
+ supportedStoreType > 1 && 'getMergeableContent' in store
1123
1123
  ? [
1124
- 0,
1125
- store.getContent,
1126
- store.getTransactionChanges,
1127
- ([changedTables, changedValues]) =>
1128
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1129
- store.setContent,
1130
- ]
1131
- : [
1132
1124
  1,
1133
1125
  store.getMergeableContent,
1134
1126
  store.getTransactionMergeableChanges,
1135
1127
  ([[changedTables], [changedValues]]) =>
1136
1128
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1137
1129
  store.setDefaultContent,
1138
- ];
1130
+ ]
1131
+ : supportedStoreType != 2
1132
+ ? [
1133
+ 0,
1134
+ store.getContent,
1135
+ store.getTransactionChanges,
1136
+ ([changedTables, changedValues]) =>
1137
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1138
+ store.setContent,
1139
+ ]
1140
+ : /* istanbul ignore next */
1141
+ 0;
1139
1142
  const createCustomPersister = (
1140
1143
  store,
1141
1144
  getPersisted,
@@ -1143,7 +1146,7 @@ const createCustomPersister = (
1143
1146
  addPersisterListener,
1144
1147
  delPersisterListener,
1145
1148
  onIgnoredError,
1146
- supportsMergeableStore,
1149
+ supportedStoreType,
1147
1150
  extra = {},
1148
1151
  scheduleId = [],
1149
1152
  ) => {
@@ -1161,7 +1164,7 @@ const createCustomPersister = (
1161
1164
  getChanges,
1162
1165
  hasChanges,
1163
1166
  setDefaultContent,
1164
- ] = getStoreFunctions(supportsMergeableStore, store);
1167
+ ] = getStoreFunctions(supportedStoreType, store);
1165
1168
  const run = async () => {
1166
1169
  /* istanbul ignore else */
1167
1170
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -1179,20 +1182,6 @@ const createCustomPersister = (
1179
1182
  mapSet(scheduleRunning, scheduleId, 0);
1180
1183
  }
1181
1184
  };
1182
- const loadLock = async (actions) => {
1183
- /* istanbul ignore else */
1184
- if (loadSave != 2) {
1185
- loadSave = 1;
1186
- {
1187
- loads++;
1188
- }
1189
- await persister.schedule(async () => {
1190
- await actions();
1191
- loadSave = 0;
1192
- });
1193
- }
1194
- return persister;
1195
- };
1196
1185
  const setContentOrChanges = (contentOrChanges) => {
1197
1186
  (isMergeableStore && isArray(contentOrChanges?.[0])
1198
1187
  ? contentOrChanges?.[2] === 1
@@ -1202,9 +1191,14 @@ const createCustomPersister = (
1202
1191
  ? store.applyChanges
1203
1192
  : store.setContent)(contentOrChanges);
1204
1193
  };
1205
- const persister = {
1206
- load: async (initialContent) =>
1207
- await loadLock(async () => {
1194
+ const load = async (initialContent) => {
1195
+ /* istanbul ignore else */
1196
+ if (loadSave != 2) {
1197
+ loadSave = 1;
1198
+ {
1199
+ loads++;
1200
+ }
1201
+ await schedule(async () => {
1208
1202
  try {
1209
1203
  setContentOrChanges(await getPersisted());
1210
1204
  } catch (error) {
@@ -1213,76 +1207,94 @@ const createCustomPersister = (
1213
1207
  setDefaultContent(initialContent);
1214
1208
  }
1215
1209
  }
1216
- }),
1217
- startAutoLoad: async (initialContent) => {
1218
- await persister.stopAutoLoad().load(initialContent);
1219
- autoLoadHandle = addPersisterListener(
1220
- async (getContent2, getChanges2) => {
1221
- const changes = getChanges2?.();
1222
- await loadLock(async () => {
1223
- try {
1224
- setContentOrChanges(
1225
- changes ?? getContent2?.() ?? (await getPersisted()),
1226
- );
1227
- } catch (error) {
1228
- onIgnoredError?.(error);
1229
- }
1230
- });
1231
- },
1232
- );
1233
- return persister;
1234
- },
1235
- stopAutoLoad: () => {
1236
- if (autoLoadHandle) {
1237
- delPersisterListener(autoLoadHandle);
1238
- autoLoadHandle = void 0;
1239
- }
1240
- return persister;
1241
- },
1242
- isAutoLoading: () => !isUndefined(autoLoadHandle),
1243
- save: async (getChanges2) => {
1244
- /* istanbul ignore else */
1245
- if (loadSave != 1) {
1246
- loadSave = 2;
1247
- {
1248
- saves++;
1249
- }
1250
- await persister.schedule(async () => {
1251
- try {
1252
- await setPersisted(getContent, getChanges2);
1253
- } catch (error) {
1254
- /* istanbul ignore next */
1255
- onIgnoredError?.(error);
1210
+ loadSave = 0;
1211
+ });
1212
+ }
1213
+ return persister;
1214
+ };
1215
+ const startAutoLoad = async (initialContent) => {
1216
+ await stopAutoLoad().load(initialContent);
1217
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
1218
+ if (changes || content) {
1219
+ /* istanbul ignore else */
1220
+ if (loadSave != 2) {
1221
+ loadSave = 1;
1222
+ {
1223
+ loads++;
1256
1224
  }
1225
+ setContentOrChanges(changes ?? content);
1257
1226
  loadSave = 0;
1258
- });
1227
+ }
1228
+ } else {
1229
+ await load();
1259
1230
  }
1260
- return persister;
1261
- },
1262
- startAutoSave: async () => {
1263
- await persister.stopAutoSave().save();
1264
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1265
- const changes = getChanges();
1266
- if (hasChanges(changes)) {
1267
- persister.save(() => changes);
1231
+ });
1232
+ return persister;
1233
+ };
1234
+ const stopAutoLoad = () => {
1235
+ if (autoLoadHandle) {
1236
+ delPersisterListener(autoLoadHandle);
1237
+ autoLoadHandle = void 0;
1238
+ }
1239
+ return persister;
1240
+ };
1241
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
1242
+ const save = async (changes) => {
1243
+ /* istanbul ignore else */
1244
+ if (loadSave != 1) {
1245
+ loadSave = 2;
1246
+ {
1247
+ saves++;
1248
+ }
1249
+ await schedule(async () => {
1250
+ try {
1251
+ await setPersisted(getContent, changes);
1252
+ } catch (error) {
1253
+ /* istanbul ignore next */
1254
+ onIgnoredError?.(error);
1268
1255
  }
1256
+ loadSave = 0;
1269
1257
  });
1270
- return persister;
1271
- },
1272
- stopAutoSave: () => {
1273
- ifNotUndefined(autoSaveListenerId, store.delListener);
1274
- autoSaveListenerId = void 0;
1275
- return persister;
1276
- },
1277
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
1278
- schedule: async (...actions) => {
1279
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1280
- await run();
1281
- return persister;
1282
- },
1283
- getStore: () => store,
1284
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
1285
- getStats: () => ({loads, saves}),
1258
+ }
1259
+ return persister;
1260
+ };
1261
+ const startAutoSave = async () => {
1262
+ await stopAutoSave().save();
1263
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1264
+ const changes = getChanges();
1265
+ if (hasChanges(changes)) {
1266
+ save(changes);
1267
+ }
1268
+ });
1269
+ return persister;
1270
+ };
1271
+ const stopAutoSave = () => {
1272
+ ifNotUndefined(autoSaveListenerId, store.delListener);
1273
+ autoSaveListenerId = void 0;
1274
+ return persister;
1275
+ };
1276
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
1277
+ const schedule = async (...actions) => {
1278
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1279
+ await run();
1280
+ return persister;
1281
+ };
1282
+ const getStore = () => store;
1283
+ const destroy = () => stopAutoLoad().stopAutoSave();
1284
+ const getStats = () => ({loads, saves});
1285
+ const persister = {
1286
+ load,
1287
+ startAutoLoad,
1288
+ stopAutoLoad,
1289
+ isAutoLoading,
1290
+ save,
1291
+ startAutoSave,
1292
+ stopAutoSave,
1293
+ isAutoSaving,
1294
+ schedule,
1295
+ getStore,
1296
+ destroy,
1297
+ getStats,
1286
1298
  ...extra,
1287
1299
  };
1288
1300
  return objFreeze(persister);
@@ -1442,10 +1454,10 @@ const createCustomSynchronizer = (
1442
1454
  );
1443
1455
  } else if (messageType == CONTENT_HASHES && persister.isAutoLoading()) {
1444
1456
  getChangesFromOtherStore(fromClientId, messageBody).then((changes) => {
1445
- persisterListener?.(void 0, () => changes);
1457
+ persisterListener?.(void 0, changes);
1446
1458
  });
1447
1459
  } else if (messageType == CONTENT_DIFF && persister.isAutoLoading()) {
1448
- persisterListener?.(void 0, () => messageBody);
1460
+ persisterListener?.(void 0, messageBody);
1449
1461
  } else {
1450
1462
  ifNotUndefined(
1451
1463
  messageType == GET_CONTENT_HASHES && persister.isAutoSaving()
@@ -1569,12 +1581,12 @@ const createCustomSynchronizer = (
1569
1581
  ? changes
1570
1582
  : void 0;
1571
1583
  };
1572
- const setPersisted = async (getContent, getChanges) => {
1584
+ const setPersisted = async (_getContent, changes) => {
1573
1585
  {
1574
1586
  sends++;
1575
1587
  }
1576
- if (getChanges) {
1577
- send(null, null, CONTENT_DIFF, getChanges());
1588
+ if (changes) {
1589
+ send(null, null, CONTENT_DIFF, changes);
1578
1590
  } else {
1579
1591
  send(null, null, CONTENT_HASHES, store.getMergeableContentHashes());
1580
1592
  }
@@ -1596,7 +1608,7 @@ const createCustomSynchronizer = (
1596
1608
  addPersisterListener,
1597
1609
  delPersisterListener,
1598
1610
  onIgnoredError,
1599
- true,
1611
+ 2,
1600
1612
  {startSync, stopSync, destroy, getSynchronizerStats, ...extra},
1601
1613
  );
1602
1614
  return persister;
@@ -3209,7 +3221,7 @@ const createStore = () => {
3209
3221
  }
3210
3222
  if (transactions == 1) {
3211
3223
  internalListeners[0]?.();
3212
- callListeners(startTransactionListeners, void 0);
3224
+ callListeners(startTransactionListeners);
3213
3225
  }
3214
3226
  return store;
3215
3227
  };
@@ -1624,24 +1624,27 @@ const visitTree = (node, path, ensureLeaf, pruneLeaf, p = 0) =>
1624
1624
 
1625
1625
  const scheduleRunning = mapNew();
1626
1626
  const scheduleActions = mapNew();
1627
- const getStoreFunctions = (supportsMergeableStore, store) =>
1628
- !supportsMergeableStore || isUndefined(store.getMergeableContent)
1627
+ const getStoreFunctions = (supportedStoreType = 1, store) =>
1628
+ supportedStoreType > 1 && 'getMergeableContent' in store
1629
1629
  ? [
1630
- 0,
1631
- store.getContent,
1632
- store.getTransactionChanges,
1633
- ([changedTables, changedValues]) =>
1634
- !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1635
- store.setContent,
1636
- ]
1637
- : [
1638
1630
  1,
1639
1631
  store.getMergeableContent,
1640
1632
  store.getTransactionMergeableChanges,
1641
1633
  ([[changedTables], [changedValues]]) =>
1642
1634
  !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1643
1635
  store.setDefaultContent,
1644
- ];
1636
+ ]
1637
+ : supportedStoreType != 2
1638
+ ? [
1639
+ 0,
1640
+ store.getContent,
1641
+ store.getTransactionChanges,
1642
+ ([changedTables, changedValues]) =>
1643
+ !objIsEmpty(changedTables) || !objIsEmpty(changedValues),
1644
+ store.setContent,
1645
+ ]
1646
+ : /* istanbul ignore next */
1647
+ 0;
1645
1648
  const createCustomPersister = (
1646
1649
  store,
1647
1650
  getPersisted,
@@ -1649,7 +1652,7 @@ const createCustomPersister = (
1649
1652
  addPersisterListener,
1650
1653
  delPersisterListener,
1651
1654
  onIgnoredError,
1652
- supportsMergeableStore,
1655
+ supportedStoreType,
1653
1656
  extra = {},
1654
1657
  scheduleId = [],
1655
1658
  ) => {
@@ -1667,7 +1670,7 @@ const createCustomPersister = (
1667
1670
  getChanges,
1668
1671
  hasChanges,
1669
1672
  setDefaultContent,
1670
- ] = getStoreFunctions(supportsMergeableStore, store);
1673
+ ] = getStoreFunctions(supportedStoreType, store);
1671
1674
  const run = async () => {
1672
1675
  /* istanbul ignore else */
1673
1676
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -1685,20 +1688,6 @@ const createCustomPersister = (
1685
1688
  mapSet(scheduleRunning, scheduleId, 0);
1686
1689
  }
1687
1690
  };
1688
- const loadLock = async (actions) => {
1689
- /* istanbul ignore else */
1690
- if (loadSave != 2) {
1691
- loadSave = 1;
1692
- {
1693
- loads++;
1694
- }
1695
- await persister.schedule(async () => {
1696
- await actions();
1697
- loadSave = 0;
1698
- });
1699
- }
1700
- return persister;
1701
- };
1702
1691
  const setContentOrChanges = (contentOrChanges) => {
1703
1692
  (isMergeableStore && isArray(contentOrChanges?.[0])
1704
1693
  ? contentOrChanges?.[2] === 1
@@ -1708,9 +1697,14 @@ const createCustomPersister = (
1708
1697
  ? store.applyChanges
1709
1698
  : store.setContent)(contentOrChanges);
1710
1699
  };
1711
- const persister = {
1712
- load: async (initialContent) =>
1713
- await loadLock(async () => {
1700
+ const load = async (initialContent) => {
1701
+ /* istanbul ignore else */
1702
+ if (loadSave != 2) {
1703
+ loadSave = 1;
1704
+ {
1705
+ loads++;
1706
+ }
1707
+ await schedule(async () => {
1714
1708
  try {
1715
1709
  setContentOrChanges(await getPersisted());
1716
1710
  } catch (error) {
@@ -1719,76 +1713,94 @@ const createCustomPersister = (
1719
1713
  setDefaultContent(initialContent);
1720
1714
  }
1721
1715
  }
1722
- }),
1723
- startAutoLoad: async (initialContent) => {
1724
- await persister.stopAutoLoad().load(initialContent);
1725
- autoLoadHandle = addPersisterListener(
1726
- async (getContent2, getChanges2) => {
1727
- const changes = getChanges2?.();
1728
- await loadLock(async () => {
1729
- try {
1730
- setContentOrChanges(
1731
- changes ?? getContent2?.() ?? (await getPersisted()),
1732
- );
1733
- } catch (error) {
1734
- onIgnoredError?.(error);
1735
- }
1736
- });
1737
- },
1738
- );
1739
- return persister;
1740
- },
1741
- stopAutoLoad: () => {
1742
- if (autoLoadHandle) {
1743
- delPersisterListener(autoLoadHandle);
1744
- autoLoadHandle = void 0;
1745
- }
1746
- return persister;
1747
- },
1748
- isAutoLoading: () => !isUndefined(autoLoadHandle),
1749
- save: async (getChanges2) => {
1750
- /* istanbul ignore else */
1751
- if (loadSave != 1) {
1752
- loadSave = 2;
1753
- {
1754
- saves++;
1755
- }
1756
- await persister.schedule(async () => {
1757
- try {
1758
- await setPersisted(getContent, getChanges2);
1759
- } catch (error) {
1760
- /* istanbul ignore next */
1761
- onIgnoredError?.(error);
1716
+ loadSave = 0;
1717
+ });
1718
+ }
1719
+ return persister;
1720
+ };
1721
+ const startAutoLoad = async (initialContent) => {
1722
+ await stopAutoLoad().load(initialContent);
1723
+ autoLoadHandle = addPersisterListener(async (content, changes) => {
1724
+ if (changes || content) {
1725
+ /* istanbul ignore else */
1726
+ if (loadSave != 2) {
1727
+ loadSave = 1;
1728
+ {
1729
+ loads++;
1762
1730
  }
1731
+ setContentOrChanges(changes ?? content);
1763
1732
  loadSave = 0;
1764
- });
1733
+ }
1734
+ } else {
1735
+ await load();
1765
1736
  }
1766
- return persister;
1767
- },
1768
- startAutoSave: async () => {
1769
- await persister.stopAutoSave().save();
1770
- autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1771
- const changes = getChanges();
1772
- if (hasChanges(changes)) {
1773
- persister.save(() => changes);
1737
+ });
1738
+ return persister;
1739
+ };
1740
+ const stopAutoLoad = () => {
1741
+ if (autoLoadHandle) {
1742
+ delPersisterListener(autoLoadHandle);
1743
+ autoLoadHandle = void 0;
1744
+ }
1745
+ return persister;
1746
+ };
1747
+ const isAutoLoading = () => !isUndefined(autoLoadHandle);
1748
+ const save = async (changes) => {
1749
+ /* istanbul ignore else */
1750
+ if (loadSave != 1) {
1751
+ loadSave = 2;
1752
+ {
1753
+ saves++;
1754
+ }
1755
+ await schedule(async () => {
1756
+ try {
1757
+ await setPersisted(getContent, changes);
1758
+ } catch (error) {
1759
+ /* istanbul ignore next */
1760
+ onIgnoredError?.(error);
1774
1761
  }
1762
+ loadSave = 0;
1775
1763
  });
1776
- return persister;
1777
- },
1778
- stopAutoSave: () => {
1779
- ifNotUndefined(autoSaveListenerId, store.delListener);
1780
- autoSaveListenerId = void 0;
1781
- return persister;
1782
- },
1783
- isAutoSaving: () => !isUndefined(autoSaveListenerId),
1784
- schedule: async (...actions) => {
1785
- arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1786
- await run();
1787
- return persister;
1788
- },
1789
- getStore: () => store,
1790
- destroy: () => persister.stopAutoLoad().stopAutoSave(),
1791
- getStats: () => ({loads, saves}),
1764
+ }
1765
+ return persister;
1766
+ };
1767
+ const startAutoSave = async () => {
1768
+ await stopAutoSave().save();
1769
+ autoSaveListenerId = store.addDidFinishTransactionListener(() => {
1770
+ const changes = getChanges();
1771
+ if (hasChanges(changes)) {
1772
+ save(changes);
1773
+ }
1774
+ });
1775
+ return persister;
1776
+ };
1777
+ const stopAutoSave = () => {
1778
+ ifNotUndefined(autoSaveListenerId, store.delListener);
1779
+ autoSaveListenerId = void 0;
1780
+ return persister;
1781
+ };
1782
+ const isAutoSaving = () => !isUndefined(autoSaveListenerId);
1783
+ const schedule = async (...actions) => {
1784
+ arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
1785
+ await run();
1786
+ return persister;
1787
+ };
1788
+ const getStore = () => store;
1789
+ const destroy = () => stopAutoLoad().stopAutoSave();
1790
+ const getStats = () => ({loads, saves});
1791
+ const persister = {
1792
+ load,
1793
+ startAutoLoad,
1794
+ stopAutoLoad,
1795
+ isAutoLoading,
1796
+ save,
1797
+ startAutoSave,
1798
+ stopAutoSave,
1799
+ isAutoSaving,
1800
+ schedule,
1801
+ getStore,
1802
+ destroy,
1803
+ getStats,
1792
1804
  ...extra,
1793
1805
  };
1794
1806
  return objFreeze(persister);
@@ -1809,7 +1821,11 @@ const createStoragePersister = (
1809
1821
  const addPersisterListener = (listener) => {
1810
1822
  const storageListener = (event) => {
1811
1823
  if (event.storageArea === storage && event.key === storageName) {
1812
- listener(() => jsonParse(event.newValue));
1824
+ try {
1825
+ listener(jsonParse(event.newValue));
1826
+ } catch {
1827
+ listener();
1828
+ }
1813
1829
  }
1814
1830
  };
1815
1831
  WINDOW.addEventListener(STORAGE, storageListener);
@@ -1824,7 +1840,7 @@ const createStoragePersister = (
1824
1840
  addPersisterListener,
1825
1841
  delPersisterListener,
1826
1842
  onIgnoredError,
1827
- true,
1843
+ 3,
1828
1844
  {getStorageName: () => storageName},
1829
1845
  );
1830
1846
  };
@@ -2879,7 +2895,7 @@ const createStore = () => {
2879
2895
  }
2880
2896
  if (transactions == 1) {
2881
2897
  internalListeners[0]?.();
2882
- callListeners(startTransactionListeners, void 0);
2898
+ callListeners(startTransactionListeners);
2883
2899
  }
2884
2900
  return store;
2885
2901
  };
@@ -1 +1 @@
1
- const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",g=c+i,v="Row",h=v+"Count",b=v+i,f="Cell",C=f+i,T="Value",V=T+"s",p=T+i,w=e=>l+e,S=(e,l)=>e.startsWith(l),y=(e,l)=>e.endsWith(l),I=Math.max,M=isFinite,R=e=>null==e,m=(e,l,t)=>R(e)?null==t?void 0:t():l(e),L=e=>e==t||e==n,H=l=>e(l)==a,J=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),D=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,l)=>l in e,B=(e,l)=>(delete e[l],e),G=(e,l)=>F(P(e),(([e,t])=>l(t,e))),K=(e,l)=>O(P(e),(([e,t])=>l(t,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),U=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),X=(e,l,t,n=0)=>R(e)||!k(e)||!n&&Q(e)||W(e)?(null==t||t(),!1):(K(e,((t,n)=>{l(t,n)||B(e,n)})),!!n||!Q(e)),Y=e=>new Set(J(e)||R(e)?e:[e]),Z=(e,l)=>null==e?void 0:e.add(l),_=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},ee=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},le=e=>R(e)||0==_(e),te=e=>e.clear(),ne=(e,l)=>null==e?void 0:e.forEach(l),se=(e,l)=>null==e?void 0:e.delete(l),ae=e=>new Map(e),re=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},oe=(e,l)=>null==e?void 0:e.get(l),ue=(e,l)=>ne(e,((e,t)=>l(t,e))),ie=(e,l,t)=>R(t)?(se(e,l),e):null==e?void 0:e.set(l,t),ce=(e,l,t,n)=>(ee(e,l)?null==n||n(oe(e,l)):ie(e,l,t()),oe(e,l)),de=(e,l,t,n=ie)=>(K(l,((l,n)=>t(e,n,l))),ue(e,(t=>q(l,t)?0:n(e,t))),e),ge=(e,l,t,n)=>{const s={};return ne(e,((e,a)=>{if(!(null==t?void 0:t(e,a))){const t=l?l(e,a):e;!(null==n?void 0:n(t))&&(s[a]=t)}})),s},ve=(e,l,t)=>ge(e,(e=>ge(e,l,t)),le,Q),he=(e,l,t)=>ge(e,(e=>ve(e,l,t)),le,Q),be=(e,l)=>{const t=ae();return ne(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},fe=e=>be(e,be),Ce=e=>be(e,fe),Te=(e,l,t,n,s=0)=>m((t?ce:oe)(e,l[s],s>D(l)-2?t:ae),(a=>{if(s>D(l)-2)return(null==n?void 0:n(a))&&ie(e,l[s]),a;const r=Te(a,l,t,n,s+1);return le(a)&&ie(e,l[s]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let l=2166136261;return F(Ve.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},we=([e,l,t])=>[e,l,t],Se=([e,l])=>ye(e,l),ye=(e,l)=>l?[e,l]:[e],Ie=e=>e[2],Me=(e,l)=>pe(e+":"+l),Re=(e,l)=>l>e?(e?pe(e):0)^pe(l):0,me=(e,l)=>{var t;return null!=(t=(null!=e?e:"")>(null!=l?l:"")?e:l)?t:""},Le=(e,l,t)=>{e[2]=l>>>0,t>e[1]&&(e[1]=t)},He=(e=l)=>ye($(),e),Je=(e=l)=>[ae(),e,0],Ee=([e,l,t],n=we)=>[ge(e,n),l,t],De=([e,l],t=Se)=>ye(ge(e,t),l),Fe=(l,n)=>{return J(l)&&3==D(l)&&(a=l[1],e(a)==t)&&e(l[2])==s&&M(l[2])&&n(l[0]);var a},Oe=/^\d+$/,xe=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{Oe.test(l)&&D(e)<1e3&&x(e,l)}]},ze=e=>[e,e],Ae=()=>[ae(),ae()],Pe=e=>[...e],We=([e,l])=>e===l,ke=l=>{const t=e(l);return L(t)||t==s&&M(l)?t:void 0},Ne=e=>R(e)||!R(ke(e)),je=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),$e=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),qe=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),Be=JSON.parse,Ge=(e,l,t)=>ie(e,l,oe(e,l)==-t?void 0:t),Ke=()=>{let e,t,n=!1,a=!1,i=0,S=[];const y=ae(),I=ae(),M=ae(),J=ae(),z=ae(),A=ae(),P=ae(),W=ae(),k=ae(),N=ae(),$=ae(),G=ae(),U=ae(),Ve=ae(),pe=Y(),we=ae(),Se=ae(),ye=ae(),Ie=ae(),Me=Ae(),Re=Ae(),me=Ae(),Le=Ae(),He=Ae(),Je=Ae(),Ee=Ae(),De=Ae(),Fe=Ae(),Oe=Ae(),Ne=Ae(),Qe=Ae(),Ue=Ae(),Xe=Ae(),Ye=Ae(),Ze=Ae(),_e=Ae(),el=Ae(),ll=Ae(),tl=Ae(),nl=Ae(),sl=Ae(),al=ae(),rl=Ae(),[ol,ul,il,cl]=(e=>{let t;const[n,s]=xe(),a=ae();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Jt);const i=n(1);return ie(a,i,[e,s,r,o,u]),Z(Te(s,null!=r?r:[l],Y),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==D(t)?x(n,e):null===t[l]?ne(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(oe(e,t),l+1)));return s(e,0),n})(e,n),(e=>ne(e,(e=>oe(a,e)[0](t,...null!=n?n:[],...s))))),e=>m(oe(a,e),(([,t,n])=>(Te(t,null!=n?n:[l],void 0,(l=>(se(l,e),le(l)?1:0))),ie(a,e),s(e),n))),e=>m(oe(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=D(r);i==D(l)?e(t,...r,...s(r)):R(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),dl=e=>{if(!X(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!L(l)&&l!=s||(ke(e[o])!=l&&B(e,o),0))},gl=(l,t)=>(!e||ee($,t)||jl(t))&&X(l,((e,l)=>vl(t,l,e)),(()=>jl(t))),vl=(e,l,t,n)=>X(n?t:Cl(t,e,l),((n,s)=>m(hl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),hl=(l,t,n,s)=>e?m(oe(oe($,l),n),(e=>ke(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):R(ke(s))?jl(l,t,n,s):s,bl=(e,l)=>X(l?e:Tl(e),((l,t)=>m(fl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),fl=(e,l)=>t?m(oe(U,e),(t=>ke(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):R(ke(l))?$l(e,l):l,Cl=(e,l,t)=>(m(oe(G,l),(([n,s])=>{ne(n,((l,t)=>{q(e,t)||(e[t]=l)})),ne(s,(n=>{q(e,n)||jl(l,t,n)}))})),e),Tl=e=>(t&&(ne(Ve,((l,t)=>{q(e,t)||(e[t]=l)})),ne(pe,(l=>{q(e,l)||$l(l)}))),e),Vl=e=>de($,e,((e,l,t)=>{const n=ae(),s=Y();de(ce($,l,ae),t,((e,l,t)=>{ie(e,l,t),m(t[o],(e=>ie(n,l,e)),(()=>Z(s,l)))})),ie(G,l,[n,s])}),((e,l)=>{ie($,l),ie(G,l)})),pl=e=>de(U,e,((e,l,t)=>{ie(U,l,t),m(t[o],(e=>ie(Ve,l,e)),(()=>Z(pe,l)))}),((e,l)=>{ie(U,l),ie(Ve,l),se(pe,l)})),wl=e=>Q(e)?wt():ft(e),Sl=e=>de(ye,e,((e,l,t)=>yl(l,t)),((e,l)=>Dl(l))),yl=(e,l)=>de(ce(ye,e,(()=>(zl(e,1),ie(we,e,xe()),ie(Se,e,ae()),ae()))),l,((l,t,n)=>Il(e,l,t,n)),((l,t)=>Fl(e,l,t))),Il=(e,l,t,n,s)=>de(ce(l,t,(()=>(Al(e,t,1),ae()))),n,((l,n,s)=>Ml(e,t,l,n,s)),((n,a)=>Ol(e,l,t,n,a,s))),Ml=(e,l,t,n,s)=>{ee(t,n)||Pl(e,l,n,1);const a=oe(t,n);s!==a&&(Wl(e,l,n,a,s),ie(t,n,s))},Rl=(e,l,t,n,s)=>m(oe(l,t),(l=>Ml(e,t,l,n,s)),(()=>Il(e,l,t,Cl({[n]:s},e,t)))),ml=e=>Q(e)?It():Ct(e),Ll=e=>de(Ie,e,((e,l,t)=>Hl(l,t)),((e,l)=>xl(l))),Hl=(e,l)=>{ee(Ie,e)||kl(e,1);const t=oe(Ie,e);l!==t&&(Nl(e,t,l),ie(Ie,e,l))},Jl=(e,l)=>{const[t]=oe(we,e),n=t(l);return ee(oe(ye,e),n)?Jl(e,l):n},El=e=>{var l;return null!=(l=oe(ye,e))?l:yl(e,{})},Dl=e=>yl(e,{}),Fl=(e,l,t)=>{const[,n]=oe(we,e);n(t),Il(e,l,t,{},!0)},Ol=(e,l,t,n,s,a)=>{var r;const o=oe(null==(r=oe(G,e))?void 0:r[0],s);if(!R(o)&&!a)return Ml(e,t,n,s,o);const u=l=>{Wl(e,t,l,oe(n,l)),Pl(e,t,l,-1),ie(n,l)};R(o)?u(s):ue(n,u),le(n)&&(Al(e,t,-1),le(ie(l,t))&&(zl(e,-1),ie(ye,e),ie(we,e),ie(Se,e)))},xl=e=>{const l=oe(Ve,e);if(!R(l))return Hl(e,l);Nl(e,oe(Ie,e)),kl(e,-1),ie(Ie,e)},zl=(e,l)=>Ge(y,e,l),Al=(e,l,t)=>Ge(ce(J,e,ae),l,t)&&ie(M,e,ce(M,e,(()=>0))+t),Pl=(e,l,t,n)=>{var s;const a=oe(Se,e),r=null!=(s=oe(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&Ge(ce(I,e,ae),t,n),ie(a,t,r!=-n?r+n:null),Ge(ce(ce(z,e,ae),l,ae),t,n)},Wl=(e,l,t,n,s)=>{var a;ce(ce(ce(A,e,ae),l,ae),t,(()=>[n,0]))[1]=s,null==(a=S[3])||a.call(S,e,l,t,s)},kl=(e,l)=>Ge(P,e,l),Nl=(e,l,t)=>{var n;ce(W,e,(()=>[l,0]))[1]=t,null==(n=S[4])||n.call(S,e,t)},jl=(e,l,t,n,s)=>(x(ce(ce(ce(k,e,ae),l,ae),t,(()=>[])),n),s),$l=(e,l,t)=>(x(ce(N,e,(()=>[])),l),t),ql=(e,l,t)=>m(oe(oe(oe(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(at(e,l,t))])),Bl=e=>m(oe(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(ut(e))])),Gl=e=>le(k)||le(Ze[e])?0:ne(e?Ce(k):k,((l,t)=>ne(l,((l,n)=>ne(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>le(N)||le(_e[e])?0:ne(e?be(N):N,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!le(e))return ul(l,n,(()=>ge(e))),ue(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Me[e],void 0,l);const t=le(Oe[e]),s=le(Ue[e])&&le(Xe[e])&&le(Fe[e])&&le(Ne[e])&&le(Je[e])&&le(Ee[e])&&le(De[e])&&t&&le(me[e])&&le(Le[e]),a=le(Ye[e])&&le(Qe[e])&&le(He[e])&&le(Re[e]);if(!s||!a){const l=e?[be(y),fe(I),be(M),fe(J),Ce(z),Ce(A)]:[y,I,M,J,z,A];if(!s){Ql(l[0],me[e],Le[e]),ne(l[1],((l,t)=>Ql(l,Je[e],Ee[e],[t]))),ne(l[2],((l,t)=>{0!=l&&ul(De[e],[t],lt(t))}));const n=Y();ne(l[3],((l,s)=>{Ql(l,Fe[e],Ne[e],[s])&&!t&&(ul(Oe[e],[s,null]),Z(n,s))})),t||ne(l[5],((l,t)=>{if(!ee(n,t)){const n=Y();ne(l,(e=>ne(e,(([l,t],s)=>t!==l?Z(n,s):se(e,s))))),ne(n,(l=>ul(Oe[e],[t,l])))}})),ne(l[4],((l,t)=>ne(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;ne(l[5],((l,n)=>{let s;ne(l,((l,a)=>{let r;ne(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(He[e],[n],ql)})),t&&ul(Re[e],void 0,ql)}}},Xl=e=>{const l=ht();l!=a&&ul(el[e],void 0,l);const t=le(tl[e])&&le(nl[e]),n=le(sl[e])&&le(ll[e]);if(!t||!n){const l=e?[be(P),be(W)]:[P,W];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;ne(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(mt((()=>e(...O(l,w)))),Jt),Zl=()=>he(ye),_l=()=>re(ye),et=e=>re(oe(Se,w(e))),lt=e=>_(oe(ye,w(e))),tt=e=>re(oe(ye,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=oe(ye,w(e)),o=(e,t)=>[R(l)?t:oe(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,R(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>re(oe(oe(ye,w(e)),w(l))),at=(e,l,t)=>oe(oe(oe(ye,w(e)),w(l)),w(t)),rt=()=>ge(Ie),ot=()=>re(Ie),ut=e=>oe(Ie,w(e)),it=()=>!le(ye),ct=e=>ee(ye,w(e)),dt=(e,l)=>ee(oe(Se,w(e)),w(l)),gt=(e,l)=>ee(oe(ye,w(e)),w(l)),vt=(e,l,t)=>ee(oe(oe(ye,w(e)),w(l)),w(t)),ht=()=>!le(Ie),bt=e=>ee(Ie,w(e)),ft=e=>Yl((()=>(e=>X(e,gl,jl))(e)?Sl(e):0)),Ct=e=>Yl((()=>bl(e)?Ll(e):0)),Tt=e=>{try{wl(Be(e))}catch(e){}return Jt},Vt=l=>Yl((()=>{if((e=X(l,(e=>X(e,dl))))&&(Vl(l),!le(ye))){const e=Zl();wt(),ft(e)}})),pt=e=>Yl((()=>{if(t=(e=>X(e,dl))(e)){const l=rt();Rt(),It(),t=!0,pl(e),Ct(l)}})),wt=()=>Yl((()=>Sl({}))),St=e=>Yl((e=>ee(ye,e)?Dl(e):0),e),yt=(e,l)=>Yl(((e,l)=>m(oe(ye,e),(t=>ee(t,l)?Fl(e,t,l):0))),e,l),It=()=>Yl((()=>Ll({}))),Mt=()=>Yl((()=>{Vl({}),e=!1})),Rt=()=>Yl((()=>{pl({}),t=!1})),mt=(e,l)=>{if(-1!=i){Lt();const t=e();return Ht(l),t}},Lt=()=>{var e;return-1!=i&&i++,1==i&&(null==(e=S[0])||e.call(S),ul(al,void 0)),Jt},Ht=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),le(A)||Ul(1),Kl(1),le(W)||Xl(1),(null==e?void 0:e(Jt))&&(ne(A,((e,l)=>ne(e,((e,t)=>ne(e,(([e],n)=>je(Jt,l,t,n,e))))))),te(A),ne(W,(([e],l)=>$e(Jt,l,e))),te(W)),ul(rl[0],void 0),i=-1,Gl(0),le(A)||Ul(0),Kl(0),le(W)||Xl(0),null==(l=S[1])||l.call(S),ul(rl[1],void 0),null==(t=S[2])||t.call(S),i=0,n=it(),a=ht(),F([y,I,M,J,z,A,k,P,W,N],te))),Jt},Jt={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ve(oe(ye,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ge(oe(oe(ye,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:ct,hasTableCell:dt,hasRow:gt,hasCell:vt,hasValues:ht,hasValue:bt,getTablesJson:()=>qe(ye),getValuesJson:()=>qe(Ie),getJson:()=>qe([ye,Ie]),getTablesSchemaJson:()=>qe($),getValuesSchemaJson:()=>qe(U),getSchemaJson:()=>qe([$,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(Q(e)?wt:ft)(e),(Q(l)?It:Ct)(l)})),setTables:ft,setTable:(e,l)=>Yl((e=>gl(l,e)?yl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>vl(e,l,t)?Il(e,El(e),l,t):0),e,l),addRow:(e,l,t=!0)=>mt((()=>{let n;return vl(e,n,l)&&(e=w(e),Il(e,El(e),n=Jl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(vl(e,l,t,1)){const n=El(e);K(t,((t,s)=>Rl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>m(hl(e,l,t,H(n)?n(at(e,l,t)):n),(n=>Rl(e,El(e),l,t,n)))),e,l,t),setValues:Ct,setPartialValues:e=>Yl((()=>bl(e,1)?K(e,((e,l)=>Hl(l,e))):0)),setValue:(e,l)=>Yl((e=>m(fl(e,H(l)?l(ut(e)):l),(l=>Hl(e,l)))),e),applyChanges:e=>Yl((()=>{K(e[0],((e,l)=>R(e)?St(l):K(e,((e,t)=>R(e)?yt(l,t):K(e,((e,n)=>je(Jt,l,t,n,e))))))),K(e[1],((e,l)=>$e(Jt,l,e)))})),setTablesJson:Tt,setValuesJson:e=>{try{ml(Be(e))}catch(e){}return Jt},setJson:e=>Yl((()=>{try{const[l,t]=Be(e);wl(l),ml(t)}catch(l){Tt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:St,delRow:yt,delCell:(e,l,t,n)=>Yl(((e,l,t)=>m(oe(ye,e),(s=>m(oe(s,l),(a=>ee(a,t)?Ol(e,s,l,a,t,n):0))))),e,l,t),delValues:It,delValue:e=>Yl((e=>ee(Ie,e)?xl(e):0),e),delTablesSchema:Mt,delValuesSchema:Rt,delSchema:()=>Yl((()=>{Mt(),Rt()})),transaction:mt,startTransaction:Lt,getTransactionChanges:()=>[ge(A,((e,l)=>-1===oe(y,l)?void 0:ge(e,((e,t)=>-1===oe(oe(J,l),t)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),le,Q)),le,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!le(A),!le(W),he(A,Pe,We),he(k),ge(W,Pe,We),ge(N),ge(y),ve(J),he(z),ge(P)],finishTransaction:Ht,forEachTable:e=>ne(ye,((l,t)=>e(t,(e=>ne(l,((l,t)=>e(t,(e=>ue(l,e))))))))),forEachTableCell:(e,l)=>ue(oe(Se,w(e)),l),forEachRow:(e,l)=>ne(oe(ye,w(e)),((e,t)=>l(t,(l=>ue(e,l))))),forEachCell:(e,l,t)=>ue(oe(oe(ye,w(e)),w(l)),t),forEachValue:e=>ue(Ie,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,c;i=o,D(u=r)===D(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(Jt,e,l,t,n,s,o))}),Oe[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(cl(e),Jt),delListener:e=>(il(e),Jt),getListenerStats:()=>({}),createStore:Ke,addListener:ol,callListeners:ul,setInternalListeners:(e,l,t,n,s)=>S=[e,l,t,n,s]};return K({[u+d]:[0,Me,[],()=>[it()]],[d]:[0,Re],[g]:[0,me],[u+c]:[1,Le,[_l],e=>[ct(...e)]],[c]:[1,He,[_l]],[c+C]:[1,Je,[_l]],[u+c+f]:[2,Ee,[_l,et],e=>[dt(...e)]],[h]:[1,De,[_l]],[b]:[1,Fe,[_l]],[u+v]:[2,Ne,[_l,tt],e=>[gt(...e)]],[v]:[2,Qe,[_l,tt]],[C]:[2,Ue,[_l,tt]],[u+f]:[3,Xe,[_l,tt,st],e=>[vt(...e)]],[f]:[3,Ye,[_l,tt,st],e=>ze(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[ht()]],[V]:[0,ll],[p]:[0,tl],[u+T]:[1,nl,[ot],e=>[bt(...e)]],[T]:[1,sl,[ot],e=>ze(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Jt["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),j(Jt)};var Qe=Math.pow;const Ue=Qe(2,36),Xe=Qe(2,30),Ye=Qe(2,24),Ze=Qe(2,18),_e=Qe(2,12),el=Qe(2,6),ll=e=>String.fromCharCode(48+(63&e)),tl=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,nl={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},sl=(e=l)=>[Je(e),Je(e)],al=e=>{let t=1,n=sl(),s=0;const a=ae(),r=Y(),[o,u]=(e=>{let l=0,t=-1;const n=pe(e),s=e=>{const n=l,[s,a]=R(e)||""==e?[0,0]:[tl(r=e,0)*Ue+tl(r,1)*Xe+tl(r,2)*Ye+tl(r,3)*Ze+tl(r,4)*_e+tl(r,5)*el+tl(r,6),tl(r,7)*Ze+tl(r,8)*_e+tl(r,9)*el+tl(r,10),tl(r,11)*Ye+tl(r,12)*Ze+tl(r,13)*_e+tl(r,14)*el+tl(r,15)];var r;l=I(n,s,Date.now()),t=l==n?l==s?I(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,ll((e=l)/Ue)+ll(e/Xe)+ll(e/Ye)+ll(e/Ze)+ll(e/_e)+ll(e/el)+ll(e)+ll(a/Ze)+ll(a/_e)+ll(a/el)+ll(a)+ll(r/Ye)+ll(r/Ze)+ll(r/_e)+ll(r/el)+ll(r);var e,a,r},s]})(e),i=Ke(),c=e=>{const l=t;return t=0,e(),t=l,b},d=(e,t=0)=>{const s={},a={},[[r,o=l,i=0],c]=e,[d,v]=n,[h,b,f]=d;let C=t?i:f,T=o;G(r,(([e,n=l,a=0],r)=>{const o=ce(h,r,Je),[u,i,c]=o;let d=t?a:c,v=n;G(e,((e,l)=>{const[n,a,o]=g(e,ce(u,l,Je),U(U(s,r,$),l,$),t);d^=t?0:(a?Me(l,a):0)^Me(l,o),v=me(v,n)})),d^=t?0:Re(i,n),Le(o,d,n),C^=t?0:(c?Me(r,c):0)^Me(r,o[2]),T=me(T,v)})),C^=t?0:Re(b,o),Le(d,C,o);const[V]=g(c,v,a,t);return u(me(T,V)),[s,a,1]},g=(e,t,n,s)=>{const[a,r=l,o=0]=e,[u,i,c]=t;let d=r,g=s?o:c;return G(a,(([e,t,a=0],r)=>{const o=ce(u,r,(()=>[void 0,l,0])),[,i,c]=o;(!i||t>i)&&(Le(o,s?a:pe(qe(null!=e?e:null)+":"+t),t),o[0]=e,n[r]=e,g^=s?0:Me(r,c)^Me(r,o[2]),d=me(d,t))})),g^=s?0:Re(i,r),Le(t,g,r),[d,c,t[2]]},v=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],h=e=>c((()=>i.applyChanges(d(e)))),b={getId:()=>e,getMergeableContent:v,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Ie),getMergeableTableDiff:e=>{const l=He(n[0][1]),t={};return ue(n[0][0],((n,[s,a,r])=>q(e,n)?r!=e[n]?t[n]=r:0:l[0][n]=De([s,a],(e=>De(e))))),[l,t]},getMergeableRowHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n,,s])=>s!=e?ue(n,((e,[,,n])=>U(l,t,$)[e]=n)):0)))),l},getMergeableRowDiff:e=>{const l=He(n[0][1]),t={};return G(e,((e,s)=>{var a;return ue(null==(a=oe(n[0][0],s))?void 0:a[0],((n,[a,r,o])=>q(e,n)?o!==e[n]?U(t,s,$)[n]=o:0:U(l[0],s,He)[0][n]=De([a,r])))})),[l,t]},getMergeableCellHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n])=>G(e,((e,s)=>m(oe(n,s),(([n,,a])=>a!==e?ue(n,((e,[,,n])=>U(U(l,t,$),s,$)[e]=n)):0)))))))),l},getMergeableCellDiff:e=>{const[[l,t]]=n,s={};return G(e,((e,t)=>G(e,((e,n)=>m(oe(l,t),(([l,a])=>m(oe(l,n),(([l,r])=>ue(l,((l,[o,u,i])=>i!==e[l]?U(U(s,t,(()=>He(a)))[0],n,(()=>He(r)))[0][l]=[o,u]:0)))))))))),ye(s,t)},getMergeableValuesHashes:()=>ge(n[1][0],Ie),getMergeableValueDiff:e=>{const[,[l,t]]=n,s=ge(l,Se,(([,,l],t)=>l==(null==e?void 0:e[t])));return ye(s,t)},setMergeableContent:e=>c((()=>(e=>J(e)&&2==D(e)&&Fe(e[0],(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>X(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=sl(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{s=1,i.setContent(e),s=0})),b),getTransactionMergeableChanges:()=>{const[[e,l],[t,s]]=n,o={};ne(a,((l,t)=>m(oe(e,t),(([e,n])=>{const s={};ne(l,((l,t)=>m(oe(e,t),(([e,n])=>{const a={};ne(l,(l=>{m(oe(e,l),(([e,t])=>a[l]=ye(e,t)))})),s[t]=ye(a,n)})))),o[t]=ye(s,n)}))));const u={};return ne(r,(e=>m(oe(t,e),(([l,t])=>u[e]=ye(l,t))))),[ye(o,l),ye(u,s),1]},applyMergeableChanges:h,merge:e=>{const l=v(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{te(a),te(r)}),((e,n,r,u)=>{Z(ce(ce(a,e,ae),n,Y),r),t&&d([[{[e]:[{[n]:[{[r]:[u,s?l:o()]}]}]}],[{}],1])}),((e,n)=>{Z(r,e),t&&d([[{}],[{[e]:[n,s?l:o()]}],1])})),K(i,((e,l)=>b[l]=S(l,"set")||S(l,"del")||S(l,"apply")||y(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):S(l,"add")&&y(l,"Listener")?(...t)=>{var n;const s=null!=(n=nl[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(b,...l),e(...t)}:e)),j(b)};export{al as createMergeableStore};
1
+ const e=e=>typeof e,l="",t=e(l),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",g=c+i,v="Row",h=v+"Count",b=v+i,f="Cell",C=f+i,T="Value",V=T+"s",p=T+i,w=e=>l+e,S=(e,l)=>e.startsWith(l),y=(e,l)=>e.endsWith(l),I=Math.max,M=isFinite,R=e=>null==e,m=(e,l,t)=>R(e)?null==t?void 0:t():l(e),L=e=>e==t||e==n,H=l=>e(l)==a,J=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),D=e=>e.length,F=(e,l)=>e.forEach(l),O=(e,l)=>e.map(l),x=(e,...l)=>e.push(...l),z=Object,A=e=>z.getPrototypeOf(e),P=z.entries,W=z.isFrozen,k=e=>!R(e)&&m(A(e),(e=>e==z.prototype||R(A(e))),(()=>!0)),N=z.keys,j=z.freeze,$=(e=[])=>z.fromEntries(e),q=(e,l)=>l in e,B=(e,l)=>(delete e[l],e),G=(e,l)=>F(P(e),(([e,t])=>l(t,e))),K=(e,l)=>O(P(e),(([e,t])=>l(t,e))),Q=e=>k(e)&&0==(e=>D(N(e)))(e),U=(e,l,t)=>(q(e,l)||(e[l]=t()),e[l]),X=(e,l,t,n=0)=>R(e)||!k(e)||!n&&Q(e)||W(e)?(null==t||t(),!1):(K(e,((t,n)=>{l(t,n)||B(e,n)})),!!n||!Q(e)),Y=e=>new Set(J(e)||R(e)?e:[e]),Z=(e,l)=>null==e?void 0:e.add(l),_=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},ee=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},le=e=>R(e)||0==_(e),te=e=>e.clear(),ne=(e,l)=>null==e?void 0:e.forEach(l),se=(e,l)=>null==e?void 0:e.delete(l),ae=e=>new Map(e),re=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},oe=(e,l)=>null==e?void 0:e.get(l),ue=(e,l)=>ne(e,((e,t)=>l(t,e))),ie=(e,l,t)=>R(t)?(se(e,l),e):null==e?void 0:e.set(l,t),ce=(e,l,t,n)=>(ee(e,l)?null==n||n(oe(e,l)):ie(e,l,t()),oe(e,l)),de=(e,l,t,n=ie)=>(K(l,((l,n)=>t(e,n,l))),ue(e,(t=>q(l,t)?0:n(e,t))),e),ge=(e,l,t,n)=>{const s={};return ne(e,((e,a)=>{if(!(null==t?void 0:t(e,a))){const t=l?l(e,a):e;!(null==n?void 0:n(t))&&(s[a]=t)}})),s},ve=(e,l,t)=>ge(e,(e=>ge(e,l,t)),le,Q),he=(e,l,t)=>ge(e,(e=>ve(e,l,t)),le,Q),be=(e,l)=>{const t=ae();return ne(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},fe=e=>be(e,be),Ce=e=>be(e,fe),Te=(e,l,t,n,s=0)=>m((t?ce:oe)(e,l[s],s>D(l)-2?t:ae),(a=>{if(s>D(l)-2)return(null==n?void 0:n(a))&&ie(e,l[s]),a;const r=Te(a,l,t,n,s+1);return le(a)&&ie(e,l[s]),r})),Ve=new globalThis.TextEncoder,pe=e=>{let l=2166136261;return F(Ve.encode(e),(e=>{l^=e,l+=(l<<1)+(l<<4)+(l<<7)+(l<<8)+(l<<24)})),l>>>0},we=([e,l,t])=>[e,l,t],Se=([e,l])=>ye(e,l),ye=(e,l)=>l?[e,l]:[e],Ie=e=>e[2],Me=(e,l)=>pe(e+":"+l),Re=(e,l)=>l>e?(e?pe(e):0)^pe(l):0,me=(e,l)=>{var t;return null!=(t=(null!=e?e:"")>(null!=l?l:"")?e:l)?t:""},Le=(e,l,t)=>{e[2]=l>>>0,t>e[1]&&(e[1]=t)},He=(e=l)=>ye($(),e),Je=(e=l)=>[ae(),e,0],Ee=([e,l,t],n=we)=>[ge(e,n),l,t],De=([e,l],t=Se)=>ye(ge(e,t),l),Fe=(l,n)=>{return J(l)&&3==D(l)&&(a=l[1],e(a)==t)&&e(l[2])==s&&M(l[2])&&n(l[0]);var a},Oe=/^\d+$/,xe=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},l=>{Oe.test(l)&&D(e)<1e3&&x(e,l)}]},ze=e=>[e,e],Ae=()=>[ae(),ae()],Pe=e=>[...e],We=([e,l])=>e===l,ke=l=>{const t=e(l);return L(t)||t==s&&M(l)?t:void 0},Ne=e=>R(e)||!R(ke(e)),je=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),$e=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),qe=e=>JSON.stringify(e,((e,l)=>l instanceof Map?z.fromEntries([...l]):l)),Be=JSON.parse,Ge=(e,l,t)=>ie(e,l,oe(e,l)==-t?void 0:t),Ke=()=>{let e,t,n=!1,a=!1,i=0,S=[];const y=ae(),I=ae(),M=ae(),J=ae(),z=ae(),A=ae(),P=ae(),W=ae(),k=ae(),N=ae(),$=ae(),G=ae(),U=ae(),Ve=ae(),pe=Y(),we=ae(),Se=ae(),ye=ae(),Ie=ae(),Me=Ae(),Re=Ae(),me=Ae(),Le=Ae(),He=Ae(),Je=Ae(),Ee=Ae(),De=Ae(),Fe=Ae(),Oe=Ae(),Ne=Ae(),Qe=Ae(),Ue=Ae(),Xe=Ae(),Ye=Ae(),Ze=Ae(),_e=Ae(),el=Ae(),ll=Ae(),tl=Ae(),nl=Ae(),sl=Ae(),al=ae(),rl=Ae(),[ol,ul,il,cl]=(e=>{let t;const[n,s]=xe(),a=ae();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Jt);const i=n(1);return ie(a,i,[e,s,r,o,u]),Z(Te(s,null!=r?r:[l],Y),i),i},(e,n,...s)=>F(((e,t=[l])=>{const n=[],s=(e,l)=>l==D(t)?x(n,e):null===t[l]?ne(e,(e=>s(e,l+1))):F([t[l],null],(t=>s(oe(e,t),l+1)));return s(e,0),n})(e,n),(e=>ne(e,(e=>oe(a,e)[0](t,...null!=n?n:[],...s))))),e=>m(oe(a,e),(([,t,n])=>(Te(t,null!=n?n:[l],void 0,(l=>(se(l,e),le(l)?1:0))),ie(a,e),s(e),n))),e=>m(oe(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=D(r);i==D(l)?e(t,...r,...s(r)):R(l[i])?F(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),dl=e=>{if(!X(e,((e,l)=>[r,o].includes(l))))return!1;const l=e[r];return!(!L(l)&&l!=s||(ke(e[o])!=l&&B(e,o),0))},gl=(l,t)=>(!e||ee($,t)||jl(t))&&X(l,((e,l)=>vl(t,l,e)),(()=>jl(t))),vl=(e,l,t,n)=>X(n?t:Cl(t,e,l),((n,s)=>m(hl(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>jl(e,l))),hl=(l,t,n,s)=>e?m(oe(oe($,l),n),(e=>ke(s)!=e[r]?jl(l,t,n,s,e[o]):s),(()=>jl(l,t,n,s))):R(ke(s))?jl(l,t,n,s):s,bl=(e,l)=>X(l?e:Tl(e),((l,t)=>m(fl(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>$l())),fl=(e,l)=>t?m(oe(U,e),(t=>ke(l)!=t[r]?$l(e,l,t[o]):l),(()=>$l(e,l))):R(ke(l))?$l(e,l):l,Cl=(e,l,t)=>(m(oe(G,l),(([n,s])=>{ne(n,((l,t)=>{q(e,t)||(e[t]=l)})),ne(s,(n=>{q(e,n)||jl(l,t,n)}))})),e),Tl=e=>(t&&(ne(Ve,((l,t)=>{q(e,t)||(e[t]=l)})),ne(pe,(l=>{q(e,l)||$l(l)}))),e),Vl=e=>de($,e,((e,l,t)=>{const n=ae(),s=Y();de(ce($,l,ae),t,((e,l,t)=>{ie(e,l,t),m(t[o],(e=>ie(n,l,e)),(()=>Z(s,l)))})),ie(G,l,[n,s])}),((e,l)=>{ie($,l),ie(G,l)})),pl=e=>de(U,e,((e,l,t)=>{ie(U,l,t),m(t[o],(e=>ie(Ve,l,e)),(()=>Z(pe,l)))}),((e,l)=>{ie(U,l),ie(Ve,l),se(pe,l)})),wl=e=>Q(e)?wt():ft(e),Sl=e=>de(ye,e,((e,l,t)=>yl(l,t)),((e,l)=>Dl(l))),yl=(e,l)=>de(ce(ye,e,(()=>(zl(e,1),ie(we,e,xe()),ie(Se,e,ae()),ae()))),l,((l,t,n)=>Il(e,l,t,n)),((l,t)=>Fl(e,l,t))),Il=(e,l,t,n,s)=>de(ce(l,t,(()=>(Al(e,t,1),ae()))),n,((l,n,s)=>Ml(e,t,l,n,s)),((n,a)=>Ol(e,l,t,n,a,s))),Ml=(e,l,t,n,s)=>{ee(t,n)||Pl(e,l,n,1);const a=oe(t,n);s!==a&&(Wl(e,l,n,a,s),ie(t,n,s))},Rl=(e,l,t,n,s)=>m(oe(l,t),(l=>Ml(e,t,l,n,s)),(()=>Il(e,l,t,Cl({[n]:s},e,t)))),ml=e=>Q(e)?It():Ct(e),Ll=e=>de(Ie,e,((e,l,t)=>Hl(l,t)),((e,l)=>xl(l))),Hl=(e,l)=>{ee(Ie,e)||kl(e,1);const t=oe(Ie,e);l!==t&&(Nl(e,t,l),ie(Ie,e,l))},Jl=(e,l)=>{const[t]=oe(we,e),n=t(l);return ee(oe(ye,e),n)?Jl(e,l):n},El=e=>{var l;return null!=(l=oe(ye,e))?l:yl(e,{})},Dl=e=>yl(e,{}),Fl=(e,l,t)=>{const[,n]=oe(we,e);n(t),Il(e,l,t,{},!0)},Ol=(e,l,t,n,s,a)=>{var r;const o=oe(null==(r=oe(G,e))?void 0:r[0],s);if(!R(o)&&!a)return Ml(e,t,n,s,o);const u=l=>{Wl(e,t,l,oe(n,l)),Pl(e,t,l,-1),ie(n,l)};R(o)?u(s):ue(n,u),le(n)&&(Al(e,t,-1),le(ie(l,t))&&(zl(e,-1),ie(ye,e),ie(we,e),ie(Se,e)))},xl=e=>{const l=oe(Ve,e);if(!R(l))return Hl(e,l);Nl(e,oe(Ie,e)),kl(e,-1),ie(Ie,e)},zl=(e,l)=>Ge(y,e,l),Al=(e,l,t)=>Ge(ce(J,e,ae),l,t)&&ie(M,e,ce(M,e,(()=>0))+t),Pl=(e,l,t,n)=>{var s;const a=oe(Se,e),r=null!=(s=oe(a,t))?s:0;(0==r&&1==n||1==r&&-1==n)&&Ge(ce(I,e,ae),t,n),ie(a,t,r!=-n?r+n:null),Ge(ce(ce(z,e,ae),l,ae),t,n)},Wl=(e,l,t,n,s)=>{var a;ce(ce(ce(A,e,ae),l,ae),t,(()=>[n,0]))[1]=s,null==(a=S[3])||a.call(S,e,l,t,s)},kl=(e,l)=>Ge(P,e,l),Nl=(e,l,t)=>{var n;ce(W,e,(()=>[l,0]))[1]=t,null==(n=S[4])||n.call(S,e,t)},jl=(e,l,t,n,s)=>(x(ce(ce(ce(k,e,ae),l,ae),t,(()=>[])),n),s),$l=(e,l,t)=>(x(ce(N,e,(()=>[])),l),t),ql=(e,l,t)=>m(oe(oe(oe(A,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(at(e,l,t))])),Bl=e=>m(oe(W,e),(([e,l])=>[!0,e,l]),(()=>[!1,...ze(ut(e))])),Gl=e=>le(k)||le(Ze[e])?0:ne(e?Ce(k):k,((l,t)=>ne(l,((l,n)=>ne(l,((l,s)=>ul(Ze[e],[t,n,s],l))))))),Kl=e=>le(N)||le(_e[e])?0:ne(e?be(N):N,((l,t)=>ul(_e[e],[t],l))),Ql=(e,l,t,n)=>{if(!le(e))return ul(l,n,(()=>ge(e))),ue(e,((e,l)=>ul(t,[...null!=n?n:[],e],1==l))),1},Ul=e=>{const l=it();l!=n&&ul(Me[e],void 0,l);const t=le(Oe[e]),s=le(Ue[e])&&le(Xe[e])&&le(Fe[e])&&le(Ne[e])&&le(Je[e])&&le(Ee[e])&&le(De[e])&&t&&le(me[e])&&le(Le[e]),a=le(Ye[e])&&le(Qe[e])&&le(He[e])&&le(Re[e]);if(!s||!a){const l=e?[be(y),fe(I),be(M),fe(J),Ce(z),Ce(A)]:[y,I,M,J,z,A];if(!s){Ql(l[0],me[e],Le[e]),ne(l[1],((l,t)=>Ql(l,Je[e],Ee[e],[t]))),ne(l[2],((l,t)=>{0!=l&&ul(De[e],[t],lt(t))}));const n=Y();ne(l[3],((l,s)=>{Ql(l,Fe[e],Ne[e],[s])&&!t&&(ul(Oe[e],[s,null]),Z(n,s))})),t||ne(l[5],((l,t)=>{if(!ee(n,t)){const n=Y();ne(l,(e=>ne(e,(([l,t],s)=>t!==l?Z(n,s):se(e,s))))),ne(n,(l=>ul(Oe[e],[t,l])))}})),ne(l[4],((l,t)=>ne(l,((l,n)=>Ql(l,Ue[e],Xe[e],[t,n])))))}if(!a){let t;ne(l[5],((l,n)=>{let s;ne(l,((l,a)=>{let r;ne(l,(([l,o],u)=>{o!==l&&(ul(Ye[e],[n,a,u],o,l,ql),t=s=r=1)})),r&&ul(Qe[e],[n,a],ql)})),s&&ul(He[e],[n],ql)})),t&&ul(Re[e],void 0,ql)}}},Xl=e=>{const l=ht();l!=a&&ul(el[e],void 0,l);const t=le(tl[e])&&le(nl[e]),n=le(sl[e])&&le(ll[e]);if(!t||!n){const l=e?[be(P),be(W)]:[P,W];if(t||Ql(l[0],tl[e],nl[e]),!n){let t;ne(l[1],(([l,n],s)=>{n!==l&&(ul(sl[e],[s],n,l,Bl),t=1)})),t&&ul(ll[e],void 0,Bl)}}},Yl=(e,...l)=>(mt((()=>e(...O(l,w)))),Jt),Zl=()=>he(ye),_l=()=>re(ye),et=e=>re(oe(Se,w(e))),lt=e=>_(oe(ye,w(e))),tt=e=>re(oe(ye,w(e))),nt=(e,l,t,n=0,s)=>{return O(E((r=oe(ye,w(e)),o=(e,t)=>[R(l)?t:oe(e,w(l)),t],a=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},O([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,R(s)?s:n+s),(([,e])=>e));var a,r,o,u},st=(e,l)=>re(oe(oe(ye,w(e)),w(l))),at=(e,l,t)=>oe(oe(oe(ye,w(e)),w(l)),w(t)),rt=()=>ge(Ie),ot=()=>re(Ie),ut=e=>oe(Ie,w(e)),it=()=>!le(ye),ct=e=>ee(ye,w(e)),dt=(e,l)=>ee(oe(Se,w(e)),w(l)),gt=(e,l)=>ee(oe(ye,w(e)),w(l)),vt=(e,l,t)=>ee(oe(oe(ye,w(e)),w(l)),w(t)),ht=()=>!le(Ie),bt=e=>ee(Ie,w(e)),ft=e=>Yl((()=>(e=>X(e,gl,jl))(e)?Sl(e):0)),Ct=e=>Yl((()=>bl(e)?Ll(e):0)),Tt=e=>{try{wl(Be(e))}catch(e){}return Jt},Vt=l=>Yl((()=>{if((e=X(l,(e=>X(e,dl))))&&(Vl(l),!le(ye))){const e=Zl();wt(),ft(e)}})),pt=e=>Yl((()=>{if(t=(e=>X(e,dl))(e)){const l=rt();Rt(),It(),t=!0,pl(e),Ct(l)}})),wt=()=>Yl((()=>Sl({}))),St=e=>Yl((e=>ee(ye,e)?Dl(e):0),e),yt=(e,l)=>Yl(((e,l)=>m(oe(ye,e),(t=>ee(t,l)?Fl(e,t,l):0))),e,l),It=()=>Yl((()=>Ll({}))),Mt=()=>Yl((()=>{Vl({}),e=!1})),Rt=()=>Yl((()=>{pl({}),t=!1})),mt=(e,l)=>{if(-1!=i){Lt();const t=e();return Ht(l),t}},Lt=()=>{var e;return-1!=i&&i++,1==i&&(null==(e=S[0])||e.call(S),ul(al)),Jt},Ht=e=>{var l,t;return i>0&&(i--,0==i&&(i=1,Gl(1),le(A)||Ul(1),Kl(1),le(W)||Xl(1),(null==e?void 0:e(Jt))&&(ne(A,((e,l)=>ne(e,((e,t)=>ne(e,(([e],n)=>je(Jt,l,t,n,e))))))),te(A),ne(W,(([e],l)=>$e(Jt,l,e))),te(W)),ul(rl[0],void 0),i=-1,Gl(0),le(A)||Ul(0),Kl(0),le(W)||Xl(0),null==(l=S[1])||l.call(S),ul(rl[1],void 0),null==(t=S[2])||t.call(S),i=0,n=it(),a=ht(),F([y,I,M,J,z,A,k,P,W,N],te))),Jt},Jt={getContent:()=>[Zl(),rt()],getTables:Zl,getTableIds:_l,getTable:e=>ve(oe(ye,w(e))),getTableCellIds:et,getRowCount:lt,getRowIds:tt,getSortedRowIds:nt,getRow:(e,l)=>ge(oe(oe(ye,w(e)),w(l))),getCellIds:st,getCell:at,getValues:rt,getValueIds:ot,getValue:ut,hasTables:it,hasTable:ct,hasTableCell:dt,hasRow:gt,hasCell:vt,hasValues:ht,hasValue:bt,getTablesJson:()=>qe(ye),getValuesJson:()=>qe(Ie),getJson:()=>qe([ye,Ie]),getTablesSchemaJson:()=>qe($),getValuesSchemaJson:()=>qe(U),getSchemaJson:()=>qe([$,U]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,l])=>Yl((()=>{(Q(e)?wt:ft)(e),(Q(l)?It:Ct)(l)})),setTables:ft,setTable:(e,l)=>Yl((e=>gl(l,e)?yl(e,l):0),e),setRow:(e,l,t)=>Yl(((e,l)=>vl(e,l,t)?Il(e,El(e),l,t):0),e,l),addRow:(e,l,t=!0)=>mt((()=>{let n;return vl(e,n,l)&&(e=w(e),Il(e,El(e),n=Jl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Yl(((e,l)=>{if(vl(e,l,t,1)){const n=El(e);K(t,((t,s)=>Rl(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Yl(((e,l,t)=>m(hl(e,l,t,H(n)?n(at(e,l,t)):n),(n=>Rl(e,El(e),l,t,n)))),e,l,t),setValues:Ct,setPartialValues:e=>Yl((()=>bl(e,1)?K(e,((e,l)=>Hl(l,e))):0)),setValue:(e,l)=>Yl((e=>m(fl(e,H(l)?l(ut(e)):l),(l=>Hl(e,l)))),e),applyChanges:e=>Yl((()=>{K(e[0],((e,l)=>R(e)?St(l):K(e,((e,t)=>R(e)?yt(l,t):K(e,((e,n)=>je(Jt,l,t,n,e))))))),K(e[1],((e,l)=>$e(Jt,l,e)))})),setTablesJson:Tt,setValuesJson:e=>{try{ml(Be(e))}catch(e){}return Jt},setJson:e=>Yl((()=>{try{const[l,t]=Be(e);wl(l),ml(t)}catch(l){Tt(e)}})),setTablesSchema:Vt,setValuesSchema:pt,setSchema:(e,l)=>Yl((()=>{Vt(e),pt(l)})),delTables:wt,delTable:St,delRow:yt,delCell:(e,l,t,n)=>Yl(((e,l,t)=>m(oe(ye,e),(s=>m(oe(s,l),(a=>ee(a,t)?Ol(e,s,l,a,t,n):0))))),e,l,t),delValues:It,delValue:e=>Yl((e=>ee(Ie,e)?xl(e):0),e),delTablesSchema:Mt,delValuesSchema:Rt,delSchema:()=>Yl((()=>{Mt(),Rt()})),transaction:mt,startTransaction:Lt,getTransactionChanges:()=>[ge(A,((e,l)=>-1===oe(y,l)?void 0:ge(e,((e,t)=>-1===oe(oe(J,l),t)?void 0:ge(e,(([,e])=>e),(e=>We(e)))),le,Q)),le,Q),ge(W,(([,e])=>e),(e=>We(e))),1],getTransactionLog:()=>[!le(A),!le(W),he(A,Pe,We),he(k),ge(W,Pe,We),ge(N),ge(y),ve(J),he(z),ge(P)],finishTransaction:Ht,forEachTable:e=>ne(ye,((l,t)=>e(t,(e=>ne(l,((l,t)=>e(t,(e=>ue(l,e))))))))),forEachTableCell:(e,l)=>ue(oe(Se,w(e)),l),forEachRow:(e,l)=>ne(oe(ye,w(e)),((e,t)=>l(t,(l=>ue(e,l))))),forEachCell:(e,l,t)=>ue(oe(oe(ye,w(e)),w(l)),t),forEachValue:e=>ue(Ie,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=nt(e,l,t,n,s);return ol((()=>{const r=nt(e,l,t,n,s);var u,i,c;i=o,D(u=r)===D(i)&&(c=(e,l)=>i[l]===e,u.every(c))||(o=r,a(Jt,e,l,t,n,s,o))}),Oe[r?1:0],[e,l],[_l])},addStartTransactionListener:e=>ol(e,al),addWillFinishTransactionListener:e=>ol(e,rl[0]),addDidFinishTransactionListener:e=>ol(e,rl[1]),callListener:e=>(cl(e),Jt),delListener:e=>(il(e),Jt),getListenerStats:()=>({}),createStore:Ke,addListener:ol,callListeners:ul,setInternalListeners:(e,l,t,n,s)=>S=[e,l,t,n,s]};return K({[u+d]:[0,Me,[],()=>[it()]],[d]:[0,Re],[g]:[0,me],[u+c]:[1,Le,[_l],e=>[ct(...e)]],[c]:[1,He,[_l]],[c+C]:[1,Je,[_l]],[u+c+f]:[2,Ee,[_l,et],e=>[dt(...e)]],[h]:[1,De,[_l]],[b]:[1,Fe,[_l]],[u+v]:[2,Ne,[_l,tt],e=>[gt(...e)]],[v]:[2,Qe,[_l,tt]],[C]:[2,Ue,[_l,tt]],[u+f]:[3,Xe,[_l,tt,st],e=>[vt(...e)]],[f]:[3,Ye,[_l,tt,st],e=>ze(at(...e))],InvalidCell:[3,Ze],[u+V]:[0,el,[],()=>[ht()]],[V]:[0,ll],[p]:[0,tl],[u+T]:[1,nl,[ot],e=>[bt(...e)]],[T]:[1,sl,[ot],e=>ze(ut(e[0]))],InvalidValue:[1,_e]},(([e,l,t,n],s)=>{Jt["add"+s+"Listener"]=(...s)=>ol(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),j(Jt)};var Qe=Math.pow;const Ue=Qe(2,36),Xe=Qe(2,30),Ye=Qe(2,24),Ze=Qe(2,18),_e=Qe(2,12),el=Qe(2,6),ll=e=>String.fromCharCode(48+(63&e)),tl=(e,l)=>((e,l)=>e.charCodeAt(l))(e,l)-48,nl={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},sl=(e=l)=>[Je(e),Je(e)],al=e=>{let t=1,n=sl(),s=0;const a=ae(),r=Y(),[o,u]=(e=>{let l=0,t=-1;const n=pe(e),s=e=>{const n=l,[s,a]=R(e)||""==e?[0,0]:[tl(r=e,0)*Ue+tl(r,1)*Xe+tl(r,2)*Ye+tl(r,3)*Ze+tl(r,4)*_e+tl(r,5)*el+tl(r,6),tl(r,7)*Ze+tl(r,8)*_e+tl(r,9)*el+tl(r,10),tl(r,11)*Ye+tl(r,12)*Ze+tl(r,13)*_e+tl(r,14)*el+tl(r,15)];var r;l=I(n,s,Date.now()),t=l==n?l==s?I(t,a):t:l==s?a:-1};return[()=>{return s(),a=++t,r=n,ll((e=l)/Ue)+ll(e/Xe)+ll(e/Ye)+ll(e/Ze)+ll(e/_e)+ll(e/el)+ll(e)+ll(a/Ze)+ll(a/_e)+ll(a/el)+ll(a)+ll(r/Ye)+ll(r/Ze)+ll(r/_e)+ll(r/el)+ll(r);var e,a,r},s]})(e),i=Ke(),c=e=>{const l=t;return t=0,e(),t=l,b},d=(e,t=0)=>{const s={},a={},[[r,o=l,i=0],c]=e,[d,v]=n,[h,b,f]=d;let C=t?i:f,T=o;G(r,(([e,n=l,a=0],r)=>{const o=ce(h,r,Je),[u,i,c]=o;let d=t?a:c,v=n;G(e,((e,l)=>{const[n,a,o]=g(e,ce(u,l,Je),U(U(s,r,$),l,$),t);d^=t?0:(a?Me(l,a):0)^Me(l,o),v=me(v,n)})),d^=t?0:Re(i,n),Le(o,d,n),C^=t?0:(c?Me(r,c):0)^Me(r,o[2]),T=me(T,v)})),C^=t?0:Re(b,o),Le(d,C,o);const[V]=g(c,v,a,t);return u(me(T,V)),[s,a,1]},g=(e,t,n,s)=>{const[a,r=l,o=0]=e,[u,i,c]=t;let d=r,g=s?o:c;return G(a,(([e,t,a=0],r)=>{const o=ce(u,r,(()=>[void 0,l,0])),[,i,c]=o;(!i||t>i)&&(Le(o,s?a:pe(qe(null!=e?e:null)+":"+t),t),o[0]=e,n[r]=e,g^=s?0:Me(r,c)^Me(r,o[2]),d=me(d,t))})),g^=s?0:Re(i,r),Le(t,g,r),[d,c,t[2]]},v=()=>[Ee(n[0],(e=>Ee(e,(e=>Ee(e))))),Ee(n[1])],h=e=>c((()=>i.applyChanges(d(e)))),b={getId:()=>e,getMergeableContent:v,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ge(n[0][0],Ie),getMergeableTableDiff:e=>{const l=He(n[0][1]),t={};return ue(n[0][0],((n,[s,a,r])=>q(e,n)?r!=e[n]?t[n]=r:0:l[0][n]=De([s,a],(e=>De(e))))),[l,t]},getMergeableRowHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n,,s])=>s!=e?ue(n,((e,[,,n])=>U(l,t,$)[e]=n)):0)))),l},getMergeableRowDiff:e=>{const l=He(n[0][1]),t={};return G(e,((e,s)=>{var a;return ue(null==(a=oe(n[0][0],s))?void 0:a[0],((n,[a,r,o])=>q(e,n)?o!==e[n]?U(t,s,$)[n]=o:0:U(l[0],s,He)[0][n]=De([a,r])))})),[l,t]},getMergeableCellHashes:e=>{const l={};return G(e,((e,t)=>m(oe(n[0][0],t),(([n])=>G(e,((e,s)=>m(oe(n,s),(([n,,a])=>a!==e?ue(n,((e,[,,n])=>U(U(l,t,$),s,$)[e]=n)):0)))))))),l},getMergeableCellDiff:e=>{const[[l,t]]=n,s={};return G(e,((e,t)=>G(e,((e,n)=>m(oe(l,t),(([l,a])=>m(oe(l,n),(([l,r])=>ue(l,((l,[o,u,i])=>i!==e[l]?U(U(s,t,(()=>He(a)))[0],n,(()=>He(r)))[0][l]=[o,u]:0)))))))))),ye(s,t)},getMergeableValuesHashes:()=>ge(n[1][0],Ie),getMergeableValueDiff:e=>{const[,[l,t]]=n,s=ge(l,Se,(([,,l],t)=>l==(null==e?void 0:e[t])));return ye(s,t)},setMergeableContent:e=>c((()=>(e=>J(e)&&2==D(e)&&Fe(e[0],(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,(e=>X(e,(e=>Fe(e,Ne)),void 0,1)))),void 0,1)))),void 0,1)))&&Fe(e[1],(e=>X(e,(e=>Fe(e,Ne)),void 0,1))))(e)?i.transaction((()=>{i.delTables().delValues(),n=sl(),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(i.transaction((()=>{s=1,i.setContent(e),s=0})),b),getTransactionMergeableChanges:()=>{const[[e,l],[t,s]]=n,o={};ne(a,((l,t)=>m(oe(e,t),(([e,n])=>{const s={};ne(l,((l,t)=>m(oe(e,t),(([e,n])=>{const a={};ne(l,(l=>{m(oe(e,l),(([e,t])=>a[l]=ye(e,t)))})),s[t]=ye(a,n)})))),o[t]=ye(s,n)}))));const u={};return ne(r,(e=>m(oe(t,e),(([l,t])=>u[e]=ye(l,t))))),[ye(o,l),ye(u,s),1]},applyMergeableChanges:h,merge:e=>{const l=v(),t=e.getMergeableContent();return e.applyMergeableChanges(l),h(t)}};return i.setInternalListeners((()=>{}),(()=>{}),(()=>{te(a),te(r)}),((e,n,r,u)=>{Z(ce(ce(a,e,ae),n,Y),r),t&&d([[{[e]:[{[n]:[{[r]:[u,s?l:o()]}]}]}],[{}],1])}),((e,n)=>{Z(r,e),t&&d([[{}],[{[e]:[n,s?l:o()]}],1])})),K(i,((e,l)=>b[l]=S(l,"set")||S(l,"del")||S(l,"apply")||y(l,"Transaction")||"callListener"==l?(...l)=>(e(...l),b):S(l,"add")&&y(l,"Listener")?(...t)=>{var n;const s=null!=(n=nl[E(l,3,-8)])?n:0,a=t[s];return t[s]=(e,...l)=>a(b,...l),e(...t)}:e)),j(b)};export{al as createMergeableStore};