tinybase 5.0.0-beta.7 → 5.0.0-beta.9

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 (324) 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/synchronizers/synchronizer-local.cjs +1 -1
  36. package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
  37. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
  38. package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  39. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
  40. package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  41. package/lib/cjs/synchronizers.cjs +1 -1
  42. package/lib/cjs/synchronizers.cjs.gz +0 -0
  43. package/lib/cjs/tinybase.cjs +1 -1
  44. package/lib/cjs/tinybase.cjs.gz +0 -0
  45. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  46. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  47. package/lib/cjs/ui-react.cjs +1 -1
  48. package/lib/cjs/ui-react.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/synchronizers/synchronizer-local.cjs +1 -1
  84. package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
  85. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
  86. package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
  87. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
  88. package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
  89. package/lib/cjs-es6/synchronizers.cjs +1 -1
  90. package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
  91. package/lib/cjs-es6/tinybase.cjs +1 -1
  92. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  93. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  94. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  95. package/lib/cjs-es6/ui-react.cjs +1 -1
  96. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  97. package/lib/debug/mergeable-store.js +6 -0
  98. package/lib/debug/persisters/persister-automerge.js +15 -6
  99. package/lib/debug/persisters/persister-browser.js +15 -6
  100. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +15 -6
  101. package/lib/debug/persisters/persister-electric-sql.js +15 -6
  102. package/lib/debug/persisters/persister-expo-sqlite-next.js +15 -6
  103. package/lib/debug/persisters/persister-expo-sqlite.js +15 -6
  104. package/lib/debug/persisters/persister-file.js +15 -6
  105. package/lib/debug/persisters/persister-indexed-db.js +15 -6
  106. package/lib/debug/persisters/persister-libsql.js +15 -6
  107. package/lib/debug/persisters/persister-partykit-client.js +15 -6
  108. package/lib/debug/persisters/persister-powersync.js +15 -6
  109. package/lib/debug/persisters/persister-remote.js +15 -6
  110. package/lib/debug/persisters/persister-sqlite-wasm.js +15 -6
  111. package/lib/debug/persisters/persister-sqlite3.js +15 -6
  112. package/lib/debug/persisters/persister-yjs.js +15 -6
  113. package/lib/debug/persisters.js +15 -6
  114. package/lib/debug/synchronizers/synchronizer-local.js +27 -18
  115. package/lib/debug/synchronizers/synchronizer-ws-client.js +45 -33
  116. package/lib/debug/synchronizers/synchronizer-ws-server.js +65 -26
  117. package/lib/debug/synchronizers.js +27 -18
  118. package/lib/debug/tinybase.js +33 -18
  119. package/lib/debug/ui-react-dom.js +22 -10
  120. package/lib/debug/ui-react.js +54 -5
  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/synchronizers/synchronizer-local.js +1 -1
  156. package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
  157. package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
  158. package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
  159. package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
  160. package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
  161. package/lib/es6/synchronizers.js +1 -1
  162. package/lib/es6/synchronizers.js.gz +0 -0
  163. package/lib/es6/tinybase.js +1 -1
  164. package/lib/es6/tinybase.js.gz +0 -0
  165. package/lib/es6/ui-react-dom-debug.js +1 -1
  166. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  167. package/lib/es6/ui-react.js +1 -1
  168. package/lib/es6/ui-react.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/synchronizers/synchronizer-local.js +1 -1
  204. package/lib/synchronizers/synchronizer-local.js.gz +0 -0
  205. package/lib/synchronizers/synchronizer-ws-client.js +1 -1
  206. package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
  207. package/lib/synchronizers/synchronizer-ws-server.js +1 -1
  208. package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
  209. package/lib/synchronizers.js +1 -1
  210. package/lib/synchronizers.js.gz +0 -0
  211. package/lib/tinybase.js +1 -1
  212. package/lib/tinybase.js.gz +0 -0
  213. package/lib/types/mergeable-store.d.ts +7 -1
  214. package/lib/types/persisters.d.ts +10 -14
  215. package/lib/types/synchronizers/synchronizer-ws-client.d.ts +10 -5
  216. package/lib/types/synchronizers/synchronizer-ws-server.d.ts +12 -0
  217. package/lib/types/synchronizers.d.ts +3 -2
  218. package/lib/types/ui-react.d.ts +151 -1
  219. package/lib/types/with-schemas/mergeable-store.d.ts +7 -0
  220. package/lib/types/with-schemas/persisters.d.ts +11 -23
  221. package/lib/types/with-schemas/synchronizers/synchronizer-ws-client.d.ts +15 -6
  222. package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +12 -0
  223. package/lib/types/with-schemas/synchronizers.d.ts +4 -4
  224. package/lib/types/with-schemas/ui-react.d.ts +169 -1
  225. package/lib/ui-react.js +1 -1
  226. package/lib/ui-react.js.gz +0 -0
  227. package/lib/umd/mergeable-store.js +1 -1
  228. package/lib/umd/mergeable-store.js.gz +0 -0
  229. package/lib/umd/persisters/persister-automerge.js +1 -1
  230. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  231. package/lib/umd/persisters/persister-browser.js +1 -1
  232. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  233. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  234. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  235. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  236. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  237. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  238. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  239. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  240. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  241. package/lib/umd/persisters/persister-file.js +1 -1
  242. package/lib/umd/persisters/persister-file.js.gz +0 -0
  243. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  244. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  245. package/lib/umd/persisters/persister-libsql.js +1 -1
  246. package/lib/umd/persisters/persister-libsql.js.gz +0 -0
  247. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  248. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  249. package/lib/umd/persisters/persister-powersync.js +1 -1
  250. package/lib/umd/persisters/persister-powersync.js.gz +0 -0
  251. package/lib/umd/persisters/persister-remote.js +1 -1
  252. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  253. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  254. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  255. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  256. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  257. package/lib/umd/persisters/persister-yjs.js +1 -1
  258. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  259. package/lib/umd/persisters.js +1 -1
  260. package/lib/umd/persisters.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/ui-react.js +1 -1
  274. package/lib/umd/ui-react.js.gz +0 -0
  275. package/lib/umd-es6/mergeable-store.js +1 -1
  276. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  277. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  278. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  279. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  280. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  281. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  282. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  283. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  284. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  285. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  286. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  287. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  288. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  289. package/lib/umd-es6/persisters/persister-file.js +1 -1
  290. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  291. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  292. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  293. package/lib/umd-es6/persisters/persister-libsql.js +1 -1
  294. package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
  295. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  296. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  297. package/lib/umd-es6/persisters/persister-powersync.js +1 -1
  298. package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
  299. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  300. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  301. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  302. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  303. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  304. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  305. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  306. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  307. package/lib/umd-es6/persisters.js +1 -1
  308. package/lib/umd-es6/persisters.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/lib/umd-es6/ui-react.js +1 -1
  322. package/lib/umd-es6/ui-react.js.gz +0 -0
  323. package/package.json +1 -1
  324. package/readme.md +2 -2
@@ -46,8 +46,6 @@ import {
46
46
  OptionalSchemas,
47
47
  OptionalTablesSchema,
48
48
  Store,
49
- Tables,
50
- Values,
51
49
  } from './store.d.ts';
52
50
  import {
53
51
  MergeableChanges,
@@ -662,7 +660,7 @@ export type DpcTabularValues = {
662
660
  * const store = createStore();
663
661
  * const persister = createSessionPersister(store, 'pets');
664
662
  *
665
- * await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
663
+ * await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
666
664
  * await persister.startAutoSave();
667
665
  *
668
666
  * store.setTables({pets: {felix: {species: 'cat'}}});
@@ -694,10 +692,10 @@ export interface Persister<
694
692
  * This has schema-based typing. The following is a simplified representation:
695
693
  *
696
694
  * ```ts override
697
- * load(initialTables?: Tables, initialValues?: Values): Promise<this>;
695
+ * load(initialContent?: Content): Promise<this>;
698
696
  * ```
699
697
  *
700
- * The optional parameters allow you to specify what the initial content for
698
+ * The optional parameter allows you to specify what the initial content for
701
699
  * the Store will be if there is nothing currently persisted or if the load
702
700
  * fails (for example when the Persister is remote and the environment is
703
701
  * offline). This allows you to fallback or instantiate a Store whether it's
@@ -707,10 +705,8 @@ export interface Persister<
707
705
  * machine or a filesystem. Even for those storage types that are synchronous
708
706
  * (like browser storage) it is still recommended that you `await` calls to
709
707
  * this method or handle the return type natively as a Promise.
710
- * @param initialTables An optional Tables object used when the underlying
708
+ * @param initialContent An optional Content object used when the underlying
711
709
  * storage has not previously been populated.
712
- * @param initialValues An optional Values object used when the underlying
713
- * storage has not previously been populated, since v3.0.
714
710
  * @returns A Promise containing a reference to the Persister object.
715
711
  * @example
716
712
  * This example creates an empty Store, and loads data into it from the
@@ -739,7 +735,7 @@ export interface Persister<
739
735
  * const store = createStore();
740
736
  * const persister = createSessionPersister(store, 'pets');
741
737
  *
742
- * await persister.load({pets: {fido: {species: 'dog'}}});
738
+ * await persister.load([{pets: {fido: {species: 'dog'}}}, {}]);
743
739
  * console.log(store.getTables());
744
740
  * // -> {pets: {fido: {species: 'dog'}}}
745
741
  *
@@ -752,10 +748,7 @@ export interface Persister<
752
748
  * ```
753
749
  * @category Load
754
750
  */
755
- load(
756
- initialTables?: Tables<Schemas[0], true>,
757
- initialValues?: Values<Schemas[1], true>,
758
- ): Promise<this>;
751
+ load(initialContent?: Content<Schemas, true>): Promise<this>;
759
752
 
760
753
  /**
761
754
  * The startAutoLoad method gets persisted data from storage, and loads it
@@ -765,10 +758,10 @@ export interface Persister<
765
758
  * This has schema-based typing. The following is a simplified representation:
766
759
  *
767
760
  * ```ts override
768
- * startAutoLoad(initialTables?: Tables, initialValues?: Values): Promise<this>;
761
+ * startAutoLoad(initialContent?: Content): Promise<this>;
769
762
  * ```
770
763
  *
771
- * The optional parameters allow you to specify what the initial content for
764
+ * The optional parameter allows you to specify what the initial content for
772
765
  * the Store will be if there is nothing currently persisted or if the load
773
766
  * fails (for example when the Persister is remote and the environment is
774
767
  * offline). This allows you to fallback or instantiate a Store whether it's
@@ -783,10 +776,8 @@ export interface Persister<
783
776
  * the asynchronous load method. Even for those storage types that are
784
777
  * synchronous (like browser storage) it is still recommended that you `await`
785
778
  * calls to this method or handle the return type natively as a Promise.
786
- * @param initialTables An optional Tables object used when the underlying
779
+ * @param initialContent An optional Content object used when the underlying
787
780
  * storage has not previously been populated.
788
- * @param initialValues An optional Values object used when the underlying
789
- * storage has not previously been populated, since v3.0.
790
781
  * @returns A Promise containing a reference to the Persister object.
791
782
  * @example
792
783
  * This example creates an empty Store, and loads data into it from the
@@ -799,7 +790,7 @@ export interface Persister<
799
790
  * const store = createStore();
800
791
  * const persister = createSessionPersister(store, 'pets');
801
792
  *
802
- * await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
793
+ * await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
803
794
  * console.log(store.getTables());
804
795
  * // -> {pets: {fido: {species: 'dog'}}}
805
796
  *
@@ -816,10 +807,7 @@ export interface Persister<
816
807
  * ```
817
808
  * @category Load
818
809
  */
819
- startAutoLoad(
820
- initialTables?: Tables<Schemas[0], true>,
821
- initialValues?: Values<Schemas[1], true>,
822
- ): Promise<this>;
810
+ startAutoLoad(initialContent?: Content<Schemas, true>): Promise<this>;
823
811
 
824
812
  /**
825
813
  * The stopAutoLoad method stops the automatic loading of data from storage
@@ -11,22 +11,31 @@
11
11
  import {MergeableStore} from '../mergeable-store';
12
12
  import {OptionalSchemas} from '../store';
13
13
  import {Synchronizer} from '../synchronizers';
14
- import {WebSocket} from 'ws';
14
+ import {WebSocket as WsWebSocket} from 'ws';
15
+
16
+ export type WebSocketTypes = WebSocket | WsWebSocket;
15
17
 
16
18
  /**
17
19
  * The WsSynchronizer interface
18
20
  * @category Synchronizer
19
21
  */
20
- export interface WsSynchronizer<Schemas extends OptionalSchemas>
21
- extends Synchronizer<Schemas> {}
22
+ export interface WsSynchronizer<
23
+ Schemas extends OptionalSchemas,
24
+ WebSocketType extends WebSocketTypes,
25
+ > extends Synchronizer<Schemas> {
26
+ getWebSocket(): WebSocketType;
27
+ }
22
28
 
23
29
  /**
24
30
  * The createWsSynchronizer function
25
31
  * @category Creation
26
32
  */
27
- export function createWsSynchronizer<Schemas extends OptionalSchemas>(
33
+ export function createWsSynchronizer<
34
+ Schemas extends OptionalSchemas,
35
+ WebSocketType extends WebSocketTypes,
36
+ >(
28
37
  store: MergeableStore<Schemas>,
29
- webSocket: WebSocket,
38
+ webSocket: WebSocketType,
30
39
  requestTimeoutSeconds?: number,
31
40
  onIgnoredError?: (error: any) => void,
32
- ): Promise<WsSynchronizer<Schemas>>;
41
+ ): Promise<WsSynchronizer<Schemas, WebSocketType>>;
@@ -7,13 +7,25 @@
7
7
  * @since v5.0.0
8
8
  */
9
9
 
10
+ import {Ids} from '../common';
10
11
  import {WebSocketServer} from 'ws';
11
12
 
13
+ /**
14
+ * The WsServerStats type
15
+ */
16
+ export type WsServerStats = {
17
+ paths?: number;
18
+ clients?: number;
19
+ };
20
+
12
21
  /**
13
22
  * The WsServer interface
14
23
  */
15
24
  export interface WsServer {
16
25
  getWebSocketServer: () => WebSocketServer;
26
+ getPaths: () => string[];
27
+ getClientIds: (path: string) => Ids;
28
+ getStats: () => WsServerStats;
17
29
  destroy: () => void;
18
30
  }
19
31
 
@@ -7,9 +7,9 @@
7
7
  * @since v5.0.0
8
8
  */
9
9
 
10
+ import {Content, OptionalSchemas} from './store';
10
11
  import {Id, IdOrNull} from './common';
11
12
  import {MergeableStore} from './mergeable-store';
12
- import {OptionalSchemas} from './store';
13
13
  import {Persister} from './persisters';
14
14
 
15
15
  /**
@@ -66,7 +66,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
66
66
  * The startSync method
67
67
  * @category Synchronization
68
68
  */
69
- startSync(): Promise<this>;
69
+ startSync(initialContent?: Content<Schemas, true>): Promise<this>;
70
70
  /**
71
71
  * The stopSync method
72
72
  * @category Synchronization
@@ -91,7 +91,7 @@ export interface Synchronizer<Schemas extends OptionalSchemas>
91
91
  * send: Send,
92
92
  * onReceive: (receive: Receive) => void,
93
93
  * destroy: () => void,
94
- * requestTimeoutSeconds?: number,
94
+ * requestTimeoutSeconds: number,
95
95
  * onIgnoredError?: (error: any) => void,
96
96
  * ): Synchronizer;
97
97
  * ```
@@ -141,6 +141,6 @@ export function createCustomSynchronizer<Schemas extends OptionalSchemas>(
141
141
  send: Send,
142
142
  onReceive: (receive: Receive) => void,
143
143
  destroy: () => void,
144
- requestTimeoutSeconds?: number,
144
+ requestTimeoutSeconds: number,
145
145
  onIgnoredError?: (error: any) => void,
146
146
  ): Synchronizer<Schemas>;
@@ -127,8 +127,10 @@ import {
127
127
  ResultTableCellIdsListener,
128
128
  ResultTableListener,
129
129
  } from './queries.d.ts';
130
+ import {MergeableStore} from './mergeable-store';
130
131
  import {Persister} from './persisters.d.ts';
131
132
  import {ReactElement} from 'react';
133
+ import {Synchronizer} from './synchronizers.d.ts';
132
134
 
133
135
  export type WithSchemas<Schemas extends OptionalSchemas> = {
134
136
  /**
@@ -380,6 +382,14 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
380
382
  createDeps?: React.DependencyList,
381
383
  ) => Store<Schemas>;
382
384
 
385
+ /**
386
+ * The useCreateMergeableStore hook
387
+ */
388
+ useCreateMergeableStore: (
389
+ create: () => MergeableStore<Schemas>,
390
+ createDeps?: React.DependencyList,
391
+ ) => MergeableStore<Schemas>;
392
+
383
393
  /**
384
394
  * The useStoreIds hook is used to retrieve the Ids of all the named Store
385
395
  * objects present in the current Provider component context.
@@ -11628,8 +11638,8 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11628
11638
  * // -> '<span>{\"pets\":{\"fido\":{\"species\":\"dog\"}}}</span>'
11629
11639
  *
11630
11640
  * root.render(<App sessionKey="cujoStore" />); // !act
11631
- * // -> 'Persister destroyed for session key fidoStore'
11632
11641
  * // -> 'Persister created for session key cujoStore'
11642
+ * // -> 'Persister destroyed for session key fidoStore'
11633
11643
  *
11634
11644
  * // ... // !act
11635
11645
  * console.log(app.innerHTML);
@@ -11652,6 +11662,164 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
11652
11662
  destroyDeps?: React.DependencyList,
11653
11663
  ) => PersisterOrUndefined;
11654
11664
 
11665
+ /**
11666
+ * The useCreateSynchronizer hook is used to create a Synchronizer within a
11667
+ * React application along with convenient memoization and callbacks.
11668
+ *
11669
+ * This has schema-based typing. The following is a simplified representation:
11670
+ *
11671
+ * ```ts override
11672
+ * useCreateSynchronizer<
11673
+ * SynchronizerOrUndefined extends Synchronizer | undefined,
11674
+ * >(
11675
+ * store: MergeableStore,
11676
+ * create: (store: MergeableStore) => Promise<SynchronizerOrUndefined>,
11677
+ * createDeps?: React.DependencyList,
11678
+ * then?: (synchronizer: Synchronizer) => Promise<void>,
11679
+ * thenDeps?: React.DependencyList,
11680
+ * destroy?: (synchronizer: Synchronizer) => void,
11681
+ * destroyDeps?: React.DependencyList,
11682
+ * ): SynchronizerOrUndefined;
11683
+ * ```
11684
+ *
11685
+ * It is possible to create a Synchronizer outside of the React app with the
11686
+ * regular createSynchronizer function and pass it in, but you may prefer to
11687
+ * create it within the app, perhaps inside the top-level component. To prevent
11688
+ * a new Synchronizer being created every time the app renders or re-renders,
11689
+ * the useCreateMetrics hook performs the creation in an effect.
11690
+ *
11691
+ * If your asynchronous `create` function (the second parameter to the hook)
11692
+ * contains dependencies, the changing of which should cause the Synchronizer to
11693
+ * be recreated, you can provide them in an array in the third parameter, just
11694
+ * as you would for any React hook with dependencies. The MergeableStore passed
11695
+ * in as the first parameter of this hook is used as a dependency by default.
11696
+ *
11697
+ * A second callback, called `then`, can be provided as the fourth parameter.
11698
+ * This is called after the creation, and can also be asynchronous, so that you
11699
+ * can configure the Synchronizer with the startSync method, for example. If
11700
+ * this callback contains dependencies, the changing of which should cause the
11701
+ * Synchronizer to be reconfigured, you can provide them in an array in the
11702
+ * fifth parameter. The Synchronizer itself is used as a dependency by default.
11703
+ *
11704
+ * The `create` function can return undefined, meaning that you can enable or
11705
+ * disable synchronization conditionally within this hook. This is useful for
11706
+ * applications which might turn on or off their cloud synchronization or
11707
+ * collaboration features.
11708
+ *
11709
+ * This hook ensures the Synchronizer object is destroyed whenever a new one is
11710
+ * created or the component is unmounted.
11711
+ * @param store A reference to the MergeableStore for which to create a new
11712
+ * Synchronizer object.
11713
+ * @param create An asynchronous function for performing the creation steps of
11714
+ * the Synchronizer object for the Store.
11715
+ * @param createDeps An optional array of dependencies for the `create`
11716
+ * function, which, if any change, result in its rerun. This parameter defaults
11717
+ * to an empty array.
11718
+ * @param then An optional callback for performing asynchronous post-creation
11719
+ * steps on the Synchronizer, such as starting automatic synchronization.
11720
+ * @param thenDeps An optional array of dependencies for the `then` callback,
11721
+ * which, if any change, result in its rerun. This parameter defaults to an
11722
+ * empty array.
11723
+ * @param destroy An optional callback whenever the Synchronizer is destroyed
11724
+ * due to a change in the `createDeps` dependencies.
11725
+ * @param destroyDeps An optional array of dependencies for the `destroy`
11726
+ * callback, which, if any change, result in `destroy` and `then` being rerun.
11727
+ * This parameter defaults to an empty array.
11728
+ * @returns A reference to the Synchronizer.
11729
+ * @example
11730
+ * This example creates a Synchronizer at the top level of a React application.
11731
+ * Even though the App component is rendered twice, the Synchronizer creation
11732
+ * only occurs once by default.
11733
+ *
11734
+ * ```jsx
11735
+ * const App = () => {
11736
+ * const store = useCreateMergeableStore(() => createMergeableStore('s1'));
11737
+ * const synchronizer = useCreateSynchronizer(store, async (store) => {
11738
+ * console.log('Synchronizer created');
11739
+ * return await createLocalSynchronizer(store, 'pets');
11740
+ * });
11741
+ * return <span>{JSON.stringify(useTables(store))}</span>;
11742
+ * };
11743
+ *
11744
+ * const app = document.createElement('div');
11745
+ * const root = ReactDOMClient.createRoot(app);
11746
+ * root.render(<App />); // !act
11747
+ * // -> 'Synchronizer created'
11748
+ *
11749
+ * // ... // !act
11750
+ * root.render(<App />); // !act
11751
+ * // No second Synchronizer creation
11752
+ *
11753
+ * root.unmount(); // !act
11754
+ * ```
11755
+ * @example
11756
+ * This example creates a Synchronizer at the top level of a React application.
11757
+ * The App component is rendered twice, each with a different top-level prop.
11758
+ * The useCreateSynchronizer hook takes the `url` prop as a dependency, and so
11759
+ * the Synchronizer object is created again on the second render. The first is
11760
+ * destroyed and the `destroy` parameter is called for it. A `then` parameter
11761
+ * is provided to start both Synchronizers' synchronization.
11762
+ *
11763
+ * ```jsx
11764
+ * const server1 = createWsServer(new ws.WebSocketServer({port: 8044}));
11765
+ * const server2 = createWsServer(new ws.WebSocketServer({port: 8045}));
11766
+ *
11767
+ * const App = ({url}) => {
11768
+ * const store = useCreateMergeableStore(() => createMergeableStore('s1'));
11769
+ * const synchronizer = useCreateSynchronizer(
11770
+ * store,
11771
+ * async (store) => {
11772
+ * const webSocket = new WebSocket(url);
11773
+ * console.log(`Synchronizer created for ${webSocket.url}`);
11774
+ * return await createWsSynchronizer(store, webSocket);
11775
+ * },
11776
+ * [url],
11777
+ * async (synchronizer) => {
11778
+ * await synchronizer.startSync();
11779
+ * },
11780
+ * [],
11781
+ * (synchronizer) => {
11782
+ * const webSocket = synchronizer.getWebSocket();
11783
+ * console.log(`Synchronizer destroyed for ${webSocket.url}`);
11784
+ * },
11785
+ * );
11786
+ * return <span>{JSON.stringify(useTables(store))}</span>;
11787
+ * };
11788
+ *
11789
+ * const app = document.createElement('div');
11790
+ * const root = ReactDOMClient.createRoot(app);
11791
+ * root.render(<App url="ws://localhost:8044/" />); // !act
11792
+ * // ... // !act
11793
+ * // -> 'Synchronizer created for ws://localhost:8044/'
11794
+ *
11795
+ * root.render(<App url="ws://localhost:8045/" />); // !act
11796
+ * // ... // !act
11797
+ * // -> 'Synchronizer created for ws://localhost:8045/'
11798
+ * // -> 'Synchronizer destroyed for ws://localhost:8044/'
11799
+ *
11800
+ * root.unmount(); // !act
11801
+ * // -> 'Synchronizer destroyed for ws://localhost:8045/'
11802
+ *
11803
+ * server1.destroy();
11804
+ * server2.destroy();
11805
+ * ```
11806
+ * @category Synchronizer hooks
11807
+ * @since v5.0.0
11808
+ */
11809
+ useCreateSynchronizer: <
11810
+ SynchronizerOrUndefined extends Synchronizer<Schemas> | undefined,
11811
+ >(
11812
+ store: MergeableStore<Schemas>,
11813
+ create: (
11814
+ store: MergeableStore<Schemas>,
11815
+ ) => Promise<SynchronizerOrUndefined>,
11816
+ createDeps?: React.DependencyList,
11817
+ then?: (synchronizer: Synchronizer<Schemas>) => Promise<void>,
11818
+ thenDeps?: React.DependencyList,
11819
+ destroy?: (synchronizer: Synchronizer<Schemas>) => void,
11820
+ destroyDeps?: React.DependencyList,
11821
+ ) => SynchronizerOrUndefined;
11822
+
11655
11823
  /**
11656
11824
  * The ExtraProps type represents a set of arbitrary additional props.
11657
11825
  * @category Props
package/lib/ui-react.js CHANGED
@@ -1 +1 @@
1
- import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",l=I+"s",i=I+c,a="Row",p=a+"Count",g=a+c,b="Sorted"+a+c,C="Cell",m=C+c,y="Value",k=y+"s",w=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),F=B.keys,V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(F(t))&&x(o,(([e,o])=>M(o)?!!M(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>F(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:le,useState:ie,useSyncExternalStore:ae}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=ie(),[r,d]=ie();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},ke=(e,t,s,r=pe)=>{const d=le(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ae(c,n)},we=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=()=>G(1),ve=e=>ke(l,K(e),4,[]),xe=e=>ke(l,K(e),0),Se=e=>ke(i,K(e),1),Le=(e,t)=>ke(I,K(t),4,[e]),Be=(e,t)=>ke(I,K(t),0,[e]),Te=(e,t)=>ke(I+m,K(t),1,[e]),Ee=(e,t,o)=>ke(I+C,K(o),4,[e,t]),Me=(e,t)=>ke(p,K(t),5,[e]),Fe=(e,t)=>ke(g,K(t),1,[e]),Ve=(e,t,o,s=0,r,d)=>ke(b,K(d),1,[e,t,o,s,r]),Ae=(e,t,o)=>ke(a,K(o),4,[e,t]),Oe=(e,t,o)=>ke(a,K(o),0,[e,t]),je=(e,t,o)=>ke(m,K(o),1,[e,t]),De=(e,t,o,s)=>ke(C,K(s),4,[e,t,o]),He=(e,t,o,s)=>ke(C,K(s),3,[e,t,o]),Qe=e=>ke(k,K(e),4,[]),We=e=>ke(k,K(e),0),ze=e=>ke(w,K(e),1),Ge=(e,t)=>ke(y,K(t),4,[e]),Je=(e,t)=>ke(y,K(t),3,[e]),Ke=(e,t,o,s,r)=>he(o,l,e,t,s,r),Ne=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Ue=(e,t,o,s,r,d,n)=>he(r,a,o,s,d,n,e,t),Xe=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ye=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),Ze=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),$e=(e,t,o,s,r)=>he(o,k,e,t,s,r),_e=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),et=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),tt=(e,t,o)=>Re(e,l,t,o),ot=(e,t,o,s)=>Re(t,I,o,s,e),st=(e,t,o,s,r)=>Re(o,a,s,r,e,t),rt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),dt=(e,t,o)=>Re(e,k,t,o),nt=(e,t,o,s)=>Re(t,y,o,s,e),ut=(e,t,o,s)=>we(u+l,K(s),e,t,[],o),ct=(e,t,o,s)=>we(l,K(s),e,t,pe,o),It=(e,t,o,s)=>we(i,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>we(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>we(I,K(r),t,o,[e],s),at=(e,t,o,s,r)=>we(I+m,K(r),t,o,[e],s),pt=(e,t,o,s,r,d)=>we(u+I+C,K(d),o,s,[e,t],r),gt=(e,t,o,s,r)=>we(p,K(r),t,o,[e],s),bt=(e,t,o,s,r)=>we(g,K(r),t,o,[e],s),Ct=(e,t,o,s,r,d,n,u,c)=>we(b,K(c),d,n,[e,t,o,s,r],u),mt=(e,t,o,s,r,d)=>we(u+a,K(d),o,s,[e,t],r),yt=(e,t,o,s,r,d)=>we(a,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>we(m,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d,n)=>we(u+C,K(n),s,r,[e,t,o],d),ht=(e,t,o,s,r,d,n)=>we(C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s)=>we(u+k,K(s),e,t,[],o),ft=(e,t,o,s)=>we(k,K(s),e,t,pe,o),qt=(e,t,o,s)=>we(w,K(s),e,t,pe,o),Pt=(e,t,o,s,r)=>we(u+y,K(r),t,o,[e],s),vt=(e,t,o,s,r)=>we(y,K(r),t,o,[e],s),xt=(e,t,o)=>we("Start"+de,K(o),e,t),St=(e,t,o)=>we("WillFinish"+de,K(o),e,t),Lt=(e,t,o)=>we("DidFinish"+de,K(o),e,t),Bt=(e,t,o)=>me(e,t,o),Tt=()=>G(3),Et=e=>ke("MetricIds",X(e),1),Mt=(e,t)=>ke("Metric",X(t),3,[e]),Ft=(e,t,o,s)=>we("Metric",X(s),t,o,[e]),Vt=(e,t,o)=>me(e,t,o),At=()=>G(5),Ot=(e,t)=>ke("SliceIds",Z(t),1,[e]),jt=e=>ke("IndexIds",Z(e),1),Dt=(e,t,o)=>ke("Slice"+g,Z(o),1,[e,t]),Ht=(e,t,o,s)=>we("SliceIds",Z(s),t,o,[e]),Qt=(e,t,o,s,r)=>we("Slice"+g,Z(r),o,s,[e,t]),Wt=(e,t,o)=>me(e,t,o),zt=()=>G(7),Gt=e=>ke("RelationshipIds",_(e),1),Jt=(e,t,o)=>ke("RemoteRowId",_(o),3,[e,t]),Kt=(e,t,o)=>ke("Local"+g,_(o),1,[e,t]),Nt=(e,t,o)=>ke("Linked"+g,_(o),1,[e,t]),Ut=(e,t,o,s,r)=>we("RemoteRowId",_(r),o,s,[e,t]),Xt=(e,t,o,s,r)=>we("Local"+g,_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>we("Linked"+g,_(r),o,s,[e,t]),Zt=(e,t,o)=>me(e,t,o),$t=()=>G(9),_t=e=>ke("QueryIds",te(e),1),eo=(e,t)=>ke(n+I,te(t),0,[e]),to=(e,t)=>ke(n+I+m,te(t),1,[e]),oo=(e,t)=>ke(n+p,te(t),5,[e]),so=(e,t)=>ke(n+g,te(t),1,[e]),ro=(e,t,o,s=0,r,d)=>ke(n+b,te(d),1,[e,t,o,s,r]),no=(e,t,o)=>ke(n+a,te(o),0,[e,t]),uo=(e,t,o)=>ke(n+m,te(o),1,[e,t]),co=(e,t,o,s)=>ke(n+C,te(s),3,[e,t,o]),Io=(e,t,o,s)=>we(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>we(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>we(n+p,te(s),t,o,[e]),ao=(e,t,o,s)=>we(n+g,te(s),t,o,[e]),po=(e,t,o,s,r,d,u,c)=>we(n+b,te(c),d,u,[e,t,o,s,r]),go=(e,t,o,s,r)=>we(n+a,te(r),o,s,[e,t]),bo=(e,t,o,s,r)=>we(n+m,te(r),o,s,[e,t]),Co=(e,t,o,s,r,d)=>we(n+C,te(d),s,r,[e,t,o]),mo=(e,t,o)=>me(e,t,o),yo=()=>G(11),ko=e=>ke("CheckpointIds",se(e),2),wo=(e,t)=>ke("Checkpoint",se(t),3,[e]),ho=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},Ro=e=>fe(e,"goBackward"),fo=e=>fe(e,"goForward"),qo=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},Po=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),Ro(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},vo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),fo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},xo=(e,t,o)=>we("CheckpointIds",se(o),e,t),So=(e,t,o,s)=>we("Checkpoint",se(s),t,o,[e]),Lo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=ie(),[c,I]=ie();return ue((()=>{const o=t(e);if(I(o),o)return s&&(async()=>{await s(o),u([])})(),()=>{o.destroy(),d?.(o)}}),[e,...o,...r,...n]),c},{PureComponent:Bo,Fragment:To,createElement:Eo,useCallback:Mo,useLayoutEffect:Fo,useRef:Vo,useState:Ao}=e,Oo=(e,...t)=>h(e)?{}:e(...t),jo=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Do,useContext:Ho,useMemo:Qo,useState:Wo}=e,zo=({tableId:e,store:t,rowComponent:o=Yo,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Uo(L(u,(d=>Eo(o,{...Oo(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Go=({queryId:e,queries:t,resultRowComponent:o=Is,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Uo(L(n,(r=>Eo(o,{...Oo(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),Jo=({relationshipId:e,relationships:t,rowComponent:o=Yo,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,l]=jo(_(t),e),i=n(e,u,c);return Uo(L(i,(e=>Eo(o,{...Oo(s,e),key:e,tableId:l,rowId:e,store:I,debugIds:d}))),r,d,u)},Ko=e=>({checkpoints:t,checkpointComponent:o=as,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Uo(L(e(ko(n)),(e=>Eo(o,{...Oo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},No=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:l,checkpointsById:i,children:a})=>{const p=Ho(Q),[g,b]=Wo({}),C=Do(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Do((e=>b((t=>({...A(t,e)})))),[]);return Eo(Q.Provider,{value:Qo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},l??p[10],{...p[11],...i},C,m]),[e,t,g,o,s,r,d,n,u,c,I,l,i,p,C,m])},a)},Uo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Xo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Uo(o+(He(e,t,s,r)??o),void 0,d,s),Yo=({tableId:e,rowId:t,store:o,cellComponent:s=Xo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Uo(L(((e,t,o,s)=>{const r=je(t,o,s);return e??r})(d,e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),Zo=e=>zo(e,Fe(e.tableId,e.store)),$o=({cellId:e,descending:t,offset:o,limit:s,...r})=>zo(r,Ve(r.tableId,e,t,o,s,r.store)),_o=({store:e,tableComponent:t=Zo,getTableComponentProps:o,separator:s,debugIds:r})=>Uo(L(Se(e),(s=>Eo(t,{...Oo(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),es=({valueId:e,store:t,debugIds:s})=>Uo(o+(Je(e,t)??o),void 0,s,e),ts=({store:e,valueComponent:t=es,getValueComponentProps:o,separator:s,debugIds:r})=>Uo(L(ze(e),(s=>Eo(t,{...Oo(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),os=({metricId:e,metrics:t,debugIds:s})=>Uo(Mt(e,t)??o,void 0,s,e),ss=({indexId:e,sliceId:t,indexes:o,rowComponent:s=Yo,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),l=Dt(e,t,u);return Uo(L(l,(e=>Eo(s,{...Oo(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},rs=({indexId:e,indexes:t,sliceComponent:o=ss,getSliceComponentProps:s,separator:r,debugIds:d})=>Uo(L(Ot(e,t),(r=>Eo(o,{...Oo(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),ds=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=Yo,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=jo(_(o),e),I=Jt(e,t,n);return Uo(h(c)||h(I)?null:Eo(s,{...Oo(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},ns=e=>Jo(e,Kt,e.remoteRowId),us=e=>Jo(e,Nt,e.firstRowId),cs=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Uo(o+(co(e,t,s,r)??o),void 0,d,s),Is=({queryId:e,rowId:t,queries:o,resultCellComponent:s=cs,getResultCellComponentProps:r,separator:d,debugIds:n})=>Uo(L(uo(e,t,o),(d=>Eo(s,{...Oo(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),ls=e=>Go(e,so(e.queryId,e.queries)),is=({cellId:e,descending:t,offset:o,limit:s,...r})=>Go(r,ro(r.queryId,e,t,o,s,r.queries)),as=({checkpoints:e,checkpointId:t,debugIds:s})=>Uo(wo(t,e)??o,void 0,s,t),ps=Ko((e=>e[0])),gs=Ko((e=>h(e[1])?[]:[e[1]])),bs=Ko((e=>e[2]));export{ps as BackwardCheckpointsView,Xo as CellView,as as CheckpointView,gs as CurrentCheckpointView,bs as ForwardCheckpointsView,rs as IndexView,us as LinkedRowsView,ns as LocalRowsView,os as MetricView,No as Provider,ds as RemoteRowView,cs as ResultCellView,Is as ResultRowView,is as ResultSortedTableView,ls as ResultTableView,Yo as RowView,ss as SliceView,$o as SortedTableView,Zo as TableView,_o as TablesView,es as ValueView,ts as ValuesView,Xe as useAddRowCallback,He as useCell,je as useCellIds,kt as useCellIdsListener,ht as useCellListener,wo as useCheckpoint,ko as useCheckpointIds,xo as useCheckpointIdsListener,So as useCheckpointListener,oe as useCheckpoints,yo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,mo as useCreateCheckpoints,Vt as useCreateIndexes,Bt as useCreateMetrics,Lo as useCreatePersister,Zt as useCreateQueries,Wt as useCreateRelationships,qe as useCreateStore,rt as useDelCellCallback,st as useDelRowCallback,ot as useDelTableCallback,tt as useDelTablesCallback,nt as useDelValueCallback,dt as useDelValuesCallback,Lt as useDidFinishTransactionListener,Ro as useGoBackwardCallback,fo as useGoForwardCallback,qo as useGoToCallback,De as useHasCell,wt as useHasCellListener,Ae as useHasRow,mt as useHasRowListener,Le as useHasTable,Ee as useHasTableCell,pt as useHasTableCellListener,lt as useHasTableListener,ve as useHasTables,ut as useHasTablesListener,Ge as useHasValue,Pt as useHasValueListener,Qe as useHasValues,Rt as useHasValuesListener,jt as useIndexIds,Y as useIndexes,At as useIndexesIds,Z as useIndexesOrIndexesById,Nt as useLinkedRowIds,Yt as useLinkedRowIdsListener,Kt as useLocalRowIds,Xt as useLocalRowIdsListener,Mt as useMetric,Et as useMetricIds,Ft as useMetricListener,U as useMetrics,Tt as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,$t as useQueriesIds,te as useQueriesOrQueriesById,_t as useQueryIds,vo as useRedoInformation,Gt as useRelationshipIds,$ as useRelationships,zt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Jt as useRemoteRowId,Ut as useRemoteRowIdListener,co as useResultCell,uo as useResultCellIds,bo as useResultCellIdsListener,Co as useResultCellListener,no as useResultRow,oo as useResultRowCount,io as useResultRowCountListener,so as useResultRowIds,ao as useResultRowIdsListener,go as useResultRowListener,ro as useResultSortedRowIds,po as useResultSortedRowIdsListener,eo as useResultTable,to as useResultTableCellIds,lo as useResultTableCellIdsListener,Io as useResultTableListener,Oe as useRow,Me as useRowCount,gt as useRowCountListener,Fe as useRowIds,bt as useRowIdsListener,yt as useRowListener,Ze as useSetCellCallback,ho as useSetCheckpointCallback,Ye as useSetPartialRowCallback,_e as useSetPartialValuesCallback,Ue as useSetRowCallback,Ne as useSetTableCallback,Ke as useSetTablesCallback,et as useSetValueCallback,$e as useSetValuesCallback,Ot as useSliceIds,Ht as useSliceIdsListener,Dt as useSliceRowIds,Qt as useSliceRowIdsListener,Ve as useSortedRowIds,Ct as useSortedRowIdsListener,xt as useStartTransactionListener,J as useStore,Pe as useStoreIds,K as useStoreOrStoreById,Be as useTable,Te as useTableCellIds,at as useTableCellIdsListener,Se as useTableIds,It as useTableIdsListener,it as useTableListener,xe as useTables,ct as useTablesListener,Po as useUndoInformation,Je as useValue,ze as useValueIds,qt as useValueIdsListener,vt as useValueListener,We as useValues,ft as useValuesListener,St as useWillFinishTransactionListener};
1
+ import e from"react";const t=e=>typeof e,o="",s=t(o),r=t(t),d="Listener",n="Result",u="Has",c="Ids",I="Table",a=I+"s",l=I+c,i="Row",p=i+"Count",g=i+c,b="Sorted"+i+c,C="Cell",m=C+c,y="Value",w=y+"s",k=y+c,h=e=>null==e,R=(e,t,o)=>h(e)?o?.():t(e),f=e=>t(e)==s,q=e=>t(e)==r,P=e=>e.length,v=()=>{},x=(e,t)=>e.every(t),S=(e,t)=>P(e)===P(t)&&x(e,((e,o)=>t[o]===e)),L=(e,t)=>e.map(t),B=Object,T=e=>B.getPrototypeOf(e),E=B.entries,M=e=>!h(e)&&R(T(e),(e=>e==B.prototype||h(T(e))),(()=>!0)),F=B.keys,V=(e,t)=>R(e,(e=>e[t])),A=(e,t)=>(delete e[t],e),O=(e,t)=>{const o=E(e);return P(o)===P(F(t))&&x(o,(([e,o])=>M(o)?!!M(t[e])&&O(t[e],o):t[e]===o))},{createContext:j,useContext:D,useEffect:H}=e,Q=j([]),W=(e,t)=>{const o=D(Q);return h(e)?o[t]:f(e)?V(o[t+1]??{},e):e},z=(e,t)=>{const o=W(e,t);return h(e)||f(e)?o:e},G=e=>F(D(Q)[e]??{}),J=e=>W(e,0),K=e=>z(e,0),N=(e,t)=>{const{12:o,13:s}=D(Q);H((()=>(o?.(e,t),()=>s?.(e))),[o,e,t,s])},U=e=>W(e,2),X=e=>z(e,2),Y=e=>W(e,4),Z=e=>z(e,4),$=e=>W(e,6),_=e=>z(e,6),ee=e=>W(e,8),te=e=>z(e,8),oe=e=>W(e,10),se=e=>z(e,10),re=e=>e.toLowerCase();re(d);const de="Transaction";re(de);const{useCallback:ne,useEffect:ue,useMemo:ce,useLayoutEffect:Ie,useRef:ae,useState:le,useSyncExternalStore:ie}=e,pe=[],ge=[{},[],[pe,void 0,pe],void 0,!1,0],be=(e,t)=>e===t,Ce=[O,S,([e,t,o],[s,r,d])=>t===r&&S(e,s)&&S(o,d)],me=(e,t,o=pe)=>{const[,s]=le(),[r,d]=le();return ue((()=>{const o=t(e);return d(o),s([]),o.destroy}),[e,...o]),r},ye=(e,t,...o)=>{const s=e?.["add"+t+d]?.(...o);return()=>e?.delListener(s)},we=(e,t,s,r=pe)=>{const d=ae(ge[s]),n=ne((()=>{const o=t?.[(4==s?"has":"get")+e]?.(...r)??ge[s];return(Ce[s]??be)(o,d.current)?d.current:d.current=o}),[t,s,e,...r]),c=ne((d=>ye(t,(4==s?u:o)+e,...r,d)),[t,s,e,...r]);return ie(c,n)},ke=(e,t,o,s=pe,r=pe,...d)=>Ie((()=>ye(t,e,...r,o,...d)),[t,e,...r,...s,...d]),he=(e,t,o,s=pe,r=v,d=pe,...n)=>{const u=K(e);return ne((e=>R(u,(s=>R(o(e,s),(o=>r(s["set"+t](...L(n,(t=>q(t)?t(e,s):t)),o),o)))))),[u,t,...s,...d,...n])},Re=(e,t,o=v,s=pe,...r)=>{const d=K(e);return ne((()=>o(d?.["del"+t](...r))),[d,t,...s,...r])},fe=(e,t,o)=>{const s=se(e);return ne((()=>s?.[t](o)),[s,t,o])},qe=(e,t=pe)=>ce(e,t),Pe=(e,t=pe)=>ce(e,t),ve=()=>G(1),xe=e=>we(a,K(e),4,[]),Se=e=>we(a,K(e),0),Le=e=>we(l,K(e),1),Be=(e,t)=>we(I,K(t),4,[e]),Te=(e,t)=>we(I,K(t),0,[e]),Ee=(e,t)=>we(I+m,K(t),1,[e]),Me=(e,t,o)=>we(I+C,K(o),4,[e,t]),Fe=(e,t)=>we(p,K(t),5,[e]),Ve=(e,t)=>we(g,K(t),1,[e]),Ae=(e,t,o,s=0,r,d)=>we(b,K(d),1,[e,t,o,s,r]),Oe=(e,t,o)=>we(i,K(o),4,[e,t]),je=(e,t,o)=>we(i,K(o),0,[e,t]),De=(e,t,o)=>we(m,K(o),1,[e,t]),He=(e,t,o,s)=>we(C,K(s),4,[e,t,o]),Qe=(e,t,o,s)=>we(C,K(s),3,[e,t,o]),We=e=>we(w,K(e),4,[]),ze=e=>we(w,K(e),0),Ge=e=>we(k,K(e),1),Je=(e,t)=>we(y,K(t),4,[e]),Ke=(e,t)=>we(y,K(t),3,[e]),Ne=(e,t,o,s,r)=>he(o,a,e,t,s,r),Ue=(e,t,o,s,r,d)=>he(s,I,t,o,r,d,e),Xe=(e,t,o,s,r,d,n)=>he(r,i,o,s,d,n,e,t),Ye=(e,t,o=pe,s,r=v,d=pe,n=!0)=>{const u=K(s);return ne((o=>R(u,(s=>R(t(o,s),(t=>r(s.addRow(q(e)?e(o,s):e,t,n),s,t)))))),[u,e,...o,...d,n])},Ze=(e,t,o,s,r,d,n)=>he(r,"PartialRow",o,s,d,n,e,t),$e=(e,t,o,s,r,d,n,u)=>he(d,C,s,r,n,u,e,t,o),_e=(e,t,o,s,r)=>he(o,w,e,t,s,r),et=(e,t,o,s,r)=>he(o,"PartialValues",e,t,s,r),tt=(e,t,o,s,r,d)=>he(s,y,t,o,r,d,e),ot=(e,t,o)=>Re(e,a,t,o),st=(e,t,o,s)=>Re(t,I,o,s,e),rt=(e,t,o,s,r)=>Re(o,i,s,r,e,t),dt=(e,t,o,s,r,d,n)=>Re(r,C,d,n,e,t,o,s),nt=(e,t,o)=>Re(e,w,t,o),ut=(e,t,o,s)=>Re(t,y,o,s,e),ct=(e,t,o,s)=>ke(u+a,K(s),e,t,[],o),It=(e,t,o,s)=>ke(a,K(s),e,t,pe,o),at=(e,t,o,s)=>ke(l,K(s),e,t,pe,o),lt=(e,t,o,s,r)=>ke(u+I,K(r),t,o,[e],s),it=(e,t,o,s,r)=>ke(I,K(r),t,o,[e],s),pt=(e,t,o,s,r)=>ke(I+m,K(r),t,o,[e],s),gt=(e,t,o,s,r,d)=>ke(u+I+C,K(d),o,s,[e,t],r),bt=(e,t,o,s,r)=>ke(p,K(r),t,o,[e],s),Ct=(e,t,o,s,r)=>ke(g,K(r),t,o,[e],s),mt=(e,t,o,s,r,d,n,u,c)=>ke(b,K(c),d,n,[e,t,o,s,r],u),yt=(e,t,o,s,r,d)=>ke(u+i,K(d),o,s,[e,t],r),wt=(e,t,o,s,r,d)=>ke(i,K(d),o,s,[e,t],r),kt=(e,t,o,s,r,d)=>ke(m,K(d),o,s,[e,t],r),ht=(e,t,o,s,r,d,n)=>ke(u+C,K(n),s,r,[e,t,o],d),Rt=(e,t,o,s,r,d,n)=>ke(C,K(n),s,r,[e,t,o],d),ft=(e,t,o,s)=>ke(u+w,K(s),e,t,[],o),qt=(e,t,o,s)=>ke(w,K(s),e,t,pe,o),Pt=(e,t,o,s)=>ke(k,K(s),e,t,pe,o),vt=(e,t,o,s,r)=>ke(u+y,K(r),t,o,[e],s),xt=(e,t,o,s,r)=>ke(y,K(r),t,o,[e],s),St=(e,t,o)=>ke("Start"+de,K(o),e,t),Lt=(e,t,o)=>ke("WillFinish"+de,K(o),e,t),Bt=(e,t,o)=>ke("DidFinish"+de,K(o),e,t),Tt=(e,t,o)=>me(e,t,o),Et=()=>G(3),Mt=e=>we("MetricIds",X(e),1),Ft=(e,t)=>we("Metric",X(t),3,[e]),Vt=(e,t,o,s)=>ke("Metric",X(s),t,o,[e]),At=(e,t,o)=>me(e,t,o),Ot=()=>G(5),jt=(e,t)=>we("SliceIds",Z(t),1,[e]),Dt=e=>we("IndexIds",Z(e),1),Ht=(e,t,o)=>we("Slice"+g,Z(o),1,[e,t]),Qt=(e,t,o,s)=>ke("SliceIds",Z(s),t,o,[e]),Wt=(e,t,o,s,r)=>ke("Slice"+g,Z(r),o,s,[e,t]),zt=(e,t,o)=>me(e,t,o),Gt=()=>G(7),Jt=e=>we("RelationshipIds",_(e),1),Kt=(e,t,o)=>we("RemoteRowId",_(o),3,[e,t]),Nt=(e,t,o)=>we("Local"+g,_(o),1,[e,t]),Ut=(e,t,o)=>we("Linked"+g,_(o),1,[e,t]),Xt=(e,t,o,s,r)=>ke("RemoteRowId",_(r),o,s,[e,t]),Yt=(e,t,o,s,r)=>ke("Local"+g,_(r),o,s,[e,t]),Zt=(e,t,o,s,r)=>ke("Linked"+g,_(r),o,s,[e,t]),$t=(e,t,o)=>me(e,t,o),_t=()=>G(9),eo=e=>we("QueryIds",te(e),1),to=(e,t)=>we(n+I,te(t),0,[e]),oo=(e,t)=>we(n+I+m,te(t),1,[e]),so=(e,t)=>we(n+p,te(t),5,[e]),ro=(e,t)=>we(n+g,te(t),1,[e]),no=(e,t,o,s=0,r,d)=>we(n+b,te(d),1,[e,t,o,s,r]),uo=(e,t,o)=>we(n+i,te(o),0,[e,t]),co=(e,t,o)=>we(n+m,te(o),1,[e,t]),Io=(e,t,o,s)=>we(n+C,te(s),3,[e,t,o]),ao=(e,t,o,s)=>ke(n+I,te(s),t,o,[e]),lo=(e,t,o,s)=>ke(n+I+m,te(s),t,o,[e]),io=(e,t,o,s)=>ke(n+p,te(s),t,o,[e]),po=(e,t,o,s)=>ke(n+g,te(s),t,o,[e]),go=(e,t,o,s,r,d,u,c)=>ke(n+b,te(c),d,u,[e,t,o,s,r]),bo=(e,t,o,s,r)=>ke(n+i,te(r),o,s,[e,t]),Co=(e,t,o,s,r)=>ke(n+m,te(r),o,s,[e,t]),mo=(e,t,o,s,r,d)=>ke(n+C,te(d),s,r,[e,t,o]),yo=(e,t,o)=>me(e,t,o),wo=()=>G(11),ko=e=>we("CheckpointIds",se(e),2),ho=(e,t)=>we("Checkpoint",se(t),3,[e]),Ro=(e=v,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>{const r=e(t);s(o.addCheckpoint(r),o,r)}))),[d,...t,...r])},fo=e=>fe(e,"goBackward"),qo=e=>fe(e,"goForward"),Po=(e,t=pe,o,s=v,r=pe)=>{const d=se(o);return ne((t=>R(d,(o=>R(e(t),(e=>s(o.goTo(e),e)))))),[d,...t,...r])},vo=e=>{const t=se(e),[s,r]=ko(t);return[(d=s,!(0==P(d))),fo(t),r,R(r,(e=>t?.getCheckpoint(e)))??o];var d},xo=e=>{const t=se(e),[,,[s]]=ko(t);return[!h(s),qo(t),s,R(s,(e=>t?.getCheckpoint(e)))??o]},So=(e,t,o)=>ke("CheckpointIds",se(o),e,t),Lo=(e,t,o,s)=>ke("Checkpoint",se(s),t,o,[e]),Bo=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=le(),[c,I]=le();return ue((()=>{const o=t(e);I(o),o&&s&&(async()=>{await s(o),u([])})()}),[e,...o,...r]),ue((()=>()=>{c&&(c.destroy(),d?.(c))}),[c,...n]),c},To=(e,t,o=pe,s,r=pe,d,n=pe)=>{const[,u]=le(),[c,I]=le();return ue((()=>{(async()=>{const o=await t(e);I(o),o&&s&&(async()=>{await s(o),u([])})()})()}),[e,...o,...r]),ue((()=>()=>{c&&(c.destroy(),d?.(c))}),[c,...n]),c},{PureComponent:Eo,Fragment:Mo,createElement:Fo,useCallback:Vo,useLayoutEffect:Ao,useRef:Oo,useState:jo}=e,Do=(e,...t)=>h(e)?{}:e(...t),Ho=(e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)],{useCallback:Qo,useContext:Wo,useMemo:zo,useState:Go}=e,Jo=({tableId:e,store:t,rowComponent:o=$o,getRowComponentProps:s,customCellIds:r,separator:d,debugIds:n},u)=>Yo(L(u,(d=>Fo(o,{...Do(s,d),key:d,tableId:e,rowId:d,customCellIds:r,store:t,debugIds:n}))),d,n,e),Ko=({queryId:e,queries:t,resultRowComponent:o=ls,getResultRowComponentProps:s,separator:r,debugIds:d},n)=>Yo(L(n,(r=>Fo(o,{...Do(s,r),key:r,queryId:e,rowId:r,queries:t,debugIds:d}))),r,d,e),No=({relationshipId:e,relationships:t,rowComponent:o=$o,getRowComponentProps:s,separator:r,debugIds:d},n,u)=>{const[c,I,a]=Ho(_(t),e),l=n(e,u,c);return Yo(L(l,(e=>Fo(o,{...Do(s,e),key:e,tableId:a,rowId:e,store:I,debugIds:d}))),r,d,u)},Uo=e=>({checkpoints:t,checkpointComponent:o=gs,getCheckpointComponentProps:s,separator:r,debugIds:d})=>{const n=se(t);return Yo(L(e(ko(n)),(e=>Fo(o,{...Do(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:d}))),r)},Xo=({store:e,storesById:t,metrics:o,metricsById:s,indexes:r,indexesById:d,relationships:n,relationshipsById:u,queries:c,queriesById:I,checkpoints:a,checkpointsById:l,children:i})=>{const p=Wo(Q),[g,b]=Go({}),C=Qo(((e,t)=>b((o=>V(o,e)==t?o:{...o,[e]:t}))),[]),m=Qo((e=>b((t=>({...A(t,e)})))),[]);return Fo(Q.Provider,{value:zo((()=>[e??p[0],{...p[1],...t,...g},o??p[2],{...p[3],...s},r??p[4],{...p[5],...d},n??p[6],{...p[7],...u},c??p[8],{...p[9],...I},a??p[10],{...p[11],...l},C,m]),[e,t,g,o,s,r,d,n,u,c,I,a,l,p,C,m])},i)},Yo=(e,t,o,s)=>{const r=h(t)||!Array.isArray(e)?e:L(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",r,"}"]:r},Zo=({tableId:e,rowId:t,cellId:s,store:r,debugIds:d})=>Yo(o+(Qe(e,t,s,r)??o),void 0,d,s),$o=({tableId:e,rowId:t,store:o,cellComponent:s=Zo,getCellComponentProps:r,customCellIds:d,separator:n,debugIds:u})=>Yo(L(((e,t,o,s)=>{const r=De(t,o,s);return e??r})(d,e,t,o),(d=>Fo(s,{...Do(r,d),key:d,tableId:e,rowId:t,cellId:d,store:o,debugIds:u}))),n,u,t),_o=e=>Jo(e,Ve(e.tableId,e.store)),es=({cellId:e,descending:t,offset:o,limit:s,...r})=>Jo(r,Ae(r.tableId,e,t,o,s,r.store)),ts=({store:e,tableComponent:t=_o,getTableComponentProps:o,separator:s,debugIds:r})=>Yo(L(Le(e),(s=>Fo(t,{...Do(o,s),key:s,tableId:s,store:e,debugIds:r}))),s),os=({valueId:e,store:t,debugIds:s})=>Yo(o+(Ke(e,t)??o),void 0,s,e),ss=({store:e,valueComponent:t=os,getValueComponentProps:o,separator:s,debugIds:r})=>Yo(L(Ge(e),(s=>Fo(t,{...Do(o,s),key:s,valueId:s,store:e,debugIds:r}))),s),rs=({metricId:e,metrics:t,debugIds:s})=>Yo(Ft(e,t)??o,void 0,s,e),ds=({indexId:e,sliceId:t,indexes:o,rowComponent:s=$o,getRowComponentProps:r,separator:d,debugIds:n})=>{const[u,c,I]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Z(o),e),a=Ht(e,t,u);return Yo(L(a,(e=>Fo(s,{...Do(r,e),key:e,tableId:I,rowId:e,store:c,debugIds:n}))),d,n,t)},ns=({indexId:e,indexes:t,sliceComponent:o=ds,getSliceComponentProps:s,separator:r,debugIds:d})=>Yo(L(jt(e,t),(r=>Fo(o,{...Do(s,r),key:r,indexId:e,sliceId:r,indexes:t,debugIds:d}))),r,d,e),us=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=$o,getRowComponentProps:r,debugIds:d})=>{const[n,u,,c]=Ho(_(o),e),I=Kt(e,t,n);return Yo(h(c)||h(I)?null:Fo(s,{...Do(r,I),key:I,tableId:c,rowId:I,store:u,debugIds:d}),void 0,d,t)},cs=e=>No(e,Nt,e.remoteRowId),Is=e=>No(e,Ut,e.firstRowId),as=({queryId:e,rowId:t,cellId:s,queries:r,debugIds:d})=>Yo(o+(Io(e,t,s,r)??o),void 0,d,s),ls=({queryId:e,rowId:t,queries:o,resultCellComponent:s=as,getResultCellComponentProps:r,separator:d,debugIds:n})=>Yo(L(co(e,t,o),(d=>Fo(s,{...Do(r,d),key:d,queryId:e,rowId:t,cellId:d,queries:o,debugIds:n}))),d,n,t),is=e=>Ko(e,ro(e.queryId,e.queries)),ps=({cellId:e,descending:t,offset:o,limit:s,...r})=>Ko(r,no(r.queryId,e,t,o,s,r.queries)),gs=({checkpoints:e,checkpointId:t,debugIds:s})=>Yo(ho(t,e)??o,void 0,s,t),bs=Uo((e=>e[0])),Cs=Uo((e=>h(e[1])?[]:[e[1]])),ms=Uo((e=>e[2]));export{bs as BackwardCheckpointsView,Zo as CellView,gs as CheckpointView,Cs as CurrentCheckpointView,ms as ForwardCheckpointsView,ns as IndexView,Is as LinkedRowsView,cs as LocalRowsView,rs as MetricView,Xo as Provider,us as RemoteRowView,as as ResultCellView,ls as ResultRowView,ps as ResultSortedTableView,is as ResultTableView,$o as RowView,ds as SliceView,es as SortedTableView,_o as TableView,ts as TablesView,os as ValueView,ss as ValuesView,Ye as useAddRowCallback,Qe as useCell,De as useCellIds,kt as useCellIdsListener,Rt as useCellListener,ho as useCheckpoint,ko as useCheckpointIds,So as useCheckpointIdsListener,Lo as useCheckpointListener,oe as useCheckpoints,wo as useCheckpointsIds,se as useCheckpointsOrCheckpointsById,yo as useCreateCheckpoints,At as useCreateIndexes,Pe as useCreateMergeableStore,Tt as useCreateMetrics,Bo as useCreatePersister,$t as useCreateQueries,zt as useCreateRelationships,qe as useCreateStore,To as useCreateSynchronizer,dt as useDelCellCallback,rt as useDelRowCallback,st as useDelTableCallback,ot as useDelTablesCallback,ut as useDelValueCallback,nt as useDelValuesCallback,Bt as useDidFinishTransactionListener,fo as useGoBackwardCallback,qo as useGoForwardCallback,Po as useGoToCallback,He as useHasCell,ht as useHasCellListener,Oe as useHasRow,yt as useHasRowListener,Be as useHasTable,Me as useHasTableCell,gt as useHasTableCellListener,lt as useHasTableListener,xe as useHasTables,ct as useHasTablesListener,Je as useHasValue,vt as useHasValueListener,We as useHasValues,ft as useHasValuesListener,Dt as useIndexIds,Y as useIndexes,Ot as useIndexesIds,Z as useIndexesOrIndexesById,Ut as useLinkedRowIds,Zt as useLinkedRowIdsListener,Nt as useLocalRowIds,Yt as useLocalRowIdsListener,Ft as useMetric,Mt as useMetricIds,Vt as useMetricListener,U as useMetrics,Et as useMetricsIds,X as useMetricsOrMetricsById,N as useProvideStore,ee as useQueries,_t as useQueriesIds,te as useQueriesOrQueriesById,eo as useQueryIds,xo as useRedoInformation,Jt as useRelationshipIds,$ as useRelationships,Gt as useRelationshipsIds,_ as useRelationshipsOrRelationshipsById,Kt as useRemoteRowId,Xt as useRemoteRowIdListener,Io as useResultCell,co as useResultCellIds,Co as useResultCellIdsListener,mo as useResultCellListener,uo as useResultRow,so as useResultRowCount,io as useResultRowCountListener,ro as useResultRowIds,po as useResultRowIdsListener,bo as useResultRowListener,no as useResultSortedRowIds,go as useResultSortedRowIdsListener,to as useResultTable,oo as useResultTableCellIds,lo as useResultTableCellIdsListener,ao as useResultTableListener,je as useRow,Fe as useRowCount,bt as useRowCountListener,Ve as useRowIds,Ct as useRowIdsListener,wt as useRowListener,$e as useSetCellCallback,Ro as useSetCheckpointCallback,Ze as useSetPartialRowCallback,et as useSetPartialValuesCallback,Xe as useSetRowCallback,Ue as useSetTableCallback,Ne as useSetTablesCallback,tt as useSetValueCallback,_e as useSetValuesCallback,jt as useSliceIds,Qt as useSliceIdsListener,Ht as useSliceRowIds,Wt as useSliceRowIdsListener,Ae as useSortedRowIds,mt as useSortedRowIdsListener,St as useStartTransactionListener,J as useStore,ve as useStoreIds,K as useStoreOrStoreById,Te as useTable,Ee as useTableCellIds,pt as useTableCellIdsListener,Le as useTableIds,at as useTableIdsListener,it as useTableListener,Se as useTables,It as useTablesListener,vo as useUndoInformation,Ke as useValue,Ge as useValueIds,Pt as useValueIdsListener,xt as useValueListener,ze as useValues,qt as useValuesListener,Lt as useWillFinishTransactionListener};
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",T=f+d,C="Cell",v=C+d,p="Value",V=p+"s",y=p+d,w=e=>s+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),M=Math.max,m=isFinite,R=e=>null==e,L=(e,t,s)=>R(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!R(e)&&L(P(e),(e=>e==A.prototype||R(P(e))),(()=>!0)),N=A.keys,B=A.freeze,$=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),U=(e,t)=>$(Q(e,((e,s)=>[s,t(e,s)]))),X=e=>k(e)&&0==(e=>D(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>R(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ie=(e,t)=>ne(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ce(e,t,s()),oe(e,t)),ue=(e,t,s,n=ce)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,X),fe=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,X),be=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Te=e=>be(e,be),Ce=e=>be(e,Te),ve=(e,t,s,n,a=0)=>L((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ce(e,t[a]),r})),pe=new globalThis.TextEncoder,Ve=e=>{let t=2166136261;return F(pe.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ye=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),Me=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},me=e=>[e,$()],Re=(e="")=>[e,le(),0],Le=([e,t,s],n=ye)=>[e,ge(t,n),s],He=(e,s)=>{return E(e)&&3==D(e)&&(a=e[0],t(a)==n)&&s(e[1])&&t(e[2])==l&&m(e[2]);var a},Je=e=>new Set(E(e)||R(e)?e:[e]),Ee=(e,t)=>e?.add(t),xe=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{xe.test(t)&&D(e)<1e3&&z(e,t)}]},Fe=e=>[e,e],Oe=()=>[le(),le()],ze=e=>[...e],Ae=([e,t])=>e===t,Pe=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},We=e=>null===e||!R(Pe(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),Be=JSON.parse,$e=(e,t,s)=>ce(e,t,oe(e,t)==-s?void 0:s),qe=()=>{let e,t,n=!1,a=!1,r=0,d=[];const S=le(),I=le(),M=le(),m=le(),E=le(),A=le(),P=le(),W=le(),j=le(),k=le(),N=le(),$=le(),K=le(),U=le(),Y=Je(),pe=le(),Ve=le(),ye=le(),we=le(),Se=Oe(),Ie=Oe(),Me=Oe(),me=Oe(),Re=Oe(),Le=Oe(),He=Oe(),xe=Oe(),We=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=le(),rt=Oe(),[ot,it,ct,dt]=(e=>{let t;const[n,a]=De(),l=le();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Js;const c=n(1);return ce(l,c,[e,a,r,o,i]),Ee(ve(a,r??[s],Je),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==D(t)?z(n,e):null===t[s]?ne(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(oe(e,t),s+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](t,...n??[],...a))))),e=>L(oe(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(ae(t,e),te(t)?1:0))),ce(l,e),a(e),n))),e=>L(oe(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),ut=e=>{if(!Z(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(Pe(e[i])!=t&&G(e,i),0))},gt=(t,s)=>(!e||ee(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Ct(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(oe(oe(N,t),n),(e=>Pe(a)!=e[o]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):R(Pe(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:vt(e),((t,s)=>L(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Tt=(e,s)=>t?L(oe(K,e),(t=>Pe(s)!=t[o]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):R(Pe(s))?Bt(e,s):s,Ct=(e,t,s)=>(L(oe($,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),vt=e=>(t&&(ne(U,((t,s)=>{q(e,s)||(e[s]=t)})),ne(Y,(t=>{q(e,t)||Bt(t)}))),e),pt=e=>ue(N,e,((e,t,s)=>{const n=le(),a=Je();ue(de(N,t,le),s,((e,t,s)=>{ce(e,t,s),L(s[i],(e=>ce(n,t,e)),(()=>Ee(a,t)))})),ce($,t,[n,a])}),((e,t)=>{ce(N,t),ce($,t)})),Vt=e=>ue(K,e,((e,t,s)=>{ce(K,t,s),L(s[i],(e=>ce(U,t,e)),(()=>Ee(Y,t)))}),((e,t)=>{ce(K,t),ce(U,t),ae(Y,t)})),yt=e=>X(e)?ys():Ts(e),wt=e=>ue(ye,e,((e,t,s)=>St(t,s)),((e,t)=>xt(t))),St=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ce(pe,e,De()),ce(Ve,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Dt(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},mt=(e,t,s,n,a)=>L(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Ct({[n]:a},e,s)))),Rt=e=>X(e)?Is():Cs(e),Lt=e=>ue(we,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{ee(we,e)||jt(e,1);const s=oe(we,e);t!==s&&(kt(e,s,t),ce(we,e,t))},Jt=(e,t)=>{const[s]=oe(pe,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??St(e,{}),xt=e=>St(e,{}),Dt=(e,t,s)=>{const[,n]=oe(pe,e);n(s),It(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=oe(oe($,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):ie(n,o),te(n)&&(At(e,s,-1),te(ce(t,s))&&(zt(e,-1),ce(ye,e),ce(pe,e),ce(Ve,e)))},Ot=e=>{const t=oe(U,e);if(!R(t))return Ht(e,t);kt(e,oe(we,e)),jt(e,-1),ce(we,e)},zt=(e,t)=>$e(S,e,t),At=(e,t,s)=>$e(de(m,e,le),t,s)&&ce(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Ve,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(de(I,e,le),s,n),ce(a,s,l!=-n?l+n:null),$e(de(de(E,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,jt=(e,t)=>$e(P,e,t),kt=(e,t,s)=>de(W,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,le),t,le),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),$t=(e,t,s)=>L(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),qt=e=>L(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(is(e))])),Gt=e=>te(j)||te(Ze[e])?0:ne(e?Ce(j):j,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>te(k)||te(_e[e])?0:ne(e?be(k):k,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return it(t,n,(()=>ge(e))),ie(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=te(Ge[e]),a=te(Ue[e])&&te(Xe[e])&&te(We[e])&&te(Ke[e])&&te(Le[e])&&te(He[e])&&te(xe[e])&&s&&te(Me[e])&&te(me[e]),l=te(Ye[e])&&te(Qe[e])&&te(Re[e])&&te(Ie[e]);if(!a||!l){const t=e?[be(S),Te(I),be(M),Te(m),Ce(E),Ce(A)]:[S,I,M,m,E,A];if(!a){Qt(t[0],Me[e],me[e]),ne(t[1],((t,s)=>Qt(t,Le[e],He[e],[s]))),ne(t[2],((t,s)=>{0!=t&&it(xe[e],[s],ts(s))}));const n=Je();ne(t[3],((t,a)=>{Qt(t,We[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),Ee(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Je();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Ee(n,a):ae(e,a))))),ne(n,(t=>it(Ge[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],i)=>{o!==t&&(it(Ye[e],[n,l,i],o,t,$t),s=a=r=1)})),r&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(Ie[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(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)=>(Rs((()=>e(...O(t,w)))),Js),Zt=()=>fe(ye),_t=()=>re(ye),es=e=>re(oe(Ve,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(x((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(we),os=()=>re(we),is=e=>oe(we,w(e)),cs=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Ve,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),fs=()=>!te(we),bs=e=>ee(we,w(e)),Ts=e=>Yt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Cs=e=>Yt((()=>bt(e)?Lt(e):0)),vs=e=>{try{yt(Be(e))}catch{}return Js},ps=t=>Yt((()=>{if((e=Z(t,(e=>Z(e,ut))))&&(pt(t),!te(ye))){const e=Zt();ys(),Ts(e)}})),Vs=e=>Yt((()=>{if(t=(e=>Z(e,ut))(e)){const s=rs();ms(),Is(),t=!0,Vt(e),Cs(s)}})),ys=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>ee(ye,e)?xt(e):0),e),Ss=(e,t)=>Yt(((e,t)=>L(oe(ye,e),(s=>ee(s,t)?Dt(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{pt({}),e=!1})),ms=()=>Yt((()=>{Vt({}),t=!1})),Rs=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&it(lt,void 0),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>ke(Js,t,e))),se(W)),it(rt[0],void 0),r=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),d[0]?.(Js),it(rt[1],void 0),d[1]?.(Js),r=0,n=cs(),a=fs(),F([S,I,M,m,E,A,j,P,W,k],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ne(ye),getValuesJson:()=>Ne(we),getJson:()=>Ne([ye,we]),getTablesSchemaJson:()=>Ne(N),getValuesSchemaJson:()=>Ne(K),getSchemaJson:()=>Ne([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(X(e)?ys:Ts)(e),(X(t)?Is:Cs)(t)})),setTables:Ts,setTable:(e,t)=>Yt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Rs((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>L(Tt(e,J(t)?t(is(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>R(e)?ws(t):Q(e,((e,s)=>R(e)?Ss(t,s):Q(e,((e,n)=>je(Js,t,s,n,e))))))),Q(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Rt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);yt(t),Rt(s)}catch{vs(e)}})),setTablesSchema:ps,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{ps(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(oe(ye,e),(a=>L(oe(a,t),(l=>ee(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(we,e)?Ot(e):0),e),delTablesSchema:Ms,delValuesSchema:ms,delSchema:()=>Yt((()=>{Ms(),ms()})),transaction:Rs,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(S,t)?void 0:ge(e,((e,s)=>-1===oe(oe(m,t),s)?void 0:ge(e,(([,e])=>e),(e=>Ae(e)))),te,X)),te,X),ge(W,(([,e])=>e),(e=>Ae(e))),1],getTransactionLog:()=>[!te(A),!te(W),fe(A,ze,Ae),fe(j),ge(W,ze,Ae),ge(k),ge(S),he(m),fe(E),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(oe(Ve,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ie(we,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var i,c,d;c=o,D(i=r)===D(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(ct(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return Q({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,Ie],[h]:[0,Me],[c+u]:[1,me,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+v]:[1,Le,[_t]],[c+u+C]:[2,He,[_t,es],e=>[us(...e)]],[b]:[1,xe,[_t]],[T]:[1,We,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[v]:[2,Ue,[_t,ss]],[c+C]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[C]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[os],e=>[bs(...e)]],[p]:[1,at,[os],e=>Fe(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),B(Js)},Ge=2**36,Ke=2**30,Qe=2**24,Ue=2**18,Xe=4096,Ye=64,Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,et={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},tt=(e="")=>[e,[Re(e),Re(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=tt();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ze((e=t)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(l/Ue)+Ze(l/Xe)+Ze(l/Ye)+Ze(l)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,l,r},a]})(e),i=qe(),c=e=>{const t=a;return a=0,e(),a=t,b},d=(e,t=0)=>{const s={},n={},[a,[[r,o,i],c],d]=e,[,[g,h]]=l,[f,b,T]=g;if(r){let e=t?i:T^(r>f?(f?Ve(f):0)^Ve(r):0);K(o,(([n,a,l],r)=>{const o=de(b,r,Re),[i,c,d]=o;let g=t?l:d^(n>i?(i?Ve(i):0)^Ve(n):0);K(a,((e,n)=>{const[a,l]=u(e,de(c,n,Re),Y(Y(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),Me(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),Me(g,e,r)}return u(c,h,n,t),Me(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,t,n,a)=>{const[l,r,o]=e,[i,c,d]=t;if(l){let e=a?o:d^(l>i?(i?Ve(i):0)^Ve(l):0);K(r,(([t,l,r],o)=>{const i=de(c,o,(()=>[s,void 0,0])),[d,,u]=i;t>d&&(Me(i,a?r:Ve(Ne(l??null)+":"+t),t),i[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,i[2]))})),Me(t,e,l)}return[d,t[2]]},g=()=>[l[0],[Le(l[1][0],(e=>Le(e,(e=>Le(e))))),Le(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=i.getTransactionLog(),a=X(e)&&X(n)?s:t??(t=r()),l=[a,[me(X(e)?s:a),me(X(n)?s:a),1]],[[,o],[,c]]=l[1];return Q(e,((e,t)=>{const[,s]=o[t]=me(a);Q(e,((e,t)=>{const[,n]=s[t]=me(a);Q(e,(([,e],t)=>n[t]=[a,e]))}))})),Q(n,(([,e],t)=>c[t]=[a,e])),l}return n},f=e=>c((()=>{o(e[0]),i.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ge(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return ie(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&z(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ge(oe(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>U(e,((e,t)=>{const s=[];return ie(oe(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&z(s,t)})),s})),getMergeableCellHashes:e=>U(e,((e,t)=>$(O(e,(e=>[e,ge(oe(oe(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return K(e,((e,t)=>L(oe(s,t),(([s,a])=>{const l={};K(e,((e,t)=>L(oe(a,t),(([s,n])=>{const a=ge(n,we,(([,,t],s)=>t==e?.[s]));X(a)||(l[t]=[s,a])})))),X(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ge(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ge(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>He(e,(e=>E(e)&&2==D(e)&&He(e[0],(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,We)),void 0,1)))),void 0,1)))),void 0,1)))&&He(e[1],(e=>Z(e,(e=>He(e,We)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),l=tt(),o(e[0]),i.applyChanges(d(e,1))})):0)),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=et[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),l=t(0),r=t(t),o="type",i="default",c="Has",d="Ids",u="Table",g=u+"s",h=u+d,f="Row",b=f+"Count",C=f+d,T="Cell",v=T+d,p="Value",V=p+"s",y=p+d,w=e=>s+e,S=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),M=Math.max,m=isFinite,R=e=>null==e,L=(e,t,s)=>R(e)?s?.():t(e),H=e=>e==n||e==a,J=e=>t(e)==r,E=e=>Array.isArray(e),x=(e,t,s)=>e.slice(t,s),D=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),A=Object,P=e=>A.getPrototypeOf(e),W=A.entries,j=A.isFrozen,k=e=>!R(e)&&L(P(e),(e=>e==A.prototype||R(P(e))),(()=>!0)),N=A.keys,B=A.freeze,$=(e=[])=>A.fromEntries(e),q=(e,t)=>t in e,G=(e,t)=>(delete e[t],e),K=(e,t)=>F(W(e),(([e,s])=>t(s,e))),Q=(e,t)=>O(W(e),(([e,s])=>t(s,e))),U=(e,t)=>$(Q(e,((e,s)=>[s,t(e,s)]))),X=e=>k(e)&&0==(e=>D(N(e)))(e),Y=(e,t,s)=>(q(e,t)||(e[t]=s()),e[t]),Z=(e,t,s,n=0)=>R(e)||!k(e)||!n&&X(e)||j(e)?(s?.(),!1):(Q(e,((s,n)=>{t(s,n)||G(e,n)})),!!n||!X(e)),_=e=>e?.size??0,ee=(e,t)=>e?.has(t)??!1,te=e=>R(e)||0==_(e),se=e=>e.clear(),ne=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),le=e=>new Map(e),re=e=>[...e?.keys()??[]],oe=(e,t)=>e?.get(t),ie=(e,t)=>ne(e,((e,s)=>t(s,e))),ce=(e,t,s)=>R(s)?(ae(e,t),e):e?.set(t,s),de=(e,t,s,n)=>(ee(e,t)?n?.(oe(e,t)):ce(e,t,s()),oe(e,t)),ue=(e,t,s,n=ce)=>(Q(t,((t,n)=>s(e,n,t))),ie(e,(s=>q(t,s)?0:n(e,s))),e),ge=(e,t,s,n)=>{const a={};return ne(e,((e,l)=>{if(!s?.(e,l)){const s=t?t(e,l):e;!n?.(s)&&(a[l]=s)}})),a},he=(e,t,s)=>ge(e,(e=>ge(e,t,s)),te,X),fe=(e,t,s)=>ge(e,(e=>he(e,t,s)),te,X),be=(e,t)=>{const s=le();return ne(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>be(e,be),Te=e=>be(e,Ce),ve=(e,t,s,n,a=0)=>L((s?de:oe)(e,t[a],a>D(t)-2?s:le),(l=>{if(a>D(t)-2)return n?.(l)&&ce(e,t[a]),l;const r=ve(l,t,s,n,a+1);return te(l)&&ce(e,t[a]),r})),pe=new globalThis.TextEncoder,Ve=e=>{let t=2166136261;return F(pe.encode(e),(e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0},ye=([e,t,s])=>[e,t,s],we=([e,t])=>[e,t],Se=e=>e[2],Ie=(e,t)=>Ve(e+":"+t),Me=(e,t,s)=>{e[2]=t>>>0,s>e[0]&&(e[0]=s)},me=e=>[e,$()],Re=(e="")=>[e,le(),0],Le=([e,t,s],n=ye)=>[e,ge(t,n),s],He=(e,s)=>{return E(e)&&3==D(e)&&(a=e[0],t(a)==n)&&s(e[1])&&t(e[2])==l&&m(e[2]);var a},Je=e=>new Set(E(e)||R(e)?e:[e]),Ee=(e,t)=>e?.add(t),xe=/^\d+$/,De=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{xe.test(t)&&D(e)<1e3&&z(e,t)}]},Fe=e=>[e,e],Oe=()=>[le(),le()],ze=e=>[...e],Ae=([e,t])=>e===t,Pe=e=>{const s=t(e);return H(s)||s==l&&m(e)?s:void 0},We=e=>null===e||!R(Pe(e)),je=(e,t,s,n,a)=>R(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>R(s)?e.delValue(t):e.setValue(t,s),Ne=e=>JSON.stringify(e,((e,t)=>t instanceof Map?A.fromEntries([...t]):t)),Be=JSON.parse,$e=(e,t,s)=>ce(e,t,oe(e,t)==-s?void 0:s),qe=()=>{let e,t,n=!1,a=!1,r=0,d=[];const S=le(),I=le(),M=le(),m=le(),E=le(),A=le(),P=le(),W=le(),j=le(),k=le(),N=le(),$=le(),K=le(),U=le(),Y=Je(),pe=le(),Ve=le(),ye=le(),we=le(),Se=Oe(),Ie=Oe(),Me=Oe(),me=Oe(),Re=Oe(),Le=Oe(),He=Oe(),xe=Oe(),We=Oe(),Ge=Oe(),Ke=Oe(),Qe=Oe(),Ue=Oe(),Xe=Oe(),Ye=Oe(),Ze=Oe(),_e=Oe(),et=Oe(),tt=Oe(),st=Oe(),nt=Oe(),at=Oe(),lt=le(),rt=Oe(),[ot,it,ct,dt]=(e=>{let t;const[n,a]=De(),l=le();return[(e,a,r,o=[],i=(()=>[]))=>{t??=Js;const c=n(1);return ce(l,c,[e,a,r,o,i]),Ee(ve(a,r??[s],Je),c),c},(e,n,...a)=>F(((e,t=[s])=>{const n=[],a=(e,s)=>s==D(t)?z(n,e):null===t[s]?ne(e,(e=>a(e,s+1))):F([t[s],null],(t=>a(oe(e,t),s+1)));return a(e,0),n})(e,n),(e=>ne(e,(e=>oe(l,e)[0](t,...n??[],...a))))),e=>L(oe(l,e),(([,t,n])=>(ve(t,n??[s],void 0,(t=>(ae(t,e),te(t)?1:0))),ce(l,e),a(e),n))),e=>L(oe(l,e),(([e,,s=[],n,a])=>{const l=(...r)=>{const o=D(r);o==D(s)?e(t,...r,...a(r)):R(s[o])?F(n[o]?.(...r)??[],(e=>l(...r,e))):l(...r,s[o])};l()}))]})(),ut=e=>{if(!Z(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!H(t)&&t!=l||(Pe(e[i])!=t&&G(e,i),0))},gt=(t,s)=>(!e||ee(N,s)||Nt(s))&&Z(t,((e,t)=>ht(s,t,e)),(()=>Nt(s))),ht=(e,t,s,n)=>Z(n?s:Tt(s,e,t),((n,a)=>L(ft(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Nt(e,t))),ft=(t,s,n,a)=>e?L(oe(oe(N,t),n),(e=>Pe(a)!=e[o]?Nt(t,s,n,a,e[i]):a),(()=>Nt(t,s,n,a))):R(Pe(a))?Nt(t,s,n,a):a,bt=(e,t)=>Z(t?e:vt(e),((t,s)=>L(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Bt())),Ct=(e,s)=>t?L(oe(K,e),(t=>Pe(s)!=t[o]?Bt(e,s,t[i]):s),(()=>Bt(e,s))):R(Pe(s))?Bt(e,s):s,Tt=(e,t,s)=>(L(oe($,t),(([n,a])=>{ne(n,((t,s)=>{q(e,s)||(e[s]=t)})),ne(a,(n=>{q(e,n)||Nt(t,s,n)}))})),e),vt=e=>(t&&(ne(U,((t,s)=>{q(e,s)||(e[s]=t)})),ne(Y,(t=>{q(e,t)||Bt(t)}))),e),pt=e=>ue(N,e,((e,t,s)=>{const n=le(),a=Je();ue(de(N,t,le),s,((e,t,s)=>{ce(e,t,s),L(s[i],(e=>ce(n,t,e)),(()=>Ee(a,t)))})),ce($,t,[n,a])}),((e,t)=>{ce(N,t),ce($,t)})),Vt=e=>ue(K,e,((e,t,s)=>{ce(K,t,s),L(s[i],(e=>ce(U,t,e)),(()=>Ee(Y,t)))}),((e,t)=>{ce(K,t),ce(U,t),ae(Y,t)})),yt=e=>X(e)?ys():Cs(e),wt=e=>ue(ye,e,((e,t,s)=>St(t,s)),((e,t)=>xt(t))),St=(e,t)=>ue(de(ye,e,(()=>(zt(e,1),ce(pe,e,De()),ce(Ve,e,le()),le()))),t,((t,s,n)=>It(e,t,s,n)),((t,s)=>Dt(e,t,s))),It=(e,t,s,n,a)=>ue(de(t,s,(()=>(At(e,s,1),le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,l)=>Ft(e,t,s,n,l,a))),Mt=(e,t,s,n,a)=>{ee(s,n)||Pt(e,t,n,1);const l=oe(s,n);a!==l&&(Wt(e,t,n,l,a),ce(s,n,a))},mt=(e,t,s,n,a)=>L(oe(t,s),(t=>Mt(e,s,t,n,a)),(()=>It(e,t,s,Tt({[n]:a},e,s)))),Rt=e=>X(e)?Is():Ts(e),Lt=e=>ue(we,e,((e,t,s)=>Ht(t,s)),((e,t)=>Ot(t))),Ht=(e,t)=>{ee(we,e)||jt(e,1);const s=oe(we,e);t!==s&&(kt(e,s,t),ce(we,e,t))},Jt=(e,t)=>{const[s]=oe(pe,e),n=s(t);return ee(oe(ye,e),n)?Jt(e,t):n},Et=e=>oe(ye,e)??St(e,{}),xt=e=>St(e,{}),Dt=(e,t,s)=>{const[,n]=oe(pe,e);n(s),It(e,t,s,{},!0)},Ft=(e,t,s,n,a,l)=>{const r=oe(oe($,e)?.[0],a);if(!R(r)&&!l)return Mt(e,s,n,a,r);const o=t=>{Wt(e,s,t,oe(n,t)),Pt(e,s,t,-1),ce(n,t)};R(r)?o(a):ie(n,o),te(n)&&(At(e,s,-1),te(ce(t,s))&&(zt(e,-1),ce(ye,e),ce(pe,e),ce(Ve,e)))},Ot=e=>{const t=oe(U,e);if(!R(t))return Ht(e,t);kt(e,oe(we,e)),jt(e,-1),ce(we,e)},zt=(e,t)=>$e(S,e,t),At=(e,t,s)=>$e(de(m,e,le),t,s)&&ce(M,e,de(M,e,(()=>0))+s),Pt=(e,t,s,n)=>{const a=oe(Ve,e),l=oe(a,s)??0;(0==l&&1==n||1==l&&-1==n)&&$e(de(I,e,le),s,n),ce(a,s,l!=-n?l+n:null),$e(de(de(E,e,le),t,le),s,n)},Wt=(e,t,s,n,a)=>de(de(de(A,e,le),t,le),s,(()=>[n,0]))[1]=a,jt=(e,t)=>$e(P,e,t),kt=(e,t,s)=>de(W,e,(()=>[t,0]))[1]=s,Nt=(e,t,s,n,a)=>(z(de(de(de(j,e,le),t,le),s,(()=>[])),n),a),Bt=(e,t,s)=>(z(de(k,e,(()=>[])),t),s),$t=(e,t,s)=>L(oe(oe(oe(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(ls(e,t,s))])),qt=e=>L(oe(W,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Fe(is(e))])),Gt=e=>te(j)||te(Ze[e])?0:ne(e?Te(j):j,((t,s)=>ne(t,((t,n)=>ne(t,((t,a)=>it(Ze[e],[s,n,a],t))))))),Kt=e=>te(k)||te(_e[e])?0:ne(e?be(k):k,((t,s)=>it(_e[e],[s],t))),Qt=(e,t,s,n)=>{if(!te(e))return it(t,n,(()=>ge(e))),ie(e,((e,t)=>it(s,[...n??[],e],1==t))),1},Ut=e=>{const t=cs();t!=n&&it(Se[e],void 0,t);const s=te(Ge[e]),a=te(Ue[e])&&te(Xe[e])&&te(We[e])&&te(Ke[e])&&te(Le[e])&&te(He[e])&&te(xe[e])&&s&&te(Me[e])&&te(me[e]),l=te(Ye[e])&&te(Qe[e])&&te(Re[e])&&te(Ie[e]);if(!a||!l){const t=e?[be(S),Ce(I),be(M),Ce(m),Te(E),Te(A)]:[S,I,M,m,E,A];if(!a){Qt(t[0],Me[e],me[e]),ne(t[1],((t,s)=>Qt(t,Le[e],He[e],[s]))),ne(t[2],((t,s)=>{0!=t&&it(xe[e],[s],ts(s))}));const n=Je();ne(t[3],((t,a)=>{Qt(t,We[e],Ke[e],[a])&&!s&&(it(Ge[e],[a,null]),Ee(n,a))})),s||ne(t[5],((t,s)=>{if(!ee(n,s)){const n=Je();ne(t,(e=>ne(e,(([t,s],a)=>s!==t?Ee(n,a):ae(e,a))))),ne(n,(t=>it(Ge[e],[s,t])))}})),ne(t[4],((t,s)=>ne(t,((t,n)=>Qt(t,Ue[e],Xe[e],[s,n])))))}if(!l){let s;ne(t[5],((t,n)=>{let a;ne(t,((t,l)=>{let r;ne(t,(([t,o],i)=>{o!==t&&(it(Ye[e],[n,l,i],o,t,$t),s=a=r=1)})),r&&it(Qe[e],[n,l],$t)})),a&&it(Re[e],[n],$t)})),s&&it(Ie[e],void 0,$t)}}},Xt=e=>{const t=fs();t!=a&&it(et[e],void 0,t);const s=te(st[e])&&te(nt[e]),n=te(at[e])&&te(tt[e]);if(!s||!n){const t=e?[be(P),be(W)]:[P,W];if(s||Qt(t[0],st[e],nt[e]),!n){let s;ne(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)=>(Rs((()=>e(...O(t,w)))),Js),Zt=()=>fe(ye),_t=()=>re(ye),es=e=>re(oe(Ve,w(e))),ts=e=>_(oe(ye,w(e))),ss=e=>re(oe(ye,w(e))),ns=(e,t,s,n=0,a)=>{return O(x((r=oe(ye,w(e)),o=(e,s)=>[R(t)?s:oe(e,w(t)),s],l=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(l)),n,R(a)?a:n+a),(([,e])=>e));var l,r,o},as=(e,t)=>re(oe(oe(ye,w(e)),w(t))),ls=(e,t,s)=>oe(oe(oe(ye,w(e)),w(t)),w(s)),rs=()=>ge(we),os=()=>re(we),is=e=>oe(we,w(e)),cs=()=>!te(ye),ds=e=>ee(ye,w(e)),us=(e,t)=>ee(oe(Ve,w(e)),w(t)),gs=(e,t)=>ee(oe(ye,w(e)),w(t)),hs=(e,t,s)=>ee(oe(oe(ye,w(e)),w(t)),w(s)),fs=()=>!te(we),bs=e=>ee(we,w(e)),Cs=e=>Yt((()=>(e=>Z(e,gt,Nt))(e)?wt(e):0)),Ts=e=>Yt((()=>bt(e)?Lt(e):0)),vs=e=>{try{yt(Be(e))}catch{}return Js},ps=t=>Yt((()=>{if((e=Z(t,(e=>Z(e,ut))))&&(pt(t),!te(ye))){const e=Zt();ys(),Cs(e)}})),Vs=e=>Yt((()=>{if(t=(e=>Z(e,ut))(e)){const s=rs();ms(),Is(),t=!0,Vt(e),Ts(s)}})),ys=()=>Yt((()=>wt({}))),ws=e=>Yt((e=>ee(ye,e)?xt(e):0),e),Ss=(e,t)=>Yt(((e,t)=>L(oe(ye,e),(s=>ee(s,t)?Dt(e,s,t):0))),e,t),Is=()=>Yt((()=>Lt({}))),Ms=()=>Yt((()=>{pt({}),e=!1})),ms=()=>Yt((()=>{Vt({}),t=!1})),Rs=(e,t)=>{if(-1!=r){Ls();const s=e();return Hs(t),s}},Ls=()=>(-1!=r&&r++,1==r&&it(lt,void 0),Js),Hs=e=>(r>0&&(r--,0==r&&(r=1,Gt(1),te(A)||Ut(1),Kt(1),te(W)||Xt(1),e?.(Js)&&(ne(A,((e,t)=>ne(e,((e,s)=>ne(e,(([e],n)=>je(Js,t,s,n,e))))))),se(A),ne(W,(([e],t)=>ke(Js,t,e))),se(W)),it(rt[0],void 0),r=-1,Gt(0),te(A)||Ut(0),Kt(0),te(W)||Xt(0),d[0]?.(Js),it(rt[1],void 0),d[1]?.(Js),r=0,n=cs(),a=fs(),F([S,I,M,m,E,A,j,P,W,k],se))),Js),Js={getContent:()=>[Zt(),rs()],getTables:Zt,getTableIds:_t,getTable:e=>he(oe(ye,w(e))),getTableCellIds:es,getRowCount:ts,getRowIds:ss,getSortedRowIds:ns,getRow:(e,t)=>ge(oe(oe(ye,w(e)),w(t))),getCellIds:as,getCell:ls,getValues:rs,getValueIds:os,getValue:is,hasTables:cs,hasTable:ds,hasTableCell:us,hasRow:gs,hasCell:hs,hasValues:fs,hasValue:bs,getTablesJson:()=>Ne(ye),getValuesJson:()=>Ne(we),getJson:()=>Ne([ye,we]),getTablesSchemaJson:()=>Ne(N),getValuesSchemaJson:()=>Ne(K),getSchemaJson:()=>Ne([N,K]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Yt((()=>{(X(e)?ys:Cs)(e),(X(t)?Is:Ts)(t)})),setTables:Cs,setTable:(e,t)=>Yt((e=>gt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Yt(((e,t)=>ht(e,t,s)?It(e,Et(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Rs((()=>{let n;return ht(e,n,t)&&(e=w(e),It(e,Et(e),n=Jt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Yt(((e,t)=>{if(ht(e,t,s,1)){const n=Et(e);Q(s,((s,a)=>mt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Yt(((e,t,s)=>L(ft(e,t,s,J(n)?n(ls(e,t,s)):n),(n=>mt(e,Et(e),t,s,n)))),e,t,s),setValues:Ts,setPartialValues:e=>Yt((()=>bt(e,1)?Q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>Yt((e=>L(Ct(e,J(t)?t(is(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>Yt((()=>{Q(e[0],((e,t)=>R(e)?ws(t):Q(e,((e,s)=>R(e)?Ss(t,s):Q(e,((e,n)=>je(Js,t,s,n,e))))))),Q(e[1],((e,t)=>ke(Js,t,e)))})),setTablesJson:vs,setValuesJson:e=>{try{Rt(Be(e))}catch{}return Js},setJson:e=>Yt((()=>{try{const[t,s]=Be(e);yt(t),Rt(s)}catch{vs(e)}})),setTablesSchema:ps,setValuesSchema:Vs,setSchema:(e,t)=>Yt((()=>{ps(e),Vs(t)})),delTables:ys,delTable:ws,delRow:Ss,delCell:(e,t,s,n)=>Yt(((e,t,s)=>L(oe(ye,e),(a=>L(oe(a,t),(l=>ee(l,s)?Ft(e,a,t,l,s,n):0))))),e,t,s),delValues:Is,delValue:e=>Yt((e=>ee(we,e)?Ot(e):0),e),delTablesSchema:Ms,delValuesSchema:ms,delSchema:()=>Yt((()=>{Ms(),ms()})),transaction:Rs,startTransaction:Ls,getTransactionChanges:()=>[ge(A,((e,t)=>-1===oe(S,t)?void 0:ge(e,((e,s)=>-1===oe(oe(m,t),s)?void 0:ge(e,(([,e])=>e),(e=>Ae(e)))),te,X)),te,X),ge(W,(([,e])=>e),(e=>Ae(e))),1],getTransactionLog:()=>[!te(A),!te(W),fe(A,ze,Ae),fe(j),ge(W,ze,Ae),ge(k),ge(S),he(m),fe(E),ge(P)],finishTransaction:Hs,forEachTable:e=>ne(ye,((t,s)=>e(s,(e=>ne(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(oe(Ve,w(e)),t),forEachRow:(e,t)=>ne(oe(ye,w(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(oe(oe(ye,w(e)),w(t)),s),forEachValue:e=>ie(we,e),addSortedRowIdsListener:(e,t,s,n,a,l,r)=>{let o=ns(e,t,s,n,a);return ot((()=>{const r=ns(e,t,s,n,a);var i,c,d;c=o,D(i=r)===D(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=r,l(Js,e,t,s,n,a,o))}),Ge[r?1:0],[e,t],[_t])},addStartTransactionListener:e=>ot(e,lt),addWillFinishTransactionListener:e=>ot(e,rt[0]),addDidFinishTransactionListener:e=>ot(e,rt[1]),callListener:e=>(dt(e),Js),delListener:e=>(ct(e),Js),getListenerStats:()=>({}),createStore:qe,addListener:ot,callListeners:it,setInternalListeners:(e,t)=>d=[e,t]};return Q({[c+g]:[0,Se,[],()=>[cs()]],[g]:[0,Ie],[h]:[0,Me],[c+u]:[1,me,[_t],e=>[ds(...e)]],[u]:[1,Re,[_t]],[u+v]:[1,Le,[_t]],[c+u+T]:[2,He,[_t,es],e=>[us(...e)]],[b]:[1,xe,[_t]],[C]:[1,We,[_t]],[c+f]:[2,Ke,[_t,ss],e=>[gs(...e)]],[f]:[2,Qe,[_t,ss]],[v]:[2,Ue,[_t,ss]],[c+T]:[3,Xe,[_t,ss,as],e=>[hs(...e)]],[T]:[3,Ye,[_t,ss,as],e=>Fe(ls(...e))],InvalidCell:[3,Ze],[c+V]:[0,et,[],()=>[fs()]],[V]:[0,tt],[y]:[0,st],[c+p]:[1,nt,[os],e=>[bs(...e)]],[p]:[1,at,[os],e=>Fe(is(e[0]))],InvalidValue:[1,_e]},(([e,t,s,n],a)=>{Js["add"+a+"Listener"]=(...a)=>ot(a[e],t[a[e+1]?1:0],e>0?x(a,0,e):void 0,s,n)})),B(Js)},Ge=2**36,Ke=2**30,Qe=2**24,Ue=2**18,Xe=4096,Ye=64,Ze=e=>String.fromCharCode(48+(63&e)),_e=(e,t)=>((e,t)=>e.charCodeAt(t))(e,t)-48,et={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},tt=(e="")=>[e,[Re(e),Re(e)],0];e.createMergeableStore=e=>{let t,n,a=1,l=tt();const[r,o]=(e=>{let t=0,s=-1;const n=Ve(e),a=e=>{const n=t,[a,l]=R(e)||""==e?[0,0]:[_e(r=e,0)*Ge+_e(r,1)*Ke+_e(r,2)*Qe+_e(r,3)*Ue+_e(r,4)*Xe+_e(r,5)*Ye+_e(r,6),_e(r,7)*Ue+_e(r,8)*Xe+_e(r,9)*Ye+_e(r,10),_e(r,11)*Qe+_e(r,12)*Ue+_e(r,13)*Xe+_e(r,14)*Ye+_e(r,15)];var r;t=M(n,a,Date.now()),s=t==n?t==a?M(s,l):s:t==a?l:-1};return[()=>{return a(),l=++s,r=n,Ze((e=t)/Ge)+Ze(e/Ke)+Ze(e/Qe)+Ze(e/Ue)+Ze(e/Xe)+Ze(e/Ye)+Ze(e)+Ze(l/Ue)+Ze(l/Xe)+Ze(l/Ye)+Ze(l)+Ze(r/Qe)+Ze(r/Ue)+Ze(r/Xe)+Ze(r/Ye)+Ze(r);var e,l,r},a]})(e),i=qe(),c=e=>{const t=a;return a=0,e(),a=t,b},d=(e,t=0)=>{const s={},n={},[a,[[r,o,i],c],d]=e,[,[g,h]]=l,[f,b,C]=g;if(r){let e=t?i:C^(r>f?(f?Ve(f):0)^Ve(r):0);K(o,(([n,a,l],r)=>{const o=de(b,r,Re),[i,c,d]=o;let g=t?l:d^(n>i?(i?Ve(i):0)^Ve(n):0);K(a,((e,n)=>{const[a,l]=u(e,de(c,n,Re),Y(Y(s,r,$),n,$),t);g^=t?0:(a?Ie(n,a):0)^Ie(n,l)})),Me(o,g,n),e^=t?0:(d?Ie(r,d):0)^Ie(r,o[2])})),Me(g,e,r)}return u(c,h,n,t),Me(l,t?d:g[2]^h[2],a),[s,n,1]},u=(e,t,n,a)=>{const[l,r,o]=e,[i,c,d]=t;if(l){let e=a?o:d^(l>i?(i?Ve(i):0)^Ve(l):0);K(r,(([t,l,r],o)=>{const i=de(c,o,(()=>[s,void 0,0])),[d,,u]=i;t>d&&(Me(i,a?r:Ve(Ne(l??null)+":"+t),t),i[1]=l,n[o]=l,e^=a?0:Ie(o,u)^Ie(o,i[2]))})),Me(t,e,l)}return[d,t[2]]},g=()=>[l[0],[Le(l[1][0],(e=>Le(e,(e=>Le(e))))),Le(l[1][1])],l[2]],h=()=>{if(R(n)){const[,,e,,n]=i.getTransactionLog(),a=X(e)&&X(n)?s:t??(t=r()),l=[a,[me(X(e)?s:a),me(X(n)?s:a),1]],[[,o],[,c]]=l[1];return Q(e,((e,t)=>{const[,s]=o[t]=me(a);Q(e,((e,t)=>{const[,n]=s[t]=me(a);Q(e,(([,e],t)=>n[t]=[a,e]))}))})),Q(n,(([,e],t)=>c[t]=[a,e])),l}return n},f=e=>c((()=>{o(e[0]),i.applyChanges(d(e))})),b={getId:()=>e,getMergeableContent:g,getMergeableContentHashes:()=>[l[0],[l[1][0][2],l[1][1][2]]],getMergeableTableHashes:()=>ge(l[1][0][1],Se),getMergeableTableIdsDiff:e=>{const t=[];return ie(l[1][0][1],((s,[,,n])=>{n!==e?.[s]&&z(t,s)})),t},getMergeableRowHashes:e=>$(O(e,(e=>[e,ge(oe(l[1][0][1],e)?.[1],Se)]))),getMergeableRowIdsDiff:e=>U(e,((e,t)=>{const s=[];return ie(oe(l[1][0][1],t)?.[1],((t,[,,n])=>{n!==e?.[t]&&z(s,t)})),s})),getMergeableCellHashes:e=>U(e,((e,t)=>$(O(e,(e=>[e,ge(oe(oe(l[1][0][1],t)?.[1],e)?.[1],Se)]))))),getMergeableTablesChanges:e=>{const[,[[t,s]]]=l,n={};return K(e,((e,t)=>L(oe(s,t),(([s,a])=>{const l={};K(e,((e,t)=>L(oe(a,t),(([s,n])=>{const a=ge(n,we,(([,,t],s)=>t==e?.[s]));X(a)||(l[t]=[s,a])})))),X(l)||(n[t]=[s,l])})))),[t,n]},getMergeableValuesHashes:()=>ge(l[1][1][1],Se),getMergeableValuesChanges:e=>[l[1][1][0],ge(l[1][1][1],we,(([,,t],s)=>t==e?.[s]))],setMergeableContent:e=>c((()=>(e=>He(e,(e=>E(e)&&2==D(e)&&He(e[0],(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,(e=>Z(e,(e=>He(e,We)),void 0,1)))),void 0,1)))),void 0,1)))&&He(e[1],(e=>Z(e,(e=>He(e,We)),void 0,1))))))(e)?i.transaction((()=>{i.delTables().delValues(),l=tt(),o(e[0]),i.applyChanges(d(e,1))})):0)),setDefaultContent:e=>(t="0",i.setContent(e),b),getTransactionMergeableChanges:h,applyMergeableChanges:f,merge:e=>{const t=g(),s=e.getMergeableContent();return e.applyMergeableChanges(t),f(s)}};return i.setInternalListeners((()=>{a&&(n=h(),d(n))}),(()=>t=n=void 0)),Q(i,((e,t)=>b[t]=S(t,"set")||S(t,"del")||S(t,"apply")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),b):S(t,"add")&&I(t,"Listener")?(...s)=>{const n=et[x(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(b,...t),e(...s)}:e)),B(b)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,d=o.freeze,y=(e,t)=>s(e,(e=>e[t])),g=(e,t)=>t in e,u=(e,t)=>(delete e[t],e),l=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,a])=>t(a,e))),p=e=>c(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),v=e=>new Map(e),f=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},A=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(f(e,t)):w(e,t,a()),f(e,t)},b=v(),C=v(),L=(e,t)=>[e[t].t,e[t].v],S=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(g(e,t)||(e[t]={}),e[t]))(e,t);let r;return l(a,((e,t)=>{s(o,t,e)&&(r=1)})),l(o,((e,t)=>{g(a,t)||(u(o,t),r=1)})),!n(t)&&h(o)&&u(e,t),r};e.createAutomergePersister=(e,o,r="tinybase",i)=>(o.change((e=>e[r]={})),((e,o,r,i,c,y,g,u={},l=[])=>{let p,v,L,S=0;A(b,l,(()=>0)),A(C,l,(()=>[]));const[m,M,T,x]=((e,t)=>!e||n(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!h(e)||!h(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!h(e)||!h(t)])(g,e),P=async e=>(2!=S&&(S=1,await D.schedule((async()=>{await e(),S=0}))),D),j=n=>{var s;(m&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},D={load:async(t,a)=>await P((async()=>{try{j(await o())}catch(n){y?.(n),e.setContent([t,a])}})),startAutoLoad:async(e={},t={})=>(await D.stopAutoLoad().load(e,t),v=i((async(e,t)=>{const a=t?.();await P((async()=>{try{j(a??e?.()??await o())}catch(e){y?.(e)}}))})),D),stopAutoLoad:()=>(v&&(c(v),v=void 0),D),isAutoLoading:()=>!n(v),save:async e=>(1!=S&&(S=2,await D.schedule((async()=>{try{await r(M,e)}catch(e){y?.(e)}S=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),L=e.addDidFinishTransactionListener((()=>{const e=T();x(e)&&D.save((()=>e))})),D),stopAutoSave:()=>(s(L,e.delListener),L=void 0,D),isAutoSaving:()=>!n(L),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(f(C,l),...e),await(async()=>{if(!f(b,l)){for(w(b,l,1);!n((e=f(C,l),p=e.shift()));)try{await p()}catch(e){y?.(e)}w(b,l,0)}var e})(),D),getStore:()=>e,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...u};return d(D)})(e,(async()=>{const e=await o.doc();return 2==p(e[r])?L(e,r):void 0}),(async(e,t)=>o.change((a=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,i]=L(e,t),c=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,l(e,((e,t)=>d?0:n(e)?u(r,t):s(r[t],(t=>l(e,((e,a)=>d?0:n(e)?u(t,a):s(y(t,a),(t=>l(e,((e,a)=>n(e)?u(t,a):t[a]=e))),c)))),c))),l(t,((e,t)=>d?0:n(e)?u(i,t):i[t]=e))})),d){const[e,t]=a();S(r,void 0,e,((e,t,a)=>S(r,t,a,((e,t,a)=>S(e,t,a,((e,t,a)=>{if(y(e,t)!==a)return e[t]=a,1})))))),S(i,void 0,t,((e,t,a)=>{y(i,t)!==a&&(i[t]=a)}))}})(a,r,e,t)))),(e=>{const t=({doc:t})=>e((()=>L(t,r)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),i,!1,{getDocHandle:()=>o}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),n=e=>null==e,s=(e,t,a)=>n(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.entries,c=o.keys,d=o.freeze,u=(e,t)=>s(e,(e=>e[t])),y=(e,t)=>t in e,g=(e,t)=>(delete e[t],e),l=(e,t)=>((e,t)=>e.map(t))(i(e),(([e,a])=>t(a,e))),p=e=>c(e).length,h=e=>(e=>!n(e)&&s(r(e),(e=>e==o.prototype||n(r(e))),(()=>!0)))(e)&&0==p(e),f=e=>new Map(e),v=(e,t)=>e?.get(t),w=(e,t,a)=>{return n(a)?(s=e,o=t,s?.delete(o),e):e?.set(t,a);var s,o},A=(e,t,a,n)=>{var s,o;return s=e,o=t,s?.has(o)?n?.(v(e,t)):w(e,t,a()),v(e,t)},C=f(),b=f(),L=(e,t)=>[e[t].t,e[t].v],S=(e,t,a,s)=>{const o=n(t)?e:((e,t,a)=>(y(e,t)||(e[t]={}),e[t]))(e,t);let r;return l(a,((e,t)=>{s(o,t,e)&&(r=1)})),l(o,((e,t)=>{y(a,t)||(g(o,t),r=1)})),!n(t)&&h(o)&&g(e,t),r};e.createAutomergePersister=(e,o,r="tinybase",i)=>(o.change((e=>e[r]={})),((e,o,r,i,c,u,y,g={},l=[])=>{let p,f,L,S=0;A(C,l,(()=>0)),A(b,l,(()=>[]));const[m,M,T,x,D]=((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])(y,e),P=async e=>(2!=S&&(S=1,await O.schedule((async()=>{await e(),S=0}))),O),j=n=>{var s;(m&&(s=n?.[0],t(s)==a)?1===n?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===n?.[2]?e.applyChanges:e.setContent)(n)},O={load:async e=>await P((async()=>{try{j(await o())}catch(t){u?.(t),e&&D(e)}})),startAutoLoad:async e=>(await O.stopAutoLoad().load(e),f=i((async(e,t)=>{const a=t?.();await P((async()=>{try{j(a??e?.()??await o())}catch(e){u?.(e)}}))})),O),stopAutoLoad:()=>(f&&(c(f),f=void 0),O),isAutoLoading:()=>!n(f),save:async e=>(1!=S&&(S=2,await O.schedule((async()=>{try{await r(M,e)}catch(e){u?.(e)}S=0}))),O),startAutoSave:async()=>(await O.stopAutoSave().save(),L=e.addDidFinishTransactionListener((()=>{const e=T();x(e)&&O.save((()=>e))})),O),stopAutoSave:()=>(s(L,e.delListener),L=void 0,O),isAutoSaving:()=>!n(L),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(v(b,l),...e),await(async()=>{if(!v(C,l)){for(w(C,l,1);!n((e=v(b,l),p=e.shift()));)try{await p()}catch(e){u?.(e)}w(C,l,0)}var e})(),O),getStore:()=>e,destroy:()=>O.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...g};return d(O)})(e,(async()=>{const e=await o.doc();return 2==p(e[r])?L(e,r):void 0}),(async(e,t)=>o.change((a=>((e,t,a,o)=>{((e,t)=>{h(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[r,i]=L(e,t),c=()=>{d=1};let d=1;if(s(o?.(),(([e,t])=>{d=0,l(e,((e,t)=>d?0:n(e)?g(r,t):s(r[t],(t=>l(e,((e,a)=>d?0:n(e)?g(t,a):s(u(t,a),(t=>l(e,((e,a)=>n(e)?g(t,a):t[a]=e))),c)))),c))),l(t,((e,t)=>d?0:n(e)?g(i,t):i[t]=e))})),d){const[e,t]=a();S(r,void 0,e,((e,t,a)=>S(r,t,a,((e,t,a)=>S(e,t,a,((e,t,a)=>{if(u(e,t)!==a)return e[t]=a,1})))))),S(i,void 0,t,((e,t,a)=>{u(i,t)!==a&&(i[t]=a)}))}})(a,r,e,t)))),(e=>{const t=({doc:t})=>e((()=>L(t,r)));return o.on("change",t),t}),(e=>{o.removeListener("change",e)}),i,!1,{getDocHandle:()=>o}))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,g=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),y=JSON.parse,d=e=>new Map(e),l=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(l(e,t)):u(e,t,a()),l(e,t)},f=d(),h=d(),v="storage",w=globalThis.window,S=(e,r,i,d)=>((e,o,r,i,y,d,v,w={},S=[])=>{let A,b,C,L=0;p(f,S,(()=>0)),p(h,S,(()=>[]));const[m,M,T,O]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!g(e)||!g(t)]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!g(e)||!g(t)])(v,e),P=async e=>(2!=L&&(L=1,await E.schedule((async()=>{await e(),L=0}))),E),x=s=>{var n;(m&&(n=s?.[0],t(n)==a)?1===s?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===s?.[2]?e.applyChanges:e.setContent)(s)},E={load:async(t,a)=>await P((async()=>{try{x(await o())}catch(s){d?.(s),e.setContent([t,a])}})),startAutoLoad:async(e={},t={})=>(await E.stopAutoLoad().load(e,t),b=i((async(e,t)=>{const a=t?.();await P((async()=>{try{x(a??e?.()??await o())}catch(e){d?.(e)}}))})),E),stopAutoLoad:()=>(b&&(y(b),b=void 0),E),isAutoLoading:()=>!s(b),save:async e=>(1!=L&&(L=2,await E.schedule((async()=>{try{await r(M,e)}catch(e){d?.(e)}L=0}))),E),startAutoSave:async()=>(await E.stopAutoSave().save(),C=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&E.save((()=>e))})),E),stopAutoSave:()=>(n(C,e.delListener),C=void 0,E),isAutoSaving:()=>!s(C),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(l(h,S),...e),await(async()=>{if(!l(f,S)){for(u(f,S,1);!s((e=l(h,S),A=e.shift()));)try{await A()}catch(e){d?.(e)}u(f,S,0)}var e})(),E),getStore:()=>e,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...w};return c(E)})(e,(async()=>y(i.getItem(r))),(async e=>{return i.setItem(r,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var t}),(e=>{const t=t=>{t.storageArea===i&&t.key===r&&e((()=>y(t.newValue)))};return w.addEventListener(v,t),t}),(e=>w.removeEventListener(v,e)),d,!0,{getStorageName:()=>r});e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,a=t(""),s=e=>null==e,n=(e,t,a)=>s(e)?a?.():t(e),o=Object,r=e=>o.getPrototypeOf(e),i=o.keys,c=o.freeze,g=e=>(e=>!s(e)&&n(r(e),(e=>e==o.prototype||s(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),y=JSON.parse,l=e=>new Map(e),d=(e,t)=>e?.get(t),u=(e,t,a)=>{return s(a)?(n=e,o=t,n?.delete(o),e):e?.set(t,a);var n,o},p=(e,t,a,s)=>{var n,o;return n=e,o=t,n?.has(o)?s?.(d(e,t)):u(e,t,a()),d(e,t)},f=l(),h=l(),v="storage",w=globalThis.window,S=(e,r,i,l)=>((e,o,r,i,y,l,v,w={},S=[])=>{let A,C,b,L=0;p(f,S,(()=>0)),p(h,S,(()=>[]));const[m,M,T,O,P]=((e,t)=>!e||s(t.getMergeableContent)?[0,t.getContent,t.getTransactionChanges,([e,t])=>!g(e)||!g(t),t.setContent]:[1,t.getMergeableContent,t.getTransactionMergeableChanges,([,[[,e],[,t]]])=>!g(e)||!g(t),t.setDefaultContent])(v,e),x=async e=>(2!=L&&(L=1,await N.schedule((async()=>{await e(),L=0}))),N),E=s=>{var n;(m&&(n=s?.[0],t(n)==a)?1===s?.[1][2]?e.applyMergeableChanges:e.setMergeableContent:1===s?.[2]?e.applyChanges:e.setContent)(s)},N={load:async e=>await x((async()=>{try{E(await o())}catch(t){l?.(t),e&&P(e)}})),startAutoLoad:async e=>(await N.stopAutoLoad().load(e),C=i((async(e,t)=>{const a=t?.();await x((async()=>{try{E(a??e?.()??await o())}catch(e){l?.(e)}}))})),N),stopAutoLoad:()=>(C&&(y(C),C=void 0),N),isAutoLoading:()=>!s(C),save:async e=>(1!=L&&(L=2,await N.schedule((async()=>{try{await r(M,e)}catch(e){l?.(e)}L=0}))),N),startAutoSave:async()=>(await N.stopAutoSave().save(),b=e.addDidFinishTransactionListener((()=>{const e=T();O(e)&&N.save((()=>e))})),N),stopAutoSave:()=>(n(b,e.delListener),b=void 0,N),isAutoSaving:()=>!s(b),schedule:async(...e)=>(((e,...t)=>{e.push(...t)})(d(h,S),...e),await(async()=>{if(!d(f,S)){for(u(f,S,1);!s((e=d(h,S),A=e.shift()));)try{await A()}catch(e){l?.(e)}u(f,S,0)}var e})(),N),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({}),...w};return c(N)})(e,(async()=>y(i.getItem(r))),(async e=>{return i.setItem(r,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?o.fromEntries([...t]):t))));var t}),(e=>{const t=t=>{t.storageArea===i&&t.key===r&&e((()=>y(t.newValue)))};return w.addEventListener(v,t),t}),(e=>w.removeEventListener(v,e)),l,!0,{getStorageName:()=>r});e.createLocalPersister=(e,t,a)=>S(e,t,localStorage,a),e.createSessionPersister=(e,t,a)=>S(e,t,sessionStorage,a)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});